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

THIẾT KẾ MÔ HÌNH NHÀ THÔNG MINH SỬ DỤNG KIT INTEL GALILEO

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 (6.19 MB, 67 trang )

ĐẠI HỌC QG TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN TỬ VIỄN THÔNG

ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI:

THIẾT KẾ MÔ HÌNH NHÀ THÔNG
MINH SỬ DỤNG KIT INTEL
GALILEO

TP.Hồ Chí Minh, tháng 5 năm 2015


Lời cam đoan

LỜI CAM ĐOAN


Mục lục

MỤC LỤC
Danh mục các từ viết tắt............................................................................................. 1
Danh mục hình vẽ ....................................................................................................... 3
Lời mở đầu.................................................................................................................. 5
CHƯƠNG 1. GIỚI THIỆU VỀ NHÀ THÔNG MINH ............................................ 8
1.1

Giới thiệu chương ........................................................................................ 8

1.2



Giới thiệu về nhà thông minh ...................................................................... 8

1.2.1

Tổng quan về nhà thông minh ..................................................................... 8

1.2.2

Nhà thông minh và xu hướng phát triển ................................................... 10

1.3

Khái quát về chức năng nhà thông minh sẽ thực hiện trong đồ án.......... 12

1.4

Tổng kết chương ......................................................................................... 14

CHƯƠNG 2. GIỚI THIỆU VỀ BỘ XỬ LÝ INTEL QUARK SOC X1000 VÀ
BOARD INTEL GALILEO .................................................................................... 15
2.1

Giới thiệu chương ...................................................................................... 15

2.2

Giới thiệu chung về Intel Galileo .............................................................. 15

2.3


Giới thiệu về bộ xử lý Intel Quark SoC x1000 ......................................... 16

2.3.1

Các đặc điểm kỹ thuật của bộ xử lý Intel Quark SoC x1000................... 16

2.4

Kiến trúc của Board Intel Galileo............................................................. 21

2.4.1

Các tính năng hỗ trợ cho Arduino Shield................................................. 22

2.4.2

Chi tiết về các tính năng hỗ trợ Intel Architecture .................................. 23

2.5

Các ứng dụng của Board Intel Galileo ..................................................... 29

2.6

Tổng kết chương ........................................................................................ 29

CHƯƠNG 3. THIẾT KẾ PHẦN CỨNG ................................................................ 30
3.1


Giới thiệu chương ....................................................................................... 30

3.2

Xác định yêu cầu ........................................................................................ 30

3.3

Phân tích và đặc tả yêu cầu........................................................................ 31

3.4

Thiết kế phần cứng các chức năng chính .................................................. 32

3.5

Thiết kế phần cứng cho từng khối chức năng .......................................... 33

3.5.1

Khối giao tiếp mạng ................................................................................... 33

3.5.2

Khối cảm biến nhiệt độ và độ ẩm .............................................................. 34

3.5.3

Khối cảm biến khí gas và khói ................................................................... 35


3.5.4

Khối cảm biến mưa .................................................................................... 37

3.5.5

Khối điều khiển thiết bị từ xa ................................................................... 39

3.5.6

Khối giao tiếp với người dùng ................................................................... 39
i


Mục lục

3.6

Kết nối với Board Intel Galileo ................................................................. 40

3.7

Tổng kết chương ........................................................................................ 41

CHƯƠNG 4. THIẾT KẾ PHẦN MỀM .................................................................. 42
4.1

Giới thiệu chương ....................................................................................... 42

4.2


Xác định yêu cầu ........................................................................................ 42

4.3

Phân tích đặc tả yêu cầu............................................................................. 42

4.3.1

Phân tích đặc tả yêu tổng quát................................................................... 42

4.3.2

Phân rã chức năng...................................................................................... 44

4.3.3

Giản đồ hoạt động ...................................................................................... 45

4.4

Công cụ phần mềm..................................................................................... 4

4.5

Thiết chi tiết cho từng khối chức năng ...................................................... 50

4.5.1

Khối giao tiếp mạng ................................................................................... 50


4.5.2

Khối cảm biến nhiệt độ và độ ẩm .............................................................. 53

4.5.3

Khối cảm biến khí gas và khói ................................................................... 54

4.5.4

Khối cảm biến mưa ................................................................................... 56

4.6

Kết quả thực hiện phần mềm..................................................................... 57

4.7

Tổng kết chương ......................................................................................... 59

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI ................................................ 60
TÀI LIỆU THAM KHẢO ....................................................................................... 63
PHỤ LỤC VÀ CODE............................................................................................. 64

ii


Từ viết tắt


TỪ VIẾT TẮT
IoT

Internet of Things

Internet với vạn vật

RFID

Radio Frequency Identification

Nhận dạng tần số sóng vô tuyến

ARM

Advenced RISC Machine

Cấu trúc vi xử lý kiểu RISC

NFC

Near-Field Communications

Công nghệ kết nối không dây gần

QR

Quick Response

Phản ứng nhanh


IP

Internet Protocol

Giao thức Internet

LAN

Local Area Network

Mạng cục bộ

WAN

Wide area network

Mạng kết hợp với nhiều khu vực

PC

Personal Computer

Máy tính cá nhân

SMTP

Simple Mail Transfer Protocol

Giao thức truyền tin đơn giản


POP

Post Office Protocol

Giao thức tầng ứng dụng

IMAP

Internet Message Access Protocol

Giao thức truy cập tin nhắn Internet

FTP

File Transfer Protocol

Giao thức truyền tập tin

SMM

System Management Mode

Mode quản lý hệ thống

MMU

Memory management unit

Đơn vị quản lý bộ nhớ


OS

Opera System

Hệ điều hành

GSM

Global System for Mobile

Hệ thống di động toàn cầu

GPRS

General Packet Radio Service

MS

Short Message Services

Dịch vụ vô tuyến gói tổng hợp
Dịch vụ tin nhắn ngắn

