Các câu hỏi thường gặp về Intel Galileo

1. Thông tin về sản phẩm

1.1. Tôi có thể tìm thêm thông tin về bộ xử lí Intel Quark trên Galileo ở đâu ?

Bạn có thể tham khảo bộ tài liệu về Intel Quark tại Intel Quark SoC Documents bao gồm:

  • Intel® Quark™ Spec Update
  • Intel® Quark Platform Design Guide
  • Intel® Quark Core Developer's Manual
  • Intel® Quark Package Mechanical Drawing
  • Intel® Quark Product Brief
  • Intel® Quark Debug Operations User Guide
  • Intel® Quark Secure Boot Programmer's Reference Manual
  • Intel® Quark Core Hardware Reference Manual
  • Intel® Quark™ Thermal & Mechanical Design Guide
  • Intel® Quark™ UEFI Firmware Writer's Guide
  • Intel® Quark™ Software Developer's Manual for Linux
  • Intel® Quark™ BSP Build and Software User Guide
  • Intel® Quark™ Software Release Notes
  • Intel® Quark Datasheet
  • Source Level Debug using OpenOCD/GDB/Eclipse on Intel® Quark™ SoC X1000 Application Note

Ngoài ra, Wikipedia cũng là một nguồn tài liệu rất hay. Khi muốn tìm kiếm một thứ gì đó, bạn nên tìm đến nó trước tiên.

1.2. Tôi có thể tìm hiểu thêm thông tin về Intel Galileo ngoài các tài liệu có sẵn ở đâu ?

1.3. Có phải Galileo là một bo mạch cho máy tính để bàn ?

Không. Galileo không được thiết kế cho mục đích đó.

1.4. Galileo có hỗ trợ NIC/Network card tích hợp sẵn không ?

Có. Ngoài ra, bản Linux mặc định trên Galileo cũng hỗ trợ driver cho NIC.

1.5. Galileo có thể hoạt động như một thiết bị SPI Slave không ?

Không. Galileo chỉ có thể chạy dưới dạng SPI Master. Galileo chỉ duy nhất chạy dưới dạng thiết bị Slave đó là khi bạn lập trình cho nó qua cổng USB Client.

1.6. Galileo có tích hợp mạch thời gian thực (Real Time Clock - RTC) không ?

Có. Mạch RTC trên Galileo có thể sử dụng nguồn là pin nút áo hay các nguồn điện 3V khác. Bạn có thể tìm thấy vị trí gắn pin cho mạch này ở hình bên dưới.

Với mạch RTC, Galileo có thể duy trì đồng hồ hệ thống, phục vụ các ứng dụng liên quan đến thời gian. Nếu Galileo là một con người thì mạch RTC của nó là cái đồng hồ đeo tay như của chúng ta.

1.7. Tôi có thể sản xuất các sản phẩm thương mại dựa trên Intel Galileo được không ?

Được. Có khá nhiều OEM (nhà sản xuất thiết bị gốc) sản xuất các sản phẩm thương mai dựa trên Arduino - Galileo.

2. Khả năng tương thích

2.1. Những phần mở rộng (shield) nào đã được chạy thử và hoạt động tốt trên Galileo ?

Bạn có thể xem List of Supported Shields.

2.2. Hệ điều hành nào có thể hỗ trợ việc phát triển ?

  • Linux: Ubuntu 12.04 (32-bit và 64-bit)
  • Mac OS X version 10.8.5. Đã kiểm tra trên Mac OS X  10.6.8, 10.7.5, and 10.9 bản Developer Preview.
  • Windows: Windows 7 (32-bit và 64-bit) và Windows 8.

Lứu ý rằng đây là nhữn hệ điều hành có thể chạy các công cụ phát triển của Galileo, không phải là những hệ điều hành có thể chạy được trên Galileo.

2.3. Tôi có thể chạy Linux trên Galileo ?

Có. Galileo có sẵn một bản Linux mặc định trong bộ nhớ của nó. Bạn có thể sử dụng một bản Linux khác được cài đặt trên thẻ nhớ microSD.

2.4. Galileo có hỗ trợ các chương trình chạy trên Arduino không ?

Có. Bạn có thể chạy các chương trình Arduino cũng như các ứng dụng của Linux cùng lúc. Galileo luôn được hỗ trợ từ phía Intel cũng như cộng đồng sản phẩm nguồn mở trên toàn thế giới. 

2.5. Mức độ tương thích giữa Galileo và Arduino đạt tới đâu ?

