Tải bản đầy đủ (.pdf) (69 trang)

Thiết kế mạch điều khiển led matrix 8x16, led đơn, phím bấm sử dụng bộ vi xử lý intel galileo 20

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.73 MB, 69 trang )

MỤC LỤC

MỤC LỤC...................................................................................................................1
DANH MỤC HÌNH ẢNH ...........................................................................................3
DANH MỤC CÁC TỪ VIẾT TẮT..............................................................................4
LỜI CẢM ƠN .............................................................................................................5
LỜI CAM ĐOAN........................................................................................................6
LỜI MỞ ĐẦU .............................................................................................................7
Chương 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN .........................................................9
1.1. Lịch sử phát triển ARDIUNO ............................................................................9
1.1.1. Mạch nạp đầu tiên (2005) ............................................................................9
1.1.2. Mạch Ardiuno 2006..................................................................................11
1.1.3. Ardiuno 2007 ............................................................................................12
1.1.4. Ardiuno 2008 - 2009 .................................................................................13
1.1.5 Ardiuno từ 2010 đến nay ............................................................................14
1.1.6. Một số dòng Ardiuno khác .......................................................................16
1.2. Giới thiệu về Intel Galileo Gen2 .....................................................................17
1.3. Giới thiệu về phần cứng Intel Galileo Gen2 ....................................................18
1.4 Khối xử lý trung tâm Quark SoC X1000..........................................................21
1.4.1 SoC là gì?...................................................................................................21
1.5. Lập trình cho IntelGalileo Gen2 và cài đặt hệ điều hành ..................................23
1.5.1 Lập trình.....................................................................................................23
1.5.2. Cài đặt hệ điều hành Linux cho IntelGalileo Gen2.....................................30
1.5.3. Ứng dụng của Board IntelGalileo Gen2.....................................................31
1.6. IC 74HC595 ....................................................................................................37
2.1 Mạch điều khiền LED matrix 8x16...................................................................42
2.1.1 Phần cứng...................................................................................................42
2.1.2 Giới thiệu ...................................................................................................42
2.1.2 Lắp mạch và cách nối các chân ra intel.......................................................44
2.1.3. Chương trình code .....................................................................................46
2.1.4. Chú thích...................................................................................................48


1


2.1.5 Sơ đồ khối và lưu đồ thuật toán ..................................................................50
2.2 Điều khiển LED đơn.........................................................................................51
2.2.1 Phần cứng...................................................................................................51
2.2.2 Chương trình code......................................................................................52
2.2.3 Sơ đồ khối và lưu đồ thuật toán ..................................................................55
2.3 Điều khiển phím bấm .......................................................................................56
2.3.1 Phần cứng...................................................................................................56
2.3.2 Sơ đồ khối ..................................................................................................59
Chương 3: KẾT QUẢ THỰC NGHIỆM....................................................................60
3.1. Về phần cứng ..................................................................................................60
3.2. Về phần mềm ..................................................................................................61
3.3. Ưu và nhược điểm của đề tài ...........................................................................61
3.4. Hướng phát triển của đề tài và ứng dụng đề tài vào thực tê ..............................62
3.4.1 Hướng phát triển ........................................................................................62
3.4.2 Khả năng ứng dụng vào thực tế ..................................................................62
KẾT LUẬN:..............................................................................................................63
TÀI LIỆU THAM KHẢO .........................................................................................64
PHỤ LỤC..................................................................................................................65
NHẠN XÉT CỦA GIÁO VIÊN.................................................................................69

2


DANH MỤC HÌNH ẢNH
Hình 1.1: Ardiuno đầu tiên .........................................................................................9
Hình 1.2: ATMEL Programmer A96021000C ...........................................................10
Hình 1.3: Mạch Arduino USB chưa gắn linh kiện......................................................11