1


Lời mở đầu

LỜI MỞ ĐẦU

Khái niệm nhà thông minh vốn phổ biến ở các nước công nghệ cao và du nhập
sang các quốc gia có cơ sở hạ tầng công nghệ thông tin đang phát triển. Việt Nam
cũng là một trong những nước như vậy. Các hệ thống như cảnh báo cháy nổ khi
người dùng không ở nhà rất cần thiết vì hiện nay có nhiều trường hợp xì gas và cháy
nổ cũng như điều khiển một thiết bị nào đó từ xa để người dùng có thể kiểm soát
được. Những điều đó là cần thiết đối với đời sống còn người.
Cùng với sự phát triển của khoa học, công nghệ này càng được ứng dụng sâu vào
để phục vụ nhu cầu cần thiết của con người tạo những thuận lợi và lợi ích trong đời
sống. Bên cạnh đó, mạng Internet ngày càng phổ cập đến từng gia định, tạo nên khả
năng tương tác từ xa giữa người dùng và ngôi nhà của mình. Xuất phát từ những điều
này, nhóm đã tiến hành nghiên cứu thiết kế và bước đầu chế tạo ra một hệ thống
nhúng có thể cảnh báo, điều khiển, cập nhật trạng thái. Đó là sự kết hợp giữa
phần cứng thu nhận, xử lý các thông số và phần mềm điều khiển mọi hoạt động của
hệ thống. Các thông số trạng thái chứa những thông tin bao gồm: nhiệt độ, độ ẩm,
mưa, khí gas, khói.
Mục tiêu của đồ án là vận dụng các kiến thức đã được học, kết hợp với tự tìm
hiểu để “ Thực hiện hệ thống mô hình nhà thông minh”. Đồ án này lần lượt tìm
hiểu về các bước thiết kế hệ thống nhúng, hệ điều hành, board phát triển Intel Galileo
với vi điều khiển trung tâm sử dụng chip Intel Quark SoC x1000. Trên cơ sở đó sẽ
thiết kế và thi công phần mềm cho sản phẩm với các chức năng đo nhiệt độ, độ
ẩm, trạng thái mưa, trạng thái khí gas, điều khiển thiết bị điện. Các thông số trạng thái
đo đạc được từ phần cứng sẽ liên tục được cập nhật lên một Website. Ngoài ra,trên
Website còn có thêm chức năng điều khiển đóng mở các thiết bị điện trong ngôi nhà.
Phương pháp nghiên cứu xuyên suốt đồ án này là tìm hiểu lý thuyết và tiến hành
thiết kế theo quy trình phát triển của hệ thống nhúng. Đồ án đã thực hiện thành công
thiết bị đo nhiệt độ, độ ẩm, trạng thái mưa, trạng thái khí gas, điều khiển thiết bị
điện, có thể giao tiếp ở xa thông qua mạng với bất cứ thiết bị nào có thể kết nối
Internet.

2



Danh mục hình vẽ

DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Khái niệm nhà thông minh. ..................................................................... 9
Hình 1.2: Chức năng của nhà thông minh thực hiện .............................................. 13
Hình 2.1: Bo mạch Intel Galileo............................................................................ 15
Hình 2.2: Intel Quarlk Core Block Diagram ......................................................... 17
Hình 2.3: Cấu Trúc Pipeline của Intel Quark x1000 .............................................. 20
Hình 2.4: Kiến trúc bo mạch Intel Galileo ............................................................. 21
Hình 2.5: Vị trí các Jumper trên Galileo ................................................................ 28
Hình 3.1: Sơ đồ khối phần cứng ............................................................................ 32
Hình 3.2: Module Sim900A .................................................................................. 34
Hình 3.3: Cảm biến nhiệt độ, độ ẩm DHT 11 và cách nối với MCU ...................... 35
Hình 3.4 Cảm biến khí gas và khói MQ7 ............................................................. 36
Hình 3.5 Mức độ nhạy của MQ7 với các loại khí ................................................. 37
Hình 3.6 Cảm biến mưa ........................................................................................ 38
Hình 3.7: Rơ le...................................................................................................... 39
Hình 3.8: LCD 20x4 ............................................................................................. 40
Hình 3.9: Kết nối với Board Intel Galileo.............................................................. 41
Hình 4.1: Giản đồ UseCase ................................................................................... 43
Hình 4.2: Giản đồ phân rã chức năng .................................................................... 44
Hình 4.3: Giản đồ hoạt động ................................................................................. 45
Hình 4.4: Giao diện lập trình IDE cho Intel Galileo .............................................. 46
Hình 4.5: Giao diện thiết lập công cụ lập trình IDE cho Intel Galileo .................... 4
Hình 4.6: Các chương trình mẫu sẵn có của IDE .................................................. 48
Hình 4.7: Phần mềm Wampserver sau khi cài đặt xong ......................................... 49
Hình 4.8: Server và client thông qua giao thức FTP .............................................. 51
Hình 4.9: Giao diện phần mềm FileZilla ............................................................... 52

Hình 4.10: Lưu đồ hàm nhiệt độ............................................................................ 53
Hình 4.11: Lưu đồ thuật toán đọc giá trị khí Gas .................................................. 55
Hình 4.12: Lưu đồ thuật toán giá trị mưa............................................................... 56
Hình 4.13 : Giao diện ban đầu khi vào web ........................................................... 57
Hình 4.14 : Giao diện chính điều khiển và cập nhật trên Website .......................... 58
Hình 5.1: Mô hình nhà thông minh......................................................................... 6

3


Chương 1: Giới thiệu về nhà thông minh

