
1
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
Mục lục
Chương I: TỔNG QUAN ......................................................................................................... 4
1.1. Mở đầu ............................................................................................................................. 4
1.2. Khái niệm về hệ nhúng .................................................................................................... 5
1.3. Vai trò của hệ thống nhúng trong sự phát triển của lĩnh vực công nghệ cao “3C “. ....... 6
1.4. Đặc tính, phương pháp thiết kế và xu thế phát triển của các hệ nhúng ........................... 8
1.5. Môi trường thông minh ................................................................................................... 9
1.6. Các hệ điều hành nhúng và phần mềm nhúng ............................................................... 10
1.6.1. Hệ điều hành nhúng ................................................................................................ 10
1.6.2. Phần mềm nhúng .................................................................................................... 10
Chương II: LÝ THUYẾT THIẾT KẾ HỆ THỐNG NHÚNG ........................................... 12
2.1. Quy trình thiết kế Top-Down ........................................................................................ 12
2.1.1. Pha phân tích .......................................................................................................... 12
2.1.2. Pha thiết kế nguyên lý ............................................................................................ 14
2.1.3. Pha thiết kế kỹ thuật ............................................................................................... 15
2.1.4. Pha xây dựng hệ thống ........................................................................................... 16
2.1.5. Pha kiểm tra ............................................................................................................ 16
2.2. Quy trình Bottom-Up .................................................................................................... 17
2.3. Đặc tả hệ thống .............................................................................................................. 18
2.3.1. Khái niệm đặc tả (specification) ............................................................................. 18
2.3.2. Tại sao cần đặc tả.................................................................................................... 18
2.3.3. Phân loại các kỹ thuật đặc tả .................................................................................. 20
2.3.4. Ứng dụng và ưu việt khỉ sử dụng đặc tả ................................................................. 20
2.3.5. Phương pháp đặc tả sử dụng “Máy trạng thái hữu hạn FSM(Finite state machine)”
.......................................................................................................................................... 21
2.4. Các phương pháp biểu diễn thuật toán .......................................................................... 22
2.4.1. Ngôn ngữ tự nhiên .................................................................................................. 22
2.4.2. Dùng lưu đồ ............................................................................................................ 23
2.4.3. Mã giả ..................................................................................................................... 26
Chương III: CẤU TRÚC PHẦN CỨNG .............................................................................. 27
3.1. Cấu trúc tổng quát của hệ thống nhúng ......................................................................... 27
3.1.1. Kiến trúc cơ bản ..................................................................................................... 27
3.1.2. Cấu trúc phần cứng ................................................................................................. 27
3.2. Một số nền phần cứng thông dụng ................................................................................ 36
3.3.1. Họ vi điều khiển 8051 ............................................................................................ 36
3.3.2. Họ vi điều khiển AVR ............................................................................................ 37
3.3.3. Họ vi điều khiển PsoC ............................................................................................ 38
3.3.4. Họ vi điều khiển ARM ........................................................................................... 39
3.3.5. Họ vi điều khiển PIC .............................................................................................. 42
3.4. Một số vi mạch thường dùng ......................................................................................... 64
3.4.1. Nhóm linh kiện số .................................................................................................. 64
3.4.2. Nhóm linh kiện tương tự ........................................................................................ 72
3.4.4. Nhóm hiển thị ......................................................................................................... 76
3.4.4. Nhóm chuyển đổi dữ liệu ....................................................................................... 77
3.4.5. Nhóm IC chức năng ................................................................................................ 79
3.4.6. Một số ví dụ điển hình ............................................................................................ 82
3.5. Công cụ thiết kế, mô phỏng và kiểm thử phần cứng ..................................................... 87
3.5.1. Công cụ thiết kế phần cứng .................................................................................... 87
3.5.2. Công cụ mô phỏng .................................................................................................. 89
3.5.3. Công cụ kiểm thử ................................................................................................... 91

2
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
3.5.4. Một số mạch ví dụ .................................................................................................. 92
Chương IV: PHẦN MỀM NHÚNG ..................................................................................... 96
4.1. Đặc điểm phần mềm nhúng .......................................................................................... 96
4.2. Lập trình nhúng với C ................................................................................................... 96
4.2.1. Giới thiệu về CCS .................................................................................................. 97
4.2.2. Cấu trúc chương trình ............................................................................................ 97
4.2.3. Các kiểu dữ liệu ..................................................................................................... 98
4.2.4. Một số chỉ thị tiền xử lý ......................................................................................... 98
4.2.5. Hàm tạo trễ DELAY ............................................................................................ 100
4.2.6. Hàm truy cập các kênh ADC ............................................................................... 101
4.2.7. Các hàm truy xuất vào ra ..................................................................................... 103
4.3. Một số kỹ thuật lập trình nhúng .................................................................................. 105
4.3.1. Xử lý ngắt ............................................................................................................. 105
4.3.2. Xử lý TIMER ....................................................................................................... 108
4.3.3. Truyền thông chuẩn RS232 .................................................................................. 110
4.4. Hệ điều hành nhúng .................................................................................................... 113
4.4.1. Khái niệm và yêu cầu chung ................................................................................ 113
4.4.2. Bộ nạp khởi tao Boot – loader ............................................................................. 116
4.4.3. Hệ điều hành thời gian thực ................................................................................. 118
Danh mục hình ảnh
Hình 1: Một số ví dụ về các thống nhúng thông dụng ............................................................... 5
Hình 2: Sơ đồ khối quy trình Top-Down ................................................................................. 13
Hình 3: Sơ đồ tổng quát của 1 hệ thống điều khiển động cơ ................................................... 15
Hình 4: Sơ đồ quan hệ (call graph) giữa các module phần cứng và phân mềm trong hệ thống
điều khiển động cơ ................................................................................................................... 16
Hình 5: Sơ đồ khối quy trình Bottom-Up ................................................................................ 19
Hình 6: Biểu đồ so sánh chi phí phát triẻn hệ thống sử dụng dặc tả và không sử dụng .......... 21
Hình 7: Đặc tả cách thức làm việc của một máy điện thoại sử dụng máy trạng thái hữu hạn . 22
Hình 8: Lưu đồ biểu diễn thuật toán giải phương trình bậc 2 .................................................. 25
Hình 9: Kiến trúc cơ bản của 1 HTN ....................................................................................... 27
Hình 10: Cấu trúc thông dụng của một VXL/VĐK nhúng ...................................................... 28
Hình 11: Ví dụ về kiến trúc của họ VĐK AVR ....................................................................... 29
Hình 12: Sơ đồ khối chức năng PIC16F873A ......................................................................... 30
Hình 13: CPU ........................................................................................................................... 30
Hình 14: Kiến trúc bộ nhớ Von Newmann và Havard............................................................. 31
Hình 15: Nguyên lý cấu tạo và hoạt động xóa của EPROM.................................................... 32
Hình 16: Cấu trúc nguyên lý bộ nhớ RAM .............................................................................. 33
Hình 17: Nguyên lý điển hình của 1 cổng I/O ......................................................................... 33
Hình 18: Nguyên lý kết nối 1 Master và 1 Slave sử dụng SPI ................................................ 35
Hình 19: Sơ đồ kết nối SPI 1 Master với nhiều Slaver ............................................................ 35
Hình 20: Cấu trúc tông quan của vi điều khiển họ 8051 của intel ........................................... 36
Hình 21: Một vài sản phẩm công nghệ tiêu biểu ứng dụng bộ xử lý ARM ............................. 40
Hình 22: Sơ đồ khối của 1 chip ARM core ARM7.................................................................. 43

3
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
Hình 23: Sơ đồ chân PIC 18F452 ............................................................................................. 46
Hình 24: Cấu trúc bộ nhớ của 18F452...................................................................................... 48
Hình 25: Sơ đồ khối PIC18F452 .............................................................................................. 49
Hình 26: Sơ đồ khối gắp nối vào ra số ..................................................................................... 50
Hình 27: Sơ đồ khối timer0 chế độ 8bit ................................................................................... 51
Hình 28: Sơ đồ khối của timer0 ở chế độ 16bit ........................................................................ 51
Hình 29: Sơ đồ khối timer1 ...................................................................................................... 52
Hình 30: Sơ đồ khối Timer2 ..................................................................................................... 53
Hình 31: Sơ đồ khối timer3 ...................................................................................................... 54
Hình 32: Sơ đồ giao tiếp chuẩn RS232 .................................................................................... 54
Hình 33: Sơ đồ khối truyền dữ liệu UART ................................................................................ 56
Hình 34: Sơ đồ khối và giản đồ thời gian nhận dữ liệu ............................................................ 58
Hình 35: Biểu đồ khối chuyển đổi ADC .................................................................................. 60
Hình 36: Sơ đồ khối timer ...................................................................................................... 109
Hình 37: Kiến trúc một HĐH ................................................................................................. 114
Hình 38: Nguyên lý thực hiện của boot - loader .................................................................... 117
Hình 39: Cấu trúc của một boot - loader ................................................................................ 118
Hình 40: So sánh kiến trúc RTOS và OS chuẩn ..................................................................... 119
Hình 41: Cấu trúc một RTOS ................................................................................................. 119
Hình 42: Mô hình trạng thái của quá trình ............................................................................. 121
Tài liệu tham khảo
1. Bình, N. T. (2008). Bài giảng: Các kỹ thuật đặc tả. Đại học Bách khoa Đà nẵng.
2. Công, N. H. (2007). Hệ thống nhúng và sự phát triển của lĩnh vực công nghệ cao "3C".
ĐH KTCN Thái Nguyên.
3. John Regehr, Assist.Prof.Dr.Osman Kaan EROL. (2009). Embedded System Design.
4. Việt, T. L. (2008). HỆ THỐNG ĐIỀU KHIỂN NHÚNG. Hà Nội: ĐH BKHN.
5. Wikipedia. (2010). Retrieved from Wikipedia, Bách khoa toàn thư mở:
http://vi.wikipedia.org/wiki/H%E1%BB%87_th%E1%BB%91ng_nh%C3%BAng

