h. Hình ảnh của module ñ iều khiển
6.1. Giới thiệu vi ñ iều khiển AVR [12]
Vi ựiều khiển AVR là bộ xử lý RISC với kiến trúc Harvard. Thuật ngữ
kiến trúc Harvard dùng ựể chỉ một ựặc ựiểm là ựơn vị xử lý trung tâm (CPU) có bộ nhớ chương trình và một bộ nhớ dữ liệu tách biệt.
Họ vi ựiều khiển AVR có những ựặc ựiểm sau:
Bộ nhớ flash ựược tắch hợp ngay trên chip và có khả năng lập trình ngay trên hệ thống ựược sử dụng làm bộ nhớ chương trình. Tất cả các bộ xử lý ựều có bộ nhớ chương trình loại này. điều ựó có nghĩa là ta không cần phải dùng
ựến các bộ nhớ EPROM hoặc ROM bên ngoài ựể chứa mã chương trình. Hơn nữa, bộ nhớ chương trình có thể nạp chương trình trong khi bộ xử lý vẫn ở
nguyên vị trắ trên bảng mạch, không cần phải nhấc ra ngoài ựểựặt vào bộ nạp chương trình. đặc tắnh này cho phép cập nhật phần mềm hệ thống nhanh chóng và dễ dàng hơn. đôi khi hình thức này còn ựược gọi là lập trình tại chỗ
(in situ). Bộ nhớ chương trình có thể ựược lập trình theo hai chế ựộ: nối tiếp hoặc song song và sẽựược bàn luận chi tiết ở phần sau.
Các thanh ghi làm việc ựa năng 32 ỜX Ờ 8 (theo truyền thống của các bộ
xử lý RISC thực sự). Một tập hợp bao gồm rất nhiều thanh ghi có nghĩa là các biến có thể lưu trữ bên trong CPU chứ không phải lưu trữ các biến trong bộ
nhớ, vì việc truy nhập lên bộ nhớ thường tốn nhiều thời gian hơn. Như vậy chương trình sẽ chạy nhanh hơn.
Bộ nhớ dữ liệu ngay trên chip loại EEPROM và RAM có trong hầu hết các thành viên của họ AVR. đơn vị CPU có kiến trúc Harvard, còn các bộ
nhớ EPROM và RAM ựược nhìn nhận như là bộ nhớ dữ liệu và ựược dùng ựể
cất giữ các hằng và biến.
Hoạt ựộng với xung giữ nhịp có tần số từ 0 ựến 16MHz. Hầu hết các lệnh
năng với tốc ựộ xử lý khoảng 10 lần lớn hơn các bộ xử lý thông thường (chẳng hạn, họ 8051) hoạt ựộng ở cùng tần số của ựồng hồ giữ nhịp.
Có mạch ựặt lại trạng thái mỗi khi cấp lại ựiện nguồn cho hệ thống (Power On Reset).
Có bộ ựịnh thời ngay trên chip và lập trình ựược với mạch chia tần số
(prescalr) tách biệt. Bộựịnh thời này ựược sử dụng cho các ứng dụng cần có sự phân ựịnh thời gian (timing) của các sự kiện.
Có các nguồn ngắt bên trong và bên ngoài.
Có bộ ựịnh thời watchdog ngay trên chip và lập trình ựược với bộ dao
ựộng ựộc lập. Bộ phận này ựược sử dụng ựể khôi phục lại trạng thái hoạt ựộng của hệ thống trong trường hợp xảy ra lỗi (treo) khi chạy phần mềm, nhưng cũng có thểựược sử dụng cho các ứng dụng ựáng quan tâm khác, như sẽựược bàn luận ựến trong một ứng dụng sẽựược trình bày về sau.
Có chế ựộ hoạt ựộng: SLEPP (ngủ) và POWER DOWN (nghỉ hay giảm dòng tiêu thụ khi không cần thiết). đặc ựiểm này cho phép tiết kiệm năng lượng khi bộ xử lý không có công việc cần xử lý, ựặc biệt có ý nghĩa ựối với các thiết bị cầm tay dùng pin.
Nhiều chip có mạch dao ựộng ựồng hồ RC ngay trên chip. Khi sử dụng bộ
giao ựộng RC trên chip, số lượng các linh kiện phụ trợ sẽ giảm ựi.
Có một phạm vi rộng các ựặc tắnh của bộ xử lý (từ các bộ xử lý cỡ nhỏ
với 8 chân ra ựến bộ xử lý 68 chân), nhờ vậy ta có thể lựa chọn một bộ xử lý cho thắch hợp với yêu cầu ựã ựặt ra, cả về chi phắ và tắnh năng kỹ thuật cũng như về các công cụ phát triển.
Phần mềm CodeVisionAVR là phần mềm ựược sử dụng nhiều nhất ựể
làm việc với vi ựiều khiển AVR do hãng HPInfortech phát triển. Hỗ trợ mã lập trình trên hai ngôn ngữ là Asembly và C là hai ngôn ngữ lập trình ựược sử
phần cứng thông minh giúp cho việc sử dụng chắp AVR rất ựơn giản và dễ sử
dụng.
Trên thị trường cùng có nhiều loại phần mềm viết cho vi ựiều khiển. Nhưng phần mềm CodeVisionAVR này hỗ trợ rất nhiều các công cụ với chắp AVR nên nó vẫn luôn là phần mềm ựược ưa chuộng ựể làm việc với chắp này.