Bài giảng Xây dựng các hệ thống nhúng Tài liệu dành cho học sinh, sinh viên, nghiên cứu, tham khảo, cũng như tìm hiểu về xây dựng các hệ thống nhúng trong công nghệ thông tin, cũng như trong quá trình học tập của mình.
Trang 1H 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
Trang 2(micro-t ng công ngh hi n đ i lƠ k (micro-thu (micro-t vi đi n (micro-t v i m (micro-t đ (micro-tích h p l n vƠ r (micro-t l n Khi mu n (micro-thi (micro-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
Trang 3HƠ N i, tháng 10 n m 2013
Vi n Công ngh thông tin, VAST, 18, HoƠng Qu c Vi t, HƠ N i
PTIT
Trang 4L 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
PTIT
Trang 52.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
Trang 63.5 K T CH NG 201
3.6 CÂU H I CU I CH NG 201
Ch ng 4 THI T K VÀ CÀI T CÁC H TH NG NHÚNG 203
4.1 THI T K H TH NG 203
4.1.1 Các n n t ng c b n khi xây d ng ki n trúc HTN 207
4.1.2 Phân ho ch thi t k ph n c ng, ph n m m 211
4.1.3 Xây d ng bo m ch khi phát tri n h th ng 217
4.2 CÀI T VÀ TH NGHI M HTN 221
4.2.1 Ch n CPU cho thi t k 221
4.2.2 B nh cho HTN 223
4.2.3 Ghép n i v i thi t b 225
4.2.4 Phát tri n ph n m m cho HTN 225
4.2.5 G r i và mô ph ng 235
4.2.6 Phát tri n HTN 240
4.2.7 Ví d phát tri n HTN 266
4.3 K T CH NG 267
4.4 CÂU H I CU I CH NG 267
TÀI LI U THAM KH O 267
PH L C Các ví d 270
PTIT
Trang 7M t s ch vi t t t
CPU Central Processing Unit n v x lý trung tâm
ROM Read Only Memory B nh chi đ c
EPROM Erasable programmable read-only
B nh bán d n không b m t n i dung ngay c khi không cung c p ngu n nuôi
RTOS Real Time Operating System H đi u hành th i gian th c
OS hay H H Operating System H i u Hành
T KTB Device Driver Trình đi u khi n thi t b
PLC Programmable Logic Controller b đi u khi n logic kh trình
PIC Programmable Intelligent
Computer
Máy tính kh trình thông minh
PSoC Programmable System - on - Chip H th ng kh trinh trên vi m ch
ASIC Application-Specific Integrated
Circuit
ASIC là m t vi m ch đ c thi t k dành cho m t
ng d ng c th theo yêu c u cá bi t MCU Microcontroller Unit Vi đi u khi n
CICS Complex Instruction Set T p l nh đ y đ
RISC Reduced Instruction Set T p l nh rút g n
SPI Serial Peripheral Interface ng liên k t d li u n i ti p, đ ng b , ho t đ ng
theo ki u Ch /t (Master/Slave)
I2C Inter-Integrated Circuit Bus dùng đ n i gi a các vi m ch đi n t ầ
PTIT
Trang 8USART Universal Serial Aynchronous
Integrated Design Environment
ho c:
Integrated Debugging Environment
Là t p các ph n m m h tr các công c , ti n ích
đê phát tri n ph n m m máy tính, bao g m:
So n th o mã ngu n, trình thông d ch, trình biên
d ch, trình g r i
ICE In-Circuit Emulator
Là lo i thi t b ph n c ng dùng đ g r i khi phát tri n ph n c ng và ph n m m h p nh t, nh HTN Vid d nh Logic anlyzer, ph n m m MPLAB c a Microchip
PTIT
Trang 9Danh sách các hình v
Hình 1.1 Mô hình t ng quát bo m ch ch Hình 1.2 Ngu n nuôi cho h máy tính
Hình 1.3 HTN xây d ng t xây d ng t vi x lý(Microprocessor-based) vƠ vi đi u khi n
(microcontroller based) Hình 1.4 Microcontroller và các thành ph n c b n, BUS k t n i bên trong.T t c trong m t chip
Hình 1.5 Hai ki u HTN v i 2 lo i ki n trúc CPU Hình1.6 Havard CPU ARM 920T c a Amtel
Hình 1.7 Mô hình t ng quát HTN-Mô hình v i các kh i ch c n ng Hình 1.8 M t cách nhìn khác v mô hình t ng quát HTN:V i các kh i ngo i vi và ph n
m m Hình 1.9 Ki n trúc tr u t ng HTN Hình 1.10 S đ kh i CPU DSP-MP3
Hình 1.11 B MP3 v i CPU BlackFin c a ANALOG DEVICES Hình 1.12 M t s HTN th ng m i
Hình 2.1 Intel CPU 8085 Hình 2.2 Các kh i ch c n ng c a CPU 8080/8085 Hình 2.3 Các khái ni n qui chi u theo CPU Clock Hình 2.4 L u đ th i gian c s c a CPU 8085 (Theo tài li u c a hãng Intel) Hình 2.5 Bi u đ th i gian c a chu kì tìm l nh
Hình 2.6 C u hình t i thi u: CPU 8085 và t o BUS h th ng Hình 2.7 CPU Bus và BUS h th ng
Hình2.8 Chu kì đ c đ ng b Hình 2.9 BUS không đ ng b , ho t đ ng đ ng b b i “đ i tho i” gi a các tín hi u đi u khi n
Hình 2.10 BUS chu i quay vòng (daisy chaining) Hình 2.11 Tr ng tài BUS
Hình 2.12 Tr ng tài Bus không t p trung trong multibus Hình 2.13 Liên k t qua bus SPI
Hình 2.14 Liên k t qua bus I2C
PTIT
Trang 10Hình 2.15 Nguyên lí n i BUS I2C
Hình 2.16 Ghi/đ c trên BUS I2
C Hình 2.17 Ví d d li u thu/phát trên BUS I2C
Hình 2.18 Các m ch logic th ng dùng trong thi t k k thu t s
Hình 2.23 C ng khuy ch đ i (driver) ch t hai chi u
Hình 2.24 C u hình t i thi u bo m ch CPU 8085, RAM/ROM/Ports
BUS cho b nh ch ng trình: Code Bus vƠ Code Address;
BUS cho RAM d li u: Data Bus và Data Address;
SRC1, SRC2:ngu n, DST: đích, lƠ các Bus n i b Hình 2.30 Các kh i ch c n ng c a CPU 8051/8052
Hình 2.31 CPU 8051: EEPROM, RAM bên trong
và kh n ng m r ng b nh t i 128 KB (64 KB code+64 KB data) Hình 2.32 Bo m ch v i CPU 8051/8052
Hình 2.33 Các kh i ch c n ng c a nhân 8XC251Sx
Hình 2.34 CPU 8051
Hình 2.35 Phân ho ch đ a ch trong CPU 8051
Hình 2.36 Bo m ch v i CPU Intel 8051 và RAM, ROM m r ng bên ngoài
Hình 2.37 Mô hình m t vi đi u khi n ki u PSoC hay PIC ki u Vi x lí trong m t Chip
(Microprocessor-based system on a chip)
PTIT
Trang 11Hình 2.38 Vi đi u khi n PSoC CY8C29466
Hình 2.39 B trí võ-chân PIC 12F675
Hình 2.40 Mô hình kh i ch c n ng PIC12F629/675
Hình 2.41 Vi đi u khi n PIC 16F882/883/88
Hình 2.42 Cách t o bit nh c đ nh b ng công t c c h c hay diode bán d n
Hình 2.49 1 chip RAM 32K x 8 (32K byte)
Hình 2.50 Ph n t DRAM, 1 bit DRAM và ma tr n DRAM
Hình 2.51 Các cách ghi/đ c/lƠm t i c a DRAM
Hình 2.52 Phân c p b nh
Hình 2.53 Mô hình ho t đ ng c a RAM cache
Hình 2.54 S đ võ ngoài m t vi m ch (chip) nh (pin-out)
Hình 2.55 S đ kh i ch c n ng bên trong chip 16K x 1 bit
Hình 2.56 S đ thi t k b ng nh SRAM 16K x 8, v i Chip 16Kx1
Hình 2.57 S đ kh i ch c n ng c a 1 chip DRAM th ng m i 4164Kb
Hình 2.58 Quan h các tín hi u đi u khi n DRAM 4164x1 th ng m i
Hình 2.59 CPU 8080/8085 Module DRAM 64 KB toàn ph n
Hình 2.62 Ví d v cách phân b b nh trong máy tính PC
Hình 2.63 Mô hình k thu t ghép n i
Hình 2.64 Các ki u ghép n i
Hình 2.65 c d li u vào: D li u_t thi t b vƠo ACC sau đó vƠo RAM
Hình 2.66 a d li u t RAM vƠo ACC sau đó ACC ra thi t b
Hình 2.67 Trao đ i d li u đ c vƠo có đi u ki n
Hình 2.68 L u đ đi u khi n đ c d li u vƠ có đi u ki n
Hình 2.69 L u đ đi u khi n đ c d li u ki u quay vòng
Hình 2.70 Mô hình ho t đ ng c a ng t
PTIT
Trang 12Hình 2.71 Các ki u ng t
Hình 2.72 Thi t k t v i ng t c ng che đ c INTR c a CPU
Hình 2.73 Vector ng t và chuy n x lý t i ISR
Hình 2.74 T ch c ng t v i đi u khi n ng t
Hình 2.75 M r ng s ng t v i 2 vi m ch 8259
Hình 2.76 Nguyên lí DMA
Hình 2.77 DMA và ho t đ ng c a CPU lƠ đ c l p
Hình 2.78 Ghép n i DMAC 8237 vào v i CPU 8085vƠ l u đ th i gian c a qui trình DMA Hình 2.79 L u đ DMA ghi d li u t RAM ra thi t b ngoài
Hinh 2.84 PC làm h phát tri n ph n m m cho HTN, phù h p tín hi u gi a RS-232 cua PC
và c ng SI-P c a HTN đang phát tri n Hình 2.85 C ng SI-P đ n gi n, dùng ngu n t RS 232 c a PC
Hình 2.86 ADC và ghép vào HTN
Hình 2.87 HTN và DAC
Hình 2.88 Bài t p thi t k ghép n i ADC, c ng LPT vào máy tính PC
Hình 3.1 Mô hình t ng quát các ph n m m trên máy tính
Hình 3.2 Mô hình t ng quát các ki u s p x p ph n m m trên máy tính
Hình 3.3 Tr ng thái c a ti n trình
Hình 3.4 Tri n khai API qua GHT
Hình 3.4 Nguyên lí đa trình và quan h gi a ch đ ng i dùng và ch đ nhơn H H Hình 3.5 Các ki u tác v
Hình 3.6 H u h t các lo i tác v đ xuyên qua l p bi u
Hình 3.7 Bi u đ th c hi n m t tác v
Hình 3.8 Phân lo i các gi i thu t l p l ch th c hi n tác v
Hình 3.9 Quay vòng k t h p u tiên vƠ chen ngang
Hình 3.10 Mô hình nguyên lí cho WD
PTIT
Trang 13Hình 4.8 ng thi t k ph n c ng và ph n m m-đ ng ki m nghi m, t i uthi t k
Hình 4.9 Qui trình thi t k ki u ASIC
Hình 4.10 Xây d ng mô hình hình th c: B c sàng l c s d ng cách t ng h p ph n c ng
và ph n m m đ chuy n hóa xác đ nh ch c n ng vƠo mô hình ph n c ng c a thi t
k Hình 4.11 Bo m ch HTN
Hình 4.12 M i t ng quan gi a giá thành h th ng/hi u n ng
và m c đ tích h p th ng/hi u n ng Hình 4.14 Quá trình biên d ch thành mã maý t o ra H H
Hình 4.15 nh d ng m t t p th c thi ELF
Hình 4.16 T ng quát các b c t o nhơn H H m i t mã ngu n
Hình 4.17 T ng quát các b c t o nhơn H H m i t mã ngu n và ki u kh i đ ng
Hình 4.19 Các lo i công c h tr g r i
Hình 4.20 K t qu hi n th c a g r i
Hình 4.21 Liên k t gi h phát tri n và h đích đang đ c g r i
PTIT
Trang 14Hình 4.22 Môi tr ng phát tri n chéo: h phát tri n ậ công c - HTN đích
Hình 4.23 H th ng nhúng : ph n m m nhúng và ph n c ngnhúng
Hình 4.24 H phát tri n HTN
Hình 4.25 Qui trình phát tri n ph n m m đích đ n p vƠo HTN đích
Hình 4.26 Qui trình phát tri n ph n m m cho HTN
Hình 4.27 S đ đ n gi n h th ng và ánh x b nh vào EEPROM hay FLASH c a HTN đích
Hình 4.28 Vai trò c a trình loader
Hình 4.29 Ph n program header table ch ra các phơn đo n đ c s d ng lúc ch y ch ng
trình (run time) và ph n header li t kê t p các ph n nh phân : text: mư ch ng
trình, rodata: d li u ch đ c, data: d li u đ c/ghi đ c
Hình 4.30 nh x th c thi chuy n vào b nh c a h th ng
Hình 4.31 Ví d t ng quan v boostrap h th ng
Hình 4.32 Trình t boot boot image ch y t ROM
Hình 4.33 Trình t boot th c hi n RAM sau khi image đư đ c copy t ROM vào RAM Hình 4.34 Ch y image sau khi đư t i xu ng h đích t h ph t tri n (PC)
Hình 4.35 Ti n trình kh i đ ng ph n m m HTN
PTIT
Trang 15Ch ng 1 GI I THI U CHUNG V CỄC H TH NG NHỎNG
1.1 KHỄI NI M V H TH NG NHỎNG (HTN)
Nhìn l i nh ng n m 70 th k tr c, x lỦ thông tin th ng ph i s d ng các máy tính l n hay máy tính mini (ví d dòng máy mini PDP 11 c a hãng DEC m t h th ng th ng tr trong truy n thông) Cho t i nh ng n m 80, khi vi x lỦ vƠ máy tính cá nhơn (PC đ bƠn vƠ xách tay) ra đ i, máy tính tr thành công c đ c d ng cho x lý thông tin b i kh n ng tính toán nhanh, g n nh
vƠ di đ ng linh ho t Giai đo n ti p theo là kh n ng ch t o vi m ch kích th c vƠi tr m micro mét và nano mét c a nh ng n m chín m i, đư thúc đ y xu h ng nh hóa (miniaturization) và
đa d ng các dòng vi x lý, phát tri n m nh m Các b vi x lỦ đa n ng vƠ s xu t hi n các vi x
lý chuyên bi t (ASIC- application-specific integrated circuit) đ c ch t o v i s l ng l n ch a
t ng th y Vi c s d ng các b vi x lý chuyên bi t đ t o ra các thi t b chuyên x lý m t hay
m t vƠi bƠi toán k thu t, t o ra m t nghành công ngh m i, g i là công ngh nhúng S n ph m
c a công ngh nhúng này là các h th ng nhúng
V y h th ng nhúng (HTN- Embedded system) là gì ?
Có nhi u đ nh ngh a v HTN, nh ng n u ta l y tiêu chí mô t HTN làm cái gì và s d ng nó nh
th nào, thì có th nói v HTN nh sau:
H th ng nhúng là m t thu t ng đ ch m t h th ng có kh n ng ho t đ ng t tr đ c nhúng vào trong m t môi tr ng hay m t h th ng khác qui mô ph c t p h n ó lƠ các h th ng tích h p c ph n c ng (là m t h th ng máy tính đ c xây d ng trên c s s d ng vi x lý -
microprocessor-based system) và ph n ph m nhúng trong ph n c ng đó, đ th c hi n các bài toán chuyên bi t
Hay theo đ nh ngh a c a t ch c IEEE thì h th ng nhúng là m t h tính toán (máy tính
s ) n m trong (hay đ c nhúng vào) s n ph m khác l n h n vƠ r ng thông th ng n đ i v i
ng i s d ng Nói r ng ra, vƠ đ n gi n h n, khi m t h tính toán (có th là PC, IPC, PLC, vi x
lý, vi h th ng (microcontroller), DSP v.v ) đ c nhúng vào trong m t s n ph m hay m t h
th ng nƠo đó vƠ th c hi n m t s ch c n ng c th c a h th ng đó, thì ta g i h tính toán đó lƠ
m t h th ng nhúng Tuy nhiên th t không d gì đ nh ngh a cho th t đúng v HTN, đ nh ngh a trên r t ít nói t i công ngh vƠ c ng r t đ n gi n Hi n nay ch a có đ nh ngh a nƠo th t th a đáng
v HTN, ví d n u l y ch c n ng x lý thông tin, thì HTN là m t ph n x lý thông tin nhúng trong các h th ng l n h n vƠ ph c t p h n, hay c ng có th là m t h th ng đ c l p v n hành t
đ ng Ví d g n g i ta có: máy tính cá nhơn, hay máy ch , là m t h th ng ph c t p đ c xây
d ng t các thành ph n ho t đ ng đ c l p nh ng đ c đ ng b v i nhau V đi u khi n đ h a,
có vi đi u khi n r t m nh x lỦ đ h a, v đi u khi n trên đ a c ng có vi đi u khi n chuyên d ng
đ x lý tín hi u, ghi/đ c d li u t đ a t tính theo yêu c u c a h đi u hƠnh, v m ng c ng lƠ
m t vi đi u khi n tinh vi x lý tín hi uầ ó lƠ các h th ng con đ c nhúng trong h th ng máy tính nói chung M c dù v y ta c ng s nêu ra đơy m t s đi m chung v HTN
1.2 C I M C A HTN
PTIT
Trang 16hi u rõ h n v HTN, ta nêu ra m t s đ c đi m đ nh n bi t v m t h th ng nhúng:
Là m t ki u máy tính ng d ng đ c bi t, r t gi i h n v ph n c ng và ph n m m khi so
sánh v i các máy tính đa n ng, nh máy tính cá nhơn, máy ch , siêu máy tính i u đó nói lên r ng hi u n ng x lỦ, n ng l ng tiêu th , b nh , các ph n c ng khác đ u h n ch Còn
ph n m m h n ch , hay ph n m m là c đ nh, có ngh a h đi u hƠnh đ c thi t k phù h p
v i các x lỦ đư đ nh Hi n nay h đi u hƠnh th ng s d ng là h đi u hƠnh đa nhi m (nh DOS 6.X h tr đa nhi m trên các lo i HTN dòng PC 104), hay h đi u hành th i gian th c
N u không có h đi u hƠnh, thì c ng lƠ m t ki u ch ng trình đi u khi n chung (monitor)
nƠo đó Ph n m m vi t ra không có các ph n mã có m c đ tr u t ng hay có c ng m c
th p Mã th c thi (g m h đi u hành và các ng d ng) đ c n p vào b nh ROM Nhìn chung mã th c thi có kích th c nh và t i u vì ROM có dung l ng nh Tuy nhiên v i s phát tri n nhanh chóng c a công ngh , cách nêu trên có th thay đ i, b i s có các HTN r t tinh x o và m c đ ph c t p r t cao, b nh có th đ n vài ch c mega bytes
ảTN đ c thi t k đ th c hi n m t hay vài ng d ng xác đ nh, chuyên bi t (Application specific), ví d các thi t b nhúng công nghi p nh robot thu c lo i này Tuy nhiên có nh ng thi t b nhúng khác nh các PDA, đi n tho i di đ ng, là các HTN có kh n ng th c hi n nhi u ch c n ng h n Hay các Tivi k thu t s l i có th th c hi n các ng d ng t ng tác
v i màn hình c m ng, v.vầ Tuy nhiên xu h ng hi n nay là t o ra các HTN kh trình có
giao di n k t n i v i m t h phát tri n khác đ nâng c p ph n m m
HTN t ng tác v i môi tr ng ng d ng qua nhi u ph ng th c:
Qua các b c m bi n (sensor), ghép n i vào HTN b ng dây d n, hay không dây;
Phát tri n các giao th c truy n tin riêng bi t, hay theo các giao th c chu n đ trao
đ i thông tin v i các thi t b khác, có th có h tr n i m ng LAN;
HTN thu c lo i thi t b thông minh t ph n ng (reactive), b đ ng nh ng t ng
tác liên t c v i môi tr ng vƠ có đáp ng k p th i v i nh ng ti n tri n (s ki n)
mƠ môi tr ng đó xác l p
T ng tác ng i-máy r t đ n gi n n u có vì HTN ch y đ c l p và thông tin v i h
th ng l n h n lƠ chính NgƠy nay xu h ng WEB hóa giao di n t ng tác lƠ ph
bi n, ví d các thi t b k t n i m ng Internet nh ADSL dòng SOHO (Small Office-Home Office), có WEB đ làm c u hình và qu n tr T ng t , các HTN công nghi p c ng phát tri n theo xu h ng nƠy đ d qu n tr t trung tơm đi u khi n
HTN ho t đ ng đ c l p, do đó các đ c đi m sau đơy:
tin c y, lí t ng là không có s c h ng hóc
B o trì: th i gian b o trì nhanh chóng
Có tính s n sàng cao, là k t qu c a s tin c y và b o trì
PTIT
Trang 17 An toàn: n u có s c x y ra, HTN không gây ra nh ng tác h i khác c a toàn h
th ng
An ninh: d li u c a HTN đ c b o m t, truy nh p ph i có xác nh n (ví d , HTN
là các thi t b truy n thông, SOHO)
HTN là m t ki u máy tính có yêu c u v ch t l ng và đ tin c y r t cao, ho t đ ng đ c trong các môi tr ng kh c nghi t v nhi t đ (cao, hay r t th p), đ m cao, đ rung đ ng
l n, nhi u sóng đi n t v.vầ Ví d các máy tính trong công nghi p, các thi t b truy n thông,
tr m BTS ch ng h n, hay các máy tính đi u khi n trên máy bay (fly by wire)ầ
Ph n l n các h th ng nhúng ho t đ ng v i s ràng bu c th i gian: yêu c u có th i gian
cho (đáp ng) đ u ra nhanh, đúng th i đi m, trong m i t ng quan v i th i đi m xu t hi n
c a (s ki n) đ u vào Ki u ho t đ ng nh v y g i là t o đáp ng theo th i gian th c Th i
gian th c có th chia ra làm hai ki u:
Nh y c m v i th i gian (time- sensitive): s ki n ch đ c x lý trong m t khung
th i gian nh t đ nh;
Th i gian t i h n (time critical): khi có s ki n, h th ng ph i ph n ng ngay,
chuy n nhanh nh t đ n mư ch ng trình ng v i s ki n đó đ x lý, nói cách khác trong m t c a s th i gian cho phép, x lý ph i đ c th c hi n và ph i có đáp ng đ u ra Ví d n u vòng ph n h i trong các h có đi u khi n đó HTN lƠ
b đi u khi n ch y gi i thu t đi u khi n không đ nhanh (x lý, tính toán quá lâu),
h th ng tr nên không n đ nh
Có hi u n ng cao Các s đo sau đơy se ph n ánh đ c tính này:
S d ng n ng l ng th p và hi u qu Có th th y đi m này các thi t b di đ ng
Mã ph n m m có kích th c r t t i u, vì mư ph i cài toàn b trên HTN
Th i gian x lý tác v (run-time) ph i nhanh, s d ng ít tài nguyên ph n c ng (vì
liên quan t i tiêu hao n ng l ng)
Tr ng l ng nh ơy lƠ m t trong nh ng l c ch n khi mua m t HNT
Giá thành r t c nh tranh Mu n v y thi t k và s d ng ph n c ng, ph n m m c n
quan tâm t i hi u qu
D i đơy lƠ các ví d v các HTN nhìn góc đ s d ng:
Ô tô ánh l a đi n t , i u khi n đ ng c , h th ng phanh, h s ầ
i n t tiêu dùng Tivi analog, Tivi s , CD, DVD, VCR,ầ
PDA, i n tho i di đ ng, CAMCODER, GPS, t đi u hòa, t
PTIT
Trang 18l nh, lƠ vi sóng ầ Công nghi p Robot, dây chuy n s n xu t t đ ng, SCADA agentsầ
Y t Máy th m tách, máy pha-l c, máy th , máy tr tim, máy quét c t
lát, r t nhi u thi t b y t hi n đ iầ
M ng thông tin (WAN, LAN, tho i) B đ nh tuy n, gateway, chuy n m ch m ng, các thi t b truy n
thông-m ng, tr m chuy n ti p, BTS di đ ng ầ
V n phòng Máy Fax, máy potocopy, máy in (kim, laser, phun), máy quét, màn
hình LCDầ Các l nh v c khác: an ninh, qu c
phòng, hàng không, hàng h i
c h p nh t trong r t nhi u khí tài hi n đ i c a t t c các binh
ch ng
1.3 CỄC YểU C U V I HTN
HTN th c t là m t lo i máy tính dùng đ x lỦ thông tin đư d ng s HTN có th là
m t h th ng đ c l p nh m t thi t b tích c c trong mô hình đi u khi n, t c HTN là m t
regulator s , th c hi n các ch c n ng c a PID regulator, khi các ch c n ng nƠy đ c th hi n
b i thu t toán và chuy n hóa d ng mư ch ng trình trong HTN Trong khi đó HTN l i là m t
ph n c a m t qui trình công ngh trong công nghi p Nh trên đư li t kê các đ c đi m chung mà các h th ng nhúng th ng có, t nhiên ta có th rút ra đ c nh ng yêu c u c n có trên m t h
th ng nhúng
1 Kh n ng đáp ng v i s ki n bên ngoài (t các tác nhân b ki m soát) ph i nhanh
nh y, k p th i, t c là kh n ng theo th i gian th c:
Các tác v có đáp ng ràng bu c b i th i h n chót (deadline);
Th i gian phát hi n l i ph i r t ng n (t i thi u);
Khi ch y các chu trình vòng l p đi u khi n b ng ph n m m ph i có đáp ng
đ u ra đúng th i h n;
2 Có kh n ng lƠm môi tr ng kh c nghi t
3 Có giá thành th p hay hi u qu ho t đ ng/giá thành h p lí
Trang 19 Cho h ng s c a t s s c trong th i gian 1 gi đ ng h là e (e/h), thì bi u
di n t s s c là R(t)=exp (-e(t-t0)) , sau đó th i gian gi a 2 l n s c (Mean Time To Failure- MTTF) s là 1/R(t);
Mô hình l y đ n v x lý trung tâm (Central Processing Unit – CPU) là kh i ch c n ng c b n
nh t đ t o nên m t h vi x lý, HNT hay máy tính cá nhân (Personal Computer – PC)
CPU th c hi n ch c n ng x lý d li u theo nguyên t c th c hi n ch ng trình máy tính cài trong b nh ROM hay n p vào b nh RAM Vi c th c hi n nh sau: CPU
đ c mã l nh (OPCODE) t b nh (ROM hay RAM), sau đó,
Gi i mã l nh, t o các tín hi u (xung) đi u khi n t ng ng v i mã l nh đ đi u khi n ho t đ ng c a các kh i ch c n ng khác trong CPU vƠ bên ngoƠi CPU
T p các tín hi u t o ra BUS c a CPU Khi k t h p v i các vi m ch d n /tách kênh và khuy ch đ i, các m ch gi i mư,ầ s t o ra BUS h th ng BUS h th ng cung c p các tín hi u cho các vi m ch tích h p vào CPU (ROM, RAM, I/O module) t o thành bo m ch chính (CPU board)
Th c hi n t ng b c các thao tác x lý d li u đư đ nh ngh a trong mư l nh
Ghi l i k t qu th c hi n l nh
B nh chính (ROM/RAM) đ c t ch c t các t nh đ n, kép Theo chu n c a
IBM/PC t nh đ n có s ) có đ dài 1 byte (8 bits) B nh này g m các chip nh
ch đ c ROM (Read Only Memory) và các chip nh truy xu t ng u nhiên RAM (Random Access Memory) có t c đ truy c p nhanh B nh đ c s d ng đ ch a
PTIT
Trang 20ng h th ch anh nh p chu n
Ngu n nuôi m t chi u
H th ng đ ng dây d li u (DATA BUS)
H th ng đ ng dây đi u khi n (CONTROL BUS)
H th ng đ ng dây đ a ch (ADDRES BUS )
B nh Ghi/ c (RAM)
B nh ch c (ROM)
Ghép n i ra (O) Ghép n i vào (I)
li u d ng s DO (Digital Outputs), DI (Digital Inputs)ầ
H vi x lý còn có m t m ch t o xung nh p g i là CPU Clock B t o xung nƠy đ c đi u khi n b ng m t m ch th ch anh có t n s thích h p vƠ đ m b o t n s làm vi c n đ nh,
v i t n s chính xác cao CPU có m t chân phát xung cho các vi m ch còn l i, g i lƠ đ ng
h h th ng (System Clock), đ ng h này n i t i t t c các vi m ch đi u khi n chính trên
bo m ch, đ ng b toàn b ho t đ ng v i CPU
M t kh i ngu n nuôi (Power Supply) cung c p n ng l ng cho h th ng t m ng đi n
l i, hay s d ng pin B ngu n c a các h vi x lỦ thông th ng là b ngu n xung v i
k thu t đóng-ng t dùng linh ki n bán d n công su t (Switching Power Supply), v a g n
nh , công su t đ l n, hi u su t cao
PTIT
Trang 21Hình 1.2-Ngu n nuôi cho h máy tính
Phân lo i trên c s vi m ch
Tuy nhiên khi đ c p t i c u trúc c a HTN đ c xây d ng trên công ngh vi m ch, có th
có hai lo i khác bi t:
Vi đi u khi n (Microcontroller ) và vi x l (microprocessor) khác nhau theo vài cách, tr c
h t lƠ ch c n ng s d ng m t vi x lí, c n h p nh t nhi u thƠnh ph n vƠo đó: b nh , I/O,
COM ầ vƠ do v y vi x lí lƠ trung tơm c a c h th ng Trong khi đó vi đi u khi n đ c thi t k theo tiêu chí: t t c đ c tích h p trong m t vi m ch, đ c bi t lƠ các giao ti p I/O, t c lƠ s không
c n thêm thƠnh ph n nƠo vƠo đó L i ích lƠ ch ti t ki m th i gian thi t k và k ch th c s
nh g n r t nhi u Tuy nhiên do ph n c ng h n ch , nên l nh v c ng d ng c ng ph i đ c xác
đ nh
H th ng nhúng d a trên
b vi x lý trên bo m ch
(Microprocessor-based Embedded System)
H th ng nhúng v i
vi đi u khi n trên bo m ch
(Microcontroller-based Embedded System)
Có CPU đ c l p, có th lƠ CPU đa
Kích th c nh , g n
PTIT
Trang 23Hình 1.4 Chip Microcontroller và các thành ph n c b n, BUS k t n i bên trong.T t c trong m t chip
1.4.2 Ki n trúc c a CPU
Ph n nhi u các tài li u khi đ c p t i thi t k HTN, đ u dành m t s ch đ v ki n trúc và cách thi t k ch t o CPU ơy lƠ m t v n đ chuyên và r t sâu, tài li u này s không d n xu t Tài
li u ch gi i h n gi i thi u các ki u CPU có th s d ng đ thi t k HTN Các ki u CPU này r t
ph bi n trên th tr ng, r t đa d ng v i n ng l c x lý khác nhau và phù h p cho m i lo i ng
d ng nhúng D i đơy lƠ m t trong các quan đi m nhìn nh n CPU:
T p l nh: có th lƠ CISC hay RISC, trong đó RISC lƠ ph bi n
Ho t đ ng theo ki u Von Neumman, ví d đi n hình nh hình v trên, trong đó H
th ng BUS đ a ch và BUS d li u, BUS đi u khi n chung cho toƠn b h th ng, b
nh chia s chung cho toƠn h th ng v i vùng mã l nh (code) và d li u (data) trên cùng không gian đ a ch b nh và BUS d li u không th truy n đ ng th i mã l nh và
d li u cùng m t th i đi m Quá trình th c hi n m t l nh máy nh sau:
1) c mã l nh t ROM/RAM qua BUS d li u vào CPU, gi mư đ xác đ nh làm
gì ti p theo;
2) c d li u ti p theo là m t ph n c a l nh (operands) n u có;
3) Th c hi n l nh khi đư đ c h t các operands c a l nh;
4) L u k t qu vào thanh ghi hay ra RAM
PTIT
Trang 24Trong qua strình th c hi n l nh, BUS d li u là kênh duy nh t đ trao đ i d li u, do
v y ta nói BUS d li u có th b “b o hòa”, hi u n ng tính toán b h n ch V i các CPU hi n đ i BUS d li u đ c c i ti n r t nhi u, đ c bi t là giao th c BUS vƠ đ ng
h BUS đ c nơng cao đ c i thi n h n ch nói trên
Và ho t đ ng ki u Harvard v i m t s đ c đi m khác bi t :
Howard Aiken (1900-1973) khi xây d ng máy tính v i các relé đư tách các b nh
d li u (RAM) và b nh ch ng trình (NVM Non Volatile Memory: ROM,
FLASH) v i các bus riêng r đ truy c p vào b nh d li u (RAM) và b nh
ch ng trình ch a ph n m m nhúng (h đi u hành, Device drivers, ng d ng nhúng )
Bus cho l nh và Bus cho d li u tách bi t, đi u hƠnh đ c l p nên l nh và d li u có
th đ c đ a ra cùng m t lúc, c i thi n t c đ so v i thi t k v i ch m t bus
Phân bi t rõ ràng b nh d li u và b nh ch ng trình, CPU có th v a đ c m t
l nh, v a truy c p d li u t b nh cùng lúc
Do các BUS đ c l p, CPU có kh n ng tìm tr c các l nh (instruction prefetch),
nên v i ki n trúc Harvard ch ng trình ch y nhanh h n, b i vì nó có th th c hi n ngay l nh ti p theo khi v a k t thúc l nh tr c đó
Tuy nhiên v ki n trúc có ph n ph c t p h n trong ph n c ng, v i 2 BUS đ c l p gơy khó kh n nh t đ nh cho các ngôn ng l p trình c p cao (ví d nh C,ầ )
nh ng cho hi u qu h n cho các ng d ng nhúng Là lo i ph bi n đ thi t k các HTN
Hình 1.5 Hai ki u HTN v i 2 lo i ki n trúc CPU
PTIT
Trang 25Ví d Havard CPU ARM 920T, là lo i CPU c i ti n v i m t nh cache cho l nh và m t cache cho d
- Các b s hóa (A/D) vƠ t ng t hóa (D/A),
- Ghép n i v i các h th ng khác: liên k t các HTN khác, m ng d li u, Trung tâm
đi u khi n SCADA, ầ
- Ghép n i BUS h th ng
- CPU, RAM, ROM (FLASH),
PTIT
Trang 26Hình 1.7 Mô hình t ng quát HTN-Mô hình v i các kh i ch c n ng
PTIT
Trang 27 Ki n trúc tr u t ng: l p x p ch ng
Khi nói v ki n trúc m t h th ng, th ng ta đ c p tính t ng quát và nh ng ch c n ng
c b n Nh v y m c đ t ng quát, các l p ph n c ng và ph n m m đ c đ c p nh các
thành ph n (element) h p thành Các thành ph n ki n trúc có th h p nh t bên trong thi t b
nhúng ho c t n t i bên ngoƠi vƠ t ng tác v i các thành ph n bên trong theo m t cách nƠo đó cách nhìn ki n trúc, thì ki n trúc đ c bi u di n b i các c u trúc M i c u trúc bao g m m t t p
h p các thành ph n đ c tr ng, các thu c tính và nh ng đ c t v m i quan h bên trong các thành ph n đó
Ki n trúc l p x p ch ng có đ c tính là m i l p ch s d ng ch c n ng hay d ch v ) c a
t ng d i nó, đ ng th i ch cho phép t ng trên s d ng các ch c n ng d ch v ) c a mình Ki n
trúc này có l i th v an ninh, b n v ng, đ n gi n v thi t k , d nâng c p (các d ch v ), th c
hi n m i l p và kh n ng nơng c p “nóng” ngay c khi h th ng đang ho t đ ng Ví d nguyên lí
này ta th y mô hình m ng chu n OSI (Open Systems Interconnection), ki n trúc c a h đi u hành Unix/Linux
Mô hình m t NTH c ng đ c đ c t theo l p ki n trúc đ đ m b o v đ tin c y, đ n
Phân lo i HTN có th theo nhi u tiêu chí khác nhau và có th không hoàn toàn gi ng nhau (gi ng
nh khi nêu đ nh ngh a v HTN) Tuy nhiên có th nêu ra đơy m t s tiêu chí đ phân lo i HTN
HTN ho t đ ng đơu:
Ho t đ ng đ c l p: nh n đ u vào t các tác nhân b đi u khi n, x lỦ vƠ cho đ u ra
Th i gian có đ u ra (đáp ng) ph i trong m t khung th i gian nh t đ nh theo Ủ đ khi thi t k
PTIT
Trang 28 Ho t đ ng có liên k t v i nhau gi a các HTN và các trung tâm ki m soát khác Lo i này g i là HTN m ng Ví d các HTN c c b t i các thi t b ch p hƠnh đ u cu i c a
m t qui trình công ngh ph c t p liên k t qua m ng c c b c a nhà máy hay c a m t
c máy ph c t p H th ng m ng đi n tho i di đ ng là m t ví d ki u HTN m ng: máy ng i dùng <ứ> các tr m BTS <ứ> t ng đƠi <ứ> t ng đƠi <ứ> BTS <ứ> máy
ng i dùng Tên chung c a HNT l i nƠy lƠ HTN di đ ng
L nh v c ng d ng:
Công c tính toán nh các máy tính nh ng ch đ ch y các bài toán nh t đ nh
X lý tín hi u: các thi t b video th i gian th c, DVD player, thi t b y t ầ
Truy n thông, m ng: thi t b m ng nh router, chuy n m ch (switch), firewallầ
H th ng đi u khi n và thu th p d li u
Ki n trúc và qui mô:
HTN qui mô nh (Small Scale Embedded Systems) v i các xác đ nh nh sau:
- Ph n c ng ít ph c t p, thi t k v i CPU đ n, lo i 4, 8 bits;
- Ph n m m đ n gi n, dùng m t monitor đ ki m soát ho t đ ng;
- Công c phát tri n ph n m m: so n th o ch ng trình, h p ng và h p ng chéo (asembler, cross asembler), môi tr ng phát tri n h p nh t (integrated developememt enviroment) s d ng v i vi đi u khi n hay CPU đư ch n Ngôn ng phát tri n là C,
mư C đ c d ch ra nh phân t i u, đ nh v mã th c thi trong b nh ROM, dung
l ng b nh gi i h n
- Tiêu th n ng l ng r t ít
Ví d : HTN đ n gi n, ch có m t vài phím b m đ đ a thông tin vƠo, m t vƠi đèn LED
hi n đ u ra (tr ng thái nƠo đó) Ví d : HTN máy đi u hòa nhi t đ , lò nhi t v.v
HTN qui mô ph c t p:
- Ph n c ng ph c t p: Thi t k v i CPU 8,16 hay32 bits, hay s d ng vi đi u khi n;
- H th ng có c u trúc v i BUS m r ng đ ghép n i v i các thi t b ngo i vi;
- Ph n m m nhúng tinh vi, có h đi u hƠnh đ th c hi n các nhi m v , thao tác đ ng
th i Có th là lo i RTOS
- Công c l p trình: C/C++/Visual C++/Java, RTOS, mã ngu n, công c ki thu t: Simulator, Debugger Môi tr ng phát tri n h p nhât (Integrated Development Envirinment-IDE Công c soft đ xây d ng ph n c ng ph c h p
Ví d : các HTN trên các máy gia công (kim lo i, khuôn nh a v.v)
HTN tinh vi (Sophisticated Embedded Systems)
- Ph n c ng và ph n m m r t đ c bi t;
PTIT
Trang 29- Nhi u CPU và có th m r ng, hay các CPU có th c u hình đ c (configurable CPUs), hay m ng logic l p trình đ c (programable logic array-PLA);
- Phát tri n cho các l p ng d ng m i nh t khi các ng d ng lo i này c n ph i 8 có quá trình thi t k đ ng th i gi a ph n c ng và ph n m m, h p nh t các linh ki n h
th ng cu i cùng, s d ng công ngh ASIC đ ch t o CPU, vi m ch đ ng x lý (còn
g i là ChipSet hay Co-processor)
Ví d các h th ng hàng không quân s m i nh t trên các máy bay (military/civil avionic ), các thi t b m ng cao c pầ Các HTN ki u này b ch ng b i t c đ x lý
c a ph n c ng (CPUs), Các ch c n ng ph n m m nh các gi i thu t mã hóa/gi i mã,
gi i thu t chuy n đ i tín hi u s (Fourrier/Z transformation), giao th c TCP/IP
stack, các hàm ch c n ng m ng nhúng trong ph n c ng đ t ng t c x lý; M t s
ch c n ng ph n m m đ c c ng hóa (nh DSP) Công c phát tri n th ng không
có s n vì đ t ti n, do đó ph i phát tri n riêng khi d án đ c ch p nh n
1 HTN lƠ dƠnh đ th c hi n các tác v riêng bi t Các tác v riêng bi t đơy ph n l n
liên quan t i các x lý khác nhau chuyên bi t, các s ki n, các tr ng thái c a m t qui
trình công ngh , ví d qui trình đi u khi n máy công c , robot ầ Khi thay đ i qui trình, th ng d n t i thay đ i hay thi t k l i c h th ng Nh v y có th th y c n có
m t lo i b x lý thích h p cho l i tác v đư nêu B x lỦ nh v y g i là b x lý
chuyên bi t (dedicated microprocessor), nó không m nh nh b x lỦ đa n ng ta s
d ng trong máy tính, nh máy tính PC ch ng h n Ví d đi n hình là b x lý tín hi u
s DSP (Digital Signal Processor) dòng TMS320 (TMS320C6000™ Multicore DSPs, TMS320DM6446 DaVinci™ Video Processor ầ) c a Texas Instruments, hay các b
x lý MP3 (x lý d li u ơm thanh đư nén vƠ gi i mư đ a vƠo khuy ch đ i âm thanh
r i ra loa)
Ví d s đ kh i ch c n ng c a CPU DSP:
PTIT
Trang 30Hình 1.10 S đ kh i CPU DSP-MP3
Hình 1.11 B MP3 v i CPU BlackFin c a ANALOG DEVICES
2 Nh đi m 1 nêu trên, v ph n c ng, các HTN đ c thi t k t r t nhi u lo i CPU nhúng và các CPU nhúng b n thân chúng l i có ki n trúc khác nhau Hi n trên th
tr ng có th li t kê các ki u CPU nhúng nh : CPU v n n ng rút g n phù h p cho
ng d ng nhúng, các vi đi u khi n (microcontroller, PIC), các ki n trúc ki u h th ng trên m t vi m ch (PSoC-Programmable System on Chip)ầ
3 V ph n m m c s có th t đ n gi n cho t i tinh x o, h đi u hành th i gian th c
(RTOS-Real Time Operating System)
PTIT
Trang 31Low power fanless x86 compatible Embedded BIOS
Linux OS Watchdog timers Dual EIDE & floppy support USB, parallel port,
PS2 keyboard & Mouse Dual RS-232 serial
Hình 1.12 M t s ảTN th ng m i
PTIT
Trang 32 Các lo i vi đi u khi n d ng bo m ch
Các lo i vi x lý r i đ thi t k THN theo yêu c u ng d ng:
CPU : Intel 80X51, PIC 12F 675, Amtel 8051, PSoC (Programmable System on Chip) : CY8C29466ầ c đi m chung c a các lo i này là có ki n trúc đ y đ ch trong m t vi
m ch có m c đ tích h p c l n và r t l n (VLSI: Very Large Scale Integration)
B ng d i đơy li t kê s lo i CPU cho HTN t các hưng khác nhau (ch a đ y đ ):
1.5 K T CH NG
Ch ng nƠy gi i thi u v HTN t đ nh ngh a, mô hình, phơn lo i, các đ c thù và ki n trúc c a HTN Ch ng c ng nêu ra nh ng l nh v c công ngh mƠ HTN đ c s d ng T đó c ng b t ra
nh ng yêu c u k thu t trên HTN nói chung và HTN cho ng d ng riêng bi t
Tham kh o m t s đ nh ngh a HTN t các ngu n tài li u:
“ảTN là m t h th ng có ph n c ng đ c xây d ng trên n n t ng ph n c ng máy tính chuyên
bi t v i ph n m m đ c nhúng trong ph n c ng đó, nh m t trong các thành ph n quan tr ng
nh t c a ảTN ảTN do đó có th là m t h đ c l p hay là m t ph n c a m t h th ng l n h n.”
M t s đ nh ngh a v HTN:
PTIT
Trang 33Wayne Wolf: “ what is an embedded computing system ? Loosly defined, it is any device that includes a programmable computer but is not itself intended to be general- purpose computer” [Computers as Components – Principal of Embedded Computer System Design]
Told D Morton: “Embedded Systems are electronic systems that contain a microprocessor or microcontroller, but we do not think od them as computers – the computer is hidden or embedded
in the system” [Embedded Microcontrollers]
Tim Wi lmshurst: “ Embedded system is a system whose primcipal function is not computational, but which is controlled by a computer embedded within it The computer is liklly to be a
microprocessor or micro controller The word embedded implies that it lies inside the overal
system, hidden from view, forming an integral part of greater whole” [ An Introduction to the Design of Small Scale Embedded System with PIC, 80c51 and 68HC05/08 Microcontroller]
1.6 CỂU H I CU I CH NG
1) nh ngh a t ng đ i v HTN
2) Nh ng thách th c nào ph i đ i m t khi thi t k m t HTN ?
3) Nh ng cách đ nêu mô hình ki n trúc c a m t HTN ?
4) Th nào là HTN ki u vi x lý HTN ki u vi đi u khi n ?
5) Nêu các kh i ch c n ng trong hình 1.7 mô t v mô hình m t HTN
6) Có bao nhiêu lo i ki n trúc CPU đ c s d ng khi xây d ng HTN ? M i lo i khác nhau đi m nào ch y u ?
7) Nêu các thành ph n ph n c ng th ng có trong m t HTN ?
8) Các thành ph n nh bi n đ i t ng t -s (ADC), s -t ng t (DAC), đ nh th i (timer), c ng (port) nh t thi t c n có trên m t HTN ? T i sao ?
9) Có các lo i ph n m m nào trên m t HTN ? PTIT
Trang 34Ch ng 2 CỄC THÀNH PH N PH N C NG C A H TH NG NHỎNG
Ch ng 2 đ c p t i các thành ph n ph n c ng, n n t ng c s c a HTN Bao g m: b x lý trung tâm (CPU) v i ki n trúc Von Neumman và ki n trúc Harvard, BUS c a CPU và BUS h
th ng, b nh , c ng Ti p theo lƠ k thu t ghép n i các thi t b ngo i vi vào v i CPU, các ch ng trình đi u khi n ghép n i i v i CPU, tài li u nêu nguyên lí ki n trúc, các đ c tính k thu t và
bi u đ th i gian ho t đ ng c a CPU, giúp cho vi c thi t k ph n c ng sau này Riêng v t p l nh không đ c p t i, do v y khi s d ng m t CPU nƠo đó c n n m đ c t p l nh c a CPU đó đ có
th l p trình, vi t các trình đi u kh n b ng h p ng
N i dung ch ng cung c p các ki n th c ph n c ng vƠ k n ng thi t k , đ c bi t là thi t k ghép
n i v i thi t b Cu i ch ng lƠ m t s bài t p thi t k đ n gi n nh thi t k b nh ROM, RAM,
c ng v i CPU, t o thành m t bo m ch nh m t HTN ch a có các thi t b ngoài
2.1 B X Lệ TRUNG TỂM (Central Processing Unit-CPU)
Các h th ng s d ng k thu t tính toán s đ x lỦ thông tin đ u c n m t t h p các m ch s đ
t o ra m t h th ng có kh n ng: th c hi n các phép tính lí lu n lí (logic), các phép toán s h c, các quy t đ nh chuy n h ng th c hi n có hay không có đi u ki n ầ vƠ quan tr ng là ho t đ ng
theo m t h mã vi l nh (micro-instruction code) theo m t trình t nh t đ nh ụ t ng t o ra m t
h th ng đi n t s nh v y chính là t o ra m t b x lý trung tâm B x lý trung tâm ngày nay
r t tinh x o, kích th c r t nh ( ch l n h n 1 cmỬ ) nh ng ch a vài tr m tri u transistor, ho t
đ ng v i t n s t vài MHz t i vài GHz, công su t tiêu tán t vài Watt t i vài ch c Watt , ví d :
Intel Pentium G6950 công ngh : Clarkdale (32 nm), t n
s :2.8 GHz,Powerdissipation:73W.( http://en.wikipedia.org/wiki/List_of_CPU_power_dissipation
#Intel_Pentium_Dual-Core ) i l i t c đ tính toán đ t h n 1 t l nh máy trong m t giây (MIPS: milions Instruction per second) Ví d : Intel Core i7 Extreme Edition i980EE :147.600 MIPS at 3,3 GHz , 44.7 l nhmáy/chu kì xung đ ng h (v i f=3,3GHz, Tchukì=0,303 ns)
đ ng c h c ầ)
2.2.1 Các lo i CPU và nguyên lí ho t đ ng
PTIT
Trang 35Hi n nay trên th tr ng r t nhi u nhà s n xu t CPU v i nhi u ch ng lo i phù h p cho các ng
d ng Có th li t kê m t s nét đ phân bi t:
a) Cách t ch c và th c hi n l nh máy:
- V i t p l nh đ y đ (CICS)
- V i t p l nh rút g n (RISC)
b) Cách x lý thông tin và truy nh p b nh :
- Von Neumman: b nh chung, truy c p tu n t theo t ng l nh máy
- Harvard: b nh l nh và b nh d li u đ c l p, truy c p đ ng th i
c) Công ngh ch t o h ng ng d ng:
CPU đa n ng: ch t o máy tính đa n ng, HTN tinh vi, h đi u khi n thông minh
CPU chuyên d ng: các ng d ng đ c thù ( nh cho ng d ng nhúng) Trong ph m trù này l i có m t vài công ngh tiêu bi u:
- Vi đi u khi n (microcontroller và PIC-Programmable Intelligent Computer" (Máy tính kh trình thông minh))
- H th ng trong m t vi m ch l p trình đ c (PSoC- Programmable System on Chip: integrating configurable analog and digital peripheral functions, memory and a microcontroller on a single chip)
L p công ngh nƠy đ c s d ng ph bi n trong các HTN có đòi h i m c tinh x o trung bình hay th p
2.2.2 Ví d v m t CPU và nguyên lí ho t đ ng
có th th c hi n thi t k m t HTN, c n tìm hi u chi ti t v c u trúc, cách làm vi c và l p trình cho m t CPU đư ch n Ph n này gi i thi u dòng Intel CPU 808X, 8 bits hay 16 bits, đa n ng
c a Intel đ c s d ng r t ph bi n trên th gi i c ng nh Vi t Nam u đi m n i b t c a CPU này là tính ph bi n, đa n ng, d tri n khai, công c phát tri n r t đa d ng và s n có
a) S đ hình th c bên ngoài:
Hình 2.1 Intel CPU 8085
PTIT
Trang 36b) Ki n trúc: Mô hình ch c n ng bên trong CPU, ví d Intel 8080/8085
8085 là 8-bit microprocessor, trong đó d li u x lỦ lƠ 8 bits, không gian đ a ch đ c xác đ nh
b i 16 bits, cho dung l ng đ a ch là 65.535 (g i là 64K) ô nh Các thành ph n ch c n ng bao
g m:
T p các thanh ghi (Register)
n v th c thi các phép tính s h c và lu n lí (Arithmetic logic unit- ALU)
H th ng các dây n i gi a các vi m ch ch c n ng ( BUS)
Kh i đ nh th i vƠ đi u khi n (Timing & Control unit)
Kh i đi u ph i, ki m soát ng t (Interrupt Control)
Kh i truy n thông n i ti p (Serial I/O Control)
Hình 2.2 Các kh i ch c n ng c a CPU 8080/8085
1) T p các thanh ghi (Registers):
Các thanh ghi s d ng đ ch a d li u vƠ đ a ch Co hai lo i thanh ghi:
PTIT
Trang 37Thanh ghi đa n ng đ c dùng nh ch c n ng nh d li u t m th i hay đ ch t c th i qui chi u
t i b nh (ROM/RAM) Các thanh ghi 8 bits đó là B, C, D, E, H và L Khi ghép l i s thành thanh ghi 16 bits v i tên kép: BC, DE or HL
Thanh ghi đ c bi t là các thanh ghi gán cho ch c n ng đ c bi t (hay chuyên d ng):
Thanh ghi t ch l y ACC (Accumulator) hay A, là thanh ghi 8-bit, đa d ng cho các thao
tác vƠ các phép tính s h c, lu n lí, I/O, n p, nh d li u, toán h ng, k t qu phép toán khi th c hi n l nh
Thanh ghi ch s (Index register): đ c dùng làm ch s cho qui chi u đ a ch , cách dùng ph thu c vào ch đ đ a ch hóa
Thanh ghi đa n ng (General registers ) 16 bit chia ph n th p vƠ ph n cao:
8-bit B và 8-bit C hay k t h p thành c p BC 16-bit
8-bit D và 8-bit E hay k t h p thành c p DE 16-bit
8-bit H và 8-bit L hay k t h p thành c p HL 16-bit
Các thanh ghi nƠy dùng đ c l p hay k t h p ch a d li u hay đ a ch qui chi u vào b nh (ch đ d a ch hóa gián ti p qua thanh ghi)
Thanh ghi tr ng thái (Status register) hay C (Flag), là thanh ghi 8-bit, ch a các bit có
Parity, lên 1 n u s parity (là t ng c a các bit trong k t qu ) là s ch n
Carry, lên 1 n u có sô mang khi th c hi n phép c ng s h c hay borrow khi th c
hi n phép tr s h c hay phép so sánh giá tr
Thanh ghi ng n x p (Stack pointer): 16 bit Thanh ghi này m i l n t ng hay gi m 2 (+/-
2)
Thanh ghi l nh máy (Instruction register): 8 bit ch a mã l nh (OPCODE) t
ROM/RAM, đ u vào cho kh i Timing&Control đ gi i mã thành các tín hi u đi u khi n
c a CPU
Thanh đ m ch ng trình (Program counter), 16-bit, tr tr c ti p vƠo b nh n i ch a
mư l nh c a m i l nh a ch qui chi u t 0000h đ n FFFFh (0 đ n 65.535)
Trang 38BUS đ a ch (Address bus): Mang thông tin v d a ch qui chi u t i ROM/RAM, b gi i mã
ch n vi m ch V i CPU 8080/8085 có t t c 16 đ ng hay 16 bit BUS này ch có m t h ng (chi u) đi ra t CPU
BUS d li u (Data bus) : D li u trao đ i gi a CPU và các vi m ch bên ngoài, các thi t b ngoài s d ng BUS này Tùy lo i CPU có th là 8 bit, 16 bit, 32 bit, 64 bit S bit nƠy th ng dùng đ nói t i lo i CPU c đi m c b n c a BUS là hai chi u
BUS đi u khi n (Control bus): Các tín hi u đi u khi n phát ra t CPU t i các vi m ch ch c
n ng khác nhau trên bo m ch ch , các thi t b ngoài n i v i CPU Các tín hi u nƠy đ c dùng đ đ ng b m i b c ho t đ ng c a máy tính
N u m i ô nh lƠ 1 byte s có 65.535 byte hay 64 KB
Ki n trúc s d ng 64 bytes đ u tiên (000F-0000) đ đ t các vector ng t c a các l nh RST
d) Ng t (Interrupts)
CPU 8085 có 5 đ u vƠo tín hi u ng t (interrupt), trình bƠy theo th t u tiên t th p đ n cao:
INTR, che đ c Khi có ng t xu t hi n, CPU s tìm l nh trên BUS, l nh đó có th lƠ trong các
l nh RESTART (đ u có hi u l c kh i đ ng l i CPU) lo i RST (RST 5.5, RST 6.5, RST 7.5 vƠ TRAP) CPU b o l u giá tr c a PC vƠo ng n x p, chuy n t i ô nh có giá tr N*8, trong đó N có giá tr t 0 đ n 7 mƠ l nh RST cung c p Ô nh nƠy ch a đ a ch c a ch ng trình x lỦ cho ng t
RST 7.5 3C Hex ( u tiên cao nh t, tác d ng s n lên c a xung ng t)
L nh g i CALL (l nh có 3 byte ) CPU “g i” m t chu trình con có đ a ch xác đ nh byte th 2
Trang 39T t c các ng t che đ c có th l p không che hay che l p trình qua l nh EI vƠ DI RST 5.5, RST6.5 vƠ RST7.5 l p trình b ng l nh SIM
e) C ng vào/ra (I/O ports)
H 8080/8085 có t t c 256 c ng vào và ra, 256 c ng ra ch y theo l nh IN hay OUT
f) T p l nh (Instruction Set)
T p l nh c a CPU Intel 8085 g m các nhóm sau đơy:
- L nh chuy n d li u
- L nh s h c ậ c ng, tr , t ng, gi m
- Logic - AND, OR, XOR và quay vòng
- Chuy n đi u khi n đi có/không đi u ki n, g i chu trình, tr v ch c khi thoát kh i chu trình, kh i đ ng l i
- L nh vào/ra (I/O)
- Các l nh thao tác bit, c , cho phép/không cho phép ng t, ng n x p, ầ
g) Ch đ đ a ch (Addressing modes)
- Ki u thanh ghi: qui chi u d li u trong 1 thanh ghi hay đôi thanh ghi
- Gián ti p qua thanh ghi: Thanh ghi ch a đ a ch ô nh n i có d li u
Qui chi u tr c ti p ậ D li u 8 hay 16 bit
i) Các nhóm tín hi u trong CPU 8080/8085
A8 ậ A15 Nhóm tín hi u ra: 8 bit cao c a đ a ch , các chơn nƠy lƠ các chơn đ c n i v i bên
ngoƠi qua m ch 3 tr ng thái Các ph n t 3 tr ng thái s đ c đ t tr ng thái tr ng thái tr kháng cao (còn g i lƠ tr ng thái không k t n i) trong các tr ng h p m t trong các tín hi u HOLD hay HALT lƠ tích c c
AD0 ậ AD7 Nhóm tín hi u d n kênh cho các tín hi u đ a ch vƠ tín hi u d li u theo chia s
th i gian, 3 tr ng thái giai đo n đ u c a chu k máy, T1 c a M1, s lƠ byte th p c a 16 bit
đ a ch t A0 đ n A7
ALE (Address Latch Enable) Tín hi u ra qua m ch 3 tr ng thái c s d ng đ ch t byte
th p c a tín hi u đ a ch (A0 ậ A7) t nhóm AD0-AD7 Tín hi u nƠy đ c t o ra trong giai
đo n đ u tiên c a chu k máy, T1 c a M1, vƠ c ng đ c dùng đ ch t các tín hi u tr ng thái S0 vƠ S1 khi c n thi t
S0, S1 (Data BUS Status) LƠ các tín hi u ch tr ng thái c a các chơn thu c BUS d li u trong m i chu k máy T h p c a hai tín hi u nƠy c ng cho bi t tr ng thái c a CPU nh sau:
S1 S0 Tr ng thái ho t đ ng c a BUS d li u
0 0 Tr ng thái HALT
0 1 CPU đang th c hi n thao tác WRITE
1 0 CPU đang th c hi n thao tác đ c (READ)
1 1 CPU đang th c hi n thao tác nh n l nh (Instruction Fetch)
PTIT
Trang 40RD (Read) Chơn ra 3 tr ng thái N m trong nhóm tín hi u đi u khi n Tín hi u tích c c khi CPU ti n hƠnh đ c d li u t b nh ho c t thi t b ngo i vi Trong ch đ HALT ho c DMA, chơn ra nƠy tr ng thái tr ng thái tr kháng cao
WR (Write) Chơn ra 3 tr ng thái N m trong nhóm tín hi u đi u khi n Tín hi u tích c c khi CPU ti n hƠnh ghi d li u vƠo b nh ho c đ a d li u ra thi t b ngo i vi Trong các ch đ HALT ho c DMA, chơn ra nƠy tr ng thái tr ng thái tr kháng cao
IO/M Tr ng thái logic c a đ u ra nƠy cho bi t CPU đang lƠm vi c v i thi t b ngo i vi hay
v i b nh N u lƠ logic 1, CPU đang truy c p thi t b vƠo/ra, còn n u lƠ 0, CPU đang truy
c p b nh K t h p v i hai đ u ra RD vƠ WR đ t o ra các tín hi u I/OR, I/OW, MEMR, vƠ MEMW trong tr ng h p s d ng đ a ch tách bi t đ i v i thi t b vƠo/ra N m trong nhóm tín hi u đi u khi n, IO/M c ng lƠ đ u ra 3 tr ng thái
Interrupts P8085 có ng t đa m c Có 5 chơn ng t t t c : (INTR, RST5.5, RST6.5, RST7.5
vƠ TRAP) NgoƠi chơn ng t không che đ c lƠ TRAP, các chơn khác đ u có th che ho c không che nh l p trình ph n m m
INTR: Chân nh n yêu c u ng t t bên ngoƠi, đ c đáp ng theo nguyên t c quay vòng (polling) ho c vector thông qua l nh RST
Các yêu c u ng t RST: Có 3 đ u vào yêu c u ng t v i các m c u tiên khác nhau lƠ RST7.5, RST6.5 và RST5.5 Khi yêu c u ng t xu t hi n t i các chân này, CPU t đ ng chuy n đ n các vector ng t t ng ng C th nh sau:
- RST5.5 là m c u tiên th p nh t, ph n ng theo m c đi n áp trên chân yêu c u ng t,
TRAP: Là chân nh n yêu c u ng t không che đ c (d nhiên lƠ nó có m c u tiên cao nh t)
a ch c a vector ng t này ô nh 24H
INTA Tín hi u ra nh n bi t yêu c u ng t t i chân INTR Các yêu c u ng t RST5.5, RST6.5,
RST7.5 vƠ TRAP không tác đ ng đ n INTA
HOLD Tr ng thái logic 1 chân này là yêu c u c a thao tác DMA Các đ u ra RD, WR, IO/M và ALE s đ c đ a v tr ng thái tr kháng ra cao
HLDA Tín hi u nh n bi t yêu c u HOLD
RESET IN Logic th p 0 đ u vào c a chân này yêu c u tái kh i đ ng h vi x lý Do tác
đ ng c a tín hi u RESET IN tích c c, giá tr c a thanh đ m ch ng trình PC s đ c n p l i
là 0000h Các m t n ng t và tín hi u HLDA c ng đ c tái thi t l p v giá tr m c đ nh
RESET OUT u ra nh n bi t h vi x lỦ đ c tái kh i đ ng Dùng tín hi u nƠy đ tái kh i
PTIT