Hình 1.4: Mạch Arduino USB đã gắn linh kiện..........................................................11
Hình 1.5: Arduino NG ...............................................................................................11
Hình 1.6: Arduino Diecimila .....................................................................................12
Hình 1.7: Arduino Duemilanove ................................................................................13
Hình 1.8: Arduino UNO ...........................................................................................14
Hình 1.9: Arduino UNO SMD ..................................................................................15
Hình 1.10: Arduino Leonardo ....................................................................................15
Hình 1.11: Arduino MEGA ......................................................................................16
Hình 1.12: Arduino MEGA 2560...............................................................................16
Hình 1.13: Ardiuno DUE 2012 ..................................................................................17
Hình 1.14: Kết nối ngoại vi........................................................................................18
Hình 1.15: Cổng kết nối LAN....................................................................................19
Hình 1.16: IC 74HC595............................................................................................37
Hình 1.17: sơ đồ chân IC 74HC595 ...........................................................................38
Hình 1.18: sơ đồ chức năng của các chân...................................................................39
Hình 2.1: sơ đồ điều khiển các chân của led matrix 8x8.............................................42
Hình 2.2: sơ đồ nguyên lý điều khiển led matrix 8x16 ...............................................45
Hình 2.3: nguyên lý và cách nối chân với intel...........................................................52
Hình 2.4: ảnh lắp mạch ..............................................................................................57
Hình 3.1: Mạch thực khi đã hoàn thành hiện thị trên modunle ...................................60

3


DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết
tắt
CSE


Từ viết đầy đủ
Consumer Electronics
Show

Nghĩa của từ

Chương trình thiết bị điện tử tiêu dùng

SOC

System on a chip

ARM

Advanced RISC Machine

RX

Receiver

Máy thu sóng

TX

Transmitter

Máy phát sóng

Integrated Development


Phần mềm cung cấp cho các lập trình

Environment

viên

IDE

SPI

Serial Peripheral Interface

I/O

Input/Output

ADSL

CMOS

Asymmetric Digital
Subscriber Line
Complementary MetalOxide-Semiconductor

Cả hệ thống trên một con chip
Một loại cấu trúc vi xử lý 32 bit và 64
bit kiểu RISC

Một chuẩn truyền thông nối tiếp tốc độ
cao

Vào/ra
Đường dây thuê bao số bất đối xứng

Công nghệ mách tích hợp

4


LỜI CẢM ƠN
Em xin được gửi lời cảm ơn sâu sắc ban giám hiệu nhà trường, tới Thầy Th.s
Nguyễn Anh Tuấn, Bộ môn thực hành, Khoa Công nghệ điện tử và truyền thông,
Trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên đã trực tiếp hướng
dẫn và giúp đỡ em hoàn thành tốt đề tài này.
Em xin gửi lời cảm ơn đến các thầy, cô thuộc Bộ môn thực hành, Công nghệ điện
tử - Khoa Công nghệ điện tử và truyền thông - Đại học Công nghệ thông tin và truyền
thông đã trang bị kiến thức và tạo điều kiện hết sức thuận lợi để em có thể hoàn thành
đề tài này một cách tốt nhất.
Cuối cùng, em xin cảm ơn gia đình, bạn bè, các thầy cô đã luôn tạo điều kiện
thuận lợi về cơ sở vật chất cũng như động viên tinh thần, giúp đỡ em trong quá trình
nghiên cứu và thực hiện đề tài.

5


LỜI CAM ĐOAN
Trong quá trình làm đồ án, em có tham khảo một số tài liệu trên mạng và các tài
liệu thực tế thu được khi làm việc. Em đã sử dụng kiến thức của bản thân mình, tự tìm
hiểu, tiếp thu và tổng hợp kiến thức để xây dựng nên đồ án này. Bản thân em cũng đã
cố gắng nghiên cứu, học tập và làm việc trong thời gian vừa qua để hoàn thành đồ án
đúng thời gian quy định.