CHƯƠNG 1: GIỚI THIỆU VỀ NHÀ THÔNG MINH
1.1 Giới thiệu chương
Chúng ta đã từng đọc, từng nghe những câu chuyện về ngôi nhà thông minh, nơi
các máy nướng bánh có thể “giao tiếp” với máy hút khói. Nhưng chúng kết nối
với nhau bằng cách nào? Khi nào nó sẽ trở thành xu hướng chủ đạo trong cuộc
sống và thực sự trở nên hữu ích? Trong chương này chúng ta sẽ đi tìm hiểu một cách
khái quát nhất về “ Nhà thông minh “ ở mọi khía cạnh có liên quan tới nó.
1.2 Giới thiệu về nhà thông minh
1.2.1 Tổng quan về nhà thông minh
Trong khoảng vài năm trở lại đây, chắc hẳn chúng ta đã không ít lần nghe
thoáng qua về khái niệm Internet of Things, hay bắt gặp tin tức về các sản phẩm được
quảng cáo là phục vụ cho nhu cầu “smart home” (nhà thông minh). Vậy Internet of
Things hay smart home là gì, nó có những gì và hoạt động ra sao?
Nói về Internet of Things thì không như nhiều xu hướng công nghệ trước đây,
hiện vận chưa có một định nghĩa được chấp nhận rộng rãi nào cho khái niệm
Internet of Things.Vậy Internet of things (IoT ) được hiểu là khi mỗi đồ vật, con người
được cung cấp một định danh riêng của mình, và tất cả có khả năng truyền tải, trao đổi
thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa

người với người hay người với máy tính.
Như vậy có thể tạm hiểu, Internet of Things là khi tất cả mọi thứ đều được kết
nối với nhau qua mạng Internet, người dùng (chủ) có thể kiểm soát mọi đồ vật của
mình qua mạng mà chỉ bằng một thiết bị thông minh, chẳng hạn như smartphone,
tablet.
Vậy Internet of things (IoT ) được hiểu là khi mỗi đồ vật, con người được
cung cấp một định danh riêng của mình, và tất cả có khả năng truyền tải, trao đổi
thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa
người với người hay người với máy tính. Internet of things (IoT ) đã phát triển từ sự
hội tụ của công nghệ không dây và công nghệ vi cơ điện tử và Internet.
Internet of Things còn có khái niệm khác là vạn vật với Internet và Smart
Home chính là một dạng thu nhỏ của Internet of Things, nơi mà đồ dùng trong nhà từ
phòng ngủ, phòng khách đến toilet đều gắn các bộ điều khiển điện tử có thể kết
nối với Internet và điện thoại di động, cho phép chủ nhân điều khiển vật dụng từ xa
hoặc lập trình cho thiết bị ở nhà hoạt động theo từng “ kịch bản” được thiết lập sẵn.

4


Chương 1: Giới thiệu về nhà thông minh

Hình 1.1: Khái niệm nhà thông minh.
Như vậy Nhà thông minh (tiếng Anh: smart-home hoặc intelli-home) là kiểu
nhà được lắp đặt các thiết bị điện, điện tử có tác dụng tự động hoá hoàn toàn hoặc
bán tự động, thay thế con người trong thực hiện một hoặc một số thao tác quản lý,
điều khiển.
Vậy, điều gì đã làm nên khác biệt cho smart home nói riêng và Internet of
Things nói chung. Chỉ một từ thôi, đó là cảm biến. Mọi thiết bị trong hệ thống
Internet of Things sẽ được tích hợp các cảm biến để phát hiện các thay đổi về nhiệt
độ, độ ẩm, ánh sáng, âm thanh, chuyển động và vị trí địa lí. Các bộ điều khiển như

máy tính hoặc các thiết bị điều khiển chuyên biệt, và các thiết bị chấp hành như
công tắc, động cơ, van có điều khiển. Chúng sẽ là con mắt và đôi tai điện tử của
người sử dụng, với khả năng phát hiện và ghi lại mọi thay đổi của thế giới xung quanh.
Mỗi cảm biến sau đó sẽ được kết hợp với các mạch tích hợp (các bảng mạch dạng này
sẽ chỉ cho phép các lập trình viên thay đổi một vài thông số, do đã được thiết kế
chuyên biệt cho một mục đích cụ thể). Cộng thêm một vi xử lí (cỡ nhỏ) và một
module giao tiếp, ta có một cấu phần điều khiển hoàn chỉnh, sẵn sàng để kết nối
các vật dụng với hệ thống Internet of Things.
Các chức năng chính thường sử dụng trong nhà thông minh:
1. Điều khiển chiếu sáng (on/off, dimmer, scence, timer, logic,...).
2. Điều khiển mành, rèm, cửa cổng.
3. HT An ninh, báo động, báo cháy.
4. ĐK Điều hòa, máy lạnh.
5. HT Âm thanh đa vùng.
5


Chương 1: Giới thiệu về nhà thông minh

6. Camera, chuông hình.
7. HT Bảo vệ nguồn điện.
8. Các tiện ích và ứng dụng khác.
1.2.2 Nhà thông minh và xu hướng phát triển.
Nhà thông minh, xu hướng của nhà ở hiện đại
Vài năm trở lại đây, khi thế giới đang dần tiến vào kỷ nguyên Internet of
Things (IoT), kết nối mọi vật qua Internet, nhà thông minh trở thành một xu hướng
công nghệ tất yếu, là tiêu chuẩn của nhà ở hiện đại. Tại triển lãm lớn nhất thế giới về
công nghệ điện tử và tiêu dùng diễn ra đầu tháng 1/2015 tại Las Vegas (Mỹ), nhà
thông minh là một trong những chủ đề "nóng" nhất. Còn theo hãng tư vấn công nghệ
hàng đầu Gartner, công nghệ IoT sẽ bùng nổ kể từ năm 2015 với sự tham gia của hầu

