Các cách để chọn một bộ vi điều khiển tốt nhất cho các dự án dựa trên bộ vi điều khiển

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Bạn có biết cách chọn vi điều khiển tốt nhất cho các dự án dựa trên vi điều khiển không? Lựa chọn bộ vi điều khiển thích hợp cho một ứng dụng nhất định là một trong những quyết định quan trọng nhất, kiểm soát sự thành công hay thất bại của nhiệm vụ.

Có khác nhau các loại vi điều khiển có sẵn và nếu bạn đã quyết định sử dụng loạt sản phẩm nào, bạn có thể dễ dàng bắt đầu thiết kế hệ thống nhúng của riêng mình. Các kỹ sư phải có tiêu chí riêng của họ để lựa chọn đúng.




Ở đây trong bài viết này, chúng ta sẽ thảo luận về những cân nhắc cơ bản trong việc lựa chọn một bộ vi điều khiển.

Bộ vi điều khiển cho thiết kế hệ thống nhúng

Bộ vi điều khiển cho thiết kế hệ thống nhúng



Trong nhiều trường hợp, thay vì có kiến ​​thức chi tiết về vi điều khiển phù hợp cho dự án, người ta thường chọn ngẫu nhiên một vi điều khiển. Tuy nhiên đây là một ý tưởng tồi.

Ưu tiên hàng đầu để chọn một bộ vi điều khiển là phải có thông tin của hệ thống như sơ đồ khối, lưu đồ và các thiết bị ngoại vi đầu vào / đầu ra.

Dưới đây là 7 cách hàng đầu cần tuân theo để đảm bảo chọn đúng bộ vi điều khiển.


Lựa chọn bit của vi điều khiển

Các bộ vi điều khiển có sẵn ở các tốc độ bit khác nhau như tốc độ 8 bit, 16 bit và 32 bit. Số lượng bit đề cập đến kích thước của các dòng dữ liệu giới hạn dữ liệu. Việc chọn một bộ vi điều khiển tốt nhất để thiết kế hệ thống nhúng rất quan trọng về mặt lựa chọn bit. Hiệu suất của vi điều khiển tăng theo kích thước bit.

Bộ vi điều khiển 8-bit :

Bộ vi điều khiển 8 bit

Bộ vi điều khiển 8 bit

Bộ vi điều khiển 8 bit có 8 đường dữ liệu có thể gửi và nhận dữ liệu 8 bit cùng một lúc. Nó không có các chức năng bổ sung như giao tiếp nối tiếp đọc / ghi, v.v. Các chức năng này được xây dựng với ít bộ nhớ trên chip hơn và do đó được sử dụng cho các ứng dụng nhỏ hơn. Chúng có sẵn với chi phí rẻ hơn. Tuy nhiên, trong trường hợp độ phức tạp dự án của bạn tăng lên, hãy chuyển sang một bộ vi điều khiển bit khác cao hơn.

Bộ vi điều khiển 16-bit:

Bộ vi điều khiển 16 bit

Bộ vi điều khiển 16 bit

Bộ điều khiển 16 bit có 16 đường dữ liệu có thể gửi và nhận dữ liệu 16 bit cùng một lúc. Nó không có bất kỳ chức năng bổ sung nào so với bộ điều khiển 32 bit. Nó giống như vi điều khiển 8-bit nhưng được bổ sung thêm một số tính năng bổ sung.

Hiệu suất của bộ vi điều khiển 16 bit nhanh hơn bộ điều khiển 8 bit và nó tiết kiệm chi phí. Nó có thể áp dụng cho các ứng dụng nhỏ hơn. Nó là một phiên bản nâng cao của bộ vi điều khiển 8-bit.

Bộ vi điều khiển 32-bit :

Bộ vi điều khiển 32 bit

Bộ vi điều khiển 32 bit

Bộ vi điều khiển 32 bit có 32 đường dữ liệu được sử dụng để gửi và nhận dữ liệu 32 bit cùng một lúc. Bộ vi điều khiển 32 có một số tương lai bổ sung như SPI, I2C, đơn vị dấu chấm động và các chức năng liên quan đến quy trình.

Các bộ vi điều khiển 32-bit được xây dựng với phạm vi bộ nhớ trên chip tối đa và do đó được sử dụng cho các ứng dụng lớn hơn. Hiệu suất rất nhanh và tiết kiệm chi phí. Chúng là một phiên bản nâng cao của bộ vi điều khiển 16 bit.

Lựa chọn gia đình của bộ vi điều khiển