Em xin cam đoan nội dung đồ án này không hề được sao chép từ đồ án hay luận
văn nào khác, mọi thông tin sai lệch em xin chịu hoàn toàn trách nhiệm trước pháp
luật và trường Đại học công nghệ thông tin và truyền thông.
Thái Nguyên, tháng 6 năm 2016
Sinh viên

Giàng Mìn Giáo

6


LỜI MỞ ĐẦU
Ngày nay, con người cùng với những ứng dụng của khoa học kỹ thuật tiên tiến
của thế giới, chúng ta đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triển
của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bậc như độ
chính xác cao, tốc độ nhanh, gọn nhẹ,… là những yếu tố rất cần thiết góp phần cho
hoạt động của con người đạt hiệu quả ngày càng cao hơn. Điện tử đang trở thành một
ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những đòi hỏi không ngừng
của các ngành, lĩnh vực khác nhau cho đến nhu cầu thiết yếu của con người trong cuộc
sống hằng ngày. Một trong những ứng dụng quan trọng của ngành công nghệ điện tử
là kỹ thuật điều khiển từ xa bằng hồng ngoại. Sử dụng hồng ngoại được ứng dụng rất
nhiều trong công nghiệp và các lĩnh vực khác trong cuộc sống với những thiết bị điều
khiển từ xa rất tinh vi và đạt được năng suất, kinh tế thật cao. Một trong những công
nghệ mới nhất về Vi Điều Khiển Intel Galileo Gen2 nên em đã quyết định “Thiết kế
mạch điều khiển Led matrix 8x16, led đơn, phím bấm sử dụng bộ vi xử lý Intel
Galileo 2.0.” một trong những ứng dụng căn bản của Intel Galileo Gen2 2.0.
Đề tài này giúp em hiểu rõ hơn về Intel Galileo Gen2 với các ứng dụng ngoại vi
của nó vô cùng đa dạng và các tính năng ưu việt của Intel Galileo Gen2 so với các Vi
Điều Khiển trước đó.
Mục tiêu và yêu cầu của đề tài :

- Giới thiệu về VĐK Intel Galileo Gen2, IC 74HC595, công dụng của chúng.
- Tìm hiểu và nghiên cứu nguyên lý hoạt động và điều khiển ngoại vi của Intel
Galileo Gen2
- Ứng dụng thiết kế mạch điều khiển Led matrix 8x16, led đơn, phím bấm.
Nội dung đề tài
- Tìm hiểu Intel Galileo Gen2 và các ứng dụng điều khiển ngoại vi Led matrix
8x16, led đơn, phím bấm.
- Tính toán thiết kế xây dựng mạch sử dụng Intel Galileo Gen2 điều khiển Led
matrix 8x16, led đơn, phím bấm.

7


Quy mô và ứng dụng của đề tài:
- Ứng dụng kiến thức đã học thông qua đó ta có thể làm ra các sản phẩm có quy
mô lớn, có khả năng thương mại hóa và ứng dụng vào thực tế.
- Cũng qua đề tài này ta có thể ứng dụng điều khiển từ xa, thay đổi nội dung, hiệu ứng
cho các biển quang báo sử dụng ma trận led, các thiết bị gia dụng trong gia đình…

8


Chương 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN
1.1. Lịch sử phát triển ARDIUNO
1.1.1. Mạch nạp đầu tiên (2005)
Khi nhìn lại lịch sử này, những mạch lập trình con vi điều khiển ATmega8 này
được đặt tên là Arduino Serial. Và Arduino Serial có thuật ngữ để chỉ tất cả những
mạch Arduino được thế kế bởi những nhà phát triển Arduino hay là những người phát
triển tự do, mà ở đó, mạch Arduino sử dụng cổng kết nối RS-232 (Serial) thay vì cổng
USB (TTL) như hiện tại.

