Bài 1: Giới thiệu sơ lược về Intel Galileo

Giới thiệu

Qua bài viết này, chúng ta sẽ tham khảo các phần trên Galileo và nhiệm vụ cụ thể của từng phần. Đây là phần căn bản nhất mà bạn bắt buộc phải đọc. Vì nếu không sẽ gây ra những hiểu nhầm và có thể làm mạch bị hư sau này.

Hình ảnh

Sau đây là hình ảnh về mặt trên của mạch Galileo (nguồn learn.sparkfun.com)

Bây giờ, tớ sẽ giới thiệu các chân trên Galileo (bắt đầu từ cổng Ethernet ⇒ phải ⇒ xuống dưới ⇒ trái ⇒ lên trên) và tớ sẽ cố gắng liên kết với các kiến thức về Arduino để các bạn dễ dàng hình dung:

  • Ethernet: Giúp mạch Intel Galileo kết nối với các modem/router để kết nối với Internet (tốc độ tối đa lên đến 10/100 Mb/s). Nếu bạn mới mua mạch về mà chưa đụng chạm gì hết thì mặc định chức năng của cổng này sẽ không được khởi động. Các bài sau, tớ sẽ nói rõ hơn về cổng này!
  • RS-232 port: cổng này là một trong 2 cổng UART (Serial) vật lý trên Intel Galieo. Nó có hình dáng giống hệt một jack cắm tai nghe 3.5mm trên điện thoại. Bạn bắt buộc phải dùng cổng này nếu muốn truy cập sâu vào hệ thống để cài đặt những hệ điều hành Linux khác (Ví dụ debian, ubuntu, centos,...). Nếu không, bạn chỉ có thể cài đặt được hệ điều hành Yocto. Tại sao? Tớ sẽ giải thích ở các ba sau. À, để kết nối vs máy tính. Bạn cần phải có một bộ SF Cable, DB9 Female to 3.5mm Serial (đối với máy tính để bàn có cổng COM) và nếu bạn dùng máy tính xách tay hoặc máy tính bàn của bạn không có cổng COM, bạn cần thêm bộ USB 2.0 to RS-232 DB9 Serial Converter. Tuy nhiên, chúng ta vẫn có một cách khác nối với máy tính để bàn có sẵn cổng COM smiley, 3 sợi dây breadboard đực và 3 sợi dây breadboard cái là đủ! Ở các bài sau, tớ sẽ hướng dẫn làm bộ này, vì tớ cũng làm bằng cách này để truy cập vào giao diện Linux (command line) có sẵn của Intel Galileo lúc cài debian. Vì sao? Các bài sau, tớ sẽ giải thích kĩ hơn!
  • USB Client: Cổng này là cổng Micro USB (uUSB) vì vậy bạn có thể lấy dây sạc điện thoại thông minh để sử dụng. Cổng này dùng để lập trình với chương trình Arduino từ máy tính! Cổng này là CỔNG SERIAL ẢO duy nhất của Intel Galileo, và nó được thiết kế ra để cho bạn lập trình với chương trình Arduino! Khi bạn cài một hệ điều hành Linux khác (ví dụ debian) thì lúc bấy giờ bạn không thể sử dụng Arduino để lập trình cho Galileo được nữa, mà bạn phải dùng các kiến thức điều khiển các chân GPIO của vi xử lý Quark, phần này cũng không khó, ở các bài sau, tớ sẽ nói rõ hơn...
  • USB 2.0 Host: đây là cổng USB (không phải là cổng UART còn lại đâu nhé) dùng cho việc nhận tín hiệu các thiết bị ngoại vi như webcam, usb micro, usb,... Intel Galileo hỗ trợ lên đến 128 thiết bị ngoại vi như thế này đấy. Thật là một con số khổng lồ!
  • Digital Pin, Analog Pin, Power Pin: Tương tự như trên Arduino Uno. Bạn tham khảo bài viết về Arduino Uno để tham khảo rõ hơn. Còn đây là các thông số chính thức của mạch Intel Galileo.
    • 8 chân cấp điện (5V, 3.3V, RESET, GND,...) [Power Pin]
    • 6 chân Analog (A0 - A5) [Analog Pin]
    • 14 chân Digital (D0-D13) trong đó bao gồm 2 chân TX 1, RX 0 (cổng UART vật lý cuối cùng của Intel Galileo), và 6 chân xung PWM. tại các chân D3, D5, D6, D9, D10, D11.
    • Cổng 2x3 ICPS dùng để giao tiếp SPI
  • Reboot Button: CHÚ Ý. Nút này sẽ KHỞI ĐỘNG LẠI TOÀN BÔ BOARD Intel Galileo, nghĩa là nó sẽ khởi động lại cả một máy tính (ở đây máy tính là mạch Intel Galileo). Đừng nhấn nút này một cách tùy tiện nhé!
  • Pin 13 LED: Hãy tưởng tượng nó là con LED 13 như trên mạch Arduino Uno. Vì sao chỉ là tưởng tượng mà nó không phải là LED được mắc nối tiếp với chân digital 13? Tớ sẽ giải thích ở các bài sau. Nhưng đừng lo lắng. Khi bạn chỉ lập trình Arduino trên Intel Galileo mà đụng đến chân digital 13 và pinMode nó là OUTPUT thì xuất HIGH là nó sáng, LOW là nó tắt. Không có gì khác thường xảy ra cả!
  • Arduino Reset Button: Nút này giống như nút reset trên mạch Arduino Uno. Khi nhấn vào nó chỉ reset Sketch được upload từ chương trình Arduino mà thôi chứ không reset cả mạch. Bạn sẽ nhấn nút này nếu muốn reset lại chương trình của mình! Và bạn nhấn bao nhiêu cũng được hết, nó không ảnh hưởng đến thẻ nhớ đâu.
  • Power Indicator: đèn LED này sẽ sáng khi bạn gắn nguồn và mạch đang khởi động. Đèn này sẽ tắt khi Galileo đã đươc tắt.
  • SD Activity Indicator: đèn LED này sẽ sáng khi mạch Intel Galileo có truy cập đến thẻ nhớ của bạn. Viết chương trình và sử dụng tệp trên RAM sẽ làm cho thẻ nhớ của bạn bền hơn và Server Load của mạch sẽ thấp!
  • microSD Card: Đây là nơi bạn sẽ gắn thẻ nhớ điện thoại của bạn nào. Nó sẽ được cài sẵn một hệ điều hành trên này và mạch Intel Galileo sẽ boot hệ điều hành ấy lên khi khởi động! Thẻ uSD Card là thẻ nhớ điện thoại á. Và mạch Galileo hỗ trợ thẻ nhớ có dung lượng đến 32GB. Thực sự thì chỉ cần thẻ nhớ 1GB là quá đủ và nếu sang thì bạn chơi thẻ 4GB class 10. Tốc độ đọc/ghi sẽ cực kì nhanh.
  • 5V Power In: Đây là cổng nguồn của Galileo, bạn chỉ việc gắn cổng nguồn của bộ sạc (có sẵn khi đập hộp mạch Galileo) vào là xong!

