So sánh giữa vi điều khiển và Arduino

Cả Raspberry Pi và Arduino đều là các bo mạch phổ biến cho những dự án IoT. Mặc dù chúng không phải là những tùy chọn duy nhất, nhưng mỗi công cụ này đều có một lượng lớn người theo dõi và hàng tấn tài nguyên trực tuyến.

Tuy nhiên, một số bài viết trực tuyến và hướng dẫn trên YouTube cung cấp thông tin thực sự sai lệch. Ví dụ, một số tài liệu đưa ra những thông tin không chính xác như Raspberry Pi không thể chạy trên Windows và Arduino rất yếu. Do đó, bài viết này nhằm mục đích xua tan những “tin đồn” như vậy, bằng cách cung cấp thông tin chính xác và cập nhật.

Trên thực tế, Raspberry Pi có thể chạy trên Windows 10 IoT và Intel Edison của Arduino cũng mạnh mẽ như Raspberry Pi 3 Model B+.

Tất nhiên, Arduino Uno rất yếu với bộ nhớ chỉ 32Kb. Nhưng, có những model Arduino hỗ trợ RAM lên tới 4GB. Vì vậy, theo nguyên tắc chung, mọi so sánh giữa hai thông số kỹ thuật phần cứng là hoàn toàn vô nghĩa.

Raspberry Pi và Arduino có gì khác nhau?

Một sự khác biệt lớn giữa hai tùy chọn này là: Raspberry Pi là máy tính đơn bo, trong khi Arduino chạy trên bộ vi điều khiển [microcontroller] đơn bo. Điều này có nghĩa là với Pi, bạn thậm chí có thể chạy máy tính để bàn và duyệt web. Trong khi đó, Arduino đặc biệt dành cho mục đích kiểm soát giao diện.

Là một SBC, Raspberry Pi chạy trên hệ điều hành Raspbian gốc, nhưng có hỗ trợ Windows và Mac. Pi hỗ trợ một số hệ điều hành của bên thứ ba bao gồm Windows 10 IoT core, Ubuntu Mate, Raspbian cho PC và Mac.

Arduino không có hệ điều hành gốc nhưng tương thích với các hệ thống Windows, Mac và Linux. Arduino có IDE [Integrated Development Environment] riêng, cung cấp các lệnh cho bộ vi điều khiển trên bo mạch.

Trong khi đó, Raspberry Pi hỗ trợ một loạt các IDE bao gồm Mu, một trình soạn thảo Python được đề xuất trên trang web chính thức của Pi.

Có một vài sự khác biệt khác giữa Raspberry Pi và Arduino từng đúng trong quá khứ nhưng hiện tại đã thay đổi. Ví dụ, Raspberry Pi nổi tiếng vì có hỗ trợ tích hợp cho HDMI, đồ họa video, WiFi và Bluetooth.

Hiện nay, Arduino cũng có các model đặc biệt với bộ xử lý mạnh mẽ có hỗ trợ WiFi, Ethernet hoặc Bluetooth. Ngoài ra, Arduino có thể mở rộng với những bo mạch thứ cấp được gọi là các “shield” có thể hỗ trợ nhiều tính năng còn thiếu.

Số lõi và các tùy chọn I/O

Arduino

  • Dường như không có bất kỳ lõi xử lý nào vì nó không phải là một máy tính.
  • Có tùy chọn I/O hạn chế. Hầu hết chỉ là chân I/O kỹ thuật số.
  • Có 1 kết nối USB.

Raspberry Pi

  • Raspberry Pi 4 có 4 lõi xử lý.
  • Có nhiều cổng I/O và các tùy chọn giống như một máy tính thông thường.
  • Có hai cổng micro-HDMI có thể hỗ trợ hai màn hình 4K.

Khi thảo luận về số lõi mà mỗi bo mạch có, cần nhớ rằng bảng Arduino không phải là một máy tính, nó là một bảng vi điều khiển, vì vậy Arduino dường như không có bất kỳ thứ gì giống một lõi xử lý thực sự, giống như bộ xử lý của laptop.

Mặt khác, Raspberry Pi là một máy tính, mặc dù rất nhỏ. Theo trang web Raspberry Pi, Raspberry Pi 4 có 4 lõi xử lý.

Về các tùy chọn đầu vào/đầu ra [I/O], Arduino Uno đi kèm với 14 pin I/O kỹ thuật số, 6 đầu vào analog, kết nối USB và giắc cắm nguồn. Raspberry Pi 4 có nhiều tùy chọn và cổng I/O, bao gồm 2 cổng USB 3.0, 2 cổng USB 2.0, 2 cổng micro-HDMI và khe cắm thẻ nhớ Micro SD. Hai cổng micro-HDMI có thể hỗ trợ hai màn hình 4K.