hết các hãng công nghệ tên tuổi.
Việt Nam không nằm ngoài xu hướng này. Trong năm 2014, chủ đầu tư của
hàng loạt khu đô thị lớn như Phú Mỹ Hưng, Royal City, Times City, Ecopark,
Vinhomes Central Park… đã đưa nhà thông minh tới các căn hộ, mang lại sự tiện
nghi và đẳng cấp cho nhà ở tại đây.
Các hãng công nghệ làm nhà thông minh
Thị trường nhà thông minh đang ngày càng nóng hơn khi mà các đai gia
làng công nghệ như Google, Apple mang những sức mạnh của mình từ nền tảng di
dộng tham gia vào cuộc chiến nhà thông minh này. Kéo theo đó là sự tham gia của
các đối tác từ Qualcomm, Samsung, LG .v.v.
Cả Apple và Google đang cạnh tranh để cung cấp các kiến trúc cơ bản cho các
mạng lưới thiết bị, tiện ích. Vào hồi tháng 5, tại hội nghị phát triển hàng năm của
mình, Apple đã công bố HomeKit- một nền tảng phần mềm trung gian mới cung
cấp khả năng liên kết giữa các thiết bị gia đình và sản phẩm của hãng.
Gần đây Microsoft gia nhập AllSeen Alliance, liên minh bao gồm khoảng
50 công ty công nghệ gồm nhiều tên tuổi lớn khác như Qualcomm,Panasonic,
LG Electronics và Sharp... với mục tiêu thúc đẩy những công nghệ và giao thức liên
quan đến sản phẩm nhà thông minh. Các hãng công nghệ trong liên minh này đang
nghiên cứu một chuẩn kết nối dựa trên dòng chip được phát triển bởi Qualcomm với
tên gọi là AllJoyn. Chuẩn này tạo ra kết nối ngang hàng cho các thiết bị và ứng dụng
trong môi trường Internet of Things (IOT). Những nhà sản xuất chip khác cũng có
những bước đi riêng của mình, ví dụ Marvell vừa giới thiệt các công nghệ như
low-power WiFi, ZigBee và Bluetooth trên mạch vi điều khiển SoC. Hệ thống này
kết hợp các thành phần riêng biệt thành một đơn vị tích hợp đầy đủ các tính năng.
Hệ thống xử lý có mức tiêu thụ năng lượng thấp, cho phép kéo dài tuổi thọ pin và đủ
nhỏ để phù hợp với thiết bị dân dụng. Chip SoC của Marvell sẽ được sử dụng trong
các sản phẩm kết nối với các giao thức mà Apple đã xây dựng.

6



Chương 1: Giới thiệu về nhà thông minh

Một liên minh khác được bảo trợ bở Google và Samsung là Thread Group
hướng tới các giao thức mới cho hệ thống nhà thông minh. Thread Group với sự tham
gia của Nest Labs (thuộc Google), Samsung, ARM, Freescale, Silicon Labs, Yale
Security, Big Ass Fans... Mục tiêu là tạo ra giao thức mạng không dây dựa trên IP, cho
phép các thiết bị phần cứng trong nhà kết nối với đám mây an toàn. Hiện tại sản
phẩm Nest đã sử dụng phiên bản thử nghiệm của giao thức mới.
Intel, Samsung và Dell là thành viên sáng lập của Open Interconnect
Consortium (OIC). Tổ chức này giới thiệu những phương thức truyền tải dữ liệu giữa
những thiết bị mà không phụ thuộc vào hệ điều hành, dạng phần cứng cũng như công
nghệ truyền thông không dây. Các nhà phát triển có thể tạo ra những gói phần mềm
phục vụ cho việc liên lạc và thông báo giữa các thiết bị trong IoT như thiết bị di
động, remote điều khiển, thiết bị đeo, đồ gia dụng và các bộ cảm biến khác. Những
công ty đầu tiên tham gia tổ chức này phải thiết lập các tiêu chuẩn chung cho việc kết
nối, tìm và phát hiện, sau đó xác thực giữa các thiết bị.
Và không thể không kể tới một thương hiệu Việt Nam là Bkav cũng đã đạt
được những thành tựu đáng ghi nhận về Nhà thông minh. Hệ thống nhà thông
minh SmartHome của Bkav là một tổ hợp các thiết bị thông minh trong 1 ngôi nhà,
đều được kết nối Internet và có thể tự động điều chỉnh cũng như điều khiển qua
smartphone. Sau hàng chục năm nghiên cứu và sản xuất, Bkav SmartHome đã có
chỗ đứng nhất định trên thị trường và hoàn toàn có thể cạnh tranh với những giải
pháp nhà thông minh khác trên thế giới. Vào tháng 6 năm 2014, Bkav vừa cho ra
mắt ngôi “nhà thông minh’’ mẫu tại khu đô thị Phú Mỹ Hưng (TPHCM). Bkav
SmartHome là hệ thống Nhà thông minh hoàn chỉnh, có thể điều khiển và kiểm soát
ngôi nhà thông qua một giao diện trực quan 3D trên smartphone hay tablet, ở đó các
thiết bị được mô phỏng giống như đang sử dụng thực tế. Các hệ thống từ điều khiển
ánh sáng, rèm mành, kiểm soát môi trường, an ninh, giải trí cho đến bình nóng lạnh…
được phối hợp hoạt động theo các kịch bản ngữ cảnh thông minh, nhằm mang đến sự

tiện nghi cao nhất cho người sử dụng. Nhà thông minh Bkav SmartHome sử dụng
công nghệ truyền thông không dây ZigBee và Wifi nên việc lắp đặt thiết bị rất thuận
tiện, đơn giản.
1.3 Khái quát về chức năng nhà thông minh sẽ thực hiện trong đồ án
Chức năng chính của nhà thông minh sẽ thực hiện trong đồ án bao gồm:
- Cảnh báo rò rỉ gas, khói và báo động về điện thoại.
- Cảnh báo nhiệt độ cao và báo động về điện thoại.
- Báo mưa và báo về điện thoại.
- Điều khiển thiết bị điện từ xa với bất cứ thiết bị nào có kết nối Internet.
- Theo dõi và kiểm soát trạng thái ngôi nhà trên một Website.