Khi những mạch lập trình đầu tiên được xây dựng, Arduino vẫn chịu sự ảnh
hưởng của các mạch lập trình AVR lúc bây giờ, đó là sử dụng cổng RS-232 (cổng máy
in của các dòng máy tính cũ). Điều đó cũng đúng với lịch sử lúc bấy giờ, các dòng
máy tính để bàn khi được sản xuất vẫn còn cổng RS-232 này.

Hình 1.1: Ardiuno đầu tiên

9


Hình 1.2: ATMEL Programmer A96021000C
Những mạch Ardiuno được thương mại hóa đầu tiên (2005)
Dòng mạch này dần dần định hình thương hiệu Arduino trong cộng đồng phần
cứng nguồn mở và bạn thấy đấy, một người bình thường có thể lập trình điện tử được
như bạn, như tôi và những người khác nữa.
Kể từ dòng mạch này, tôi sẽ so sánh với những dòng mạch trước đó với các phép
sáng tạo SCAMPER để chúng ta có cái nhìn khoa học về sự sáng tạo của dòng mạch
Arduino.
Dòng mạch Arduino USB được phát triển qua 2 phiên bản (Arduino USB và
Arduino USB v2.0). Ở mỗi phiên bản cũng không có sự khác nhau lắm, chỉ khác nhau
về địa chỉ trang web và sửa một lỗi nhỏ ở phần pinout chỗ đầu USB. Phần lớn mạch
Arduino USB được bán dưới dạng mạch phát triển chưa gắn linh kiện, như vậy bạn
vừa phải mua mạch vừa phải có sẵn (mua thêm) linh kiện để hoàn thiện cho mình một
mạch Arduino. Tuy nhiên, cũng có một số chỗ người ta bán luôn mạch Arduino USB
đã được gắn sẵn linh kiện. Dưới đây là một số hình ảnh về mạch Arduino USB v2.0
10


Hình 1.3: Mạch Arduino USB chưa gắn linh kiện


Hình 1.4: Mạch Arduino USB đã gắn linh kiện
1.1.2. Mạch Ardiuno 2006

Hình 1.5: Arduino NG

11


Ở phiên bàn này, Arduino NG của chúng ta đã thay thế USB-to-TTL cũ
(FT232BM) bằng chíp FTDI FT232RL USB-to-Serial mới với yêu cầu ít phần cứng
ngoài hơn. Trong board này, họ đã gắn thêm con LED màu xanh tại chân số 13 Ngoài
ra, một phần doanh số bán ra với con vi điều khiển ATmega168 thay cho con
ATmega8. Tuy nhiên, cả 2 con này đều hoạt động tốt trên mạch Arduino NG.
1.1.3. Ardiuno 2007

Hình 1.6: Arduino Diecimila
Trong phiên bản này, Arduino đã sử dụng một mạch "dropout voltage regulator"
(nôm na là khi điện án đổi thì điện áp so sánh ở Analog IN vẫn không bị nhiễu). Điều
đó, là một dự kết hợp hoàn hảo (Combine), chúng ta không cần phải sử dụng tụ 103,
104 để lọc nhiễu cho các chân Analog nữa.
Hàng 3.3V, 5V, GND, Vin đã được điều chỉnh lại và thực sự nó rất ổn nên đến
tận bây giờ chúng ta vẫn dùng thiết kế đó và thống nhất đến bây giờ (với các mạch
phát triển khác từ bên thứ 3). Ngoài ra, về vấn đề nguồn, chúng ta đã có một cầu chì
dán (có thể sửa được). Nó giúp mạch được bảo vệ trước sự nguy hiểm của sự sơ xẩy
đoản mạch. Đó là một sự thích nghi (Adapt) trước những sự hỏng hóc qua cổng USB.
Trong phiên bản này, vẫn sử dụng vi điều khiển ATmega168.

12



1.1.4. Ardiuno 2008 - 2009