Tiêu thụ năng lượng

Arduino

  • Có thể được sạc bằng kết nối USB hoặc giắc cắm nguồn.
  • Cần nguồn điện 5V để hoạt động.
  • Điện áp đầu vào được khuyến nghị nằm trong khoảng từ 7 - 12V.

Raspberry Pi

  • Chỉ có thể được sạc qua cổng USB-C.
  • Nói chung cần nguồn điện 3A và 5V để hoạt động.
  • Cũng có thể chấp nhận công suất 2,5A nếu không có quá nhiều thiết bị được kết nối.

Arduino Uno có giắc cắm nguồn và kết nối USB, vì vậy nó có thể được sạc bằng cách kết nối với máy tính thông qua kết nối USB hoặc qua giắc cắm nguồn với bộ chuyển đổi AC thành DC hoặc pin. Điện áp hoạt động cho Arduino là 5V và điện áp đầu vào được khuyến nghị nằm trong khoảng từ 7-12V.

Raspberry Pi 4 sạc qua cổng USB-C. Máy tính siêu nhỏ này yêu cầu nguồn điện ít nhất 3A và 5V. Nó cũng có thể chấp nhận 2,5A miễn là không có quá nhiều thiết bị ngoại vi được kết nối.

Arduino không phải là một máy tính, còn Raspberry Pi thì ngược lại

Khả năng lập trình

Arduino

  • Có khả năng được lập trình thông qua phần mềm mã nguồn mở, có thể tải xuống, được gọi là Arduino IDE.
  • Cũng có thể được lập trình bằng Arduino Web Editor trực tuyến.
  • IDE chạy trên Windows, macOS X và Linux.

Raspberry Pi

  • Bạn có thể chọn từ 9 hệ điều hành để lập trình Pi của mình.
  • Raspbian là hệ điều hành được khuyến nghị và nó dựa trên Linux Debian.
  • Các hệ điều hành khác dường như dành riêng cho từng dự án, chẳng hạn như LibreELEC, dành cho Kodi Entertainment Center [trung tâm giải trí Kodi].

Lập trình Arduino có thể được thực hiện bằng phần mềm Arduino IDE. Bạn cũng có thể sử dụng Arduino Web Editor. Phần mềm IDE có mã nguồn mở, cho phép người dùng viết code và sau đó load trực tiếp lên bo mạch. Môi trường Arduino IDE được viết bằng Java nhưng dựa trên phần mềm mã nguồn mở [chưa được đặt tên] khác và ngôn ngữ được gọi là Processing. IDE cũng có thể chạy trên Windows, macOS X và Linux.

Khi nhận được Raspberry Pi 4 lần đầu tiên, bạn sẽ phải sử dụng trình quản lý cài đặt hệ điều hành được gọi là NOOBS [New Out of Box Software]. Trình quản lý này sẽ cho phép bạn chọn một hệ điều hành cho Raspberry Pi mà bạn có thể sử dụng để lập trình nó. Hiện tại có 9 hệ điều hành mà bạn có thể lựa chọn, nhưng hệ điều hành được khuyến nghị có tên là Raspbian, dựa trên Linux Debian. Đáng chú ý, một trong những hệ điều hành khả thi khác mà bạn có thể sử dụng là Windows 10 IoT Core.

Những ứng dụng trong IoT

Hiện tại, rất nhiều dự án IoT có thể được thực hiện trên Raspberry Pi cũng có sẵn với Arduino Project Hub. Điều ngược lại cũng đúng. Trên thực tế, có rất nhiều điểm chung giữa hai hệ thống và ứng dụng. Người đam mê sẽ tìm cách phát triển bất kỳ dự án IoT nào trên Raspberry Pi hoặc Arduino.

Bộ kit Arduino giúp thực hiện những công việc liên quan đến cảm biến nhiệt độ, chuyển động và áp suất. Nhưng điều tương tự cũng có thể được thực hiện khi sử dụng Raspberry Pi, với sự khác biệt duy nhất là Raspberry Pi sử dụng bóng bán dẫn nhỏ để tương tác với các cảm biến, còn trong Arduino, bộ vi điều khiển tương tác trực tiếp với những cảm biến.

Điều này cũng đúng với nhiều ứng dụng IoT khác. Trong mỗi ứng dụng, Pi được quản lý trên một máy tính có bộ vi xử lý trên mạch hoạt động với các thành phần vật lý. Ngược lại, Arduino luôn giao tiếp trực tiếp với các thành phần vật lý.

Điều này có nghĩa là Arduino phù hợp hơn cho các dự án nơi sự tương tác của người dùng không cần thiết và cũng không được mong muốn.

  • Đèn thông minh
  • Hệ thống nước
  • Robot hút bụi
  • Nước thông minh

