Môn học HỆ NHÚNG
GV: Phạm Văn Thuận Bộ môn Kỹ thuật Máy tính Viện CNTT&TT- ĐH BKHN email: thuanpv@soict.hut.edu.vn
1
Mục tiêu môn học
Sau khi kết thúc môn học này, sinh viên có thể
• Trình bày kiến trúc tổng thể và hoạt động của một
hệ thống nhúng bất kỳ
• Trình bày được kiến trúc vi điều khiển • Biết sử dụng các môi trường phát triển và lập
trình firmware cho hệ nhúng
2
• Biết lập trình ứng dụng ghép nối trên máy tính • Nắm bắt một số công nghệ mới
Hệ nhúng
Tài liệu tham khảo
Tài liệu tham khảo chính:
• Embedded C Micheal J.Pont (8051) • Building Embedded Linux System, Karim
Yaghmour
• Linux Device Driver, Jonathan Corbet • ARM System Developer Guide-Designing and Optimizing System Software, Andrew N.Sloss
• Embedded Systems Architecture: A
3
Comprehensive Guide for Engineers and Programmers, Tammy Noergaard
Hệ nhúng
Nội dung môn học
Chương 1: Tổng quan hệ thống nhúng Chương 2: Quy trình phát triển hệ thống nhúng Chương 3: Vi điều khiển và lập trình firmware Chương 4: Hệ điều hành nhúng Chương 5: Phần mềm điều khiển trên PC Chương 6: Giới thiệu công nghệ mới
4
Hệ nhúng
Nội dung chương 1
Chương 1: Tổng quan hệ thống nhúng
5
1.1. Khái niệm hệ nhúng 1.2. Kiến trúc tổng thể hệ thống nhúng
Hệ nhúng
1.1. Khái niệm hệ nhúng
Máy tính nhúng (Embedded Computer) Được đặt trong thiết bị khác (bao gồm cả phần
cứng và các kết cấu cơ khí) để điều khiển thiết bị đó làm việc
Được thiết kế chuyên dụng
Giá thành: từ vài USD đến hàng trăm ngàn USD
6
Ví dụ: • Điện thoại di động • Bộ điều khiển trong máy giặt, điều hòa nhiệt độ • Một số thiết bị mạng: Switch, Router, …
Hệ nhúng
Khái niệm hệ nhúng
Hệ nhúng (Embedded System) Một máy tính nhúng Nhiều máy tính nhúng liên kết với nhau
7
Hệ nhúng
Ví dụ
Bàn chải đánh răng có sử dụng vi điều khiển 8bit được lập trình cho phép
8
- Thay đổi tốc độ, thời gian, dùng pin sạc
Hệ nhúng
Ví dụ
Chuột, bàn phím máy tính được trang bị bộ vi điều khiển 8bit
-Bắt chuyển động, bắt phím
-Mã hóa, kết nối với máy tính
Cấu tạo bên trong một con chuột máy tính
9
Hệ nhúng
Ví dụ
Ổ cứng máy tính
-Vi điều khiển 32 bit (ARM)
10
-Tích hợp bộ xử lý tín hiệu số
Hệ nhúng
Ví dụ
Máy in, máy photocopy
-Vi điều khiển Intel, Motorola, ARM…
11
-Kết nối máy tính
Hệ nhúng
Ví dụ
Máy bán hàng tự động
- Vi điều khiển: 16-bit Hitachi H8/300H Processors
- Cơ cấu chấp hành (motor, tay máy)
12
Hệ nhúng
Ví dụ
Máy ảnh kỹ thuật số
13
-Vi điều khiển DIGIC II Image Processor
Hệ nhúng
Ví dụ
Sony Aibo ERS-7 Robotic Dog - Vi điều khiển 64 bit MIPS R7000
- Hệ điều hành Aperios Sony’s Real Time OS
14
Hệ nhúng
Ví dụ
Point of Sales System
-Vi xử lý Intel X86
15
-OS: Windows XP Embedded
Hệ nhúng
Ví dụ
Systems DL2 Digital Media Server: tạo hiệu ứng ánh sáng trên sân khấu
-Vi xử lý Intel X86
16
-OS: Windows XP Embedded
Hệ nhúng
Ví dụ
Tektronix Logic Analyser
-Vi xử lý Intel X86
17
-OS: Windows XP
Hệ nhúng
Ví dụ
Cánh tay robot
-Vi xử lý Intel X86
18
-OS: Windows XP Embedded & others
Hệ nhúng
Ví dụ
iPhone SmartPhone
-Vi xử lý Apple A4
-OS: iOS 4
19
-Hỗ trợ màn hình chạm đa điểm
Hệ nhúng
Việt Nam???
Bkav SmartHome
-Hạ tầng mạng không dây chuẩn Zigbee
-Hệ thống điều khiển 3D
-Tiết kiệm điện năng
20
-Tự động hoàn toàn theo các kịch bản được thiết lập
Hệ nhúng
Việt Nam???
Robot đánh bóng bàn ToSy
-Vi xử lý hiệu năng cao
-Trí tuệ nhân tạo
21
-Cơ khí chính xác
Hệ nhúng
Việt Nam???
Robot hàn tự động
-Vi xử lý hiệu năng cao
-Hệ điều hành nhúng
22
-Cơ khí chính xác
Hệ nhúng
1.2. Kiến trúc tổng thể hệ thống nhúng
Kiến trúc hệ thống nhúng
Đặc trưng hệ thống nhúng
23
• Kiến trúc tổng thể • Kiến trúc vào ra hệ thống nhúng • Mô hình lập trình hệ thống nhúng
Hệ nhúng
Kiến trúc tổng thể
•Hardware Layer (thành phần bắt buộc): tất cả các thành phần vật lý (vi xử lý, bộ nhớ, hệ thống vào ra, cơ cấu chấp hành…)
•System Software Layer (Phần mềm hệ thống): hệ điều hành, device driver…
•Application Software Layer (Phần mềm ứng dụng)
24
Hệ nhúng
Kiến trúc tổng thể
25
Hệ nhúng
Ví dụ - Hệ nhúng Mini2440
26
Hệ nhúng
KIT mini2440
Hardware Layer
27
Hệ nhúng
KIT mini2440
System Software Layer
LCD Driver Ethernet Driver USB Host/Slave driver SD card driver CMOS Camera Driver Wifi driver …
28
• Hệ điều hành: Linux, Windows CE, Android • Bootloader: Nboot, Uboot, Supervivi • Driver:
Hệ nhúng
KIT mini2440
Application Software Layer • Phần mềm nghe nhạc • Phần mềm game • Phần mềm thu thập số liệu và điều khiển • …
29
Hệ nhúng
Kiến trúc vào ra hệ thống nhúng
Hệ nhúng sử dụng rất nhiều chuẩn giao tiếp vào
ra • UART • USB • Ethernet • SPI, I2C, CAN • …
30
Hệ nhúng
Mô hình lập trình hệ thống nhúng
•Host: hệ thống chứa môi trường phát triển
•Target: hệ nhúng cần phát triển ứng dụng
31
Hệ nhúng
Mô hình lập trình hệ thống nhúng
•Host: hệ thống chứa môi trường phát triển
•Target: hệ nhúng cần phát triển ứng dụng
32
Hệ nhúng
Đặc trưng hệ thống nhúng
Thường bị giới hạn về tài nguyên: hiệu năng bộ
xử lý, dung lượng bộ nhớ…
Thường được thiết kế chuyên dụng Thỏa mãn yêu cầu về độ tin cậy và khả năng chịu lỗi cao, yêu cầu về tính thời gian thực (Realtime)
33
Hệ nhúng
Thảo luận
34