1
HC VIN CÔNG NGH N THÔNG
Khoa Công ngh thông Tin
B môn Khoa hc máy Tính
XÂY DNG CÁC
H THNG NHÚNG
Hà Ni, tháng 11
(bn sa và b sung)
2
Dy vƠ hc h thng nhúng lƠ đ cp ti mt ch đ có phm vi rng bao gm thit k,
môi trng ng dng, loi hình công ngh, qui tc cn thit đ tip cn mt cách có h thng.
Lnh vc thit k vƠ ng dng các h thng nhúng bao gm : các h thng vi điu khin (micro-
controller) nh vƠ đn gin, các h thng điu khin, h thng nhúng phơn tán, h thng trên
chip, mng máy tính (có dơy vƠ không dơy), các h thng PC nhúng, các h thng rƠng buc thi
gian, robotic, các thit b ngoƠi ca máy tính, x lỦ tín hiu, h thng lnh vƠ điu khinầ Nn
tng công ngh hin đi lƠ k thut vi đin t vi mt đ tích hp ln vƠ rt ln. Khi mun thit
k h thng nhúng, có nhiu yu t cn tuơn th ging nh khi thit k máy tính, nhng li b
rƠng buc bi đc thù ng dng. Thêm vƠo đó lƠ s đan chéo ca các k nng rt cn thit cho
thit k h thng nhúng, đc lp vn hƠnh, thit k vi tiêu chí tiêu hao nng lng thp, công
ngh phn cng, công ngh phn mm (h thng vƠ ng dng), h thi gian thc, tng tác
ngi máy vƠ đôi khi c vn đ an ninh h thng. Nh vy đƠo to vƠ hc h thng nhúng cn
mt khi lng kin thc tp hp ít nht t các b môn khác nh khoa hc máy tính (computer
science), khoa hc truyn thông (communication), k thut thit k đin t: các mch tng t vƠ
s, s dng tt các phn mm thit k bo mch (nh Protel, Proteus, DXPầ), kin thc v ch
to bán dn. Vì lƠ b môn công ngh có tính ng dng cao vi bƠi toán c th, nên li cn có
chuyên môn ca ngƠnh ngh, mƠ đó h thng nhúng s ng dng. Tóm li đơy lƠ mt ch đ
hp nht vƠ vic thc hin ch đ nƠy thc không d dƠng.
Vi lng thi gian nht đnh, môn hc XỂY DNG CÁC H THNG NHỎNG s
mang li cho ngi hc nhng vn đ c bn nht v h thng nhúng Chng 1. Chng 2 đ
cp ti kin trúc phn cng h thng, cách thit k mt s khi chc nng c s có tính thc t
cao. Chng 3 ch yu gii thiu v phn mm cƠi đt trên h thng nhúng, bao gm các trình
điu khin thit b, các phn mm trung gian, vƠ phn mm h thng đc cƠi đt . c bit nhc
li mt s yêu cu v khái nim ca các h thng thi gian thc vƠ h điu hƠnh thi gian thc.
Chng 4 gii thiu các tiêu chí vƠ phng pháp thit k h thông nhúng. Cui chng lƠ mt s
các bƠi tp ln kiu D án thit k, có th la chn cho thc hƠnh vi các kiu kin trúc h thng
nhúng khác nhau.
Nh đư nêu, đơy lƠ ch đ rng, mang tính k thut vƠ kin thc li đc tng hp t các
môn khác, nên tƠi liu nƠy chc không th tht s đy đ. Các phn kin thc nƠo không đc đ
cp sơu đơy, ngi hc cn tham kho thêm các tƠi liu khác, hay t các môn hc liên quan.
Tác gi xin chơn thƠnh cám n các cán b, ging viên Khoa Công ngh thông tin vƠ b
môn Khoa hc máy tính, Hc vin Công ngh BCVT HƠ Ni đư góp Ủ đ tác gi hoƠn thƠnh giáo
trình. Tác gi cng xin đón nhn các Ủ kin đóng góp, phê bình t ngi đc, ngi hc, sao cho
tƠi liu nƠy có ích hn. a ch theo e-mail:
3
HƠ Ni, tháng 10 nm 2013
Hunh Thúc Cc,
Vin Công ngh thông tin, VAST, 18, HoƠng Quc Vit, HƠ Ni.
4
Li nói đu 2
Mt s ch vit tt 7
Danh sách các hình v 9
Chng 1. GII THIU CHUNG V CÁC H THNG NHÚNG 15
1.1 KHÁI NIM V H THNG NHÚNG (HTN) 15
1.2 C IM CA HTN 15
1.3 CÁC YÊU CU VI HTN 18
1.4 MÔ HÌNH TNG TH HTN 19
1.4.1 Mô hình cu trúc phn cng ca máy tính 19
1.4.2 Kin trúc ca CPU 23
1.4.3 Mô hình tng quát ca mt HTN 25
1.4 PHÂN LOI HTN 27
1.5 KT CHNG 32
1.6 CÂU HI CUI CHNG 33
Chng 2. CÁC THÀNH PHN PHN CNG CA H THNG NHÚNG 34
2.1 B X LÍ TRUNG TÂM (Central Processing Unit-CPU) 34
2.2.1 Các loi CPU và nguyên lí hot đng 34
2.2.2 Ví d v mt CPU và nguyên lí hot đng 35
2.2 CPU 8085 VÀ H THNG BUS 44
2.2.1 Khái nim và bn cht vt lý ca các BUS 45
2.2.2 Khuych đ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 Trng tài BUS (bus arbitration) 51
2.2.6 Bus m rng (Expansion bus) EISA, MCA, Bus cc b, PCI 54
2.2.7 Bus SPI (Serial Peripheral Interface ) 55
2.2.8 Bus I
2
C (Inter-Integrated Circuit) 56
2.2.9 Thc hin k thut ca BUS 62
2.3 BO MCH mt HTN VI CU HÌNH TI THIU 66
2.4 HTN VI CÁC CPU KHÁC NHAU 69
2.4.1 CPU đa nng 16 bit 69
2.4.2 Bo mch vi CPU HARVARD (microcontroller Unit-MCU) h Intel 8051/8052/8xC25173
5
2.4.3 Vi mch H thng kh trình trong mt 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À THIT K B NH 98
2.5.1 Mt s thông s chính ca mch nh 99
2.5.2 Phân loi b nh 101
2.5.3 Phân cp b nh 108
2.5.4 T chc b nh vt lý và thit k b nh 110
2.6 GHÉP NI VI THIT B NGOI VI 121
2.6.1 Tng quan 121
2.6.2 Ghép ni CPU ch đng 125
2.6.3 Ghép ni I/O ch đng 130
2.6.4 Cng vào/ra 144
2.6.5 Ghép ni vi tín hiu tng t (analog signal) 150
2.6.6 Bin đi tng t thành s (s hóa) 152
2.6.7 Bin đi s thƠnh tng t (DAC) 153
2.7 KT CHNG 153
2.8 CÂU HI VÀ BÀI TP 153
2.8.1 Câu hi cui chng 153
2.8.2 Bài tp cui chng 154
Chng 3. CÁC THÀNH PHN PHN MM CA H THNG NHÚNG 156
3.1 TRỊNH IU KHIN THIT B ( vit tt: TKTB) 156
3.1.1 Tng quan 156
3.1.2 Các loi TKTB 160
3.1.3 3.1.3 Hot đng ca TKTB 161
3.1.4 Phát trin TKTB 161
3.1.5 Mt s ví d v TKTB 163
3.2 H THNG NHÚNG THI GIAN THC 165
3.2.1 H điu hành đa nhim (multitasking) 165
3.2.2 H thng thi gian thc 184
3.2.3 H điu hành thi gian thc (RTOS) 189
3.2.4 H thi gian thc không có h điu hành thi gian thc 195
3.3 PHN MM TRUNG GIAN (middleware) 198
3.4 PHN MM NG DNG 200
6
3.5 KT CHNG 201
3.6 CÂU HI CUI CHNG 201
Chng 4 THIT K VÀ CÀI T CÁC H THNG NHÚNG 203
4.1 THIT K H THNG 203
4.1.1 Các nn tng c bn khi xây dng kin trúc HTN 207
4.1.2 Phân hoch thit k phn cng, phn mm 211
4.1.3 Xây dng bo mch khi phát trin h thng 217
4.2 CÀI T VÀ TH NGHIM HTN 221
4.2.1 Chn CPU cho thit k 221
4.2.2 B nh cho HTN 223
4.2.3 Ghép ni vi thit b 225
4.2.4 Phát trin phn mm cho HTN 225
4.2.5 G ri và mô phng 235
4.2.6 Phát trin HTN 240
4.2.7 Ví d phát trin HTN 266
4.3 KT CHNG 267
4.4 CÂU HI CUI CHNG 267
TÀI LIU THAM KHO 267
PH LC Các ví d 270
7
CPU
Central Processing Unit
n v x lý trung tâm
ROM
Read Only Memory
B nh chi đc
EPROM
Erasable programmable read-only
memory
B nh ch đc, xóa và lp trình li đc
RAM
Random Access Memory
b nh truy cp ngu nhiên
FLASH
non-volatile computer storage
(
memory cards, USB flash drives,
solid-state drives -SSD)
B nh bán dn không b mt ni dung ngay c khi
không cung cp ngun nuôi
OS
Operating System
H điu hành
RTOS
Real Time Operating System
H điu hành thi gian thc
ES
Embedded System
H thng nhúng
HTN
Embedded System
H thng nhúng
OS hay HH
Operating System
H iu Hành
TKTB
Device Driver
Trình điu khin thit b
PLC
Programmable Logic Controller
b điu khin logic kh trình
PIC
Programmable Intelligent
Computer
Máy tính kh trình thông minh
PSoC
Programmable System - on - Chip
H thng kh trinh trên vi mch
ASIC
Application-Specific Integrated
Circuit
ASIC là mt vi mch đc thit k dành cho mt
ng dng c th theo yêu cu cá bit
MCU
Microcontroller Unit
Vi điu khin
CICS
Complex Instruction Set
Tp lnh đy đ
RISC
Reduced Instruction Set
Tp lnh rút gn
SPI
Serial Peripheral Interface
ng liên kt d liu ni tip, đng b, hot đng
theo kiu Ch/t (Master/Slave)
I
2
C
Inter-Integrated Circuit
Bus dùng đ ni gia các vi mch đin t ầ
8
USART
Universal Serial Aynchronous
Receiver/Transmitter
B thu/phát ni tip di b đa nng
ISR
Interrupt Service Routine
Chng trình con x lí ngt hay Dch v x lí ngt
MAC
Media Access Control
iu khin truy nhp môi trng (mng máy tính).
Ví d: MAC address: a ch vt lí ca thit b
mng.
MIPS
Million instructions per second
Triu lnh máy trong mt giây
IDE
Integrated Development
Environment, hoc:
Integrated Design Environment
hoc:
Integrated Debugging
Environment
Là tp các phn mm h tr các công c, tin ích
đê phát trin phn mm máy tính, bao gm:
Son tho mã ngun, trình thông dch, trình biên
dch, trình g ri
ICE
In-Circuit Emulator
Là loi thit b phn cng dùng đ g ri khi phát
trin phn cng và phn mm hp nht, nh HTN.
Vid d nh Logic anlyzer, phn mm MPLAB ca
Microchip
9
Hình 1.1 Mô hình tng quát bo mch ch
Hình 1.2 Ngun nuôi cho h máy tính
Hình 1.3 HTN xây dng t xây dng t vi x lý(Microprocessor-based) vƠ vi điu khin
(microcontroller based)
Hình 1.4 Microcontroller và các thành phn c bn, BUS kt ni bên trong.Tt c trong mt
chip
Hình 1.5 Hai kiu HTN vi 2 loi kin trúc CPU
Hình1.6 Havard CPU ARM 920T ca Amtel
Hình 1.7 Mô hình tng quát HTN-Mô hình vi các khi chc nng
Hình 1.8 Mt cách nhìn khác v mô hình tng quát HTN:Vi các khi ngoi vi và phn
mm
Hình 1.9 Kin trúc tru tng HTN
Hình 1.10 S đ khi CPU DSP-MP3.
Hình 1.11 B MP3 vi CPU BlackFin ca ANALOG DEVICES
Hình 1.12 Mt s HTN thng mi
Hình 2.1 Intel CPU 8085
Hình 2.2 Các khi chc nng ca CPU 8080/8085
Hình 2.3 Các khái nin qui chiu theo CPU Clock
Hình 2.4 Lu đ thi gian c s ca CPU 8085 (Theo tài liu ca hãng Intel)
Hình 2.5 Biu đ thi gian ca chu kì tìm lnh.
Hình 2.6 Cu hình ti thiu: CPU 8085 và to BUS h thng
Hình 2.7 CPU Bus và BUS h thng
Hình2.8 Chu kì đc đng b
Hình 2.9 BUS không đng b, hot đng đng b bi “đi thoi” gia các tín hiu điu
khin
Hình 2.10 BUS chui quay vòng (daisy chaining)
Hình 2.11 Trng tài BUS
Hình 2.12 Trng tài Bus không tp trung trong multibus
Hình 2.13 Liên kt qua bus SPI
Hình 2.14 Liên kt qua bus I2C
10
Hình 2.15 Nguyên lí ni BUS I
2
C
Hình 2.16 Ghi/đc trên BUS I
2
C
Hình 2.17 Ví d d liu thu/phát trên BUS I
2
C
Hình 2.18 Các mch logic thng dùng trong thit k k thut s
Hình 2.19 Các kiu ni đu ra, đu ra tr kháng cao
Hình 2.20 Vi mch 3 trng thái: hai trng thái logic và
trng thái th 3 HZ: đu ra b “tách” khi BUS.
Hình 2.21 Mch cht (hay nh, gi li) kiu D,
làm vic theo mc hay sn lên ca xung đng h CK. (Xem thêm chi tit mach
SN 7474).
Hình2.22 Cht 4 bit vi D-Flip/flop
Hình 2.23 Cng khuych đi (driver) cht hai chiu
Hình 2.24 Cu hình ti thiu bo mch CPU 8085, RAM/ROM/Ports
Hình 2.25 Mch in cho hình 2.24
Hình 2.26 CPU Intel x86
Hình 2.27 Bo mch vi ti thiu vi CPU 8086:BUS controller, Ngt controller, RAM
Hình 2.28 CPU 8086 timing: lnh đc
Hình 2.29 Mô hình kin trúc Havard:
BUS cho b nh chng trình: Code Bus vƠ Code Address;
BUS cho RAM d liu: Data Bus và Data Address;
SRC1, SRC2:ngun, DST: đích, lƠ các Bus ni b.
Hình 2.30 Các khi chc nng ca CPU 8051/8052
Hình 2.31 CPU 8051: EEPROM, RAM bên trong
và kh nng m rng b nh ti 128 KB (64 KB code+64 KB data)
Hình 2.32 Bo mch vi CPU 8051/8052
Hình 2.33 Các khi chc nng ca nhân 8XC251Sx
Hình 2.34 CPU 8051
Hình 2.35 Phân hoch đa ch trong CPU 8051
Hình 2.36 Bo mch vi CPU Intel 8051 và RAM, ROM m rng bên ngoài.
Hình 2.37 Mô hình mt vi điu khin kiu PSoC hay PIC kiu Vi x lí trong mt Chip
(Microprocessor-based system on a chip)
11
Hình 2.38 Vi điu khin PSoC CY8C29466
Hình 2.39 B trí võ-chân PIC 12F675
Hình 2.40 Mô hình khi chc nng PIC12F629/675
Hình 2.41 Vi điu khin PIC 16F882/883/88
Hình 2.42 Cách to bit nh c đnh bng công tc c hc hay diode bán dn
Hình 2.43 Mô hình đu vào/ra ca phn t nh
Hình 2.44 Cách t chc 1 đn v nh chun (1 byte) t các phn t 1 bit, 4bit và 8 bit
Hình 2.45 Phân loi b nh
Hình 2.46 Các loi b nh ROM
Hình 2.47 Các loi RAM
Hình 2.48 1 phn t RAM tnh
Hình 2.49 1 chip RAM 32K x 8 (32K byte)
Hình 2.50 Phn t DRAM, 1 bit DRAM và ma trn DRAM
Hình 2.51 Các cách ghi/đc/lƠm ti ca DRAM
Hình 2.52 Phân cp b nh
Hình 2.53 Mô hình hot đng ca RAM cache
Hình 2.54 S đ võ ngoài mt vi mch (chip) nh (pin-out)
Hình 2.55 S đ khi chc nng bên trong chip 16K x 1 bit
Hình 2.56 S đ thit k bng nh SRAM 16K x 8, vi Chip 16Kx1
Hình 2.57 S đ khi chc nng ca 1 chip DRAM thng mi 4164Kb
Hình 2.58 Quan h các tín hiu điu khin DRAM 4164x1 thng mi.
Hình 2.59 CPU 8080/8085 Module DRAM 64 KB toàn phn
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 thut ghép ni
Hình 2.64 Các kiu ghép ni
Hình 2.65 c d liu vào: D liu_t thit b vƠo ACC sau đó vƠo RAM
Hình 2.66 a d liu t RAM vƠo ACC sau đó ACC ra thit b
Hình 2.67 Trao đi d liu đc vƠo có điu kin
Hình 2.68 Lu đ điu khin đc d liu vƠ có điu kin
Hình 2.69 Lu đ điu khin đc d liu kiu quay vòng
Hình 2.70 Mô hình hot đng ca ngt
12
Hình 2.71 Các kiu ngt
Hình 2.72 Thit kt vi ngt cng che đc INTR ca CPU
Hình 2.73 Vector ngt và chuyn x lý ti ISR
Hình 2.74 T chc ngt vi điu khin ngt
Hình 2.75 M rng s ngt vi 2 vi mch 8259
Hình 2.76 Nguyên lí DMA
Hình 2.77 DMA và hot đng ca CPU lƠ đc lp
Hình 2.78 Ghép ni DMAC 8237 vào vi CPU 8085vƠ lu đ thi gian ca qui trình DMA
Hình 2.79 Lu đ DMA ghi d liu t RAM ra thit b ngoài
Hình 2.80 nh ngha các chơn ca cng SSP
Hình 2.68 Cng song song trên PC và gii ngha các chơn cng
Hình 2.81 Lu đ các tín hiu cng song song
Hình 2.82 Cng song song hai chiu
Hình 2.83 u ni RS 232 các loi DB9, DB 25 và DEC MMJ
Hinh 2.84 PC làm h phát trin phn mm cho HTN, phù hp tín hiu gia RS-232 cua PC
và cng SI-P ca HTN đang phát trin
Hình 2.85 Cng SI-P đn gin, dùng ngun t RS 232 ca 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 tp thit k ghép ni ADC, cng LPT vào máy tính PC
Hình 3.1 Mô hình tng quát các phn mm trên máy tính
Hình 3.2 Mô hình tng quát các kiu sp xp phn mm trên máy tính
Hình 3.3 Trng thái ca tin trình
Hình 3.4 Trin khai API qua GHT
Hình 3.4 Nguyên lí đa trình và quan h gia ch đ ngi dùng và ch đ nhơn HH
Hình 3.5 Các kiu tác v
Hình 3.6 Hu ht các loi tác v đ xuyên qua lp biu.
Hình 3.7 Biu đ thc hin mt tác v
Hình 3.8 Phân loi các gii thut lp lch thc hin tác v
Hình 3.9 Quay vòng kt hp u tiên vƠ chen ngang
Hình 3.10 Mô hình nguyên lí cho WD
13
Hình 3.12 S kin vƠ đáp ng
Hình 3.13 RTOS nhân thi gian thc vƠ RTOS đa nng
Hình 3.14 Module lp biu ca nhơn HH
Hình 3.15 Các chc nng nhơn RTOS
Hình 3.16 Các h điu hành RTOS
Hình 3.17 H thng nhúng thi gian thc
Hình 3.18 V trí cua PMTG HTN
Hình 3.19 Mô hình các lp mng theo TCP/IP, OSI và ánh x vào HTN
Hình 3.20 Các ng dng WEB trong HTN, đt lp phn mm ng dng
Hình 4.1 Các thuc tính chung ca phn cng ca mt HTN
Hình 4.2 Mt kiu đc t tin thit k HTN
Hình 4.3 Kch bn mô phng hiu nng khi thit k HTN
Hình 4.4 Các cu trúc kiu “4+1”
Hình 4.5 Các pha thit k HTN
Hình 4.6 Gii thut thit k máy in laser: phân hoch cng/mm
Hình 4.7 Phân hoch thit k phn cng và phn mm
Hình 4.8 ng thit k phn cng và phn mm-đng kim nghim, ti uthit k
Hình 4.9 Qui trình thit k kiu ASIC
Hình 4.10 Xây dng mô hình hình thc: Bc sàng lc s dng cách tng hp phn cng
và phn mm đ chuyn hóa xác đnh chc nng vƠo mô hình phn cng ca thit
k.
Hình 4.11 Bo mch HTN
Hình 4.12 Mi tng quan gia giá thành h thng/hiu nng
và mc đ tích hp thng/hiu nng
Hình 4.14 Quá trình biên dch thành mã maý to ra HH
Hình 4.15 nh dng mt tp thc thi ELF
Hình 4.16 Tng quát các bc to nhơn HH mi t mã ngun
Hình 4.17 Tng quát các bc to nhơn HH mi t mã ngun và kiu khi đng
Hình 4.19 Các loi công c h tr g ri
Hình 4.20 Kt qu hin th ca g ri
Hình 4.21 Liên kt gi h phát trin và h đích đang đc g ri
14
Hình 4.22 Môi trng phát trin chéo: h phát trin ậ công c - HTN đích
Hình 4.23 H thng nhúng : phn mm nhúng và phn cngnhúng
Hình 4.24 H phát trin HTN
Hình 4.25 Qui trình phát trin phn mm đích đ np vƠo HTN đích.
Hình 4.26 Qui trình phát trin phn mm cho HTN
Hình 4.27 S đ đn gin h thng và ánh x b nh vào EEPROM hay FLASH ca HTN
đích.
Hình 4.28 Vai trò ca trình loader
Hình 4.29 Phn program header table ch ra các phơn đon đc s dng lúc chy chng
trình (run time) và phn header lit kê tp các phn nh phân : .text: mư chng
trình, .rodata: d liu ch đc, .data: d liu đc/ghi đc.
Hình 4.30 nh x thc thi chuyn vào b nh ca h thng
Hình 4.31 Ví d tng quan v boostrap h thng
Hình 4.32 Trình t boot boot image chy t ROM
Hình 4.33 Trình t boot thc hin RAM sau khi image đư đc copy t ROM vào RAM
Hình 4.34 Chy image sau khi đư ti xung h đích t h pht trin (PC)
Hình 4.35 Tin trình khi đng phn mm HTN
15
.
1.1
Nhìn li nhng nm 70 th k trc, x lỦ thông tin thng phi s dng các máy tính ln hay
máy tính mini (ví d dòng máy mini PDP 11 ca hãng DEC mt h thng thng tr trong truyn
thông). Cho ti nhng nm 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 dng cho x lý thông tin bi kh nng tính toán nhanh, gn nh
vƠ di đng linh hot. Giai đon tip theo là kh nng ch to vi mch kích thc vƠi trm micro
mét và nano mét ca nhng nm chín mi, đư thúc đy xu hng nh hóa (miniaturization) và
đa dng các dòng vi x lý, phát trin mnh m. Các b vi x lỦ đa nng vƠ s xut hin các vi x
lý chuyên bit (ASIC- application-specific integrated circuit) đc ch to vi s lng ln cha
tng thy. Vic s dng các b vi x lý chuyên bit đ to ra các thit b chuyên x lý mt hay
mt vƠi bƠi toán k thut, to ra mt nghành công ngh mi, gi là công ngh nhúng. Sn phm
ca công ngh nhúng này là các h thng nhúng.
Vy h thng nhúng (HTN- Embedded system) là gì ?
Có nhiu đnh ngha v HTN, nhng nu ta ly tiêu chí mô t HTN làm cái gì và s dng nó nh
th nào, thì có th nói v HTN nh sau:
H thng nhúng là mt thut ng đ ch mt h thng có kh nng hot đng t tr đc
nhúng vào trong mt môi trng hay mt h thng khác qui mô phc tp hn. ó lƠ các h thng
tích hp c phn cng (là mt h thng máy tính đc xây dng trên c s s dng vi x lý -
microprocessor-based system) và phn phm nhúng trong phn cng đó, đ thc hin các bài
toán chuyên bit.
Hay theo đnh ngha ca t chc IEEE thì h thng nhúng là mt h tính toán (máy tính
s) nm trong (hay c nhúng vào) sn phm khác ln hn vƠ rng thông thng n đi vi
ngi s dng. Nói rng ra, vƠ đn gin hn, khi mt h tính toán (có th là PC, IPC, PLC, vi x
lý, vi h thng (microcontroller), DSP v.v ) đc nhúng vào trong mt sn phm hay mt h
thng nƠo đó vƠ thc hin mt s chc nng c th ca h thng đó, thì ta gi h tính toán đó lƠ
mt h thng nhúng. Tuy nhiên tht không d gì đnh ngha cho tht đúng v HTN, đnh ngha
trên rt ít nói ti công ngh vƠ cng rt đn gin. Hin nay cha có đnh ngha nƠo tht tha đáng
v HTN, ví d nu ly chc nng x lý thông tin, thì HTN là mt phn x lý thông tin nhúng
trong các h thng ln hn vƠ phc tp hn, hay cng có th là mt h thng đc lp vn hành t
đng. Ví d gn gi ta có: máy tính cá nhơn, hay máy ch, là mt h thng phc tp đc xây
dng t các thành phn hot đng đc lp nhng đc đng b vi nhau. V điu khin đ ha,
có vi điu khin rt mnh x lỦ đ ha, v điu khin trên đa cng có vi điu khin chuyên dng
đ x lý tín hiu, ghi/đc d liu t đa t tính theo yêu cu ca h điu hƠnh, v mng cng lƠ
mt vi điu khin tinh vi x lý tín hiuầ ó lƠ các h thng con đc nhúng trong h thng máy
tính nói chung. Mc dù vy ta cng s nêu ra đơy mt s đim chung v HTN.
1.2
16
hiu rõ hn v HTN, ta nêu ra mt s đc đim đ nhn bit v mt h thng nhúng:
Là mt kiu máy tính ng dc bit, rt gii hn v phn cng và phn mm khi so
sánh vi các máy tính đa nng, nh máy tính cá nhơn, máy ch, siêu máy tính. iu đó nói
lên rng hiu nng x lỦ, nng lng tiêu th, b nh, các phn cng khác đu hn ch. Còn
phn mm hn ch, hay phn mm là c đnh, có ngha h điu hƠnh đc thit k phù hp
vi các x lỦ đư đnh. Hin nay h điu hƠnh thng s dng là h điu hƠnh đa nhim (nh
DOS 6.X h tr đa nhim trên các loi HTN dòng PC 104), hay h điu hành thi gian thc.
Nu không có h điu hƠnh, thì cng lƠ mt kiu chng trình điu khin chung (monitor)
nƠo đó. Phn mm vit ra không có các phn mã có mc đ tru tng hay có cng mc
thp. Mã thc thi (gm h điu hành và các ng dng) đc np vào b nh ROM. Nhìn
chung mã thc thi có kích thc nh và ti u vì ROM có dung lng nh. Tuy nhiên vi s
phát trin nhanh chóng ca công ngh, cách nêu trên có th thay đi, bi s có các HTN rt
tinh xo và mc đ phc tp rt cao, b nh có th đn vài chc mega bytes.
c thit k thc hin mt hay vài ng dnh, chuyên bit (Application
specific), ví d các thit b nhúng công nghip nh robot thuc loi này. Tuy nhiên có nhng
thit b nhúng khác nh các PDA, đin thoi di đng, là các HTN có kh nng thc hin
nhiu chc nng hn. Hay các Tivi k thut s li có th thc hin các ng dng tng tác
vi màn hình cm ng, v.vầ Tuy nhiên xu hng hin nay là to ra các HTN kh trình có
giao din kt ni vi mt h phát trin khác đ nâng cp phn mm.
HTN tng tác vi môi trng ng dng qua nhiu phng thc:
Qua các b cm bin (sensor), ghép ni vào HTN bng dây dn, hay không dây;
Phát trin các giao thc truyn tin riêng bit, hay theo các giao thc chun đ trao
đi thông tin vi các thit b khác, có th có h tr ni mng LAN;
HTN thuc loi thit b thông minh t phn ng (reactive), b đng nhng tng
tác liên tc vi môi trng vƠ có đáp ng kp thi vi nhng tin trin (s kin)
mƠ môi trng đó xác lp.
Tng tác ngi-máy rt đn gin nu có vì HTN chy đc lp và thông tin vi h
thng ln hn lƠ chính. NgƠy nay xu hng WEB hóa giao din tng tác lƠ ph
bin, ví d các thit b kt ni mng Internet nh ADSL dòng SOHO (Small
Office-Home Office), có WEB đ làm cu hình và qun tr. Tng t, các HTN
công nghip cng phát trin theo xu hng nƠy đ d qun tr t trung tơm điu
khin.
HTN hoc lp, do đó các đc đim sau đơy:
tin cy, lí tng là không có s c hng hóc.
Bo trì: thi gian bo trì nhanh chóng.
Có tính sn sàng cao, là kt qu ca s tin cy và bo trì.
17
An toàn: nu có s c xy ra, HTN không gây ra nhng tác hi khác ca toàn h
thng.
An ninh: d liu ca HTN đc bo mt, truy nhp phi có xác nhn (ví d, HTN
là các thit b truyn thông, SOHO).
HTN là mt kiu máy tính có yêu cu v ch tin cy rt cao, hoc
ng khc nghit v nhit đ (cao, hay rt thp), đ m cao, đ rung đng
ln, nhiu sóng đin t v.vầ Ví d các máy tính trong công nghip, các thit b truyn thông,
trm BTS chng hn, hay các máy tính điu khin trên máy bay (fly by wire)ầ
Phn ln các h thng nhúng hot đng vi s ràng buc thi gian: yêu cu có thi gian
cho (đáp ng) đu ra nhanh, đúng thi đim, trong mi tng quan vi thi đim xut hin
ca (s kin) đu vào. Kiu hot đng nh vy gi là to đáp ng theo thi gian thc. Thi
gian thc có th chia ra làm hai kiu:
Nhy cm vi thi gian (time- sensitive): s kin ch đc x lý trong mt khung
thi gian nht đnh;
Thi gian ti hn (time critical): khi có s kin, h thng phi phn ng ngay,
chuyn nhanh nht đn mư chng trình ng vi s kin đó đ x lý, nói cách
khác trong mt ca s thi gian cho phép, x lý phi đc thc hin và phi có
đáp ng đu ra. Ví d nu vòng phn hi trong các h có điu khin đó HTN lƠ
b điu khin chy gii thut điu khin không đ nhanh (x lý, tính toán quá lâu),
h thng tr nên không n đnh.
Có hiu nng cao. Các s đo sau đơy se phn ánh đc tính này:
S dng nng lng thp và hiu qu. Có th thy đim này các thit b di đng.
Mã phn mm có kích thc rt ti u, vì mư phi cài toàn b trên HTN.
Thi gian x lý tác v (run-time) phi nhanh, s dng ít tài nguyên phn cng (vì
liên quan ti tiêu hao nng lng).
Trng lng nh. ơy lƠ mt trong nhng lc chn khi mua mt HNT.
Giá thành rt cnh tranh. Mun vy thit k và s dng phn cng, phn mm cn
quan tâm ti hiu qu.
Di đơy lƠ các ví d v các HTN nhìn góc đ s dng:
c ng dng
Thit b nhúng
Ô tô
ánh la đin t, iu khin đng c, h thng phanh, h s ầ
in t tiêu dùng
Tivi analog, Tivi s, CD, DVD, VCR,ầ
PDA, in thoi di đng, CAMCODER, GPS, t điu hòa, t
18
lnh, lƠ vi sóng ầ
Công nghip
Robot, dây chuyn sn xut t đng, SCADA agentsầ
Y t
Máy thm tách, máy pha-lc, máy th, máy tr tim, máy quét ct
lát, rt nhiu thit b y t hin điầ
Mng thông tin (WAN, LAN, thoi)
B đnh tuyn, gateway, chuyn mch mng, các thit b truyn
thông-mng, trm chuyn tip, BTS di đng ầ
Vn 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 lnh vc khác: an ninh, quc
phòng, hàng không, hàng hi
c hp nht trong rt nhiu khí tài hin đi ca tt c các binh
chng .
1.3 HTN
HTN thc t là mt loi máy tính dùng đ x lỦ thông tin đư dng s. HTN có th là
mt h thng đc lp nh mt thit b tích cc trong mô hình điu khin, tc HTN là mt
regulator s, thc hin các chc nng ca PID regulator, khi các chc nng nƠy đc th hin
bi thut toán và chuyn hóa dng mư chng trình trong HTN. Trong khi đó HTN li là mt
phn ca mt qui trình công ngh trong công nghip. Nh trên đư lit kê các đc đim chung mà
các h thng nhúng thng có, t nhiên ta có th rút ra đc nhng yêu cu cn có trên mt h
thng nhúng.
1. Kh ng vi s kin bên ngoài (t các tác nhân b kim soát) phi nhanh
nhy, kp thi, tc là kh nng theo thi gian thc:
Các tác v ng ràng buc bi thi hn chót (deadline);
Thi gian phát hin li phi rt ngn (ti thiu);
Khi chy các chu trình vòng lu khin bng phn mm phng
i hn;
2. Có kh nng lƠm ng khc nghit.
3. Có giá thành thp hay hiu qu hong/giá thành hp lí.
4. c nh gn, nh, d mang d vn chuyn, lp đt.
5. Tiêu th ng thp, kh nng s dng ngun pin, c qui (tt nhiên ph thuc vào
dung lng ca pin, c qui).
6. Hong tin cy, chu li cao
Tin cng dch v yêu cu i hn sau thi gian t t
0
n t;
19
Cho hng s ca t s s c trong thi gian 1 gi ng h là e (e/h), thì biu
din t s s c là R(t)=exp
(-e(t-t0))
i gian gia 2 ln s c (Mean
Time To Failure- MTTF) s là 1/R(t);
tin cy cao nt ~10
-9
s c /gi.
Tính sn sàng cao: Nu thi gian sa cha s c trung bình là MTTR, thì tính
sn sàng (availability) A=MTTF/(MTTF+MTTR).
7. An toàn và bo mt.
8. Kh p phn mm và d phòng nâng cp phn cng (m rng qua khe
cm d tr, ví d các thit b mng thng có tính nng nƠy).
1.4
Nh đư nêu trong đnh ngha ca HTN, thì HTN có kin trúc ca mt máy tính s, do vy s
không có gì khác bit khi mô t mô hình kin trúc ca HTN nói chung. Có khác chng lƠ chi
tit ca tng HTN c th.
1.4.1 Mô hình cu trúc phn c
Di đơy ta nêu ra mô hình tng quát ca máy tính theo nguyên lí Von Neumman. HTN cng
chia s kin trúc này trong mt s trng hp. Mô hình cho thy các khi chc nng c bn cn
có. Trong thc t có nhng CPU nhúng có kin trúc c th khác nhau, nhng khi mô t các khi
chc nng, thì hoƠn toƠn thng nht.
Mô hình l x lý trung tâm (Central Processing Unit CPU) là khi chc nng c bn
nht đ to nên mt h vi x lý, HNT hay máy tính cá nhân (Personal Computer PC).
CPU thc hin chc nng x lý d liu theo nguyên tc thc hin chng trình máy
tính cài trong b nh ROM hay np vào b nh RAM. Vic thc hin nh sau: CPU
đc mã lnh (OPCODE) t b nh (ROM hay RAM), sau đó,
Gii mã lnh, to các tín hiu (xung) điu khin tng ng vi mã lnh đ điu
khin hot đng ca các khi chc nng khác trong CPU vƠ bên ngoƠi CPU.
Tp các tín hiu to ra BUS ca CPU. Khi kt hp vi các vi mch dn /tách
kênh và khuych đi, các mch gii mư,ầ s to ra BUS h thng. BUS h thng
cung cp các tín hiu cho các vi mch tích hp vào CPU (ROM, RAM, I/O
module) to thành bo mch chính (CPU board).
Thc hin tng bc các thao tác x lý d liu đư đnh ngha trong mư lnh.
Ghi li kt qu thc hin lnh.
B nh chính (ROM/RAM) đc t chc t các t nh đn, kép. Theo chun ca
IBM/PC t nh dài 1 byte (8 bits). B nh này gm các chip nh
ch đc ROM (Read Only Memory) và các chip nh truy xut ngu nhiên RAM
(Random Access Memory) có tc đ truy cp nhanh. B nh đc s dng đ cha
20
các chng trình vƠ các d liu cn x lỦ. Các chng trình ng dng và d liu có
th đc cha ROM hoc RAM, các kt qu trung gian hay kt qu cui cùng ca
các thao tác x lý có th đc cha trong các thanh ghi đa dng hoc trong RAM.
B vi x lí trung
tâm
(CENTRAL
PROCESSING
UNIT)
ng h thch
anh nhp chun
Ngun nuôi mt
chiu
H thng đng dây d liu (DATA BUS)
H thng đng dây điu khin (CONTROL BUS)
H thng đng dây đa ch (ADDRES BUS )
B nh Ghi/c
(RAM)
B nh ch c
(ROM)
Ghép ni ra (O) Ghép ni vào (I)
BUS
h
thng
Hình 1.1- Mô hình tng quát bo mch ch
Các mch ghép ni vào/ra (I/O interface) là các mch đin t, thc hin các gii pháp k
thut thích ng tín hiu, tr khángầ cho phép CPU trao đi d liu vi các thit b ngoi
vi nh bƠn phím, mƠn hình, máy in, các b chuyn đi s-tng t DAC (Digital/Analog
Converter), chuyn đi tng t-s ADC (Analog/Digital Converter), các mch vào/ra d
liu dng s DO (Digital Outputs), DI (Digital Inputs)ầ
H vi x lý còn có mt mch to xung nhp gi là CPU Clock. B to xung nƠy đc điu
khin bng mt mch thch anh có tn s thích hp vƠ đm bo tn s làm vic n đnh,
vi tn s chính xác cao. CPU có mt chân phát xung cho các vi mch còn li, gi lƠ đng
h h thng (System Clock), đng h này ni ti tt c các vi mch điu khin chính trên
bo mch, đng b toàn b hot đng vi CPU.
Mt khi ngun nuôi (Power Supply) cung cp nng lng cho h thng t mng đin
li, hay s dng pin. B ngun ca các h vi x lỦ thông thng là b ngun xung vi
k thut đóng-ngt dùng linh kin bán dn công sut (Switching Power Supply), va gn
nh, công sut đ ln, hiu sut cao.
21
Hình 1.2-Ngun nuôi cho h máy tính
Phân loi trên c s vi mch
Tuy nhiên khi đ cp ti cu trúc ca HTN đc xây dng trên công ngh vi mch, có th
có hai loi khác bit:
và khác nhau theo vài cách,
s dng mt vi x lí, cn hp nht nhiu thƠnh phn vƠo đó: b nh, I/O,
COM ầ vƠ do vy vi x lí lƠ trung tơm ca c h thng. Trong khi đó vi điu khin đc thit k
theo tiêu chí: tt c đc tích hp trong mt vi mch, đc bit lƠ các giao tip I/O, tc lƠ s không
cn thêm thƠnh phn nƠo vƠo đó. Li ích lƠ ch và
rt nhiu. Tuy nhiên do phn cng hn ch, nên cng phi đc xác
đnh.
H thng nhúng da trên
b vi x lý trên bo mch
(Microprocessor-based
Embedded System)
H thng nhúng vi
u khin trên bo mch
(Microcontroller-based
Embedded System)
Có CPU đc lp, có th lƠ CPU đa
nng ph bin (Intel 8080/8085,
Motorola 6800ầ),
Có RAM, ROM, đnh thi , I/O
đc lp,
Kh nng m rng RAM, ROM,
I/O tùy ý,
a nng, đt tin.
Kin trúc gn nh mt máy tính
CPU dng lõi chuyên bit, RAM,
ROM, đnh thi, I/O trong mt vi mch
đn,
RAM, ROM có dung lng c đnh,
I/O đ cho mc đích s dng,
n mc đích, ng dng xác đnh,
tiêu hao ít nng lng, giá c hp lí
cho ng dng nhúng.
Kích thc nh, gn.
22
nhng có kích thc nh.
Thit k ch
Cn phi có các vi mch RAM,
ROM hp thành t bên ngoài vi mch.
Không th kt ni vi ngoi vi
ngoi vi, cn có thêm các vi mch h
tr cho chc nng nƠy.
Tuy nhiên nng lc tính toán
mnh.
Thit k ch
c thit k có tt c trong
mt Chip !
Nng lc tính toán đc thit k ti
u cho ng dng xác đnh, các ng
dng chuyên bit.
Rt phù hp đ xây dng các HTN
Tit kim gian thit k.
Hình 1.3 HTN xây dng t xây dng t vi x lý(Microprocessor-u khin
(microcontroller based)
23
Hình 1.4 Chip
.
1.4.2 Kin trúc ca CPU
Phn nhiu các tài liu khi đ cp ti thit k HTN, đu dành mt s ch đ v kin trúc và cách
thit k ch to CPU. ơy lƠ mt vn đ chuyên và rt sâu, tài liu này s không dn xut. Tài
liu ch gii hn gii thiu các kiu CPU có th s dng đ thit k HTN. Các kiu CPU này rt
ph bin trên th trng, rt đa dng vi nng lc x lý khác nhau và phù hp cho mi loi ng
dng nhúng. Di đơy lƠ mt trong các quan đim nhìn nhn CPU:
Tp lnh: có th lƠ CISC hay RISC, trong đó RISC lƠ ph bin.
Hot đng theo kiu Von Neumman, ví d đin hình nh hình v trên, trong đó H
thng BUS đa ch và BUS d liu, BUS điu khin chung cho toƠn b h thng, b
nh chia s chung cho toƠn h thng vi vùng mã lnh (code) và d liu (data) trên
cùng không gian đa ch b nh và BUS d liu không th truyn đng thi mã lnh và
d liu cùng mt thi đim. Quá trình thc hin mt lnh máy nh sau:
1) c mã lnh t ROM/RAM qua BUS d liu vào CPU, gi mư đ xác đnh làm
gì tip theo;
2) c d liu tip theo là mt phn ca lnh (operands) nu có;
3) Thc hin lnh khi đư đc ht các operands ca lnh;
4) Lu kt qu vào thanh ghi hay ra RAM.
24
Trong qua strình thc hin lnh, BUS d liu là kênh duy nht đ trao đi d liu, do
vy ta nói BUS d liu có th b “bo hòa”, hiu nng tính toán b hn ch. Vi các
CPU hin đi BUS d liu đc ci tin rt nhiu, đc bit là giao thc BUS vƠ đng
h BUS đc nơng cao đ ci thin hn ch nói trên.
Và hot đng kiu Harvard vi mt s đc đim khác bit :
Howard Aiken (1900-1973) khi xây dng máy tính vi các relé đư tách các b nh
d liu (RAM) và b nh chng trình (NVM Non Volatile Memory: ROM,
FLASH) vi các bus riêng r đ truy cp vào b nh d liu (RAM) và b nh
chng trình cha phn mm nhúng (h điu hành, Device drivers, ng dng
nhúng ).
Bus cho lnh và Bus cho d liu tách bit, điu hƠnh đc lp nên lnh và d liu có
th đc đa ra cùng mt lúc, ci thin tc đ so vi thit k vi ch mt bus.
Phân bit rõ ràng b nh d liu và b nh chng trình, CPU có th va đc mt
lnh, va truy cp d liu t b nh cùng lúc.
Do các BUS đc lp, CPU có kh nng tìm trc các lnh (instruction prefetch),
nên vi kin trúc Harvard chng trình chy nhanh hn, bi vì nó có th thc hin
ngay lnh tip theo khi va kt thúc lnh trc đó.
Tuy nhiên v kin trúc có phn phc tp hn trong phn cng, vi 2 BUS đc lp
gơy khó khn nht đnh cho các ngôn ng lp trình cp cao (ví d nh C,ầ )
nhng cho hiu qu hn cho các ng dng nhúng. Là loi ph bin đ thit k các
HTN.
Hình 1.5 Hai kiu HTN vi 2 loi kin trúc CPU
25
Ví d Havard CPU ARM 920T, là loi CPU ci tin vi mt nh cache cho lnh và mt cache cho d
liu.
Hình1.6 Havard CPU ARM 920T ca Amtel
1.4.3 Mô hình tng quát ca mt HTN
Các khi ch
- Môi trng hot đng: ni s dng HTN,
- Chp hành: là các thit b công ngh,
- Cm bin: thit b đc bit ghi nhn thông tin công ngh (v trí, vòng quay, tc đ,
nhit đ, áp sut, kích thc (cao, dƠi, sơu) ầ) ,
- Ghép ni: là các thit b phi hp, chuyn hóa các thông tin t cm bin thành tín
hiu đin đ s hóa,
- Các b s hóa (A/D) vƠ tng t hóa (D/A),
- Ghép ni vi các h thng khác: liên kt các HTN khác, mng d liu, Trung tâm
điu khin SCADA, ầ
- Ghép ni BUS h thng
- CPU, RAM, ROM (FLASH),