Hình 1.7: Arduino Duemilanove
Trong phiên bản này, mạch Arduino đã có khả tự động nhận biết mỗi khi sử dụng
nguồn tử cổng USB hay nguồn ngoài (bạn không phải thay đổi jumper nữa - đó là sự
thích nghi Adapt). Ngoài ra, trong phiên bản này, còn bố trung một đường chì nhỏ
được nối tắt nhằm giúp bán có thể hủy chức năng auto-reset (tự động reset khi upload
chương trình). Trong phiên bản này, ngoài những sự thay đổi trên thì không còn điều
gì đáng nói nữa, trừ việc, sự ra đời của mạch này là sự kết thúc của nhánh mạch
Arduino USB...

13


1.1.5 Ardiuno từ 2010 đến nay

Hình 1.8: Arduino UNO
Ở mạch này, ngoài việc thay đổi và cách đặt tên cho dễ xác định các chân IO,
Arduino UNO còn thay con chip FTDI bằng con chip ATMega8U2 (Serial TTL
Converter). Chúng ta thấy rằng nó trông đẹp hơn hẳn nhưng vẫn giữ được pinout cũ
của mạch trước đó. Điều đó làm cho những mạch con em, họ hàng phụ trợ cho dòng
Arduino USB không bị lỗi thời và khiến Arduino dễ hòa nhập với những anh chị em
của nó hơn. Arduino UNO có 3 phiên bản mới, đó là: R2, R3 và SMD. Trong phiên
bản R3 (hiện tại), Arduino đã sử dụng con chip ATMega16U2, giúp việc nạp những
chương trình lớn nhanh hơn!

14


Hình 1.9: Arduino UNO SMD


Hình 1.10: Arduino Leonardo
15


1.1.6. Một số dòng Ardiuno khác

Hình 1.11: Arduino MEGA
Arduino MEGA có rất nhiều chân IO so với dòng Arduino UNO (54 digital IO
và 16 analog IO), đồng thời bộ nhớ flash của MEGA rất lớn, gấp 4 lần so với UNO
(128kb) với vi điều khiển ATmega1280. Rõ ràng, những dự án cần điều khiển nhiều
loại động cơ và xử lý nhiều luồng dữ liệu song song (3 timer), nhiều ngắt hơn (6 cổng
interrupt),... có thể được phát triển dễ dàng với Arduino MEGA, chẳng hạn như: máy
in 3d, quadcopter,...

Hình 1.12: Arduino MEGA 2560

16


Đây là phiên bản Arduino MEGA giúp bạn có thể giao tiếp với các thiết bị
Android thông qua cổng sạc (USB micro) của các thiết bị Android. Ở phiên bản này,
Arduino MEGA có thể giao tiếp được với điện thoại Android thông qua cổng micro
usb (cổng sạc) của Android (>=4.0).

Hình 1.13: Ardiuno DUE 2012
Kết Luận:
Qua phần giới thiệu về lịch sử phát triển Ardiuno ta thấy được sự sáng tạo và
phát triển không ngừng của dòng Ardiuno để đi đến phiên bản intel Glalileo 2.0 tiên
tiến và hiện đại trong đề tài này.

1.2. Giới thiệu về Intel Galileo Gen2
Intel Galileo là một bo mạch vi điều khiển chuyên dùng cho việc phát triển phần
mềm và phần cứng tương tự như Andruino hay Raspberry Pi.
Intel Galileo do Intel trưc tiếp phát triển và là sản phẩm đầu tiên được đội ngũ
phát triển Arduino chứng nhận đạt chuẩn tương thích với nền tảng Arduino.
Tại CES 2014, Intel đã trình diễn Intel Galileo với hệ thống điều khiển thiết bị
điện tử qua kết nối không dây. Và nó giống như các giải pháp nhà thông minh hay
Internet of Things hiện tại. Intel Galileo sẽ đóng vai trò là một bộ điều khiển trung
tâm, kết nối với các thiết bị điện tử, và kết nối với điện thoại hoặc máy tính bảng có

17


