Lập trình

Tổng quan về vi điều khiển: Cấu trúc và hoạt động

Huy Erick

Trong lĩnh vực lập trình nhúng, kiến trúc vi điều khiển đóng vai trò hết sức quan trọng. Nếu lập trình là việc tạo ra sự thông minh cho máy tính, thì việc hiểu cấu...

Trong lĩnh vực lập trình nhúng, kiến trúc vi điều khiển đóng vai trò hết sức quan trọng. Nếu lập trình là việc tạo ra sự thông minh cho máy tính, thì việc hiểu cấu trúc và cách hoạt động của máy tính sẽ giúp chúng ta hiểu được cách hoạt động của nó. Từ đó, việc điều khiển chúng một cách dễ dàng và mượt mà hơn.

Các kiến thức về vi điều khiển là điều bắt buộc mà mỗi kỹ sư nhúng cần phải nắm vững. Bài viết này sẽ giúp bạn có cái nhìn tổng quan về vi điều khiển, từ đó bạn có thể tìm hiểu sâu hơn về chủ đề này.

Vi điều khiển là gì?

Vi điều khiển là một máy tính được tích hợp trên một chip, thường được sử dụng để điều khiển các thiết bị điện tử. Thực tế, vi điều khiển là một hệ thống gồm một vi xử lý có hiệu suất đủ và giá thành thấp, kết hợp với các khối ngoại vi như bộ nhớ, module vào/ra, 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 áp 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 và dây chuyền sản xuất tự động.

Hình ảnh minh họa

Các họ vi điều khiển

Họ vi điều khiển Atmel

Họ vi điều khiển Atmel bao gồm 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) và dòng MARC4.

Họ vi điều khiển STMicroelectronics

Họ vi điều khiển Microchip

Họ vi điều khiển Microchip bao gồm các dòng PIC như PIC 8-bit (PIC10F, PIC12F, PIC16F), PIC 16-bit (dsPIC30F, dsPIC33F, PIC24F, PIC24E, PIC24H) và PIC 32-bit (PIC32MX).

Các dòng vi điều khiển khác

Ngoài ra, còn có các dòng vi điều khiển ít gặp từ các hãng khác như Cypress MicroSystems, AMCC (Applied Micro Circuits Corporation), Freescale Semiconductor, Intel, National Semiconductor và Philips Semiconductors.

Cấu trúc tổng quan của vi điều khiển

Một vi điều khiển bao gồm các phần sau:

CPU hay Vi xử lý

CPU (Center Programing Unit) còn được gọi là bộ xử lý trung tâm, là bộ não của vi điều khiển. Nó chịu trách nhiệm nạp lệnh, giải mã và thực thi. Các hoạt động của vi điều khiển đều do CPU điều khiển.

Ocscillator Circuit

Ocscillator Circuit hay Clock được coi là trái tim của vi điều khiển. Nó cung cấp xung để vi điều khiển hoạt động. Tốc độ xung càng cao, vi điều khiển hoạt động càng nhanh.

Memory - Bộ nhớ

Bộ nhớ trong vi điều khiển có thể được chia thành hai loại: RAM (Random access memory) và ROM/EPROM/EEPROM hoặc Flash. RAM được sử dụng để lưu trữ dữ liệu cần thiết cho việc tính toán, trong khi ROM/EPROM/EEPROM hoặc Flash lưu trữ chương trình và dữ liệu không bị mất khi mất nguồn điện.

Timer/counter

Timer/counter đếm thời gian và sự kiện để vi điều khiển hoạt động đúng thời điểm.

Các ngoại vi của vi điều khiển

Các ngoại vi của vi điều khiển bao gồm I/O Ports (Input/ouput) để tương tác với các thiết bị ngoại vi, các chuẩn giao tiếp như I2C, SPI, UART, USB, bộ chuyển đổi analog sang digital (ADC), bộ chuyển đổi digital sang analog (DAC) và khối quản lý ngắt (Interrupt control).

Special functioning block

Một số vi điều khiển có các cổng bổ sung để thực hiện các hoạt động đặc biệt, được coi là khối chức năng đặc biệt.

Ưng dụng của vi điều khiển

Vi điều khiển có ứng dụng rộng rãi trong cuộc sống hàng ngày. Chúng có thể được tìm thấy trong tất cả các thiết bị điện tử, từ các thiết bị tiêu dùng như máy quay kỹ thuật số, đầu phát quang, màn hình LCD/LED đến các ứng dụng công nghiệp như ô tô và thiết bị điện.

Vi điều khiển cung cấp khả năng điều khiển, tính toán và hiển thị thông tin trong các thiết bị như bàn phím, chuột, modem, máy in và các thiết bị ngoại vi khác. Ngoài ra, vi điều khiển đã trở thành một thành phần quan trọng trong thời đại kỹ thuật số, được sử dụng trong các ứng dụng IoT để kết nối mọi máy móc thông qua Internet.

Kết

Hiểu cấu trúc và hoạt động của vi điều khiển là điều cần thiết khi học lập trình nhúng . Nếu bạn còn mơ hồ với những khái niệm đã đề cập trong bài viết này, hãy tìm hiểu kỹ càng từ đầu. Vì nếu không hiểu rõ, rất khó để làm việc và tìm ra các lỗi trong code của bạn.

Cảm ơn bạn đã đọc bài viết này. Hãy tham gia Hội Anh Em Nghiện Lập Trình để cùng trao đổi nhé.

1