Bộ vi điều khiển (thường được gọi tắt là MCU hoặc MC) là những máy vi tính cực nhỏ hoàn toàn độc lập trên một con chip.
Bạn có thể định nghĩa một bộ vi điều khiển là một máy tính được đơn giản hóa - loại máy tính được thiết kế để chạy lặp lại một chương trình cơ bản duy nhất. Theo định nghĩa, các bộ vi điều khiển thường nhằm thực hiện một tác vụ tự động duy nhất, như được lập trình trước bởi người dùng, trong một thiết bị. Chúng được thiết kế để thực hiện một công việc này lặp đi lặp lại (trên một vòng lặp định thời gian).
Đây được gọi là ứng dụng nhúng, trái ngược với những ứng dụng có mục đích chung, linh hoạt hơn và được xử lý bởi bộ vi xử lý và CPU đầy đủ.
Các bộ vi điều khiển có chứa một bộ vi xử lý như một trong những thành phần chính của chúng, nhưng nó thường là một dạng CPU năng động và phức tạp hơn nhiều so với hầu hết các MP độc lập. Điều này là do đơn vị vi điều khiển thường bị giới hạn trong việc chỉ thực hiện một công việc rất cụ thể. Nghĩa là nó không cần đầy đủ các chức năng mà một bộ vi xử lý phù hợp cung cấp.
Để đạt được điều này, những điều cơ bản của một bộ vi điều khiển quy định rằng nó thường hoạt động cùng với các loại linh kiện và mạch điện tử khác, được kết nối thông qua bảng mạch in (PCB). Sự kết hợp giữa bộ vi điều khiển và thiết bị dựa trên PCB này có thể được sử dụng để đóng vai trò chính trong việc kiểm soát, giám sát và tác động đến các loại hệ thống và hoạt động của thành phần khác nhau.
Vi điều khiển 8 bit ATMEGA8A-PU
Mặc dù có nhiều thương hiệu sản xuất và kiến trúc lập trình được công nhận được sử dụng cho bộ vi điều khiển, nhưng chỉ có ba loại MCU riêng biệt đang được sử dụng hiện nay. Đó là:
Sự khác biệt chính giữa ba loại vi điều khiển là về chiều rộng bus tương ứng của chúng (chiều rộng của các ống dữ liệu tương ứng).
Đây là thông số kỹ thuật chính giới hạn độ chính xác toán học về tốc độ của bộ vi điều khiển. Có thể hiểu, một bộ vi điều khiển 8 bit sẽ yêu cầu số lượng truy cập bus tăng lên và nhiều hướng dẫn hơn để thực hiện các phép tính 16 bit hoặc 32 bit. Do đó, nó sẽ đi đến câu trả lời (tức là hành vi đầu ra) chậm hơn nhiều so với MCU 16 hoặc 32 bit.
Về mặt điện toán, đây thực sự là cùng một loại vấn đề hạn chế mà bạn gặp phải với một CPU chậm hơn là một CPU nhanh hơn, mạnh hơn. Những tiêu chí quan trọng này sẽ ảnh hưởng đến sự lựa chọn và phạm vi ngôn ngữ lập trình mà bạn có thể sử dụng thoải mái với một bộ vi điều khiển. Cho dù đó là C ++, Python hay Arduino, các bộ vi điều khiển đều tương thích rộng rãi với nhiều ngôn ngữ lập trình mặc dù các chi tiết cụ thể sẽ phụ thuộc vào thiết bị.
MCU 8 bit từ lâu đã được xem là tùy chọn cơ bản và tiết kiệm chi phí nhất, nhưng có chức năng hạn chế trong một số ứng dụng. Bộ vi điều khiển 16 bit và 32 bit thường đắt hơn nhưng mang lại hiệu suất tăng tương ứng.
Trên một loạt các ứng dụng và ngành công nghiệp hiện đại, bộ vi điều khiển đã nhanh chóng đạt được sự thâm nhập thị trường rộng rãi và ngày nay có thể được tìm thấy trong nhiều công nghệ và tiện ích. Bất kỳ thiết bị điện tử nào có cảm biến, màn hình, giao diện người dùng và bộ điều khiển đầu ra có thể lập trình hoặc bộ truyền động đều có thể có MCU.
Một số dự án, chức năng, ứng dụng và môi trường vi điều khiển phổ biến hơn mà chúng được sử dụng bao gồm:
Khi được cài đặt như một phần của mạch chức năng trong thiết bị hoặc hệ thống, vi điều khiển có thể nhận biết, giám sát và phản hồi các sự kiện, hành vi hoặc tín hiệu đầu vào khác nhau mà bảng mạch này phát hiện được từ các thành phần được kết nối và môi trường của nó.
Ví dụ, một bộ vi điều khiển có thể được lập trình để đẩy một loại tín hiệu đầu ra cụ thể hoặc điều khiển hành vi để đáp ứng các tiêu chí đầu vào nhất định. Điều này có thể bao gồm việc thực hiện các nhiệm vụ như:
Vi điều khiển 32 bit STM32F030K6T6
Bộ vi điều khiển (MCU) là một máy tính rất nhỏ được nhúng hoàn toàn trên một mạch tích hợp duy nhất, còn được gọi là chip.
Về vấn đề này, việc sử dụng bộ vi điều khiển hơi giống với việc sử dụng Hệ thống trên Chip (SoC), đây là thứ mà bạn thường thấy để cung cấp năng lượng cho máy tính gia đình. Tuy nhiên, một bộ vi điều khiển kém phức tạp hơn đáng kể so với SoC trung bình (loại thường bao gồm một hoặc nhiều bo mạch vi điều khiển trong số nhiều thành phần cốt lõi của chúng).
Bộ vi điều khiển hoạt động giống như một SoC rất đơn giản, ở chỗ chúng có thể phát hiện và phản ứng với các kích thích hoặc điều kiện bên ngoài thông qua bất kỳ số lượng giao thức truyền thông khác nhau nào. Chúng có thể bao gồm USB, phản hồi cảm ứng hoặc cảm biến môi trường.
Khi được lập trình đúng cách để phản ứng với một số đầu vào hoặc phát hiện tín hiệu nhất định, bộ xử lý MCU có thể được sử dụng để thực hiện các hành vi phản hồi trên một loạt các chức năng và ứng dụng. Chúng có thể bao gồm từ các trình kích hoạt đầu vào-đầu ra (I/O) đơn giản và các thuật toán điều khiển thành phần, cho đến việc tác động đến hành vi của thành phần bổ sung trong các hệ thống tích hợp đầy đủ phức tạp hơn nhiều.
Nó cũng quan trọng để hiểu cấu tạo vật lý của một thiết bị vi điều khiển. Điều này sẽ cho phép hiểu rõ hơn về cách lập trình vi điều khiển cũng như sự khác biệt giữa MCU và các thành phần tương tự như bộ vi xử lý (MP).
Vi điều khiển dòng PIC PIC16F887
Vì bộ vi điều khiển thực sự là một máy tính mini đơn giản được nhúng trên một con chip tích hợp duy nhất, nên nó yêu cầu nhiều thành phần cơ bản giống như một máy tính lớn hơn và phức tạp hơn. Các thành phần vi điều khiển cốt lõi bao gồm:
Tuy nhiên, tất cả các thành phần này đều bị giảm nhiều về cả phạm vi và dung lượng trên một bộ vi điều khiển so với một SoC tương đương trong máy tính cá nhân. Một MCU thường được tìm thấy kiểm soát các hành vi cơ bản trong các sản phẩm như máy sấy tóc hoặc máy tính nhưng sẽ cung cấp chức năng hạn chế vô nghĩa trong một cỗ máy phức tạp hơn như máy tính đầy đủ.