chạy ứng dụng đặc biệt. Từ ứng dụng này, người dùng có thể ra lệnh đến các thiết bị
nhờ Intel Galileo.
Intel Galileo là sản phẩm đầu tiên sử dụng chip Intel Quark X1000 - SoC đầu tiên
thuộc dòng "Santa Clara" của Intel được sản xuất dựa trên dây chuyền công nghệ
32nm với mức độ tiêu thụ điện rất thấp. Phần lõi của của X1000 là vi xử lí 400MHz
dựa trên nền tảng Intel Pentium x86 32-bit với 16KB bộ nhớ đệm L1. Ngoài ra, Intel
Galileo còn có:
RAM DDR3 256MB.
Chân cắm chuẩn Arduino Pinout 1.0.
Cổng Ethernet 100Mbps.
Cổng UART RS-232
Khe cắm mini-PCI Express 2.0 full-size.
Cổng USB 2.0.
Khe cắm thẻ nhớ micro-SD hỗ trợ lên tới 32GB.
Bộ nhớ flash 8MB dùng để chứa firmware hay bootloader.
256KB - 512KB bộ nhớ lưu trữ chương trình Arduino.
Khả năng chạy các hệ điều hành Linux Yocto, Linux Debian, Windows 8,

Windows 10,... được tuỳ biến đặc biệt....
1.3. Giới thiệu về phần cứng Intel Galileo Gen2

Hình 1.14: Kết nối ngoại vi
 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).
18


 USB Client: Cổng này là cổng Micro USB (uUSB) vì vậy ta 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 để lập trình với chương trình Arduino. Khi người sử dụng cài một hệ
điều hành Linux khác (ví dụ debian) thì lúc bấy giờ lập trình viên không thể sử dụng
Arduino để lập trình cho Galileo, mà 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.
 USB 2.0 Host: Đây là cổng USB dùng cho việc nhận tín hiệu các thiết bị ngoại
vi như webcam, usb micro, usb,... Ở Gen1 thì cổng này có dạng MiniA còn sang Gen đã
chuyển sang chuẩn TypeA, giúp cho việc kết nối với các thiết bị ngoại vi thuận tiện hơn.
 Jack nguồn chuẩn 5.5: Được dùng để cấp điện áp cho board, từ 7-15VDC, Gen1
chỉ có thể cấp mức điện áp 5V.
 Khe cắm thẻ nhớ
 Reset Button: Nút bấm có chức năng reset lại chương trình đã được nạp vào board.
 Reboot Button: Nút bấm có chức năng khởi động lại toàn bộ board, bao gồm cả
hệ điều hành và chương trình đã được nạp vào board. Không nên nhấn nút này nếu
không thực sự cần thiết vì quá trình khởi động hệ điều hành tốn không ít thời gian.
 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, lập trình viê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).


Hình 1.15: cổng kết nối LAN
19


 Intel Galileo Gen2 được thiết kế để phù hợp với các Arduino Shiled, vì vậy