7


Chương 1: Giới thiệu về nhà thông minh

Hình 1.2: Chức năng chính nhà thông minh sẽ thực hiện
1.4 Tổng kết chương
Chương này đã đưa đến cho chúng ta một cái nhìn tổng quát nhất về khái
niệm, các thành phần của hệ thống và các chức năng chính thường được sử dụng của
nhà thông minh. Bên cạnh đó, đã khái quát được các chức năng của nhà thông minh sẽ
thực hiện trong đồ án này.

8


Chương 2: Giới thiệu về main board intel galileo

CHƯƠNG 2: GIỚI THIỆU VỀ BỘ XỬ LÝ INTEL QUARK SOC X1000 VÀ
BOARD INTEL GALILEO

2.1 Giới thiệu chương
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 sản xuất dựa trên dây chuyền công nghệ 14nm 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 Penti.
Trong chương này chúng ta sẽ cùng đi tìm hiểu về cấu trúc cũng như những đặc
điểm được tích hợp từ chip Intel Quark SoC X1000, sự hoạt động và cách thức
làm việc của bo mạch Intel Galileo.
2.2 Giới thiệu chung về Intel Galileo
Galileo có chiều dài 10.67cm và rộng 7.11cm với các cổng USB, jack
UART, cổng Ethernet và jack nguồn mở rộng ra ngoài kích thước bo mạch.

Hình 2.1: Bo mạch Intel Galileo
2.3. Giới thiệu về bộ xử lý Intel Quark SoC x1000
Công nghệ Intel® Quark được thiết kế cho những ứng dụng đặt tiêu chí tiết
kiệm điện năng và yếu tố kích thước lên trên hiệu năng. Các sản phẩm xuất thân từ
dòng bộ xử lý Intel Quark sẽ phát triển những giải pháp cách tân cho thị trường điện
toán rộng khắp và khái niệm "Internet of Things", từ ô tô đến ngành công nghiệp đến
những thiết bị đeo.
Sản phẩm đầu tiên trong dòng mới này là Intel Quark SoC X1000. Các sản phẩm
như Intel Quark SoC X1000 sẽ mang lại sự linh hoạt cho cấp độ tích hợp cao hơn,
9


Chương 2: Giới thiệu về main board intel galileo

điện năng thấp hơn và tiết kiệm chi phí cho làn sóng mới của những thiết bị kết nối
thông minh trong khi vẫn duy trì khả năng tương thích với bộ chỉ dẫn kiến trúc Intel®.
2.3.1 Các đặc điểm kỹ thuật của bộ xử lý Intel Quark SoC x1000
Các tín hiệu từ bộ vi xử lý 32-bit ngoại đi vào các đơn vị bên trong qua các

bus. Ở bên trong thì các bus và các đơn vị bộ nhớ cache liên kết với nhau qua lại qua
1 bus 32-bit. Dữ liệu được truyền từ bộ nhớ cache tới các đơn vị bus trên 1 bus dữ
liệu 32- bit. Ngoài ra bộ nhớ cache sử dụng để nhận các toán hạng và các kiểu dữ
liệu khác. Các câu lệnh trên bộ nhớ cache có thể truy nhập tới các đơn vị nạp trước
(nạp trước) câu lệnh , bao gồm một hàng đợi các câu lệnh 32-bit chờ để thực thi.
Các bộ nhớ cache chia sẻ hai bus dữ liệu 32-bit với các đơn vị segment,
số nguyên, và dấu chấm động. Hai bus này có thể được sử dụng cùng nhau như một
bus 64-bit. Khi một segment 64-bit được chuyển từ bộ nhớ cache tới các đơn vị
segment, 32 bit được truyền trực tiếp qua một bus dữ liệu và 32 bit khác được
chuyển qua các đơn.

Hình 2.2: Intel Quarlk Core Block Diagram
Các Intel®Quark Core có bốn chế độ hoạt động: Mode địa chỉ thực , mode
bảo vệ, mode ảo và mode quản lý hệ thống (SMM). Mode địa chỉ thực được yêu cầu
chủ yếu để thiết lập Intel® Quark Core cho bảo vệ chế độ hoạt động. Mode bảo vệ
cung cấp quyền truy cập vào các phân trang quản lý bộ nhớ và khả năng đặc quyền của
10


Chương 2: Giới thiệu về main board intel galileo

các bộ vi xử lý. Trong Mode bảo vệ, phần mềm có thể thực hiện một nhiệm vụ
chuyển đổi để tham gia vào chức năng chỉ định như một chức năng của Mode 8086 ảo.
Mode quản lý hệ thống (SMM) cung cấp cho các nhà thiết kế hệ thống và
phương tiện là phần mềm điều khiển cho các sản phẩm máy tính của chúng mà luôn
luôn hoạt động minh bạch cho hệ điều hành (OS) và các ứng dụng phần mềm. SMM
chỉ được sử dụng bởi phần mềm hệ thống, chứ không phải bởi các ứng dụng phần
mềm hoặc mục đích chung hệ thống phần mềm.

Bảng 2.1: Thông Số Bộ Nhớ của Intel Quark x1000


11


Chương 2: Giới thiệu về main board intel galileo

Bảng 2.2: Thông số Xuất/ Nhập của Intel Quark x1000
Cấu trúc Pileline
Không phải mọi câu lệnh đều liên kết đến tất cả các đơn vị bên trong. Khi một
lệnh cần sự tham gia của một số đơn vị, mỗi đơn vị hoạt động song song với đơn vị
khác trên các câu lệnh ở các giai đoạn thực thi khác nhau. Mặc dù mỗi lệnh được xử
lý tuần tự, một số lệnh ở các giai đoạn được thực hiện khác nhau trong bộ xử lý tại bất
kỳ thời gian cho trước nào. Điều này được gọi là pipelining. Câu lệnh nạp trước (nạp
trước), câu lệnh giải mã, thực thi vi mã, toán hạng thập phân, các toán hạng
floating- point, tất cả các phân trang, quản lý bộ nhớ cache, và các toán hạng giao diện
bus được thực hiện đồng thời.
Hình dưới cho thấy nguyên tắc xử lý song song cho một lệnh đơn: Nạp câu
lệnh, hai giai đoạn giải mã, thực hiện và thanh ghi write-back.
Kết luận. Mỗi giai đoạn trong Pipeline này thực thi trong một chu kỳ clock.

