So sánh giữa Intel Galileo và Raspberry Pi

Intel Galileo và Raspberry Pi (RPi) là 2 bo mạch chủ yếu dành cho đối tượng người dùng DIY (Do It Yourself) – tức là những người muốn tự tay làm các sản phẩm sáng tạo cho mình. Ở đây, chúng ta sẽ xét 2 phiên bản là Intel Galileo (thế hệ 1) và Raspberry Pi (bản B).

RPi mặc dù được gọi là sản phẩm nguồn mở, nhưng phần cứng của nó thì lại chẳng hề mở tí nào, một số chip trên bo mạch khiến người dùng phải rất vất vả mới nhận được sự hỗ trợ từ nhà sản xuất. Ngoài ra, bạn cũng không thể điều khiển sâu vào phần lõi của RPi bởi nhà sản xuất muốn thu lợi nhuận về ngay cả khi họ đã bán RPi cho bạn. Ví dụ, nếu muốn phát nhạc trên RPi, bạn sẽ phải bỏ thêm tiền để mua các bộ giải mã (phần mềm) từ nhà sản xuất để chip âm thanh trên RPi có thể chạy được nhạc, đó là MPEG-2 và H.264. Thêm vào đó, mặc dù RPi là một công cụ học tập và giải trí tuyệt vời, bạn lại không được phép sản xuất lại nó một cách miễn phí. Giấy phép sản xuất cũng chỉ được cấp nhép một cách cực kì hạn chế.

Với Galileo, mặc dù bạn không có toàn quyền kiểm soát bộ vi xử lí trên đó, nhưng Intel đã tạo ra một sự hỗ trợ khá tốt với nền tảng Arduino để người dùng có thể tạo ra bất kì thứ gì họ muốn với Galileo. Người ta có thể thoải mái sản xuất lại và buôn bán một cách thương mại các sản phẩm Arduino. Có thể nói đội ngũ phát triển Arduino khá là hào phóng về khoản này. Một khác biệt nữa giữa Arduino – Galileo với RPi đó là vi xử lí ARM trên RPi lại có tính mở nhiều hơn Quark SoC X1000 của Galileo. Đơn giản là vì ARM đã được mua license bởi hàng tá đối tác, còn Quark SoC X1000 thì chỉ mới ra mắt chưa đầy 1 năm. Trên thị trường, có hàng tá công cụ có phí lẫn trả phí được tạo ra cho ARM, với Quark SoC X1000 thì có lẽ phải chờ thêm nhiều năm nữa để có thể qua mặt được ông anh ARM. Có thể nói, nỗ lực của Intel với Arduino nhằm cho ra Galileo là rất lớn, và có vẻ như nó đang tạo ra một thứ gì đó khác biệt so với ARM. Không có một công ty, hay một loại bo mạch nào có thể thỏa mãn người dùng, nhưng Intel lại có một nỗ lực to lớn nào đó để tạo ra một cú đẩy cho cả Intel lẫn phong trào nguồn mở nói chung với Galileo.

Thật khó để đem Galileo và RPi ra so sánh bởi mỗi thứ lại có những đặc trưng riêng. Lựa chọn Galileo hay RPi, điều đó phụ thuộc vào việc dự án của bạn cần điều gì. Nói chung, Galileo mạnh về hiệu năng phần cứng và khả năng giao tiếp với hàng tá các cổng kết nối. Với con mắt của cá nhân tôi (Quốc Bảo), Galileo trong mình một sức sức mạnh khá đặc trưng của Intel. Trái lại, RPi lại là mang một sự gọn nhẹ, đơn giản và phù hợp với những người không chuyên nhiều hơn, chủ yếu cho mục đích giáo dục hay giải trí. Ngoài ra, RPi còn có thể làm một máy tính cá nhân (computer), trong khi Galileo thì lại không được thiết kế để làm việc này.

Một số khác nhau cơ bản

