Lập trình và mô phỏng giao diện SPI dựa trên Proteus

2020-08-03 18:24:35 45

Ngày nay, có những thiết bị nhúng trong mọi góc của cuộc sống của mọi người, như DVD, điện thoại di động, MP3 và máy tính cầm tay. Các thiết bị nhúng này chủ yếu sử dụng bộ xử lý nhúng RISC 32 bit làm thành phần cốt lõi của chúng. Trong số đó, bộ xử lý nhúng dựa trên lõi ARM chiếm ưu thế, chiếm hơn 75% thị phần trong bộ xử lý RISC 32 bit. Do đó, ngày càng có nhiều người đam mê điện tử đã gia nhập hàng ngũ học ARM. Bằng cách so sánh với quá trình phát triển của hệ thống đơn chip nói chung, không khó để thấy rằng thiết kế của hệ thống nhúng bao gồm thiết kế phần cứng và thiết kế phần mềm. Quá trình gỡ lỗi bao gồm gỡ lỗi phần mềm, kiểm tra phần cứng và gỡ lỗi hệ thống. Việc gỡ lỗi phần mềm thường dễ thực hiện hơn, nhưng kiểm tra phần cứng và gỡ lỗi hệ thống thì rắc rối hơn, bởi vì hai quy trình này phải được thực hiện sau khi hoàn thành sản xuất PCB và hàn thành phần; Sản xuất PCB và hàn thành phần rất tốn thời gian và công sức Có, nếu công cụ mô phỏng ProteuS VSM có thể được sử dụng, công việc trên có thể được thực hiện mà không cần tạo một bảng mạch cụ thể. Không có nghi ngờ rằng điều này có thể mang lại sự thuận tiện lớn cho phần lớn những người học ARM.

1. Viết mã chương trình

Việc viết mã chương trình chủ yếu được chia thành 4 phần:

Mã khởi tạo của LPC2106;

EntryLPC2106 mục nhập vectơ ngoại lệ và giao diện giữa vectơ ngoại lệ và mã ngôn ngữ C, bao gồm mã để khởi tạo ngăn xếp;

Code Mã đặc biệt của bảng mục tiêu LPC2106, bao gồm chương trình xử lý ngoại lệ và chương trình khởi tạo bảng đích;

Viết mã thực hiện chức năng mong đợi theo các yêu cầu của ví dụ và kết hợp với sơ đồ, nghĩa là mã thực thi thông thường và tệp mã được lưu dưới dạng "main.C".

Nói chung, để tiết kiệm thời gian phát triển, mẫu dự án được thiết kế thường được sử dụng và mẫu dự án sê-ri LPC2100 được sử dụng ở đây. Mẫu chứa các tệp khởi động của bộ vi điều khiển ARM7 dòng LPC2100, bao gồm STACK.S, HEAP.S, STARTUP.S và TARGET.C; mẫu cũng chứa các tệp tiêu đề của bộ vi điều khiển ARM7 dòng LPC2100, phân tán các tệp mô tả (như mem_a .scf, mem_b.scf và mem_c.scf), v.v. Theo cách này, các mẫu dự án này có thể được sử dụng trực tiếp khi viết mã chương trình trong tương lai, thay vì viết mã chương trình ban đầu và khởi động, chỉ cần viết "main.C" theo các yêu cầu khác nhau, giúp tiết kiệm rất nhiều thời gian và rất nhiều Nâng cao hiệu quả công việc.

    Ở đây chúng tôi chủ yếu giải thích cách viết "main.C". Chức năng cần thực hiện là sử dụng giao diện SPI phần cứng để xuất dữ liệu từ 0 đến F, điều khiển ống kỹ thuật số LED để hiển thị 0 đến F ký tự thông qua 74HC595 và điều khiển 4 đèn LED để hiển thị thập lục phân tương ứng Số hệ thống. Mã nguồn chương trình như sau:



2. Bắt chước

    Sử dụng môi trường phát triển tích hợp ADS để biên dịch và kết nối chương trình. Môi trường phát triển tích hợp ADS là một công cụ phát triển tích hợp cho các bộ vi điều khiển lõi ARM do ARM khởi chạy. Tên đầy đủ tiếng Anh là ARM Developer Suite và phiên bản trưởng thành là ADS1.2. ADS1.2 hỗ trợ tất cả các bộ vi điều khiển dòng ARM trước ARM10, hỗ trợ gỡ lỗi phần mềm, hỗ trợ lắp ráp, chương trình nguồn C và C ++ và có các đặc tính về hiệu quả biên dịch cao và các chức năng thư viện hệ thống mạnh. Mở môi trường phát triển tích hợp ADS1.2 CodeWar Warrior IDE, sử dụng mẫu dự án được thêm vào trước để tạo một dự án mới spi.mcp và thêm tệp mã main.c được biên dịch ở trên vào dự án. Sau khi thực hiện các cài đặt có liên quan, chọn Projeet → Tạo lệnh, biên dịch và kết nối dự án và tạo tệp spi.hex.

    Bấm đúp vào vi điều khiển LPC2106 trong sơ đồ, cửa sổ cài đặt thuộc tính Chỉnh sửa Thành phần xuất hiện, như trong Hình 2. Thêm đường dẫn của tệp spi.hex được tạo ở trên trong ProgramFile và nhấp OK để hoàn tất cài đặt.



Phần kết luận

    Bài viết này mô tả ứng dụng của ProteuS trong phát triển ARM một cách chi tiết với một thử nghiệm giao diện SPI đơn giản. Có thể thấy rằng Proteus rất mạnh mẽ, có thể mô phỏng các mạch kỹ thuật số và analog khác nhau, và hoạt động đơn giản và dễ sử dụng. Sử dụng Proteus cho phát triển ảo ARM không chỉ có thể làm giảm đầu tư vốn phần cứng thử nghiệm mà còn vượt qua các giới hạn của nội dung thử nghiệm trong bảng phát triển thực tế, cho phép các nhà phát triển phát huy toàn bộ sáng kiến của chính họ. Sử dụng mô phỏng Pro-teus để thực hiện sản xuất thực tế sau khi phát triển ảo hệ thống thành công chắc chắn có thể cải thiện hiệu quả phát triển, giảm chi phí phát triển, tăng tốc độ phát triển và có giá trị ứng dụng và khuyến mãi cao hơn.