
Điều khiển vi mô là một máy tính tích hợp trên một con chip, thường dùng để quản lý các thiết bị điện tử. Nó là một hệ thống bao gồm một vi xử lý có hiệu suất vừa đủ và chi phí thấp (khác với các bộ vi xử lý đa năng dùng trong máy tính), kết hợp với các thành phần ngoại vi như bộ nhớ, các module vào/ra, và các module chuyển đổi số/tương tự và tương tự/số,... Trong máy tính, các module thường được xây dựng từ các chip và mạch ngoài.
Điều khiển vi mô thường được dùng để phát triển các hệ thống nhúng. Nó cũng xuất hiện trong các thiết bị điện tử như máy giặt, lò vi sóng, điện thoại, đầu đọc DVD, thiết bị giải trí đa phương tiện và dây chuyền sản xuất tự động,...
Phân loại điều khiển vi mô
Vi điều khiển có thể được phân loại dựa trên độ dài thanh ghi và kiến trúc của nó
Phân loại theo độ dài thanh ghi
Dựa trên độ dài của các thanh ghi và tập lệnh, vi điều khiển có thể được phân chia thành các loại 8 bit, 16 bit hoặc 32 bit. Vi điều khiển với thanh ghi nhiều bit hơn thường có tập lệnh dài hơn, dẫn đến số lượng tập lệnh nhiều hơn so với các loại có thanh ghi ít bit hơn.
Phân loại theo kiến trúc CISC và RISC
Phân loại theo kiến trúc Harvard và Von-Neumann
Kiến trúc Harvard sử dụng bộ nhớ riêng biệt cho chương trình và dữ liệu, với bus địa chỉ và bus dữ liệu độc lập, giúp đơn giản hóa quá trình truyền nhận dữ liệu. Hầu hết các vi điều khiển hiện nay dựa trên kiến trúc Harvard, bao gồm bốn thành phần chính của hệ thống nhúng: lõi CPU, bộ nhớ chương trình (ROM hoặc flash), bộ nhớ dữ liệu (RAM), cùng với các bộ định thời và cổng vào/ra để giao tiếp với thiết bị ngoại vi. Tất cả các khối này đều được tích hợp trong một vi mạch.
Kiến trúc Von-Neumann chia sẻ bộ nhớ cho cả chương trình và dữ liệu, giúp giảm kích thước và chi phí của vi điều khiển.
Kiến trúc của vi điều khiển
CPU hoặc vi xử lý
CPU (central processing unit) hay bộ xử lý trung tâm có nhiệm vụ nạp, giải mã và thực thi các lệnh. Tất cả hoạt động của vi điều khiển đều được điều khiển bởi CPU, giao tiếp với các phần khác thông qua hệ thống bus.
Hệ thống xung clock
Hệ thống xung clock cung cấp tín hiệu xung nhịp cho toàn bộ vi điều khiển. Tốc độ xung clock tối đa (hay tốc độ CPU tối đa) của các vi điều khiển, chẳng hạn như ATmega328 với tốc độ lên đến 20 MHz, cho biết khả năng xử lý tối đa của vi xử lý. Hệ thống xung clock chủ yếu được tạo ra từ các mạch dao động trong vi điều khiển.
Bộ nhớ
Bộ nhớ (memory) là nơi lưu trữ chương trình hoặc dữ liệu mà CPU đang xử lý. Có hai loại bộ nhớ cơ bản:
- RAM (Random Access Memory) lưu trữ dữ liệu tạm thời mà CPU đang xử lý, và dữ liệu sẽ bị xóa khi mất điện.
- ROM/EPROM/EEPROM hoặc flash là bộ nhớ lưu trữ chương trình của vi điều khiển, không bị mất dữ liệu khi mất điện hoặc reset, được ghi khi vi điều khiển được nạp chương trình.
Các ngoại vi
Các hệ thống ngoại vi trên vi điều khiển rất phong phú và có sự khác biệt giữa các dòng vi điều khiển, nhưng nhìn chung, chúng thường bao gồm những thành phần cơ bản sau:
- Cổng vào ra (I/O Ports hay GPIO)
- Các giao thức truyền thông phổ biến như I2C, SPI, UART,...
- Bộ đếm thời gian và bộ đếm sự kiện (timer và counter)
- ADC/DAC
- Interrupt
Nạp chương trình
Để nạp chương trình vào vi điều khiển, cần sử dụng mạch nạp. Mạch nạp sẽ chuyển file thực thi (thường là file .hex) từ máy tính vào vi điều khiển qua các chuẩn ngoại vi hiện có, ví dụ như board Arduino IDE hỗ trợ nạp qua mạch nạp ISP kết nối với các chân SPI của board. Một số mạch nạp phổ biến bao gồm ST Link, JTAG, ISP,...
Vi điều khiển và vi xử lý
Vi điều khiển khác biệt so với các bộ vi xử lý đa năng ở khả năng hoạt động chỉ với một số vi mạch hỗ trợ đơn giản.
Các vi điều khiển phổ biến
- Họ vi điều khiển AMCC (sản xuất bởi 'Applied Micro Circuits Corporation'). Từ tháng 5 năm 2004, IBM bắt đầu phát triển và phân phối các vi điều khiển này.
- 403 PowerPC CPU
- PPC 403GCX
- 405 PowerPC CPU
- PPC 405EP
- PPC 405GP/CR
- PPC 405GPr
- PPC NPe405H/L
- 440 PowerPC Book-E CPU
- PPC 440GP
- PPC 440GX
- PPC 440EP/EPx/GRx
- PPC 440SP/SPe
- Họ vi điều khiển Atmel
- Dòng 8051 (8031, 8051, 8751, 8951, 8032, 8052, 8752, 8952)
- Dòng Atmel AT91 (Kiến trúc ARM THUMB)
- Dòng AT90, Tiny & Mega – AVR (Atmel Norway design)
- Dòng Atmel AT89 (Kiến trúc Intel 8051/MCS51)
- Dòng MARC4
- Họ vi điều khiển Cypress MicroSystems
- CY8C2xxxx (PSoC)
- Họ vi điều khiển Freescale Semiconductor. Kể từ năm 2004, Motorola đã phát triển và phân phối các vi điều khiển này.
- Dòng 8-bit
- 68HC05 (CPU05)
- 68HC08 (CPU08)
- 68HC11 (CPU11)
- Dòng 16-bit
- 68HC12 (CPU12)
- 68HC16 (CPU16)
- Freescale DSP56800 (DSPcontroller)
- Dòng 32-bit
- Freescale 683XX (CPU32)
- MPC500
- MPC 860 (PowerQUICC)
- MPC 8240/8250 (PowerQUICC II)
- MPC 8540/8555/8560 (PowerQUICC III)
- Dòng 8-bit
- Họ vi điều khiển Fujitsu
- F²MC Family (8/16 bit)
- FR Family (32 bit)
- FR-V Family (32 bit RISC)
- Họ vi điều khiển Intel
- Dòng 8-bit
- 8XC42
- MCS48
- MCS51
- 8061
- 8xC251
- Dòng 16-bit
- 80186/88
- MCS96
- MXS296
- Dòng 32-bit
- 386EX
- i960
- Dòng 8-bit
- Họ vi điều khiển Microchip
- PIC 8-bit (xử lý dữ liệu 8-bit)
- Từ lệnh dài 12-bit (Base-line): PIC10F, PIC12F và một vài PIC16F
- Từ lệnh dài 14-bit (Mid-Range và Enhance Mid-Range): PIC16Fxxx, PIC16F1xxx
- Từ lệnh dài 16-bit (High Performance): PIC18F
- PIC 16-bit (xử lý dữ liệu 16-bit)
- PIC điều khiển động cơ: dsPIC30F
- PIC có DSC: dsPIC33F
- Phổ thông: PIC24F, PIC24E, PIC24H
- PIC 32-bit (xử lý dữ liệu 32-bit): PIC32MX
- PIC 8-bit (xử lý dữ liệu 8-bit)
- Họ vi điều khiển National Semiconductor
- COP8
- CR16
- Họ vi điều khiển STMicroelectronics
- ST 62
- ST7
- STM8
- STM32 (Cortex-Mx)
- Họ vi điều khiển Philips Semiconductors
- LPC2000
- LPC900
- LPC700
- Danh sách các vi điều khiển phổ biến
- Danh sách vi điều khiển hỗ trợ WiFi
- Microbotics
- Điều khiển logic lập trình (Programmable logic controller)
- Vi điều khiển đơn board
Tài liệu tham khảo
- Thông tin về vi điều khiển có thể được tìm thấy trên trang Curlie
Hệ thống nhúng |
|---|
| Tiêu đề chuẩn |
|
|---|