Intel Galileo khá tương thích với Arduino Uno R3 về mặt phần cứng lẫn phần mềm. Tuy nhiên một số ít các shield trên Arduino gặp trục trặc khi chạy trên Galielo. Nguyên nhân là do nhiều khác biệt trong các register (thanh ghi) phức tạp trong trình điều khiển (driver) của các shield mà Galileo chưa tương thích được. Hiện Intel vẫn đang làm việc với các nhà phát triển của những loại shield này để giải quyết vấn đề về trình điều khiển.

Trong một số trường hợp nào đó, sẽ có những shield hay chức năng trên shield có thể chạy trên Arduino nhưng lại không chạy trên Galileo. Do vậy, bạn phải chú ý theo dõi các ghi chú phát hành sản phẩm để biết những loại shield có thể chạy tốt với Galileo.

2.6. Những ngôn ngữ lập trình nào có thể được sử dụng cho Galileo ?

Galileo đang chạy trên một firmware mã nguồn mở dựa trên ngôn ngữ C. Do vậy các trình biên dịch (compiler) như ICC và GCC đều được hỗ trợ. Bạn cũng hoàn toàn có thể sử dụng các ngôn ngữ khác nếu có cài thêm trình biên dịch cho chúng.

2.7. Mức xung tối đa của giao tiếp I2C trên Gaileo là bao nhiêu ?

Bộ xử lí Quark SoC X1000 trên Galileo hỗ trợ 2 chế độ chuẩn (100kHz) và nhanh (400kHz). Tuy nhiên, Cypress I/O Port Expander trên Galileo chỉ làm việc với tốc độ chuẩn. Do đó giới hạn tốc độ xung I2C trên Galielo là 100kHz.

2.8. Galileo có hỗ trợ hàm analogRead() như trên Arduino ?

Có. Độ phân giải mặc định của hàm này là 10bit. Bạn có thể nâng nó lên tới 12bit bằng cách sử dụng hàm analogReadResolution().

2.9. Mức tối đa của xung SPI trên Galileo là bao nhiêu ?

Mặc định trên Galileo là 4MHz, giống như Arduino Uno. Bạn có thể điều chỉnh mức xung SPI từ 125kHz đến 8MHz bằng cách sử dụng SPI.setClockDivider. Vi xử lí Quark SoC X1000 trên Galileo có thể hỗ trợ đến mức 25Mhz, tuy nhiên IDE của Galileo hiện vẫn chưa hỗ trợ mức này.

2.10. Galileo có UART không ?

Có. Galileo hỗ trợ khá nhiều mức baudrate cho giap tiếp UART qua hàm Serial.begin() gồm: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800,  9600, 19200, 38400, 57600, 115200, 230400, 460800, và 500000. Bộ xử lí Quark SoC X1000 còn có thể hỗ trợ đến mức 2764800 nhưng IDE thì lại chỉ dừng ở mức 115200.

2.11. Galileo có chân AREF không ?

Có nhưng nó không được sử dụng. Galileo không hỗ trợ việc cấp điện áp tham chiếu ngoài cho việc đọc tín hiệu analog bằng chân AREF, nó chỉ cho phép bạn cài đặt mức điện áp tham chiếu qua hàm analogReference() trong lập trình.

3. Xây dựng Intel Galileo

3.1 Tôi muốn thiết kế một bo mạch dựa trên Intel Quark thì tìm tài liệu ở đâu ?

Hãy xem qua trang Intel Galileo Development Board Documents. Trang này cung cấp cho bạn hầu hết các thông tin về Galileo, bạn có thể dùng chúng để tạo ra một bo mạch khác cho riêng mình.

3.2. Galileo có thể truy cập mạng Internet ?

Galileo có thể kết nối đến mạng Internet một cách dễ dàng. Firmware trong Galileo đã bao gồm DHCP giúp động hiệu chỉnh các thông số của giao thức Ethernet với địa chỉ IP. Galileo cũng có thể thiết lập các kết nối không dây hay kết nối qua mạng 3G bằng các phần mở rộng như shield hay những thiết bị khác giao tiếp qua cổng PCIe.

3.3. Làm sao để cài đặt một kết nối không dây trên Galileo ?

Bạn có thể sử dụng card Centrino Wireless-N 135 qua kết nối mini-PCIe trên Galileo. Centrino Wireless-N 135 hỗ trợ chuẩn WiFi 802.11b/g/n tốc độ 150Mbps và Bluetooth 4.0 BLE. Để chạy được card này, bạn cần có driver vốn dĩ chỉ có trong các bản Linux đầy đủ trên thẻ nhớ. Bản Linux mặc định của Galileo không hỗ trợ kết nối không dây. Xem cách cài đặt bản Linux mở rộng tại Bài 7: Nâng cấp phiên bản Linux trên Intel Galileo.