Trong khi đó, Raspberry Pi có thể phù hợp hơn cho các hệ thống có sự tương tác của con người.

  • Thiết bị giám sát trẻ
  • Bộ điều chỉnh giấc ngủ kiểm soát bằng thiết bị di động
  • Drone điều khiển bằng thiết bị di động
  • Thiết bị tiêu dùng

Như ví dụ cuối cùng cho thấy, Raspberry Pi tốt hơn nhiều khi có các tính năng hỗ trợ video. Nếu bạn đang thiết kế một camera an ninh, không có nghi ngờ gì về việc bo mạch Raspberry Pi phù hợp hơn.

Trong khi bộ kit Arduino chắc chắn hoàn thiện ở tất cả các khía cạnh, thì Raspberry Pi có một vài lợi thế giúp nó hữu ích cho người mới bắt đầu. Nếu biết một chút về Python, bạn có thể dễ dàng lập trình các thành phần phần cứng bên ngoài của mình trên Mu. Với Arduino, bạn phải học hỏi những điều hoàn toàn mới.

Tóm lại, Raspberry Pi phù hợp hơn cho các dự án IoT, do lợi thế của nó so với Arduino.

Bạn có ý kiến khác về điều này không? Hãy chia sẻ ý kiến của mình trong phần bình luận bên dưới nhé!

Chào ! Hôm nay mình sẽ giúp những bạn khám phá sự độc lạ giữa vi tinh chỉnh và điều khiển [ VĐK ] và vi xử lí [ VXL ]. Để từ đó ta sẽ có cái nhìn tổng quát về 2 loại vi mạch này. Không dài dòng nữa, zô luôn nha .

Bộ vi xử lí [microprocessor]

Bộ vi xử lý [microprocessor] là một máy tính nhỏ hoặc CPU [đơn vị xử lý trung tâm] được sử dụng để tính toán, thực hiện phép toán logic, kiểm soát hệ thống và lưu trữ dữ liệu vv. Vi xử lý sẽ xử lý các dữ liệu đầu vào / đầu ra [input/output] thiết bị ngoại vi và đưa ra kết quả trở lại để chúng hoạt động. Dòng vi xử lý 4 bit đầu tiên được Intel sản xuất vào tháng 11/1971 với tên gọi là 4004.

Các loại cấu trúc

  1. Các vi xử lý đầu tiên sử dụng cấu trúc Von-Neumann. Trong cấu trúc Von Neumann bộ nhớ dữ liệu và bộ nhớ chương trình được đặt trong một bộ nhớ. Để xử lý một lệnh từ bộ nhớ hoặc yêu cầu từ I / O, nó nhận được lệnh thông qua bus từ bộ nhớ hoặc I / O, và đặt vào thanh ghi, xử lý nó trong các thanh ghi. Bộ xử lý có thể lưu kết quả trong bộ nhớ thông qua các bus. Nhưng kiến trúc này có một số nhược điểm như chậm và quá trình truyền dữ liệu không đồng thời xảy ra cùng một lúc bởi vì chia sẻ cùng một bus chung.
  2. Sau này cấu trúc Harvard [Atmega328, Atmega168,… Arduino đang dùng] được phát triển. Trong cấu trúc Harvard bộ nhớ dữ liệu và bộ nhớ chương trình và các bus được tách biệt với nhau. Ngoài ra còn có hai loại CPU micro programming và hardwired programming. Microprogramming còn chậm khi so sánh với hardwired programming.
  3. Kiến trúc tập lệnh Complex Instruction Set Computer: complex instruction set computer [CISC] là tập lệnh phức tạp nên sẽ tốn nhiều thời gian để thực hiện; tập lệnh phức tạp có thể bao gồm quá trình xử lý opcode và các toán hạng …vv tốc độ thực hiện lệnh sẽ chậm. Cấu trúc X86 là một ví dụ.
  4. Reduced Instruction Set Computer: Reduced Instruction Set Computer [RISC] là tập lệnh thu gọn và tốc độ thực hiện nhanh. Việc thực hiện rất đơn giản và không yêu cầu cấu trúc phức tạp. RISC được sử dụng rộng rãi trong các ứng dụng hệ thống nhúng. SHARC và PowerPC sử dụng RISC.

Bộ vi xử lý thường được dùng trong các ứng dụng nhỏ. Tùy theo các ứng dụng và thiết bị ngoại vi bạn đang sử dụng mà có thể chọn bộ vi xử lý cần thiết để thực hiện.

Vi tinh chỉnh và điều khiển [ microcontroller ]