Có một số nhà cung cấp sản xuất các kiến ​​trúc khác nhau của vi điều khiển. Do đó mỗi vi điều khiển có một tập lệnh và thanh ghi duy nhất và không có hai vi điều khiển nào giống nhau.

Chương trình hoặc mã được viết cho một bộ vi điều khiển sẽ không chạy trên bộ vi điều khiển kia. Các dự án dựa trên vi điều khiển khác nhau yêu cầu các họ vi điều khiển khác nhau.

Các họ vi điều khiển khác nhau là họ 8051, họ AVR, họ ARM, họ PIC và nhiều họ khác.

AVR Họ vi điều khiển

Họ vi điều khiển AVR

Họ vi điều khiển AVR

Một bộ vi điều khiển AVR chấp nhận kích thước lệnh là 16 bit hoặc 2 byte. Nó bao gồm bộ nhớ flash chứa địa chỉ 16 bit. Ở đây các hướng dẫn được lưu trữ trực tiếp.

Bộ vi điều khiển AVR-ATMega8, ATMega32 được sử dụng rộng rãi.

Dòng vi điều khiển PIC

Dòng vi điều khiển PIC

Dòng vi điều khiển PIC

Một vi điều khiển PIC mỗi lệnh chấp nhận lệnh 14 bit. Bộ nhớ flash có thể lưu trữ địa chỉ 16 bit. Nếu 7 bit đầu tiên được chuyển vào bộ nhớ flash, các bit còn lại có thể được lưu trữ sau đó.

Tuy nhiên nếu 8 bit được truyền đi thì 6 bit còn lại bị lãng phí. Lưu ý nhẹ, điều này thực sự phụ thuộc vào các nhà cung cấp sản xuất.

Qua đó việc lựa chọn một họ vi điều khiển thích hợp để thiết kế hệ thống nhúng là rất quan trọng trong quá trình này.

Lựa chọn kiến ​​trúc của vi điều khiển

Thuật ngữ 'kiến trúc' định nghĩa một tổ hợp các thiết bị ngoại vi được sử dụng để thực hiện các tác vụ. Có hai loại kiến ​​trúc vi điều khiển cho các dự án dựa trên vi điều khiển.

Của Neumann Architecture

Kiến trúc Von Neumann còn được gọi là Kiến trúc Princeton. Trong kiến ​​trúc này, CPU giao tiếp với một bus dữ liệu và địa chỉ, tới RAM và ROM. CPU tìm nạp đồng thời các lệnh từ RAM và ROM.

Kiến trúc Von-Neumann

Kiến trúc Von-Neumann

Các lệnh này được thực thi tuần tự thông qua một bus duy nhất và do đó cần nhiều thời gian hơn để thực hiện từng lệnh. Vì vậy, chúng ta có thể nói rằng quá trình của kiến ​​trúc Von Newman là rất chậm.

Kiến trúc Harvard

Trong kiến ​​trúc Harvard, CPU có hai bus riêng biệt là bus địa chỉ và bus dữ liệu để giao tiếp với RAM và ROM. CPU tìm nạp và thực thi các lệnh từ bộ nhớ RAM và ROM thông qua một bus dữ liệu và bus địa chỉ riêng biệt, do đó sẽ mất ít thời gian hơn để thực thi từng lệnh, làm cho kiến ​​trúc này rất phổ biến.

Kiến trúc Harvard

Kiến trúc Harvard

Do đó, đối với bất kỳ thiết kế hệ thống nhúng nào, vi điều khiển tốt nhất hầu hết là vi điều khiển có kiến ​​trúc Harvard.

Bộ hướng dẫn lựa chọn bộ vi điều khiển

Tập lệnh là một tập hợp các lệnh cơ bản như số học, điều kiện, logic, v.v. được sử dụng để thực hiện các hoạt động cơ bản trong vi điều khiển. Kiến trúc vi điều khiển hoạt động trên cơ sở tập lệnh.

Đối với tất cả các dự án dựa trên bộ vi điều khiển, bộ vi điều khiển dựa trên RISC hoặc tập lệnh CISC đều có sẵn.

Kiến trúc dựa trên RISC

RISC là viết tắt của máy tính tập lệnh giảm. Một tập lệnh RISC thực hiện tất cả các phép toán số học, logic, điều kiện, Boolean trong một hoặc hai chu kỳ lệnh. Phạm vi của tập lệnh RISC là<100.

Kiến trúc dựa trên RISC

Kiến trúc dựa trên RISC