Galileo sở hữu bộ xử lí Quark SoC X1000 400MHz dựa trên nền tảng Pentium x86. Ngoài ra, nó còn hỗ trợ chuẩn Arduino pinout 1.0 giống như trên Arduino Uno R3. Với RPi, nó có bộ xử lí Broadcom BCM2835 700Mhz và có thể ép xung lên đến 1Ghz một cách dễ dàng. Đừng nhìn vào xung nhịp 400MHz – 700MHz mà đánh giá hiệu năng của 2 CPU này. Xung nhịp không phải là yếu tố đánh giá một CPU mà những gì nó làm được trong một chu kì hoạt động (Clock cycle) mới là thứ đáng để đánh giá. Và ở đây, X1000 đã thắng BCM2835. Theo nhà sản xuất RPi, BCM2835 chỉ có hiệu năng tương đương 1 CPU Pentium II 300MHz. Trái lại, X1000 lại có hiệu năng tương đương một CPU ARM như BCM2835 nhưng với xung nhịp 1.2GHz.

RPi có thể làm tốt các công việc liên quan đến hình ảnh, video,… hay được sử dụng trong các dự án đòi hỏi tiêu thụ ít điện năng. Phía bên kia, Galileo lại là một sự lựa chọn tuyệt vời cho các dự án sử dụng cảm biến (cần bộ nhớ lớn và nhiều năng lượng) hay các ứng dụng liên quan đến hiệu năng (Galileo có sẵn mạch thời gian thực RTC tích hợp). RPi có thể được dùng để tạo ra một mạng lưới camera an ninh hay dùng làm server phục vụ việc giải trí. Tuy nhiên RPi lại không có bộ chuyển đổi Analog-to-Digital, do đó bạn sẽ gặp khó khăn với các ứng dụng cần đọc tín hiệu analog. Với Galileo, do vốn được Intel trang bị khá đầy đủ cộng thêm việc tương thích với nền tảng Arduino, hầu như không có giới hạn đối với nó. Galileo hoàn toàn phù hợp cho các ứng dụng Smart, IoT (Internet of Things) hay liên quan đến việc sử dụng một hệ thống cảm biến phức tạp như mạng cảm biến, hệ thống theo dõi sức khỏe,…

Bộ xử lí Quark SoC x86 trên Galileo có thể nói là thuộc loại low-end – bậc thấp nhất của Intel. Tuy nhiên, nó lại là loại vi xử lí mới nhất được xuất xưởng sau loạt CPU Haswell đình đám, do đó Quark SoC X1000 x86 và anh em của nó được thừa hưởng thành quả phát triển của hàng tá bộ vi xử lí trước nó, hơn 30 năm lịch sử phát triển. Do vậy, Quark SoC X1000 hiện khá hoàn chỉnh và mang khá nhiều đặc trưng về sức mạnh của các bộ xử lí của Intel. Đối với ARM, việc thiết kế nó được thực hiện khi mà Intel đã có bộ xử lí đầu tiên trước đó hơn 10 năm. Bên cạnh đó, ý tưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõi ARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh. Như hiện nay, chúng ta có thể thấy, các dòng CPU như Quark SoC x86 của Intel khá mạnh và tốn nhiều năng lượng để hoạt động, còn các dòng CPU ARM thì tuy yếu hơn nhưng không đòi hỏi nhiều năng lượng.

Về sự khác biệt, Galileo có cổng mini-PCIe, cổng Serial RS-232, mạch thời gian thực RTC tích hợp còn RPi thì lại có cổng DSI, cổng HDMI, I2S Audio, Video RCA. Ngoài ra, RPi còn có 1 GPU riêng, đó là Broadcom VideoCore IV 250MHz còn Galileo thì không có GPU tích hợp. Galileo có sẵn một hệ điều hành Linux mặc định được lưu ngay trong chip nhớ tích hợp trên mạch và có thể cài thêm trong thẻ nhớ microSD, còn RPi thì bắt buộc người dùng phải cài hệ điều hành trên thẻ nhớ SD. Và với việc phụ thuộc vào thẻ nhớ, nên RPi sẽ gây cho người mới rất nhiều vấn đề.