3.4. Galileo có những loại cổng nào ?

  • Cổng Ethernet.
  • Khe cắm thẻ nhớ microSD.
  • Cổng USB Host.
  • Cổng USB Client.
  • Cổng serial RS-232.
  • Cổng JTAG 10 chân.
  • Các chân chuẩn Arduino pinout 1.0 giống như Arduino Uno R3.
  • Cổng mini-PCIe.

3.5. Có cần phải để ý đến nhiệt độ trên Galileo không ?

Không. Bộ xử lí Quark SoC có khả năng tự tắt nếu như nhiệt độ lên qua cao.

3.6. Tần số cập nhật trạng thái trên chân GPIO tối đa là bao nhiêu ?

Các chân GPIO trên Galileo được hỗ trợ bởi một cổng I2C Expander chạy ở chế độ chuẩn (100kHz). Mỗi truy vấn I2C để cập nhật trạng thái một chân GPIO tốn 2 mili giây. Thêm vào những hạn chế của việc lập trình (software), nó giới hạn tần số tối đa có thể đạt được ở các chân GPIO output vào khoảng 230kHz. 

3.7. Có bao nhiêu jumper trên Galileo ?

Có 3 jumper:

  • I2C Address Jumper để chỉnh địa chỉ các địa chỉ slave của Cypress I/O Expander.
  • IOREF Jumper để chỉnh điện áp hoạt động của Galileo giữa 2 mức 3.3V và 5V.
  • VIN Jumper để ngắt kết nối giữa chân VIN với nguồn 5V trên Galileo. Điều này là cần thiết trong trường hợp bạn cần cấp điện áp lớn hơn 5V vào chân VIN để chạy các shield.

4. Các câu hỏi thường gặp về kĩ thuật

Làm sao để giải quyết các vấn đề về việc tải các chương trình Arduino lên Galileo ?

Hãy xem qua Community Post 224116.

5. Cấp nguồn

5.1. Những loại nguồn điện nào có thể sử dụng cho Intel Galileo ?

Galileo cần một nguồn điện với điện áp 5V được cấp qua jack cắm 2.1mm (cực dương ở giữa) phía trước mạch. Nguồn điện khuyên dùng nên là loại 5V với dòng ra tối đa 3A. Trên thực tế, bạn chỉ cần dòng ra 2A là đủ nếu không sử dụng thêm các thiết bị ngoại vi nào trên Galileo.

Không giống như các mạch Arduino, bạn chỉ được phép cấp điện áp 5V đầu vào cho Galileo. 

5.2. Tôi có thể dùng Galileo mà không có nguồn điện ?

Không. Bạn phải cấp nguồn liên tục cho Galileo. Khi Galileo đang hoạt động mà bị mất nguồn điện đột ngột, nó có thể bị hỏng hay có những hiện tượng không bình thường khác.

6. Vấn đề Reset của Galileo

Tại sao lại có 2 cái nút trên Galileo (nút Reset và nút Reboot) ?

Để reset các chương trình Arduino đang chạy cũng như các shield đang kết nối với Galileo, hãy bấm nút Reset.

Mỗi lần chương trình Arduino trên Galileo bị reset hay có chương trình Arduino khác được tải lên Galileo, bộ xử lí Quark SoC X1000 sẽ được reboot. Điều đó cũng dẫn đến việc reboot toàn bộ hệ điều hành Linux trên Galileo.

Để khởi động lại bộ mạch Intel Galileo bao gồm tất cả các thiết bị trên đó, hãy bấm nút Reboot.

 

 

 

lên
3 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
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ả

Giới thiệu về Phòng thí nghiệm bỏ túi PSLab

Vừa rồi giữa tháng 10 mình có đi dự Open Tech Summit do FOSSASIA tổ chức với vai trò là Workstop Facilitator thì có quen được vài anh chị trong ban tổ chức và được tặng một mạch PSLab về vọc chơi. Mình nghĩ board mạch này khá phù hợp cho các bạn maker bởi nó có rất nhiều chức năng mà trước giờ mình chưa bao giờ nghĩ là sẽ có thể sở hữu được một cái thứ gì có thể làm được như vậy ngay trong phòng của mình. Giá bán của nó tại sự kiện theo mình nhớ không nhầm là 1.200.000đ tương đương một con Raspberry Pi đời mới.

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

setup() và loop()

Những lệnh trong setup() sẽ được chạy khi chương trình của bạn khởi động. Bạn có thể sử dụng nó để khai báo giá trị của biến, khai báo thư viện, thiết lập các thông số,…

Sau khi setup() chạy xong, những lệnh trong loop() được chạy. Chúng sẽ lặp đi lặp lại liên tục cho tới khi nào bạn ngắt nguồn của board Arduino mới thôi.

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