Máy dựa trên RISC thực hiện các lệnh nhanh hơn vì không có lớp vi mã. Kiến trúc RISC chứa các hoạt động lưu trữ tải đặc biệt được sử dụng để di chuyển dữ liệu từ các thanh ghi và bộ nhớ trong.

Chip RISC được sản xuất với số lượng bóng bán dẫn ít hơn, do đó giá thành thấp. Đối với bất kỳ thiết kế hệ thống nhúng nào, chip RISC chủ yếu được ưu tiên.

Kiến trúc dựa trên CISC

CISC là viết tắt của máy tính tập lệnh phức tạp. Tập lệnh CISC cần bốn chu kỳ lệnh trở lên để thực hiện tất cả các lệnh số học, logic, điều kiện, Boolean. Phạm vi của một tập lệnh CISC là> 150.

Kiến trúc dựa trên CISC

Kiến trúc dựa trên CISC

Máy dựa trên CISC thực thi các lệnh với tốc độ chậm hơn so với cấu trúc RISC, vì ở đây các lệnh được chuyển đổi thành kích thước mã nhỏ trước khi được thực thi.

Lựa chọn bộ nhớ của vi điều khiển

Việc lựa chọn bộ nhớ là rất quan trọng trong việc chọn bộ vi điều khiển tốt nhất, bởi vì hiệu suất của hệ thống phụ thuộc vào bộ nhớ.

Mỗi bộ vi điều khiển có thể chứa bất kỳ một loại bộ nhớ nào, đó là:
 Bộ nhớ trên chip
 Bộ nhớ ngoài chip

Bộ nhớ trên chip và bộ nhớ ngoài chip

Bộ nhớ trên chip và bộ nhớ ngoài chip

Bộ nhớ trên chip

Bộ nhớ trên chip đề cập đến bất kỳ bộ nhớ nào như RAM, ROM được nhúng trên chip vi điều khiển. ROM là một loại thiết bị lưu trữ có thể lưu trữ vĩnh viễn dữ liệu và ứng dụng bên trong nó.

Bộ nhớ RAM là một loại bộ nhớ được sử dụng để lưu trữ dữ liệu và chương trình trên cơ sở tạm thời. Bộ vi điều khiển với bộ nhớ trên chip cho khả năng xử lý dữ liệu tốc độ cao nhưng bộ nhớ lưu trữ có hạn. Vì vậy, các bộ vi điều khiển tắt chip được sử dụng để đạt được khả năng lưu trữ bộ nhớ cao.

Bộ nhớ ngoài chip

Bộ nhớ off-chip đề cập đến bất kỳ bộ nhớ nào như ROM, RAM và EEPROM được kết nối bên ngoài. Bộ nhớ bên ngoài đôi khi được gọi là bộ nhớ thứ cấp được sử dụng để lưu trữ số lượng lớn dữ liệu.

Do điều này, tốc độ bộ điều khiển bộ nhớ ngoài bị giảm trong khi truy xuất và lưu trữ dữ liệu. Bộ nhớ ngoài này cần các kết nối bên ngoài nên độ phức tạp của hệ thống tăng lên.

Lựa chọn chip của vi điều khiển

Lựa chọn chip là rất quan trọng trong việc phát triển dự án dựa trên vi điều khiển . IC đơn giản được gọi là một gói. Các mạch tích hợp được che chắn để cho phép dễ dàng xử lý và bảo vệ thiết bị khỏi bị hư hỏng. Các mạch tích hợp được tạo thành từ hàng nghìn các thành phần cơ bản trong điện tử chẳng hạn như bóng bán dẫn, điốt, điện trở, tụ điện.

Các bộ vi điều khiển có sẵn trong nhiều loại gói IC khác nhau và mỗi loại đều có ưu nhược điểm riêng. IC phổ biến nhất là Gói nội tuyến kép (DIP), được sử dụng hầu hết trong bất kỳ thiết kế hệ thống nhúng nào.

Bộ vi điều khiển DIP (Dual in line)

Bộ vi điều khiển DIP (Dual in line)

1. DIP (Gói nội tuyến kép)
2. SIP (Gói nội tuyến đơn)
3. SOP (Gói phác thảo nhỏ)
4. QFP (Gói quad phẳng)
5. PGA (Mảng lưới ghim)
6. BGA (Mảng lưới bóng)
7. TQFP (Gói Thiếc Quad phẳng)

Lựa chọn IDE của bộ vi điều khiển

