Ðề tài: Pvn Tiny Bootloader
View Single Post
Old 25-05-2006, 04:10 PM   #3
ntc
Đệ tử 8 túi
 
ntc's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: HCM city
Bài gửi: 264
:
Send a message via Yahoo to ntc
PVN Tiny Bootloader Version 2.0

TÓM TẮT NỘI DUNG:

Báo cáo kết quả tìm hiểu mạch nạp Tiny Bootloader cho vi điều khiển PIC, bao gồm các nội dung:

- Sơ lược về Tiny bootloader

- Thiết kế và thi công Tiny Bootloader.

- Chương trình viết cho vi điều khiển khi dùng Tiny Bootloader để nạp.

- Test mạch Tiny Bootloader.

- Một số phương pháp nhằm nâng cao tính ổn định của Tiny Bootloader.


1. Sơ lược về Tiny bootloader

Tiny Bootloader là một chương trình được đưa trước vào vi điều khiển thông qua một mạch nạp. Chương trình này có nhiệm vụ giao tiếp với máy tính (thông qua một phần mềm điều khiển trên máy tính) để nhận chương trình mà người sử dụng muốn nạp vào vi điều khiển và ghi chương trình đó vào bộ nhớ chương trình của vi điều khiển. Như vậy Bootloader cho phép ta thay đổi chương trình trong vi điều khiển một cách dễ dàng thông qua máy tính.

Firmware Tiny Bootloader cho vi điều khiển PIC có các đặc tính sau:

- Dung lượng chương trình bootloader nhỏ (ít hơn 100K word bộ nhớ chương trình).

- Sử dụng cho các dòng PIC16F, PIC18F và dsPIC (bao gồm các vi điều khiển có hỗ trợ chế độ tự nạp chương trình).

Phiên bản mới nhất của chương trình Tiny Bootloader là phiên bản tinybld191 với các đặc tính:

- Cho phép đưa chương trình của người sử dụng vào bộ nhớ flash của vi điều khiển.

- Hỗ trợ cho các dòng PIC16F, PIC18F và dsPIC, có khả năng tự phát hiện loại vi điều khiển PIC người sử dụng muốn đưa chương trình vào. Có khả năng ghi nhớ các chế độ thiết lập của lần sử dụng sau cùng.

- Trong trường hợp quá trình truyền nhận bị lỗi, chương trình sẽ được tự động truyền lại hoặc cho phép tự đồng bộ giữa vi điều khiển và máy tính.

- Cho phép thiết lập tốc độ baud và các thiết lập khác cho việc giao tiếp giữa máy tính và vi điều khiển.

Tiny Bootloader phiên bản mới “tinybld191” còn hỗ trợ thêm chế độ “Reset In Program” sử dụng chân RTS của cổng COM. Tuy nhiên chức năng Reset yêu cầu một mạch hỗ trợ khá phức tạp trên mạch ứng dụng. Ta có thể vẫn sử dụng chức năng tự động reset này mà không cần phần mạch hỗ trợ trên bằng cách cải tiến thêm một số điểm trong sơ đồ nguyên lí mạch nạp. Phần này sẽ được trình bày kĩ hơn khi đề cập đến sơ đố nguyên lí của Tiny Bootloader.

Thực chất ta có thể xem bootloader dành cho vi điều khiển PIC là một chương trình assembly bình thường được xây dựng với nhiệm vụ chờ tín hiệu điều khiển từ chương trình của máy tính trong vòng 1 giây kể từ thời điểm vi điều khiển được reset. Nếu trong vòng một giây có tín hiệu từ máy tính gửi đến vi điều khiển, chương trình bootloader sẽ ra lệnh cho vi điều khiển cập nhật chương trình mới. Trong trường hợp không có tín hiệu nào nhận được, chương trình cũ vẫn tiếp tục được thực thi bình thường. Đây cũng là một đặc điểm quan trọng của bootloader dành cho vi điều khiển PIC. Ngoài ra chương trình asm của bootloader cũng có thể dễ dàng được chỉnh sửa cho phù hợp với tốc độ truyền nhận và mục đích của người sử dụng.
__________________


thay đổi nội dung bởi: ntc, 25-05-2006 lúc 04:15 PM.
ntc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn