
Xây dựng các Hệ thống nhúng
1
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Khoa Công nghệ thông Tin
Bộ môn Khoa học máy Tính
XÂY DỰNG CÁC
HỆ THỐNG NHÚNG
Hà Nội, tháng 11 năm 2013
(bản sửa và bổ sung)
PTIT

Xây dựng các Hệ thống nhúng
2
Lời nói đầu
Dạy và học hệ thống nhúng là đề cập tới một chủ đề có phạm vi rộng bao gồm thiết kế,
môi trường ứng dụng, loại hình công nghệ, qui tắc cần thiết để tiếp cận một cách có hệ thống.
Lĩnh vực thiết kế và ứng dụng các hệ thống nhúng bao gồm : các hệ thống vi điều khiển (micro-
controller) nhỏ và đơn giản, các hệ thống điều khiển, hệ thống nhúng phân tán, hệ thống trên
chip, mạng máy tính (có dây và không dây), các hệ thống PC nhúng, các hệ thống ràng buộc thời
gian, robotic, các thiết bị ngoài của máy tính, xử lý tín hiệu, hệ thống lệnh và điều khiển… Nền
tảng công nghệ hiện đại là kỹ thuật vi điện tử với mật độ tích hợp lớn và rất lớn. Khi muốn thiết
kế hệ thống nhúng, có nhiều yếu tố cần tuân thủ giống như khi thiết kế máy tính, nhưng lại bị
ràng buộc bởi đặc thù ứng dụng. Thêm vào đó là sự đan chéo của các kỹ năng rất cần thiết cho
thiết kế hệ thống nhúng, độc lập vận hành, thiết kế với tiêu chí tiêu hao năng lượng thấp, công
nghệ phần cứng, công nghệ phần mềm (hệ thống và ứng dụng), hệ thời gian thực, tương tác
người máy và đôi khi cả vấn đề an ninh hệ thống. Như vậy đào tạo và học hệ thống nhúng cần
một khối lượng kiến thức tập hợp ít nhất từ các bộ môn khác như khoa học máy tính (computer
science), khoa học truyền thông (communication), kỹ thuật thiết kế điện tử: các mạch tương tự và
số, sử dụng tốt các phần mềm thiết kế bo mạch (như Protel, Proteus, DXP…), kiến thức về chế
tạo bán dẫn. Vì là bộ môn công nghệ có tính ứng dụng cao với bài toán cụ thể, nên lại cần có
chuyên môn của ngành nghề, mà ở đó hệ thống nhúng sẽ ứng dụng. Tóm lại đây là một chủ đề
hợp nhất và việc thực hiện chủ đề này thực không dễ dàng.
Với lượng thời gian nhất định, môn học XÂY DỰNG CÁC HỆ THỐNG NHÚNG sẽ
mang lại cho người học những vấn đề cơ bản nhất về hệ thống nhúng ở Chương 1. Chương 2 đề
cập tới kiến trúc phần cứng hệ thống, cách thiết kế một số khối chức năng cơ sở có tính thực tế
cao. Chương 3 chủ yếu giới thiệu về phần mềm cài đặt trên hệ thống nhúng, bao gồm các trình
điều khiển thiết bị, các phần mềm trung gian, và phần mềm hệ thống được cài đặt . Đặc biệt nhắc
lại một số yêu cầu về khái niệm của các hệ thống thời gian thực và hệ điều hành thời gian thực.
Chương 4 giới thiệu các tiêu chí và phương pháp thiết kế hệ thông nhúng. Cuối chương là một số
các bài tập lớn kiểu Dự án thiết kế, có thể lựa chọn cho thực hành với các kiểu kiến trúc hệ thống
nhúng khác nhau.
Như đã nêu, đây là chủ đề rộng, mang tính kỹ thuật và kiến thức lại được tổng hợp từ các
môn khác, nên tài liệu này chắc không thể thật sự đầy đủ. Các phần kiến thức nào không được đề
cập sâu ở đây, người học cần tham khảo thêm các tài liệu khác, hay từ các môn học liên quan.
Tác giả xin chân thành cám ơn các cán bộ, giảng viên Khoa Công nghệ thông tin và bộ
môn Khoa học máy tính, Học viện Công nghệ BCVT Hà Nội đã góp ý để tác giả hoàn thành giáo
trình. Tác giả cũng xin đón nhận các ý kiến đóng góp, phê bình từ người đọc, người học, sao cho
tài liệu này có ích hơn. Địa chỉ theo e-mail: htcuoc@ioit.ac.vn.
PTIT

Xây dựng các Hệ thống nhúng
3
Hà Nội, tháng 10 năm 2013
Huỳnh Thúc Cước,
Viện Công nghệ thông tin, VAST, 18, Hoàng Quốc Việt, Hà Nội.
PTIT

Xây dựng các Hệ thống nhúng
4
Lời nói đầu ..................................................................................................................................................... 2
Một số chữ viết tắt .......................................................................................................................................... 7
Danh sách các hình vẽ .................................................................................................................................... 9
Chương 1. GIỚI THIỆU CHUNG VỀ CÁC HỆ THỐNG NHÚNG ........................................................... 15
1.1 KHÁI NIỆM VỀ HỆ THỐNG NHÚNG (HTN) ................................................................. 15
1.2 ĐẶC ĐIỂM CỦA HTN ....................................................................................................... 15
1.3 CÁC YÊU CẦU VỚI HTN ............................................................................................... 18
1.4 MÔ HÌNH TỔNG THỂ HTN .............................................................................................. 19
1.4.1 Mô hình cấu trúc phần cứng của máy tính ........................................................................... 19
1.4.2 Kiến trúc của CPU ............................................................................................................... 23
1.4.3 Mô hình tổng quát của một HTN ......................................................................................... 25
1.4 PHÂN LOẠI HTN ............................................................................................................... 27
1.5 KẾT CHƯƠNG ................................................................................................................... 32
1.6 CÂU HỎI CUỐI CHƯƠNG ................................................................................................ 33
Chương 2. CÁC THÀNH PHẦN PHẦN CỨNG CỦA HỆ THỐNG NHÚNG .......................................... 34
2.1 BỘ XỬ LÍ TRUNG TÂM (Central Processing Unit-CPU)................................................. 34
2.2.1 Các loại CPU và nguyên lí hoạt động .................................................................................. 34
2.2.2 Ví dụ về một CPU và nguyên lí hoạt động .......................................................................... 35
2.2 CPU 8085 VÀ HỆ THỐNG BUS ........................................................................................ 44
2.2.1 Khái niệm và bản chất vật lý của các BUS .......................................................................... 45
2.2.2 Khuyếch đại BUS (bus driver)............................................................................................. 47
2.2.3 Bus đồng bộ (Synchronous bus): ......................................................................................... 48
2.2.4 Bus không đồng bộ (Asynchronous bus) ............................................................................. 50
2.2.5 Trọng tài BUS (bus arbitration) .......................................................................................... 51
2.2.6 Bus mở rộng (Expansion bus) EISA, MCA, Bus cục bộ, PCI ............................................. 54
2.2.7 Bus SPI (Serial Peripheral Interface ) .................................................................................. 55
2.2.8 Bus I2C (Inter-Integrated Circuit) ....................................................................................... 56
2.2.9 Thực hiện kĩ thuật của BUS ................................................................................................. 62
2.3 BO MẠCH một HTN VỚI CẤU HÌNH TỐI THIỂU ......................................................... 66
2.4 HTN VỚI CÁC CPU KHÁC NHAU .................................................................................. 69
2.4.1 CPU đa năng 16 bit .............................................................................................................. 69
2.4.2 Bo mạch với CPU HARVARD (microcontroller Unit-MCU) họ Intel 8051/8052/8xC25173
PTIT

Xây dựng các Hệ thống nhúng
5
2.4.3 Vi mạch Hệ thống khả trình trong một Chip (Programmable System on chip-PsoC) và
Máy tính thông minh khả trình (Programmable Intelligent Computer-PIC) ...................... 84
2.5 BỘ NHỚ VÀ THIẾT KẾ BỘ NHỚ .................................................................................... 98
2.5.1 Một số thông số chính của mạch nhớ .................................................................................. 99
2.5.2 Phân loại bộ nhớ ................................................................................................................ 101
2.5.3 Phân cấp bộ nhớ ................................................................................................................. 108
2.5.4 Tổ chức bộ nhớ vật lý và thiết kế bộ nhớ .......................................................................... 110
2.6 GHÉP NỐI VỚI THIẾT BỊ NGOẠI VI ............................................................................ 121
2.6.1 Tổng quan .......................................................................................................................... 121
2.6.2 Ghép nối CPU chủ động .................................................................................................... 125
2.6.3 Ghép nối I/O chủ động ...................................................................................................... 130
2.6.4 Cổng vào/ra ........................................................................................................................ 144
2.6.5 Ghép nối với tín hiệu tương tự (analog signal) .................................................................. 150
2.6.6 Biến đổi tương tự thành số (số hóa) ................................................................................... 152
2.6.7 Biến đổi số thành tương tự (DAC)..................................................................................... 153
2.7 KẾT CHƯƠNG ................................................................................................................................ 153
2.8 CÂU HỎI VÀ BÀI TẬP ................................................................................................................. 153
2.8.1 Câu hỏi cuối chương .......................................................................................................... 153
2.8.2 Bài tập cuối chương ........................................................................................................... 154
Chương 3. CÁC THÀNH PHẦN PHẦN MỀM CỦA HỆ THỐNG NHÚNG .......................................... 156
3.1 TRÌNH ĐIỀU KHIỂN THIẾT BỊ ( viết tắt: TĐKTB) ....................................................... 156
3.1.1 Tổng quan .......................................................................................................................... 156
3.1.2 Các loại TĐKTB ................................................................................................................ 160
3.1.3 3.1.3 Hoạt động của TĐKTB ............................................................................................. 161
3.1.4 Phát triển TĐKTB .............................................................................................................. 161
3.1.5 Một số ví dụ về TĐKTB .................................................................................................... 163
3.2 HỆ THỐNG NHÚNG THỜI GIAN THỰC ...................................................................... 165
3.2.1 Hệ điều hành đa nhiệm (multitasking) ............................................................................... 165
3.2.2 Hệ thống thời gian thực ..................................................................................................... 184
3.2.3 Hệ điều hành thời gian thực (RTOS) ................................................................................. 189
3.2.4 Hệ thời gian thực không có hệ điều hành thời gian thực ................................................... 195
3.3 PHẦN MỀM TRUNG GIAN (middleware) ...................................................................... 198
3.4 PHẦN MỀM ỨNG DỤNG ............................................................................................... 200
PTIT

