Vi điều khiển là gì?
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
Các loại vi điều khiển
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à:
- Vi điều khiển 8 bit
- Vi điều khiển 16 bit
- Vi điều khiển 32 bit
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.
Ứng dụng vi điều khiển
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:
- Tự động hóa và robot
- Điện tử tiêu dùng và thiết bị gia dụng
- Thiết bị y tế và phòng thí nghiệm (thiết bị chẩn đoán cầm tay, máy quét và máy X-quang, dụng cụ đo lường, phân tích và giám sát)
- Các ngành công nghiệp ô tô và hệ thống điều khiển phương tiện (điều chỉnh hệ thống truyền lực, bảng điều khiển đa phương tiện và phần mềm điều hướng)
- Kiểm soát môi trường công nghiệp và sản xuất (sưởi ấm và chiếu sáng, hệ thống HVAC và cơ chế khóa an toàn)
- Thiết bị và hệ thống IoT
Vi điều khiển làm gì?
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ư:
- Điều kiển hiển thị màn hình LED hoặc OLED để đáp ứng nhu cầu của người dùng dựa trên cảm ứng
- Phát tín hiệu đóng mở đèn và âm thanh trong các ứng dụng cảm biến nhiệt độ hoặc các loại hệ thống báo động và cảnh báo khác
- Đáp ứng nhu cầu bật hoặc tắt động cơ trong máy bơm hoặc thiết bị cơ khí khác
- Điều chỉnh độ nghiêng, độ cân bằng và vận tốc trong các ứng dụng dựa trên con quay hồi chuyển hoặc gia tốc kế
Vi điều khiển 32 bit STM32F030K6T6
Cách sử dụng vi điều khiển: Chúng hoạt động như thế nào?
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:
- CPU (bộ phận xử lý trung tâm). Thực chất là bộ não của máy vi tính, thành phần này là một bộ vi xử lý điều khiển và giám sát tất cả các quá trình diễn ra bên trong MCU. Nó chịu trách nhiệm đọc và thực hiện tất cả các chức năng logic và toán học đang được thực hiện
- RAM (Bộ nhớ truy cập ngẫu nhiên). Đây là bộ lưu trữ tạm thời chỉ được sử dụng khi bật nguồn, để giúp chạy và tính toán các chương trình mà MCU được yêu cầu thực thi. Nó liên tục bị ghi đè trong khi sử dụng
- ROM (Bộ nhớ chỉ đọc). Đây là bộ nhớ vĩnh viễn được ghi sẵn vẫn tồn tại ngay cả khi không có điện. Về cơ bản, nó hướng dẫn MCU cách thực hiện các chương trình của nó khi được hỏi
- Bộ tạo dao động bên trong (bộ đếm thời gian chính của MCU). Thành phần này hoạt động như đồng hồ lõi của bộ vi điều khiển và điều khiển nhịp điệu thực thi của các quy trình bên trong của nó. Giống như bất kỳ loại đồng hồ hẹn giờ nào khác, chúng theo dõi thời gian trôi qua trong một quy trình nhất định và giúp MCU bắt đầu và kết thúc các chức năng cụ thể theo các khoảng thời gian xác định
- Cổng I/O (Đầu vào/Đầu ra). Điều này bao gồm một hoặc nhiều cổng giao tiếp, thường ở dạng chân kết nối. Chúng cho phép MCU được liên kết với các thành phần và mạch khác để truyền tín hiệu dữ liệu đầu vào/đầu ra và nguồn điện
- Chip điều khiển ngoại vi (các phụ kiện và linh kiện tùy chọn khác). Những điều này phụ thuộc vào nhiệm vụ mà MCU được yêu cầu thực hiện. Chúng có thể là bất cứ thứ gì từ các bộ hẹn giờ và bộ đếm bổ sung khác nhau cho đến các nút điều biến độ rộng xung (PWM), Bộ chuyển đổi Tương tự sang Kỹ thuật số, Bộ chuyển đổi Kỹ thuật số sang Tương tự, nhiều mô-đun thu thập dữ liệu, bộ nhớ flash và chương trình, các tùy chọn I/O khác, và nhiều hơn nữa bên cạnh
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 đủ.