4
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
Chương I: TỔNG QUAN
Mục tiêu của chương
Giúp sinh viên hiểu được khái niệm và nhận diện được một hệ thống nhúng,
nắm bắt được nhu cầu và vài trò quan trọng của hệ thông nhúng trong sự phát triển của
ngành công nghệ cao.
Tóm tắt
Giới thiệu và nêu khái niệm hệ thống nhúng. Trình bày vai trò của hệ thống
nhúng trong ngành công nghệ cao.
1.1. Mở đầu
Trong sự phát triển mạnh mẽ của khoa học kĩ thuật với nền kinh tế trí thức và
xu hướng hội nhập toàn cầu như hiện nay, thế giới và Việt Nam đang thực hiện việc
kết hợp giữa các ngành thuộc lĩnh vực công nghệ cao trong một Khoa hoặc cơ sở đào
tạo. Đó là lĩnh vực khoa học dưới 3 ngọn cờ: Máy tính, Điện tử- Viễn thông và Điều
khiển tự động mà ta thường gọi là “3 C” (Computer – Communication - Control). Có
thể nói, các quá trình sản xuất và quản lí hiện nay như: các hệ thống đo lường điều
khiển tự động trong sản xuất công nghiệp; các hệ thống di động và không dây tiên tiến,
các hệ thống thông tin vệ tinh, các hệ thống thông tin dựa trên Web, chính phủ điện tử,
thương mại điện tử, các cơ sở dữ liệu của nhiều ngành kinh tế và của Quốc gia, các hệ
thống thiết bị Y tế hiện đại, các thiết bị điện tử dân dụng, ... đều là sản phẩm của sự kết
hợp giữa các lĩnh vực khoa học trên.
Hiện nay chúng ta đang ở thời đại hậu PC sau giai đoạn phát triển của máy tính
lớn (Mainframe) 1960-1980, và sự phát triển của PC-Internet giai đoạn 1980-2000.
Giai đoạn hậu PC-Internet này được dự đoán từ năm 2000 đến 2020 là giai đoạn của
môi trường thông minh mà hệ thống nhúng là cốt lõi và đang làm nên làn sóng đổi mới
trong công nghệ thông tin nói riêng và lĩnh vực công nghệ cao “3C”, nói chung. Một
thực tế khách quan là thị trường của các hệ thống nhúng lớn gấp khoảng 100 lần thị
trường PC, trong khi đó chúng ta mới nhìn thấy bề nổi của công nghệ thông tin là PC
và Internet còn phần chìm của công nghệ thông tin chiếm 99% số processor trên toàn
cầu này nằm trong các hệ nhúng thì còn ít được biết đến.
Sức đẩy của công nghệ đưa công nghệ vi điện tử, công nghệ vi cơ điện, công
nghệ sinh học hội tụ tạo nên các chip của công nghệ nano, là nền tảng cho những thay
đổi cơ bản trong lĩnh vực công nghệ cao “3C, sức kéo của thị trường đòi hỏi các thiết
bị phải có nhiều chức năng thân thiện với người dùng, có mức độ thông minh ngày
càng cải thiện đưa đến vai trò và tầm quan trọng của các hệ thống nhúng ngày càng
cao trong nền kinh tế quốc dân.

5
Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên
Phát triển các hệ nhúng và phần mềm nhúng là quốc sách của nhiều quốc gia
trên thế giới, nhất là giai đoạn hậu PC hiện nay. Ở nước ta đáng tiếc lĩnh vực này lâu
nay đã bị lãng quên, do vậy cần có những điều chỉnh phù hợp trong chiến lược phát
triển để có thể theo kịp, rút ngắn khoảng cách tụt hậu đối với các nước trong khu vực
và trên thế giới trong quá trình hội nhập nền kinh tế toàn cầu không thể tránh khỏi hiện
nay.
1.2. Khái niệm về hệ nhúng
Hệ thống nhúng (tiếng Anh: Embedded system) là một thuật ngữ để chỉ một hệ
thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ.
Hệ thống nhúng có vai trò đảm nhận một phần công việc cụ thể của hệ thống mẹ. Hệ
thống nhúng có thể là một hệ thống phần cứng và cũng có thể là một hệ thống phần
mềm. (Wikipedia, 2010)
Ví dụ quanh ta có rất nhiều sản phẩm nhúng như lò vi sóng, nồi cơm điện, điều
hòa, điện thoại di động, ô tô, máy bay, tàu thủy, các đầu đo, cơ cấu chấp hành thông
minh v.v... ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi trong
cuộc sống của chúng ta.
Hình 1: Một số ví dụ về các thống nhúng thông dụng
Các nhà thống kê trên thế giới đã thống kê được rằng số chip vi xử lý ở trong
các máy PC và các server, các mạng LAN, WAN, Internet chỉ chiếm khoảng 1% tổng
số chip vi xử lý có trên thế giới, 99% số vi xử lý còn lại nằm trong các hệ thống
nhúng.
Như vậy công nghệ thống không chỉ đơn thuần là PC, mạng LAN, WAN,
Internet phần mềm quản lý ... như nhiều người thường nghĩ. Đó chỉ là bề nổi của một