Giá trị

Galileo có giá khoảng gấp đôi RPi phiên bản B. Tuy nhiên, để chạy được RPi, bạn sẽ cần ít nhất là 2 thứ vốn không được bán kèm, đó là bộ nguồn và thẻ nhớ SD. Ngoài ra, bạn cũng cần bàn phím, chuột, màn hình, USB Hub,… để có thể tận dụng hết sức mạnh của RPi. Nhưng nếu chỉ để làm một single-board cho dự án thì chúng ta không cần phải mua những thứ kèm theo vừa được liệt kê, lúc này là có thể lập trình xử lý tốt mọi việc.

Trái lại, với Galileo, nó được bán kèm bộ nguồn. Khi mua về, bạn chỉ cần cắm điện vào Galileo và thực hiện một số thao tác cài đặt là đã có thể sử dụng được nó ngay mà không phải tốn tiền mua thêm cái gì.

Nếu bạn mua RPi, giá trị của nó sẽ chỉ dừng lại ở những thứ mà nó có và được hỗ trợ. Với Galileo, do có thêm hàng chân cắm chuẩn Arduino pinout 1.0 cũng như khả năng tương thích với nền tảng Arduino, Galileo có sức mạnh của không chỉ những thứ nó được trang bị, mà còn có sức mạnh của nền tảng Arduino. Như vậy, nếu bạn là một nhà nghiên cứu, Galileo sẽ tỏ ra có giá trị hơn. Ngược lại nếu bạn chỉ đơn giản là đang thực hiện một dự án nào đó, RPi sẽ thích hợp hơn.

Khởi động

Galileo có sẵn hệ điều hành Linux đặc biệt được thích hợp ngay trong nó, bạn chỉ cần cắm nguồn là có thể sử dụng được ngay. Đó là hệ điều hành Yocto được “gỡ áo” nằm trong bộ nhớ Flash của Galileo. Ngoài ra, bạn cũng có thể cài thêm hệ điều hành Linux khác bự hơn, như Debian chẳng hạn.

Với RPi, do nó phải chạy hệ điều hành từ thẻ nhớ nên bạn sẽ phải mất một ít thời gian để format và cài đặt thẻ nhớ. Ngoài ra, nếu bị mất nguồn đột ngột, thẻ nhớ trên RPi có thể bị hỏng. Điều này không xảy ra với Galileo. Nhưng nếu cài một hệ điều hành trên thẻ nhớ của Galileo, thì lúc này thẻ nhớ trên Galileo cũng sẽ dần dần hư mà thôi!

So sánh đầy đủ

Sau đây là một số so sánh về mặt phần cứng lẫn phần mềm giữa 2 bo mạch Intel Galileo và Raspberry Pi. Cả 2 đều là những bo mạch tốt và đã tạo ra được cho mình một hệ sinh thái nguồn mở.

So sánh giữa vi xử lí và các chức năng của phần cứng trên mạch

 

Galileo

Raspberry Pi (bản B)

Kích thước bo mạch

10cm x 7cm  (bị chồng nhẹ bởi jack nguồn)

8.6cm x 5.6cm x 2.1cm  (thực tế là dài hơn một chút nữa do thẻ SD trồi ra ngoài, tuy nhiên có thể khắc phụ nhược điểm này)

Bộ xử lí

Intel® Quark X1000 – lõi đơn

Broadcom BCM2835 – lõi đơn

Mô tả về bộ xử lí

Quark, giới thiệu bởi Intel tại IDF2013, tiêu thụ ít năng lượng, kích thước nhỏ, giá rẻ; phù hợp với các ứng dụng "wearables" (thiết kế các sản phẩm có thể mặc lên người) và Internet of Things†.