Ngoài ra, ở dưới mạch Galileo còn có một cổng PCIe (Peripheral Component Interconnect Express). Cổng này được Intel Galileo sử dụng để gắn card Wifi vào. Nghĩa là với card Wifi này bạn sẽ dễ dàng cài đặt Galileo truy cập vào một Access Point (router Wifi) nào đó mà không cần sử dụng một cục thu wifi (router Client) qua cổng LAN (Ethernet)!

Nguồn điện của Galileo

Mạch Intel Galileo có thể được cấp nguồn thông qua cổng USB Client. Tuy nhiên, Intel khuyên bạn không nên làm như vậy! Vì vậy hãy sử dụng bộ nguồn mà Intel gửi cho bạn (5V 2.0A) để cấp nguồn cho Intel Galileo. Nếu bạn sử dụng một bộ nguồn riêng của bạn, Intel khuyên bạn cần phải sử dụng một bộ nguồn có thể cho dòng max lên đến 3A. Và hãy nhớ rằng, hiệu điện thế 5V vừa là hiệu điện thế tối đa và cũng là hiệu điện thế tối thiểu. Nếu bạn gắn một nguồn 9V hoặc 12V vào thì hãy chuẩn bị 2 triệu 2 để mua một mạch Intel Galileo khác. angry

Vài thông tin về vi xử lý Intel® Quark SoC X1000

Trái tim của Intel Galileo là vi xử lý Intel® Quark SoC X1000. Nó là một vi xử lý 32-bit được xây dựng trên cấu trúc x86. Và có một số thông số được trình ở đây.