Intel Galileo Gen2 có:
+ 14 chân Digital I/O, trong đó 6 chân có thể phát xung PWM. Chúng có thể
được sử dụng ở cả 2 chế độ INPUT và OUTPUT, sử dụng được với các hàm
pinMode(), digitalWrite() và digitalRead() như trên các mạch Arduino.
+ Các chân giao tiếp có thể hoạt động ở 2 mức điện áp 3.3V và 5V. Dòng cấp
tối đa là 10mA, dòng đỉnh là 25 mA.
+ Mỗi chân đều có một điện trở pull-up trong có trị số khoảng 5.6k đến 10k
ohms. Mặc định, các điện trở này bị ngắt.
+ 6 chân Analog từ A0 đến A5 giao tiếp qua chip AD7298. Mỗi chân Analog
có thể cung cấp độ phân giải 12bit với 4096 giá trị khác nhau.
+ I2C bus, TWI với 2 chân SDA và SLC nằm cạnh chân AREF. TWI: gồm 2
chân SDA (A4) và SCL (A5). Hỗ trợ giao tiếp TWI thông qua thư viện Wire tương tự
như trên Arduino.
+ SPI: Chạy ở xung mặc định là 4Mhz để làm việc với các Arduino shield, có
thể lập trình lên đến mức 25Mhz.
Dù Galileo có SPI Controler riêng nhưng nó chỉ hoạt động như là một SPI
Master, không phải SPI Slave. Do đó, Galileo không thể là một SPI Slave cho một SPI
Master khác. Galileo chỉ có thể là một thiết bị slave khi được kết nối với máy tín qua
cổng USB Client.
+ UART (cổng Serial): là một cổng UART với tốc độ có thể lập trình được, 2
chân giao tiếp là 0 (RX) và chân 1 (TX)
+ ICSP (SPI): Gồm 6 chân tích hợp Serial Programming dùng để kết nối với
các shield. Các chân này hỗ trợ giao tiếp SPI thông qua thư viện SPI.
+ VIN: Chân cấp nguồn cho Galileo khi nó sử dụng nguồn ngoài (trái ngược

với điện áp chuẩn 5V từ chân cắm nguồn). Bạn có thể cấp nguồn cho Galileo từ chân
này, hoặc, nếu cấp nguồn từ chân cắm nguồn phía trước, bạn có thể lấy ra điện áp
chuẩn 5V từ chân này.
+ Chân 5V output: Chân này cấp nguồn ra 5V từ nguồn ngoài cấp cho Galileo
hay từ nguồn USB. Dòng ra tối đa ở chân này cho các shield là 800mA.

20


+ Chân 3.3V output: Cấp điện áp ra 3.3V được điều chế từ các mạch điều áp
trên Galileo. Dòng ra tối đa ở chân này cho các shield là 800mA.
+ GND: Chân nối cực âm của nguồn điện.
+ IOREF: Cho phép các shield điều chỉnh hoạt động phù hợp với điện áp hoạt
động trên Galileo. Chân IOREF được kiểm soát bởi các jumper trên mạch để lựa chọn
2 mức điện áp làm việc của shield là 3.3V và 5V.
1.4 Khối xử lý trung tâm Quark SoC X1000
1.4.1 SoC là gì?
- SoC là chữ viết tắt cho System on a chip, hay System on Chip. SoC là một
mạch tích hợp (mà người ta thường gọi là IC), trong đó tất cả những thành phần quan
trọng của một chiếc máy tính hay một thiết bị điện tử đều được đặt trên một con chip
duy nhất.
- Một SoC cơ bản thường có những thành phần sau:
+ Một vi điều khiển, vi xử lí, hay nhân xử lí tín hiệu. Vài SoC thì có thể có
nhiều hơn một nhân xử lí, khi đó người ta gọi nó là MPSoC, tức Multiprocessor
System on Chip. Ở thế giới di động ngày nay, loại được sử dụng phổ biến là vi xử lí.
+ Các khối bộ nhớ, có thể là RAM, ROM, EEPROM hay bộ nhớ flash
+ Nguồn canh thời gian, chẳng hạn như mạch dao động
+ Một số giao diện như USB, FireWire, Ethernet
+ Bộ chuyển đổi tín hiệu số sang tín hiệu tương tự và ngược lại
+ Mạch quản lí năng lượng, mạch kiểm soát điện áp.

+ Những SoC hiện đại còn có bộ xử lí đồ họa, chip cầu bắc, chip cầu nam, bộ
kiểm soát bộ nhớ,...
Bảng 1: Bộ xử lý Quark SoC X1000 400MHz
Tình trạng

Launched

Số hiệu Bộ xử lý

X1000

Bộ nhớ đệm

16 KB

Thuật in thạch bản

32 nm

Giá đề xuất cho khách hàng

TRAY: $9.62

Mô tả

32 bit, single core, single thread, Pentium ISA
compatable
21