Thích hợp cho các thiết bị smart phones, digital TV, máy đọc sách, phương tiện giải trí, môi trường tính toán có độ bảo mật cao

Kiến trúc

Intel ® Pentium® Class x86

ARM® ARM1176™

Xung nhịp

400MHz

700MHz

Kích thước tệp xử lí

32-bit

32-bit

Đồng hồ thời gian thực

Có, cần 1 pin nút áo 3V để chạy

Không

Bộ nhớ đệm

16 KB L1

32KB L1 và 128KB L2 chia sẻ cho cả CPU và GPU

RAM

512KB on-chip SRAM cho các chương trình Arduino và 256MB DRAM cho hệ điều hành

512MB SDRAM (được chia sẻ cho GPU).

Bộ nhớ Flash

8MB NOR Flash (Legacy SPI), cho FW bootloader và lưu trữ các chương trình

Không

EEPROM

11KB

Không

GPU

Không

Broadcom VideoCore IV® Multimedia lõi kép

Bộ nhớ ngoài

Thẻ nhớ Micro-SD (dung lượng tối đa 32GB), hỗ trợ lưu trữ trên thiết bị USB 2.0 ngoài

Thẻ nhớ SD (dung lượng tối đa lên đến 64GB), hỗ trợ lưu trữ trên thiết bị USB 2.0 ngoài

Hỗ trợ video

Không. Nhưng có thể xử lý nội dung video bởi công cụ V4L2

HDMI – 1080p RCA (analog), không có âm thanh DSI* –  cho màn hình cảm ứng

Hỗ trợ âm thanh

Không. Nhưng có thể dùng công cụ ALSA

HDMI và jack cắm stereo audio-out 3.5mm

Chỉ thị trạng thái

Đèn LED chỉ thị nguồn, đèn LED hiển thị cổng Serial ảo Gadget đã được bật, đèn LED hiển thị có đang đọc thẻ nhớ hay không, đèn LED hiển thị việc đã cắm dây LAN và có lấy thông tin từ dây LAN hay không.

đèn LED chỉ thị nguồn, trạng thái thẻ SD, kết nối cổng LAN, hoạt động ở cổng LAN, kết nối 100Mbps

JTAG

10-pin, Mini-JTAG header

Có, header P2 và P3. (không có công cụ hỗ trợ)

Tương thích

Các Arduino shield chuẩn Arduino pinout 1.0, điện áp hoạt động 3.3V và 5V

Có thể giao tiếp với các mạch Arduino qua cổng USB bằng công cụ USB TTL hoặc dùng 2 chân TX, RX đã điều chỉnh hiện điện thế.

Các cổng nhập xuất cơ bản 

 

Galileo

Raspberry Pi (bản B)

Analog I/O

6 chân, hỗ trợ độ phân giải 12bit

17 chân I/O (GPIO) chung (hỗ trợ I2C, UART, và SPI.)

Digital I/O

14 chân hỗ trợ cả 2 chế độ INPUT và OUTPUT

8 chân GPIO có thể được lập trình để chạy 2 chế độ INPUT và OUTPUT

PWM

6 chân Digital I/O có thể dùng để phát xung PWM (hardware PWM)

Digital I/O có thể phát được xung PWM (software PWM)

Các kết nối được hỗ trợ

 

Galileo

Raspberry Pi (Model B)

USB 2.0

2 cổng USB gồm USB Host và USB Client (có nhiệm vụ khác nha). Cổng USB Host có thể mở rộng dùng để nhận tín hiệu từ các thiết bị ngoại vi. Có thể sử dụng thêm cổng thứ 3 qua cổng PCIe

2 cổng mở rộng chia sẻ chung một cổng upstream đến chip LAN9512 mà nó kiêm luôn giao tiếp Ethernet. Dòng ra tối đa là 100mA, không phải 500mA