So sánh cấu trúc x86 (Intel Galileo) với cấu trúc ARM (Raspberry Pi)

Với việc sử dụng vi xử lý Intel® Quark SoC X1000 với cấu trúc x86 đã biến mạch Intel Galileo trở thành một mạch đặc biệt so với những mạch máy tính khác (ví dụ như Raspberry Pi, Beaglebone Board, ..., những mạch này sử dụng vi xử lý trên cấu trúc ARM). Bạn sẽ thấy cấu trúc x86 rất là quen đúng không? Đúng rồi, vì cấu trúc x86 thường được sử dụng trong các máy tính cá nhân (loại 32 bit) chạy hệ điều hình Windows hoặc MAC OS. Bởi vì cấu trúc này rất nhanh và sẽ làm cho bạn cảm thấy nhiều sự hài lòng hơn. Còn với các mạch sử dụng cấu trúc ARM, thì lại có một điểm mạnh mà x86 không thể nào làm được đó là sự tiết kiệm điện với việc sử dụng năng lượng hiệu quả. Rất dễ thấy điều này nếu bạn đã từng sử dụng mạch Raspberry PI. Raspberry Pi chỉ cần dùng một bộ nguồn 5V 700mA là đủ trong khi đó mạch Intel Galileo lại cần đến bộ nguồn 5V 2000mA (2A). Bạn thấy đấy? Hiện tại thì hại điện mà devil. Nhưng hiện tại sẽ giúp bạn làm những ứng dụng PRO hơn! Vì sao? Bạn hãy đọc phần dưới đây!

Cấu trúc ARM và x86 có triết lý xử lý hoàn toàn khác nhau: sự khác nhau nằm ở kích thước của các tập lệnh mà nó sử dụng! ARM sử dụng cấu trúc RISC (Reduced Instruction Set Computing, một dạng tập hợp các tệp nhỏ hơn, tái sử dụng nhiều lần). Còn x86 sử dụng cấu trúc CISC (Complex Instruction Set Computing, một dạng tệp phức tạp hơn và mạnh mẽ hơn). Hãy hiểu một cách dễ dàng như sau: NẾU bạn có một vi xử lý cấu trúc x86 với tốc độ xử lý 400MHz thì bạn cần một vi xử lý có cấu trúc ARM có tốc độ lên đến 1200MHz (1.2GHz) để chạy đua lại! Vì cấu trúc phức tạp hơn và mạnh mẽ hơn nên nó cũng ngốn nhiều điện hơn, bạn biết đấy!

Tuy rằng, các vi điều khiển Atom, Quark của Intel đang hướng đến thị trường thiết bị cầm tay tiêu thụ ít điện năng. Nhưng có một điều cơ bản là  những con chip này vẫn dùng cấu trúc x86. Vì vậy, nó vẫn ngốn nhiều điện năng hơn cả. Cho nên đây là một hạn chế KHÔNG thể thay đổi khiến các thiết bị cầm tay sử dụng cấu trúc x86 rất là ít. Chủ yếu các thiết bị này sử dụng cấu trúc ARM.

Lời kết

Intel Galileo có những điểm rất mạnh. Tuy nhiên, nó cũng có những điều không thể thay đổi được. Và vì vậy, bạn hãy vận dụng những cái hay, cái tốt của nó để làm nên những sản phẩm bá đạo hơn! Ví dụ, nó tốn nhiều điện hơn thì bạn làm những mạch mà không cần dùng pin riêng chẳn hạn. Nối thẳng với nguồn điện hoặc một cái UPS nào đó,...

Cảm ơn bạn đã dành thời gian đọc bài viết!

 

lên
8 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ả

Dùng ATTiny13 để shiftOut ra IC 595 điều khiển nhiều LED

Qua bài viết Bài 2: Attiny13 - Trợ thủ đắc lực của Arduino - Lập trình nó?, chúng ta đã biết được cách lập trình một bé ATTiny13 để làm nhấp nháy một chú đèn LED. Hôm nay, chúng ta sẽ nâng cao một tí nữa, chúng ta sẽ lập trình chú ATTiny13 này để shiftOut ra 8 LED và hơn thế nữa!

Nếu bạn chưa biết về shiftOut, bạn có thể xem bài viết này và thực hiện nó trước!

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