Lập trình lại một AVR từ MCU khác qua SPI?


7

Nhiều AVR có khả năng trở thành ISP - hoặc trong hệ thống được lập trình qua SPI. Tôi có một dự án trong đó toàn bộ thiết bị có thể nhận được các bản cập nhật chương trình cơ sở và tôi cũng muốn cập nhật chương trình cơ sở trên bảng mặt trước của nó từ micro chính. Vì bảng điều khiển phía trước được kết nối thuận tiện thông qua SPI, tôi đã có ý tưởng chỉ cần lập trình lại từ MCU chính của mình qua SPI.

Đó là phương pháp ISP, khá dễ dàng và không yêu cầu tôi phải viết bộ tải khởi động. Nếu tôi không thể làm ISP, thì dĩ nhiên tôi sẽ cần một bộ tải khởi động.

Về cơ bản - một MCU khác có thể lập trình lại ATMEGA644 qua xe buýt SPI không?

Câu trả lời:


7

Vâng, rất dễ dàng. Trong kịch bản này, RESET hoạt động như lựa chọn nô lệ thấp hoạt động. Thuật toán lập trình được ghi lại rất tốt trong mọi biểu dữ liệu AVR (xem phần Lập trình bộ nhớ, Tải xuống nối tiếp).

Tuy nhiên, xin lưu ý rằng một số chip AVR có SPI ICSP của chúng trên các chân khác với SPI thông thường của chúng (ví dụ: atmega128 chia sẻ ICSP SPI với một trong các USART của nó).


Cảm ơn câu trả lời - Một khi tôi thoát khỏi cái mông lười biếng của mình và tự thiết kế PCB, tôi sẽ thử nó và thử viết một số mã để làm chính xác điều này. Có bất kỳ vấn đề nhỏ nào khác cần quan tâm khi thực hiện việc này không, như bạn cần sử dụng 12 V để lập trình như bạn làm trên một số MCU khác?
Tristan Seifert

@TristanSeifert, không có vấn đề gì, nó khá đơn giản. Hãy xem technika.junior.cz/trac/browser/shupito/shupito/fw_common/ trộm nếu bạn muốn có cảm hứng. :) Chúc may mắn!
avakar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.