Ethernet (RJ45)

Có, hỗ trợ tốc độ 10/100 Mbps.

Có, hỗ trợ tốc độ 10/100 Mbps.

WiFi

Không, có thể sử dụng card WiFi mở rộng qua cổng PCIe. Có thể dùng các loại Router qua LAN.

Không, có thể sử dụng USB WiFi hoặc các loại Router qua LAN.

Khe cắm thẻ nhớ.

Khe cắm thẻ microSD.

Khe cắm thẻ SD. RPi phải chạy hệ điều hành trên thẻ nhớ

PCIe

Có. Hỗ trợ half-size lẫn full-sized

Không

TWI/I2C

Không

SPI

Serial Data (UART)

GPIO

6 chân Analog.

14 chân Digital, 6 chân có thể phát xung PWM. Có thể dùng cả 3.3 V và 5V.

17 chân (hỗ trợ I2C, UART, và SPI.), điện áp tối đa là 3.3V. Gắn 5V vô hư ngay.

Nút reset

Không

DSI (Digital Serial Interface)

Không

CAN Bus

Không

Không

GPU

Không

EEPROM

11KB. Do có thể hoạt động độc lập nên Galileo cần có EEPROM.

Không. Vì buộc có thẻ nhớ nên RPi không có EEPROM

HDMI

Không

Hỗ trợ Full HD 1920 X 1080

DVI

Không

Không

VGA

Không

Không

ADC

Không

Đồng hồ

Có, mạch RTC tích hợp cần pin nút áo 3V để chạy

Không

Camera

Không. Nhưng có thể dùng USB Camera

Có, nhưng cần thêm phụ kiện để kết nối.

Các thông số khuyến cáo trên mạch

 

Galileo

Raspberry Pi (Model B)

DC Power Supply (VIN)

Chỉ cấp điện áp 5V, dòng tiêu thụ đến 2A, nên dùng nguồn 5V – 3A.

Chỉ cấp điện áp 5V. Dòng tiêu thụ khoảng 700mA, lên đến khoảng 2A nếu dùng thêm phụ kiện.

Công suất

15W

3.5W

Cáp Ethernet

không bao gồm Cat5e/Cat6

không bao gồm Cat5e/Cat6

USB 2.0 type A/B-micro cable

Không

Thẻ nhớ

Không yêu cầu

Tổi thiểu 4GB class 4 hoặc tốt hơn.

Cấp nguồn cho các thiết bị ngoại vi.

Cần nếu bạn cần trên 2A cho các thiết bị ngoại vi mà nguồn được cấp từ Galileo.

Cần cấp nguồn riêng cho các thiết bị ngoại vi giao tiếp qua cổng USB nếu chúng cần trên 1A.

 

lên
9 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Cài đặt driver và Arduino IDE

Để lập trình được cho các board Arduino, các bạn cần phải có một công cụ gọi là Intergrated Development Environment (IDE). Công cụ này được đội ngũ kĩ sư của Arduino phát triển và có thể chạy trên Windows , MAC OS X và Linux. Ở đây mình sẽ hướng dẫn các bạn cài đặt nó trên Windows. Các bạn cũng làm tương tự các bước này cho các nền tảng khác

lên
145 thành viên đã đánh giá bài viết này hữu ích.

HIGH

 Trong lập trình trên Arduino, HIGH là một hằng số có giá trị nguyên là 1. Trong điện tử, HIGH là một mức điện áp lớn hơn 0V. Giá trị của HIGH được định nghĩa khác nhau trong các mạch điện khác nhau, nhưng thường được quy ước ở các mức như 1.8V, 2.7V, 3.3V 5V, 12V, ...

HIGH là một hằng số có giá trị nguyên là 1

Xét đoạn code ví dụ sau:

lên
12 thành viên đã đánh giá bài viết này hữu ích.