1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

69 1,1K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 2,73 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Từ viết

CSE Consumer Electronics

Show Chương trình thiết bị điện tử tiêu dùng SOC System on a chip Cả hệ thống trên một con chip

ARM Advanced RISC Machine Một loại cấu trúc vi xử lý 32 bit và 64

bit kiểu RISC

IDE Integrated Development

Environment

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

SPI Serial Peripheral Interface Một chuẩn truyền thông nối tiếp tốc độ

cao

ADSL Asymmetric Digital

Subscriber Line Đường dây thuê bao số bất đối xứng

CMOS Complementary

Metal-Oxide-Semiconductor Công nghệ mách tích hợp

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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…

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

Ở 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

Trang 13

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

Trang 14

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!

Trang 15

Hình 1.9: Arduino UNO SMD

Hình 1.10: Arduino Leonardo

Trang 16

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

Trang 17

Đâ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ó

Trang 18

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ó:

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)

Trang 19

 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

Trang 20

 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

Trang 21

+ 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ớ,

Giá đề xuất cho khách hàng TRAY: $9.62

Mô tả 32 bit, single core, single thread, Pentium ISA

compatable

Trang 22

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

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

Trang 23

- Đ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

Trang 24

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

Trang 25

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

Trang 26

Cuối cùng kiểm tra chương trình upload thành công

Và đèn Led tích hợp trên Board Galileo 2 sẽ nhấp nháy

Trang 27

Chương trình Arduino có thể được chia thành ba phần chính: Strucrure,

values(variable and constants ), and functions

 char()

 byte()

 int()

Functions Digital I/O

 pinMode()

 digitalWrite()

 digitalRead() Analog I/O

 millis()

 micros()

 delay()

 delayMicroseconds() Math

Trang 28

 variable scope

 static

 volatile

 const Utilities

 sizeof()

 PROGMEM

 pow()

 sqrt() Trigonometry

 sin()

 cos()

 tan() Characters

 randomSeed()

 random() Bits and Bytes

Trang 29

 interrupts()

 noInterrupts() Communication

 Serial

 Stream

Trang 30

1.5.2 Cài đặt hệ điều hành Linux cho IntelGalileo Gen2

Trong phần này, nhóm 1 xin phép được giới thiệu cách cài đặt hệ điều hành linux yocto lên Board Galileo

Bước 2 Tải file image của hệ điều hành

Link: https://software.intel.com/sites/landingpage/iotdk/board-boot-image.html (Direct link)

Dung lượng file là 232.89MB

Khi tải xong, ta sẽ được một file là iot-devkit-1.5-i586-galileo.bz2 (iot-devkit phiên bản 1.5 dành cho Intel Galileo)

Giải nén file này, ta sẽ được một file tên là iot-devkit-1.5-i586-galileo (file này không có đuôi) dung lượng 1.32GB

Bước3: Tải phần mềm hỗ trợ ghi dữ liệu

Tải Win32 Disk Imager tại http://sourceforge.net/projects/win32diskimager/ (Direct link bản Portable)

Để chạy phần mềm, giải nén file vừa tải về và chạy file Win32DiskImager.exe Bạn cũng có thể chạy ngay trong file nén bằng cách double-click vào file này

Các phần mềm khác cũng có tính năng tương đương như HDD Raw Copy, Rawrite32, hoặc lệnh dd nếu dùng Linux

Bước4: Format thẻ nhớ

Format về định dạng bất kì như NTFS, FAT32, nếu trước đó bạn có lưu dữ liệu trên thẻ

Bước5: Ghi file image đã tải về lên thẻ

Chạy Win32 Disk Imager, chọn Image File là file image 1.32GB đã giải nén ở bước 2 và chọn Device là thẻ nhớ đã chuẩn bị của mình

Trang 31

Chú ý chọn Device để ghi dữ liệu chính xác Vì đây là hành động ghi đè dữ liệu mới lên thẻ nhớ nên nếu bạn ghi nhầm dữ liệu sang USB của mình, cơ may phục hồi gần như bằng 0

Bấm nút Write để bắt đầu ghi dữ liệu Với thẻ nhớ Class 10, tốc độ ghi trung bình

là 10MB/s Quá trình ghi dữ liệu sẽ kết thúc trong khoảng 5 phút

Bước 6: Chạy Linux Yocto trên board Galileo

Ta chỉ cần cắm thẻ nhớ vào board và cấp nguồn cho nó Galileo sẽ tự động khởi động hệ điều hành vừa được cài đặt trên thẻ nhớ

Tài khoản đăng nhập mặc định là root, password mặc định không được cài đặt

1.5.3 Ứng dụng của Board IntelGalileo Gen2