Số lõi

1

Số luồng

1

Tần số cơ sở của bộ xử lý

400 MHz

TDP

2,2 W

Dung lượng bộ nhớ tối Đa (tùy 2 GB
vào loại bộ nhớ)
Các loại bộ nhớ

DDR3 800

Số Kênh Bộ Nhớ Tối Đa

1

Băng thông bộ nhớ tối đa

1,6 GB/s


Phần mở rộng địa chỉ vật lý

32-bit

Hỗ trợ bộ nhớ ECC



No

Hỗ trợ PCI

PCI Express

Phiên bản PCI Express

2.0

Cấu hình PCI Express ‡

x1

Số cổng PCI Express tối đa

2

Phiên bản chỉnh sửa USB

2.0


Số cổng USB

3

Tổng số cổng SATA

0

Mạng LAN Tích hợp

2

Mạng IDE tích hợp

0

IO mục đích chung

16

UART

2

Số cổng SATA 6.0 Gb/giây tối 0
đa
TJUNCTION

110°C


Phạm vi nhiệt độ vận hành

0°C to 70°C

Kích thước gói

15mm x 15mm

Hỗ trợ socket

FCBGA393

22


- Điểm nổi bật của bộ xử lý Quark SoC X1000 là hoạt động ở xung nhịp
400MHz, nhanh hơn 20 lần so với 20MHz của Arduino. Tuy nhiên để đánh giá chất
lượn của một lõi CPU ta cũng cần xem xét tới hiệu năng làm việc của nó trong một
chu kỳ. 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.
- Dung lượng bộ nhớ tối đa và băng thông tối đa lần lượt là 2GB và 1.6GB/s cho
phép CPU xử lý gói thông tin lớn. Kết hợp với bộ nhớ DDR3 với tần số làm việc
800MHz, có khả năng chuyển 8 từ dữ liệu trong một chu kỳ đồng hồ.
- Các công nghệ tích hợp bên trong
+ Idle States (Trạng thái không hoạt động) (Trạng thái C) được dùng để tiết
kiệm điện khi bộ xử lý không hoạt động. C0 là trạng thái hoạt động, có nghĩa là CPU
đang làm những công việc hữu ích. C1 là trạng thái không hoạt động thứ nhất, C2 là
trạng thái không hoạt động thứ 2, v.v. khi có nhiều tác vụ tiết kiệm điện hơn được thực
hiện cho các trạng thái C cao hơn.

+ (Execute Disable Bit) Bít vô hiệu hoá thực thi là tính năng bảo mật dựa trên phần
cứng có thể giảm khả năng bị nhiễm vi rút và các cuộc tấn công bằng mã độc hại cũng như
ngăn chặn phần mềm có hại từ việc thi hành và phổ biến trên máy chủ hoặc mạng.
1.5. Lập trình cho IntelGalileo Gen2 và cài đặt hệ điều hành
1.5.1 Lập trình
Do IntelGalileo Gen2 tương thích với board Arduino uno nên chúng ta có thể
dùng Arduino IDE để lập trình cho Galileo bằng ngôn ngữ C.
Đầu tiên chưa yêu cầu Insert MicroSD card. Intel galileo 2 đã có sẵn bộ nhớ
trong và có thể chạy một số chương trình ngay.
Mở Arduino IDE 1.6.0. Kiểm tra kết nối với Board Intel Galileo 2

23


Tiếp theo kiểm tra cổng kết nối của PC với Intel Galileo 2. Thường nó sẽ là
COM3 hoặc cao hơn.

Có thể kiểm tra cổng này trong mục Devices Manager> Ports (Click chuột phải
vào biểu tượng Computer, chọn Manage). Nếu lỗi chưa hiện cổng thì có thể phải cài
driver Serial cho máy tính.

24


Mở chương trình Blink trong File> Examples> 01.Basics> Blink:
Kiểm tra và upload chương trình lên Galileo 2.

25



×