12


Chương 2: Giới thiệu về main board intel galileo

Hình 2.3: Cấu Trúc Pipeline của Intel Quark x1000
Bộ truyền I/O
Vận chuyển từ và I/O địa điểm có một số hạn chế để đảm bảo tính toàn vẹn dữ
liệu:
• Lưu trữ - I/O đọc không bao giờ được lưu trữ.

• Đọc lại đặt hàng - I/O lần đọc không bao giờ được tái đặt hàng trước của
đệm để viết bộ nhớ. Điều này đảm bảo rằng các bộ vi xử lý đã hoàn thành việc cập
nhật tất cả các bộ nhớ địa điểm trước khi đọc trạng thái từ một thiết bị.
Các Intel®Quark Core không đệm đơn các bộ ghi I / O; đọc không được thực
hiện cho đến khi các bộ ghi I /O được hoàn thành.
2.4 Kiến trúc của Board Intel Galileo.

13


Chương 2: Giới thiệu về main board intel galileo

Hình 2.4: Kiến trúc bo mạch Intel Galileo
2.4 .1 Các tính năng hỗ trợ cho Arduino Shield
Galileo tương thích với các Arduino UNO shield và được thiết kể để làm việc
với các shield chạy ở cả 2 mức điện áp 3.3V và 5V. Giống như Arduino UNO phiên
bản 3, Galileo 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.
- 6 chân Analog từ A0 đến A5 giao tiếp qua chip AD7298 (chuyển đổi
Analog-to- Digital) .
- 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.
14


Chương 2: Giới thiệu về main board intel galileo


- 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).
- 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.
- 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.
- RESET: chân/nút nhấn RESET. Kéo chân này xuống GND để reset
chương trình Arduino đang chạy trên Galileo. Thường chân này được dùng để reset
các shield.
- AREF: không được sử dụng trên Galileo. Trên Arduino, chân này cung cấp
một điện áp tham chiếu ngoài cho các chân đọc tín hiệu analog.
2.4.2 Chi tiết về các tính năng hỗ trợ Intel Architecture
Các bộ xử lí của Intel và các tương thích I/O của SoC đi kèm cung cấp hầu như
tất cả các tính năng cần thiết cho cộng đồng người dùng cũng như tầng lớp học sinh
sinh viên. Điều này cũng cực kì hữu ích cho các nhà nghiên cứu chuyên nghiệp những người luôn có những khát khao từ các môi trường lập trình giá rẻ và hiệu
quả đến những thiết kế vi xử lí Intel Atom hay những thết kế dựa trên Intel Coreprocessor như Galileo:
- Bộ xử lí 400Mhz Intel Pentium 32bit tương thích với kiến trúc tập lệnh
ISA (ISA- compatible).
- 16KB bộ nhớ đệm L1.
- 512KB bộ nhớ SRAM on-die embedded.
- Dễ dàng lập trình: đơn luồng, đơn nhân, xung nhịp cố định (single thread,

single core, constant speed).
15


Chương 2: Giới thiệu về main board intel galileo

- Mạch thời gian thực tích hợp (RTC intergrated) với 1 pin nút áo 3V.
- Cổng kết nối 10/100 Ethernet.
- Cổng PCI Express mini-card với chuẩn PICe 2.0.
- Có thể hoạt động với card mini-PCIe half-sized với tùy chọn chuyển đổi.
- Cung cấp cổng USB 2.0 Host tương đương ở cổng mini-PCIe.
- Cổng kết nối USB 2.0 Host.
- Hỗ trợ tới 128 thiết bị USB đầu cuối.
- Cổng kết nối USB Client dùng để lập trình.
- Ngoài chức năng là một cổng lập trình, nó cũng có thể đóng vai trò như
một USB Host chuẩn 2.0.
- 10 chân header chuẩn JTAG hỗ trợ việc dò lỗi hệ thống.
- Nút Reboot dùng để reboot vi xử lí trung tâm.
- Nút reset dùng để reset chương trình Arduino đang chạy hay bất kì shield
nào đang kết nối.
Tùy chọn lưu trữ .
8MB Legacy SPI Flash dùng để lưu trữ firmware hay bootloader cũng
như chương trình Arduino. Khoảng 256KB đến 512KB được tách ra từ 8MB này để
lưu trữ chương trình Arduino cuối cùng được tải lên. Các chương trình Arduino được
tải lên từ máy tính được xử lí một cách tự động, bạn không cần phải thao tác gì trừ khi
có một sự thay đổi nào đó được thêm vào firmware.
-512KB bộ nhớ SRAM nhúng được mở mặc định bởi firmware.
- 256MB DRAM được mở mặc định bởi firmware.
- Tùy chọn thẻ nhớ ngoài SD có thể cung cấp lên tới 32GB dung lượng lưu trữ.
- Lưu trữ USB có thể làm việc với bất kì ổ đĩa USB 2.0 nào tương thích.

- 11KB EEPROM có thể được lập trình qua thư viện EEPROM.
Giao tiếp
Galieo có thể dễ dàng kết nối với máy tính, mạch Arduino hay các vi điều
khiển khác bằng nhiều phương thức:

16


Chương 2: Giới thiệu về main board intel galileo

