I. GIỚI THIỆU KHÁI QUÁT VỀ VI ĐIỀU KHIỂN
Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng tính toán, xử lý,
và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu quả đối với các
bài toán và hệ thống lớn.Tuy nhiên đối với các ứng dụng nhỏ, tầm tính toán không đòi hỏi
khả năng tính toán lớn thì việc ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay
nhỏ, nếu dùng vi xử lý thì cũng đòi hỏi các khối mạch điện giao tiếp phức tạp như nhau. Các
khối này bao gồm bộ nhớ để chứa dữ liệu và chương trình thực hiện, các mạch điện giao tiếp
ngoại vi để xuất nhập và điều khiển trở lại, các khối này cùng liên kết với vi xử lý thì mới
thực hiện được công việc. Để kết nối các khối này đòi hỏi người thiết kế phải hiểu biết tinh
tường về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi. Hệ thống được tạo ra khá
phức tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ người thiết
kế. Kết quả là giá thành sản phẩm cuối cùng rất cao, không phù hợp để áp dụng cho các hệ
thống nhỏ.
Vì một số nhược điểm trên nên các nhà chế tạo tích hợp một ít bộ nhớ và một số mạch
giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất được gọi là Microcontroller-Vi điều
khiển.
Một số đặc điểm khác nhau giữa vi xử lí và VĐK:
Về phần cứng: VXL cần được ghép thêm các thiết bị ngoại vi bên ngoài như bộ nhớ, và
các thiết bị ngoại vi khác, … để có thể tạo thành một bản mạch hoàn chỉnh. Đối với VĐK thì
bản thân nó đã là một hệ máy tính hoàn chỉnh với CPU, bộ nhớ, các mạch giao tiếp, các bộ
định thời và mạch điều khiển ngắt được tích hợp bên trong mạch.
Về các đặc trưng của tập lệnh: Do ứng dụng khác nhau nên các bộ VXL và VĐK cũng
có những yêu cầu khác nhau đối với tập lệnh của chúng. Tập lệnh của các VXL thường mạnh
về các kiểu định địa chỉ với các lệnh cung cấp các hoạt động trên các lượng dữ liệu lớn như
1byte, ½ byte, word, double word,...Ở các bộ VĐK, các tập lệnh rất mạnh trong việc xử lý
các kiêu dữ liệu nhỏ như bit hoặc một vài bit.
Do VĐK cấu tạo về phần cứng và khả năng xử lí thấp hơn nhiều soi với VXL nên giá
thành của VXL cũng rẻ hơn nhiều. Tuy nhiên nó vẫn đủ khả năng đáp ứng được tất cả các
yêu cầu của người dùng.
Vi điều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ, các robot có chức
năng đơn giản, trong máy giặt, ôtô v.v...
II. PHÂN LOẠI
1. Độ dài thanh ghi
Dựa vào độ dài của các thanh ghi và các lệnh của VĐK mà người ta chia ra
các loại VĐK 8bit, 16bit, hay 32bit....
Các loại VĐK 16bit do có độ dài lệnh lớn hơn nên các tập lệnh cũng nhiều
hơn, phong phú hơn. Tuy nhiên bất cứ chương trình nào viết bằng VĐK 16bit
chúng ta đều có thể viết trên VDK 8bit với chương trình thích hợp
2. Kiến trúc CISC và RISC
VXL hoặc VDK CISC là VDK có tập lệnh phức tạp. Các VDK này có một số
lượng lớn các lệnh nên giúp cho người lập trình có thể linh hoạt và dễ dàng
hơn khi viết chương trình.
VDK RISC là VDK có tập lệnh đơn giản. Chúng có một số lương nhỏ các
lệnh đơn giản. DO đó, chúng đòi hỏi phần cứng ít hơn, giá thành thấp hơn, và
nhanh hơn so với CISC. Tuy nhiên nó đòi hỏi người lập trình phải viết các
chương trình phức tạp hơn, nhiều lệnh hơn.
3. Kiến trúc Harvard và kiến trúc Vonneumann
Kiến trúc Harvard sử dụng bộ nhớ riêng biệt cho chương trình và dữ liệu. Bus
địa chỉ và bus dữ liệu độc lập với nhau nên quá trình truyền nhận dữ liệu đơn
giản hơn
Kiến trúc Vonneumann sử dụng chung bộ nhớ cho chương trình và dữ liệu.
Điều này làm cho VĐK gọn nhẹ hơn, giá thành nhẹ hơn.
Một số loại VDK có trên thị trường:
- VDK MCS-51: 8031, 8032, 8051, 8052, ...
- VDK ATMEL: 89Cxx, AT89Cxx51..
- VDK AVR : atmega8 ,atmega16 ....
- VDK PIC : 16Fxxx, 18Fxxx
III. CẤU TRÚC TỔNG QUAN CỦA VDK:
1. CPU:
Là trái tim của hệ thống. Là nơi quản lí tất cả các hoạt động của VĐK. Bên
trong CPU gồm:
+ ALU là bộ phận thao tác trên các dữ liệu
+ Bộ giải mã lệnh và điều khiển, xác định các thao tác mà CPU cần thực hiện
+ Thanh ghi lệnh IR, lưu giữ opcode của lệnh được thực thi
+Thanh ghi PC, lưu giũ địa chỉ của lệnh kế tiếp cần thực thi
+ Một tập các thanh ghi dùng để lưu thông tin tạm thời
2. ROM:
ROM là bộ nhớ dùng để lưu giữ chương trình. ROM còn dùng để chứa số liệu
các bảng, các tham số hệ thống, các số liệu cố định của hệ thống. Trong quá
trình hoạt động nội dung ROM là cố định, không thể thay đổi, nội dung ROM
chỉ thay đổi khi ROM ở chế độ xóa hoặc nạp chương trình.
3. RAM:
RAM là bọ nhớ dữ liệu. Bộ nhớ RAM dùng làm môi trường xử lý thông tin,
lưu trữ các kết quả trung gian và kết quả cuối cùng của các phép toán, xử lí
thông tin. Nó cũng dùng để tổ chức các vùng đệm dữ liệu, trong các thao tác
thu phát, chuyển đổi dữ liệu.
4. BUS:
BUS là các đường dẫn dùng để di chuyển dữ liệu. Bao gồm: bus địa chỉ, bus
dữ liệu , và bus điều khiển
5. Bộ định thời:
Được sử dụng cho các mục đích chung về thời gian.
6. Watchdog:
Bộ phận dùng để reset lại hệ thống khi hệ thống gặp “bất thường”.
7. ADC:
Bộ phận chuyển tín hiệu analog sang tín hiệu digital. Các tín hiệu bên ngoài đi
vào VDK thường ở dạng analog. ADC sẽ chuyển tín hiệu này về dạng tín hiệu
digital mà VDK có thể hiểu được.
No comments:
Post a Comment