Những điều cần biết về vi điều khiển phần 1
- Thứ sáu - 10/11/2023 17:48
- In ra
- Đóng cửa sổ này
Vi điều khiển là một máy tính được tích hợp trên một chip, nó thường được sử dụng để điều khiển các thiết bị điện tử. Vi điều khiển, thực chất, là một hệ thống bao gồm một vi xử lý có hiệu suất đủ dùng và giá thành 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 khối ngoại vi như bộ nhớ, các module vào/ra, các module biến đổi số sang tương tự và tương tự sang số,…
Vi điều khiển thường được sử dụng để xây dựng các hệ thống nhúng. Nó cũng được sử dụng trong các thiết bị điện, điện tử như máy giặt, lò vi sóng, điện thoại, đầu đọc DVD, thiết bị đa phương tiện hay dây chuyền sản xuất tự động
Các họ vi điều khiển
Họ vi điều khiển Atmel
Đây là một dòng đã quá quen thuộc khi các bạn học vi điều khiển trên ghế nhà trường, điển hình của nó là họ 8051. Ngoài ra còn có các dòng như sau:
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 STMicroelectronics
Đây là dòng chip chủ đạo trong các bài học của mình, đại diện chính là dòng STM32 huyền thoại
ST 62
ST7
STM8
STM32 (Cortex-Mx)
Họ vi điều khiển Microchip
Quá quen thuộc với các dòng PIC huyền thoại. VD:
PIC 8-bit (xử lý dữ liệu 8-bit, 8-bit data bus)
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
Các dòng vi điều khiển khác
Ngoài ra còn có các dòng ít gặp của các hãng khác như:
Họ vi điều khiển Cypress MicroSystems
Họ vi điều khiển AMCC (Applied Micro Circuits Corporation)
Họ vi điều khiển Freescale Semiconductor.
Họ vi điều khiển Intel
Họ vi điều khiển National Semiconductor
Họ vi điều khiển Philips Semiconductors
Phân loại vi điều khiển
Phân loại theo độ 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 vi điều khiển 8 bit, 16 bit hay 32 bit …
Các loại VĐK 16 bit 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 16 bit chúng ta đều có thể viết trên vi điều khiển 8 bit với chương trình thích hợp.
Phân loại theo kiến trúc CISC và RISC
Vi điều khiển CISC là vi điều khiển có tập lệnh phức tạp. Các VĐK 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.
Vi điều khiển RISC là vi điều khiển có tập lệnh đơn gian. 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.
Kiến trúc Harvard và kiến trúc 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. 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 Von-Neumann 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 rẻ hơn.
Tại sao chúng ta hay nhầm lẫn giữa vi điều khiển và vi xử lý
Chúng ta thường bị nhầm giữa vi điều khiển và vi xử lý. Vậy rốt cuộc chúng giống và khác nhau gì
Điểm giống nhau
Vi điều khiển và vi xử lý đều xử lý thông tin điều khiển sự hoạt động của máy tính hoặc mạch điện.
Chúng có kịch thước và hình dáng khá giống nhau.
Vì vậy nên sẽ rất dễ nhầm lẫn 2 khái niệm này với nhau. Vậy chúng khác nhau như thế nào?
Điểm khác biệt
Vi điều khiển có thể hoạt động độc lập, tương tác với thế giới bên ngoài bằng các ngoại vi như ADC, các chân IO, các chuẩn giao tiếp I2C, SPI,…. Còn vi xử lý chỉ có thể tiếp nhận thông tin, phân tích và điều khiển qua các bus dữ liệu.
Vi điều khiển là sự tích hợp của vi xử lý và nhiều các thành phần khác nhau nữa như bộ nhớ, ngoại vi, bộ định thời,… Đối với vi xử lý, để hoạt động được chúng cần có các bộ nhớ ngoài như RAM, ổ cứng,…. các bộ định thời như RTC…
Lập trình vi điều khiển thường được sử dụng để làm các thiết bị tự động, còn lập trình vi xử lý thường để làm các hệ điều hành dùng trong máy tính hoặc các sản phẩm tương tự máy tính. Tuy vậy vi xử lý cũng có thể sử dụng trong các thiết bị như máy tính nhúng, có thể kể đến như Ras PI, Jetson…
Vi xử lý sẽ quan trọng phần hiệu năng làm việc, vi xử lý càng có hiệu năng tốt thì càng mạnh mẽ, còn vi điều khiển sẽ quan trọng phần tối ưu giữa công xuất và hiệu năng, bởi các ứng dụng nhúng đôi khi không cần tốc độ làm việc quá cao mà sẽ quan tâm tới việc tiết kiệm năng lượng và ổn định.
Nguồn tổng hợp