- Galieo cung cấp giao tiếp UART TTL Serial ở cả 2 mức 3.3V và 5V ở 2
chân 0 (RX) và 1 (TX). Thêm vào đó, 1 cổng UART khác hỗ trợ RS-232 có thể được
sử dụng qua jack cắm 3.5mm.
- Cổng USB Client cho phép giao tiếp Serial (CDC-ACM) qua USB. Nó cung
cấp cho bạn kết nối Serial đến Serial Monitor (một chức năng trong IDE) hoặc các
ứng dụng khác trong máy tính của bạn. Bạn cũng có thể tải chương trình Arduino lên
Galieo qua cổng này.
- Cổng USB Host cho phép Galieo kết nối tới các thiết bị khác như chuột, bàn
phím, điện thoại thông minh,... với vai trò là một USB Host.
- Galieo là mạch Arduino đầu tiên cung cấp một cổng mini PCI Express
(mPCIe). Cổng này cho phép kết nối các module mPCIe full-size lẫn half-sized
(với adapter) cũng như cung cấp thêm một cổng USB Host khác. Một module chuẩn
mPCIe có thể kết nối và cung cấp cho Galieonhiều ứng dụng như WiFi, Bluetooth
hay kết nối mạng di động. Bước đầu, cổng mPCIe sẽ hỗ trợ thư viện WiFi.
- Cổng kết nối Ethernet RJ45 cho phép Galieo kết nối đến các mạng có
dây. Giao tiếp Ethernetđược hỗ trợ đầy đủ trên Galieo, do đó bạn không cần phải sử
dụng giao tiếp SPI như trên Arduino shield.
- Đầu đọc thẻ nhớ microSD tích hợp trên mạch có thể được truy cập thông
qua thư viện SD. Giao tiếp giữa Galieo và thẻ nhớ microSD được hỗ trợ bởi một
trình điều khiển SD tích hợp, do đó bạn không cần phải sử dụng giao tiếp SPI như

trên mạch Arduino. Giao tiếp SD có thể chạy với tần số đến 50Mhz phụ thuộc vào
Class của thẻ nhớ. Thẻ nhớ có 2 loại Class thông dụng là Class 4 và Class 10.
- Phần mềm như trên Arduino bao gồm thư viện Wire giúp bạn dễ dàng sử
dụng bus I2C/TW.
Thuộc tính các chân hoạt động ở chế độ OUTPUT
Các chân được đặt chế độ OUTPUT bằng hàm pinMode() sẽ có trạng thái
trở kháng thấp. TrênGalieo, khi một chân ở chế độ OUTPUT, các hàm chức năng sẽ
được cung cấp qua phần mở rộng I2C-based Cypress I/O. Các chân Digital từ 0 đến
13 và các chân Analog từ A0 đến A5 có thể được thiết đặt chế độ OUTPUT trên
Galieo.

17


Chương 2: Giới thiệu về main board intel galileo

Các phần mở rộng của những chân I/O, khi được
thiết lập chế độ OUTPUT, có thể hoạt động với
cường độ dòng điện đến 10mA và có thể đạt đỉnh
Mỗi chân I/O

Dòng điện

10

25

Các chân Digital 3, 5, 9, 10 ,12, 13

40


100

40

100

80

200

hoạt động (mA)

Dòng điện đỉnh
(mA)

Các chân Digital 0, 1, 2, 4, 6, 7, 8, 11 và các chân
Analog A0 ,A1, A2, A3, A4, A5 cộng lại
Các chân Digital từ 0 đến 13 và Analog từ A0 đến
A5 cộng lại
Thiết đặt các Jumper trên Galileo
Có 3 jumper trên Gailieo được sử dụng cho nhiều mục đích khác nhau.
IOREF jumper
Để Galileo có thể chạy được các shield ở cả 2 mức 3.3V và 5V, điện áp ở các
chân giao tiếp bên ngoài được điều chỉnh bởi các jumper. Khi jumper nối vào mức
5V, Galileo có thể hoạt động với các shield chạy ở 5V và điện áp ở chân IOREF khi
đó sẽ là 5V. Khi jumper nối vào mức 3.3V, Galileo có thể hoạt động với các shield
chạy ở 3.3V và điện áp ở chân IOREF khi đó sẽ là 3.3V.
I2C Address Jumper
Để ngăn chặn sự trùng lặp địa chỉ giữa các thiết bị I2C Slave của các

I/O Expander trên Galileohay EEPROM với các thiết bị I2C Slave ngoại
vi, jumper J2 được sử dụng để thiết đặt nhiều địa chỉ I2C khác nhau cho các thiết bị
trên Galileo. Khi J2 kết nối với chân số 1 (đánh dấu bởi hình tam giác màu trắng),
7bit địa chỉ của I/O Expander là 0100001 và 7bit địa chỉ của EEPROM là 1010001.
Đổi vị trí của jumpper, 7bit địa chỉ của I/O Expander sẽ là 0100000 còn của
EEPROM là1010000.
VIN jumper
Trên Galileo, chân VIN được sử dụng để cấp nguồn ngoài 5V, nó cũng được
nối với jack nguồn cũng như có thể cấp nguồn cho các shield hay thiết bị khác. Nếu
bạn muốn cấp nguồn cho mạch ở mức điện áp lớn hơn 5V cho các shield lấy
nguồn từ chân VIN, bạn phải tháo VIN jumper ra để ngắt kết nối chân VIN với
nguồn 5V trên Galileo.

18


Chương 2: Giới thiệu về main board intel galileo