Nó cũng là một máy tính nhỏ, trong đó CPU, bộ nhớ [ RAM, ROM ], I / O thiết bị ngoại vi, timers, counters, được nhúng vào trong một mạch tích hợp [ IC ] nơi mà những bộ vi giải quyết và xử lý và tổng thể những khối này được phối hợp vào trong một board trải qua mạng lưới hệ thống bus. Vi điều khiển và tinh chỉnh hoàn toàn có thể thuận tiện tiếp xúc với thiết bị ngoại vi bên ngoài như cổng tiếp nối đuôi nhau, ADC, DAC, Bluetooth, Wi-Fi, … vv quy trình tiếp xúc nhanh hơn khi so sánh với những bộ vi giải quyết và xử lý. Hầu hết những vi điều khiển và tinh chỉnh sử dụng cấu trúc RISC. Ngoài ra còn có một số ít vi điều khiển và tinh chỉnh sử dụng cấu trúc CISC như 8051, motorolla, vv

Sự khác biệt giữa vi xử lý và vi điều khiển

  • Cấu trúc: Hầu hết các bộ vi xử lý sử dụng cấu trúc CISC và Von-Neumann. Tuy nhiên, bộ vi xử lý phổ biến sử dụng cấu trúc CISC. Còn vi điều khiển sử dụng cấu trúc RISC và Harvard. Nhưng cũng có một số vi điều khiển sử dụng cấu trúc CISC như 8051 và SHARC. Bộ vi xử lý có ROM, RAM, bộ nhớ lưu trữ thứ cấp I / O thiết bị ngoại vi, timer bộ đếm[counters].. vv được xếp cùng trên một board và kết nối thông qua bus được gọi là vi điều khiển.

    Xem thêm: Media publications là gì

  • Tốc độ CPU: Bộ vi xử lý có tốc độ nhanh hơn so với các bộ điều khiển bởi clock. Bộ vi xử lý có thể có tốc độ xung nhịp [clock] cao. Bộ vi điều khiển có thể chậm khi so sánh với các bộ vi xử lý. Tốc độ thực thi luôn luôn phụ thuộc vào clock. Nếu chúng ta so sánh hiệu suất tổng thể và ứng dụng, vi điều khiển tốc độ thực hiện rất nhanh bởi vì tất cả các thiết bị ngoại vi sẵn có.

  • Thời gian thiết kế: Thiết kế một vi điều khiển sẽ mất ít thời gian hơn khi thiết kế bộ vi xử lý. Việc giao tiếp giữa các thiết bị ngoại vi và chương trình dễ dàng hơn khi so sánh với bộ vi xử lý. Vi điều khiển được thiết kế để thực hiện một chức năng cụ thể. Cụ thể có nghĩa là các ứng dụng mà quan hệ giữa đầu vào và đầu ra được xác định rõ ràng. Tùy thuộc vào đầu vào, một số xử lý cần phải được thực hiện và thiết lập từ đầu ra. Ví dụ, bàn phím, chuột, máy giặt, máy ảnh kỹ thuật, USB, điều khiển từ xa, lò vi sóng, xe hơi, xe đạp, điện thoại, điện thoại di động, đồng hồ ..vv Khi ứng dụng được cụ thể hóa, cần tài nguyên nhỏ như RAM, ROM, I / O port …vv do đó có thể được nhúng vào một chip duy nhất. Điều này sẽ làm giảm kích thước và chi phí.

  • Ứng dụng: bộ vi xử lý chủ yếu được sử dụng trong các hệ thống máy tính, hệ thống quốc phòng, mạng thông tin liên lạc …vv vi điều khiển được sử dụng chủ yếu trong các ứng dụng nhúng như đồng hồ, điện thoại di động, máy nghe nhạc mp3, vv

  • ​Giá thành: So sánh vi điều khiển và vi xử lý về chi phí là không hợp lý. Chắc chắn vi điều khiển rẻ hơn so với bộ vi xử lý. Tuy nhiên vi điều khiển không thể được sử dụng thay cho bộ vi xử lý và ngược lại vì vi điều khiển và vi xử lý có tầm quan trọng riêng trong việc phát triển các ứng dụng.​

Kết luận

Như vậy là tất cả chúng ta vừa khám phá xong sự độc lạ giữa vi tinh chỉnh và điều khiển và vi xử lí. Mình hy vọng rằng bài viết này sẽ mang lại nhiều kiến thức và kỹ năng mới cho những bạn. Chúc những bạn lập trình, phát minh sáng tạo vui tươi và có nhiều sáng tạo, ý tưởng hay và mê hoặc. Xin cảm ơn

Source: //chickgolden.com
Category: Hỏi đáp

Video liên quan

Chủ Đề