IDE là viết tắt của môi trường phát triển tích hợp và nó là một ứng dụng phần mềm được sử dụng trong hầu hết các dự án dựa trên vi điều khiển. IDE thường bao gồm một trình soạn thảo mã nguồn, trình biên dịch, trình thông dịch và trình gỡ lỗi. Nó được sử dụng để phát triển các ứng dụng nhúng. IDE được sử dụng để lập trình vi điều khiển.

Lựa chọn IDE của bộ vi điều khiển

Lựa chọn IDE của bộ vi điều khiển

Một IDE bao gồm các thành phần sau: -

Trình chỉnh sửa mã nguồn
Trình biên dịch
Trình gỡ lỗi
Liên kết
Thông dịch viên
Công cụ chuyển đổi tệp Hex

Biên tập viên

Trình soạn thảo mã nguồn là một trình soạn thảo văn bản được thiết kế đặc biệt cho các lập trình viên để viết mã nguồn của các ứng dụng.

Trình biên dịch

Trình biên dịch là chương trình dịch ngôn ngữ cấp cao (C, Embedded C) sang ngôn ngữ cấp máy (định dạng 0 ’và 1). Đầu tiên, trình biên dịch sẽ quét toàn bộ chương trình và sau đó dịch chương trình thành mã máy sẽ được máy tính thực thi.

Có hai loại trình biên dịch: -

Trình biên dịch gốc

Khi chương trình ứng dụng được phát triển và biên dịch trên cùng một hệ thống, nó được biết đến như một trình biên dịch gốc. VÍ DỤ: C, JAVA, Oracle.

Trình biên dịch chéo

Khi chương trình ứng dụng được phát triển trên hệ thống chủ và được biên dịch trên hệ thống đích, nó được gọi là trình biên dịch chéo. Tất cả các dự án dựa trên vi điều khiển đều được phát triển bởi trình biên dịch chéo. Ex Embedded C, lắp ráp, vi điều khiển.

Trình gỡ lỗi

Trình gỡ lỗi là một chương trình được sử dụng để kiểm tra và gỡ lỗi các chương trình khác như chương trình đích. Gỡ lỗi là một quá trình tìm kiếm và giảm số lượng lỗi hoặc lỗi trong chương trình.

Liên kết

Trình liên kết là một chương trình lấy một hoặc nhiều tệp khách quan từ trình biên dịch và kết hợp chúng thành một chương trình thực thi duy nhất.

Thông dịch viên

Trình thông dịch là một phần của phần mềm này chuyển đổi ngôn ngữ cấp cao thành ngôn ngữ có thể đọc được của máy theo từng dòng một. Mỗi lệnh của mã được giải thích và thực thi riêng biệt theo cách tuần tự. Nếu bất kỳ lỗi nào được tìm thấy trong một phần của hướng dẫn, nó sẽ ngừng giải thích mã.

Bộ vi điều khiển khác nhau với các ứng dụng

Dưới đây là tóm tắt của một bảng cung cấp thông tin về các bộ vi điều khiển khác nhau và các dự án mà chúng có thể được sử dụng.

Các bộ vi điều khiển khác nhau cho các ứng dụng khác nhau

Các bộ vi điều khiển khác nhau cho các ứng dụng khác nhau

Tất cả các thiết lập để chọn vi điều khiển tốt nhất cho dự án của bạn? Chúng tôi hy vọng bây giờ, bạn phải có một hình dung rõ ràng trong đầu, về bộ vi điều khiển nào sẽ phù hợp nhất với hệ thống nhúng của bạn. Để bạn tham khảo, nhiều loại dự án nhúng có thể được tìm thấy trong trang web của edgefxkit.

Đây là một câu hỏi cơ bản dành cho bạn - Đối với hầu hết các dự án dựa trên vi điều khiển, kết hợp tất cả các tính năng tốt nhất mà chúng tôi đã đề cập ở trên, họ vi điều khiển nào được ưa chuộng nhất và tại sao?

Vui lòng đưa ra câu trả lời của bạn cùng với phản hồi của bạn trong phần bình luận dưới đây.

Tín ảnh:

Bộ vi điều khiển 8 bit của đường dây nhanh
Bộ vi điều khiển 16 bit của chỉ thị
Bộ vi điều khiển 32 bit của đường dây nhanh
Họ vi điều khiển AVR của dây điện
Dòng vi điều khiển PIC của kỹ sư
Kiến trúc Harvard của eecatalog.com
Kiến trúc dựa trên RISC bởi Electronicsweekly.com
Kiến trúc dựa trên CISC của studydroid.com
Bộ vi điều khiển DIP (Dual in line) của t2.gstatic.com