- Một số ứng dụng của Intel Galileo gen 2

+ Làm bộ xử lý cho máy bay điều khiển từ xa (drone)

+ Kết nối với máy tính qua cổng Enthernet hỗ trợ những dự án IoT

+ Thông báo qua email khi có thư đường bưu điện gửi tới hộp thư của bạn

+ Hệ thống chống trộm trong gia đình thông báo qua internet …

- Nhóm sẽ giới thiệu một ứng dụng đó là: kiểm soát Intel Galileo gen 2 qua AWS (Amazon Web Sevices) IoT

- Project này có thể truy cập và kiểm soát các thành phần khác nhau như Led, buzzer, nút ấn, cảm biến … Dự án có thể mở rộng để tự động hóa nhà ở…

- Nền tảng:

 AWS IoT Console: Amazon Web Services đã đưa ra các hỗ trợ cho IoT, nền tảng có mã nguồn mở đảm bảo an toàn và các nền tảng khác miễn phí

 Intel Galileo Gen 2

 Grove Starter Kit: là bộ kit để học tập thiết kế cho Arduino và Galileo, nó chứa sẵn các thành phần như Buzzer, Cảm biến ánh sang, module Relay…

1: Thiết lập phần cứng

- Kết nối Ban galileo của bạn với internet bằng cách sử dụng Ethernet hoặc Wi-Fi Đối với thiết lập WiFi bạn sẽ phải sử dụng dòng lệnh connmanctl Một khi bạn có thể đăng nhập vào thiết bị đầu cuối Linux, nó là cần thiết để tải về vài thư viện cần thiết

- Thư viện AWS Iot: cài bằng lệnh

$ npm install aws-iot-device-sdk

Trang 32

- $ sudo python setup.py install

2: Setting up AWS IoT:

Tạo tài khoản Amazon Web Services và chọn đến AWS IOT Console Click Get Started

-Đặt tên khách hàng hoặc thiết bị các trường khác để trống nhấn nút Create

Trang 33

- Ẩn kết nối lên thiết bị của bạn bước này sẽ tạo ra khóa công khai khóa riêng và chứng nhận thiết bị cho bạn

Trang 34

- Tải tất cả các tập tin và ấn xác nhận

3: Cấu hình Intel Galileo cho AWS

Đăng nhập vào galileo gen 2 sử dụng putty

Tạo một thư mục mới cho AWS sử dụng lệnh

Ngày đăng: 20/12/2016, 10:30

HÌNH ẢNH LIÊN QUAN

Hình 1.1:  Ardiuno đầu tiên - 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
Hình 1.1 Ardiuno đầu tiên (Trang 9)
Hình 1.2: ATMEL Programmer A96021000C - 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
Hình 1.2 ATMEL Programmer A96021000C (Trang 10)
Hình 1.6: Arduino Diecimila - 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
Hình 1.6 Arduino Diecimila (Trang 12)
Hình 1.7: Arduino Duemilanove - 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
Hình 1.7 Arduino Duemilanove (Trang 13)
Hình 1.8:  Arduino UNO - 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
Hình 1.8 Arduino UNO (Trang 14)
Hình 1.9:  Arduino UNO SMD - 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
Hình 1.9 Arduino UNO SMD (Trang 15)
Hình 1.11:  Arduino MEGA - 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
Hình 1.11 Arduino MEGA (Trang 16)
Hình 1.12: Arduino MEGA 2560 - 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
Hình 1.12 Arduino MEGA 2560 (Trang 16)
Hình 1.13: Ardiuno DUE 2012 - 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
Hình 1.13 Ardiuno DUE 2012 (Trang 17)
Hình 1.15: cổng kết nối LAN - 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
Hình 1.15 cổng kết nối LAN (Trang 19)
Hình 1.17: sơ đồ chân IC 74HC595 - 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
Hình 1.17 sơ đồ chân IC 74HC595 (Trang 38)
Hình 2.2: sơ đồ nguyên lý điều khiển led matrix 8x16  Giải thích cách lắp mạch: - 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
Hình 2.2 sơ đồ nguyên lý điều khiển led matrix 8x16 Giải thích cách lắp mạch: (Trang 45)
Hình 2.3: nguyên lý và cách nối chân với intel - 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
Hình 2.3 nguyên lý và cách nối chân với intel (Trang 52)
Hình 2.4:Ảnh lắp mạch - 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
Hình 2.4 Ảnh lắp mạch (Trang 57)
Hình 3.1: Mạch thực khi đã hoàn thành hiện thị trên modunle - 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
Hình 3.1 Mạch thực khi đã hoàn thành hiện thị trên modunle (Trang 60)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w