Hình 2.5: Vị trí các Jumper tren Galileo
2.5 Các ứng dụng của Board Intel Galileo
Intel Galileo là một bo mạch vi xử lý được dùng để lập trình tương tác với các
thiết bị phần cứng như cảm biến,động cơ,đèn hoặc các thiết bị khác.Đặc điểm nổi bật
của Intel Galileo là môi trường phát triển ứng dụng cực kỳ dễ sự dụng,với ngôn ngữ
lập trình có thế học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và
lập trình.
Bộ bo mạch Intel Galileo được dùng để phục vụ cho những nhà giáo dục, những
nhà "sáng chế nghiệp dư", và những người đam mê khoa học, công nghệ.Với bo mạch
Intel Galileo trên tay bạn có thể thỏa sức nghiên cứu và khám phá với những dự án
công nghệ của bản thân. Bạn có thể kết nối và điều khiển các thiết bị điện tử trong
nhà, smart phones, tablets,… và xây dựng những ứng dụng thông minh.

2.6 Tổng kết chương
Từ những tìm hiểu về bộ vi xử lý Intel Quark Soc x1000 và bo mạch Intel
Galileo ta thấy được sự thích hợp của nó với các yêu cầu của đồ án vì tính đa dụng
của các chân, tính kết nối Internet. Chính vì vậy nhóm đã chọn bo mạch Intel Galileo
này để làm bộ điều khiển trung tâm cho mô hình Nhà Thông Minh sẽ thực hiện trong
đồ án này.

19


Chương 3: Thiết kế phần cứng

CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG
3.1 Giới thiệu chương
Ngày nay, khái niệm nhà thông mình vốn phổ biến ở các nước công nghệ cao và
du nhập sang các quốc gia có cơ sở hạ tầng công nghệ thông tin đang phát triển.
Việt Nam cũng là một trong những nước như vậy, mọi người đang dần tiếp cận hơn
với vấn đề này. Các hệ thống như thông báo nhiệt độ, độ ẩm, báo trạng thái mưa, cảnh
báo cháy nổ cho người dùng hay là điều khiển thiết bị từ xa.Trong chương 4 sẽ tiến
hành phát triển phần cứng cho một mô hình nhà thông minh với các hệ thống
thông báo nhiệt độ, độ ẩm, báo trạng thái mưa, cảnh báo cháy nổ cho người dùng
hay là điều khiển thiết bị từ xa.
3.2 Xác định yêu cầu
Nhà thông minh là xu thế mới trong kiến trúc nhà ở hiện tại, nhằm đem lại
cuộc sống đích thực cho con người sống trong đó. Trên thế giới nhà thông mình
không còn xa lại. Và ở Việt Nam, hiện cũng đã có nhiều công ty cung cấp giải pháp
nhà thông minh. Cuộc đua nhà thông minh đang diễn ra gay cấn giữa các tên tuổi lớn
với nhiều giải pháp được tung ra nhằm hiện đại hoá nhà ở, đem lại tiện ích làm thay
đổi toàn bộ thói quen sinh hoạt và lối sống hằng ngày của các gia đình, mục địch cuối
cùng là nâng cao chất lượng sống.

Hãy tưởng tượng một ngôi nhà trong đó có thể kết nối và tự động hoá các thiết
bị điện tử, đèn chiếu sáng, quạt…cho tới các hệ thống cảnh báo và nhiều tiện ích
khác. Bạn sẽ dễ dàng kiểm soát hoạt động của ngôi nhà ngay cả khi vắng mặt từ bất
cứ đâu với máy tính hay smartphone, giảm thiểu rủi ro ngoài ý muốn. Những kịch bản
tự động hoá hoạt động của các thiết bị theo ngữ cảnh đem lại tiện nghi, thoải mái và
an toàn cho cuộc sống của bạn.
Hệ thống được phát triển cần có các tính năng sau:
- Cập nhật các trạng thái nhiệt độ, độ ẩm, mưa, báo cháy.
- Hiện thị trạng thái ngôi nhà trên màn hình LED và trang Web.
- Có kết nối mạng để điều khiển.
- Có thể kết nối với nhiều thiết bị ngoại vi khác.
- Dễ dàng di chuyển, dùng được ở mọi nơi, giá thành rẻ.
3.3 Phân tích và đặc tả yêu cầu
20


Chương 3: Thiết kế phần cứng

Đối với phương pháp đo thông thường sử dụng như máy đo nhiệt kế, ẩm kế để
đo nhiệt độ và độ ẩm của không khí. Người dùng muốn đo được nhiệt độ hay độ ẩm ở
một nơi nào đó thì cần phải đưa công cụ đo đến vị trí đó và người dùng phải đọc trực
tiếp thông số hiện thi ngay trên công cụ. Hay cảm biến báo động rò rỉ gas chống cháy
nổ, khi phát hiện nồng độ khí gas trong không khí vượt mức giới hạn máy sẽ phát
âm thanh báo động để ta kịp thời khác phục sự cố xì gas.
Những phương pháp truyền thống này lại có những bất cập là muốn đo nhiệt
độ, độ ẩm người dùng phải trực tiếp cầm dụng cụ để đo trực tiếp, trạng thái sẽ không
được cập nhật thường xuyên. Cảm biến khí gas sẽ hoạt động tốt khi có người ở nhà
hoặc những người xung quanh nghe được âm thanh báo động, khi người dùng vắng
nhà sẽ không biết được cảnh báo này. Từ đó chúng ta đã nghĩ ra được phương pháp
đo nhiệt độ, độ ẩm, cảnh báo gas qua internet để người dùng dù ở đâu miễn có

Internet là sẽ biết được trạng thái, thông số.
Như vậy nhu cầu Internet rất quan trọng đối với con người nó giúp con người
làm được nhiều việc. Khi ở xa người dùng cũng có thể điều khiển được một thiết bị,
xem thông số trạng thái của nhiệt độ, độ ẩm, biết được trạng thái cảnh báo cháy nổ.
Dựa trên phương pháp đo, cảnh báo thông thường, ta sẽ thiết kế một hệ thống đo,
cảnh báo, điều khiển thiết bị từ xa thông qua mạng Internet dùng trong căn nhà
của bạn. Đây cũng được coi là một phần của nhà thông minh.
3.4 Thiết kế phần cứng các khối chức năng chính

21


×