1
TrườngĐạihcBáchkhoaNi
BộmônĐiukhintựđộng
 Tàiliutómttbàiging
H THNG ĐIU KHIN NHÚNG
(EmbeddedControlSystems)
TS.LưuHngVit
2
Ni dung
1 MỞĐẦU................................................................................................................................5
1.1 Cáckháinimvềhệnhúng......................................................................................5
1.2 Lĩnhvcứngdngcahệnhúng...........................................................................7
1.3 Đặcđimcôngnghệxuthếpháttrincahệnhúng.....................................8
1.3.1 Đặcđimcôngngh.....................................................................................8
1.3.2 Xuthếpháttrinsựtăngtrưởngcahệnhúng .................................9
1.4 Mcđíchnidungmônhc.............................................................................10
2 CUTRÚCPHNCNGHỆNHÚNG........................................................................11
2.1 Cácthànhphnkiếntrúccơbn...........................................................................11
2.1.1 ĐơnvịxửtrungtâmCPU.....................................................................11
2.1.2 Xungnhptrngtháitínhiu..............................................................13
2.1.3 Busđịach,dữliuđiukhin............................................................16
2.1.4 Bnh..........................................................................................................17
2.1.5 Khônggianphânvùngđịach............................................................21
2.1.6 Ngoivi........................................................................................................21
2.1.7 Giaodin......................................................................................................33
2.2 Mtsốnnphncngnhúngthôngdng(µP/DSP/PLA) ...............................37
2.2.1 ChipVixử/Viđiukhinnhúng .......................................................37
2.2.2 ChipDSP......................................................................................................39
2.2.3 PAL...............................................................................................................41
3 CƠSỞKỸTHUTPHNMMNHÚNG....................................................................48
3.1 Đặcđimphnmmnhúng ..................................................................................48
3.2 Biudinsốdữliu ...........................................................................................48
3.2.1 Cáchệthngcơs......................................................................................48
3.2.2 Sốnguyên ....................................................................................................48
3.2.3 Sduphytĩnh.........................................................................................50
3.2.4 Sốduphyđộng.......................................................................................51
3.2.5 Mtsốphéptínhcơbn............................................................................52
3.3 Tplnh ....................................................................................................................55
3.3.1 CutrúctplnhCISCRISC...............................................................55
3.3.2 Địnhdnglnh ...........................................................................................57
3.3.3 Cáckiutruynđịachỉtoántửlnh .......................................................57
3.3.4 Nguyênthchinpipeline.....................................................................60
3.3.5 Harzard........................................................................................................61
CuuDuongThanCong.com https://fb.com/tailieudientucntt
3
3.4 Ngônngữmôitrườngpháttrin.....................................................................63
3.4.1 Ngônng.....................................................................................................63
3.4.2 Biêndch ......................................................................................................65
3.4.3 Simulator .....................................................................................................70
3.4.4 Emulator ......................................................................................................71
3.4.5 Thiếtkếhệthngbngmáytính .............................................................71
4 HỆĐIUHÀNHNHÚNG ...............................................................................................73
4.1 Hệđiuhành............................................................................................................73
4.2 Bộnpkhito(Bootloader)..................................................................................74
4.3 Cácyêucuchung...................................................................................................76
4.4 Hệđiuhànhthigianthc..................................................................................77
5 KỸTHTLPTRÌNHNHÚNG .....................................................................................81
5.1 Tácvụquátrình(process) ..................................................................................81
5.2 Lplch(Scheduling)................................................................................................81
5.2.1 Cáckháinim..............................................................................................81
5.2.2 Cácphươngpháplplchphổbiến ........................................................82
5.2.3 Kỹthutlplch .........................................................................................85
5.3 Truynthôngđồngb.......................................................................................87
5.3.1 Semaphore...................................................................................................87
5.3.2 Monitor ........................................................................................................89
5.4 Xửngt .................................................................................................................90
6 THITKẾHỆNHÚNG:TỔHPPHNCNGMM.......................................93
6.1 Quitrìnhpháttrin .................................................................................................93
6.2 Phântíchyêucu.....................................................................................................93
6.3 hìnhhoásựkintácv..............................................................................93
6.3.1 PhươngpháphìnhPetrinet................................................................93
6.3.2 QuiướcbiudinhìnhPetrinet ........................................................94
6.3.3 tảcáctìnhhunghotđộngcơbnviPetrinet ............................95
6.3.4 Ngônngữtảphncng(VHDL) ....................................................103
6.4 Thiếtkếphnmmđiukhin............................................................................104
6.4.1 hìnhthcthibộđiukhinnhúng.................................................104
6.4.2 dụthcthibộđiukhinPIDs......................................................106
TÀILIUTHAMKHO ........................................................................................................108
4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
5
1 M ĐẦU
Kỷnguyêncôngnghệmiđãđangtiếptcpháttrinkhôngngngnhmthông
minhhoáhinđihoáthôngsutcáchệthng.thểnóiđánhdusựrađờiphát
trincahệnhúngtrướctiênphikểđếnsựrađicacácbộvixửlý,viđiukhin.
đưcđánhdubisựrađờicaChipvixửđầutiên4004vàonăm1971chomc
đíchtínhtoánthươngmibimtcôngtyNhtbnBusicomsauđóđãđưcchp
cánhpháttrinvượtbcbiIntelđtrởthànhcácbộsiêuxửnhưcácChipđưc
ngdngchoPCnhưngàynay.Thpkỷ80thểđượccoikhiđimbtđukỷ
nguyêncasựbùngnổvềpháttrincáchệnhúng.Từđókhinguncholànsóngra
đờicahànglotcácchngloivixửgnlincáchệnhúngđểthâmnhprng
khptrongcácứngdnghàngngàycacucsngchúngtadụnhư,cácthiếtbịđin
tửsửdngchosinhhothàngngày(lòvisóng,TV,tủlnh,máygit,điuhoà...)
vănphònglàmvic(máyfax,máyin,máyđinthoi...)...Cácbộvixửphnmm
cũngngàycàngđượcsửdngrngrãitrongrtnhiucáchệthngnh.Cácloivixử
đưcsửdngtrongcáchệthngnhúnghinnayđãvượtxasoviPCvềsốlượng
chngloi(chiếmđến79%sốcácvixửđangtnti[2])vncòntiếptcphát
trinđnhmđápứngthoảmãnrtnhiuứngdngđadng.Trongsốđóvncòn
ngdngcảcácChipvixử8bit,16bithinnaychủyếuvn32bit(chiếm
khong75%).Gnlinvisựpháttrinphncng,phnmmcũngđãpháttrinvi
tcđnhanhkhôngthuakémthmchísẽtăngnhanhhơnrtnhiutheosựpháttrin
hệnhúng.
1.1 Các khái nim v h nhúng
Hệnhúng?
Trongthếgiithccachúngtabtkỳmtthiếtbịhayhệthngđin/đintửkhả
năngxửthôngtinđiukhinđuthểtimẩntrongđómtthiếtbịhayhệ
nhúng,dụnhưcácthiếtbịtruynthông,thiếtbịđolườngđiukhin,cácthiếtbị
phcvụsinhhothàngngàynhưvisóng,máygit,camera…Rtdễdàngđểthể
kểrahànglotcácthiếtbịhayhệthngnhưvyđangtntiquanhta,chúnghệ
nhúng.Vyhệnhúngthcchtnênhiuthếnàovềhệnhúng?Hinnaycũng
chưamtđnhnghĩanàothcsựthoảđángđđưcchunhoáthanhnrng
rãichohệnhúngvnchỉnhngkháinimdintảvềchúngthôngquanhngđặc
thùchung.Tuynhiênởđâychúngtathểhiuhệnhúngmtphnhthngxử
thôngtinnhúngtrongcáchệthngln,phchpđclpdụnhưtrongôtô,các
thiếtbịđolường,điukhin,truynthôngthiếtbịthôngminhnóichung.Chúng
nhngtổhpcaphncngphnmmđthchinmthocmtnhómchcnăng
chuyênbit,cụ th(TráingượcvimáytínhPCchúngtathườngthyđưcsử
dngkhôngphichomtchcnăngrtnhiuchcnănghayphcvụchungcho
nhiumcđích).PCthcchtlimthệthngln,tổhpcanhiuhệthngnhúng
dụnhưcardmànhình,âmthanh,modem,ổcng,bànphím…Chínhđiunàylàm
chúngtadễlúngtúngnếuđưchinênhiuthếnàovềPC,phihệnhúnghay
không.
6
 
Hình11:Mtvàihìnhảnhvềhệnhúng
Hệthigianthc?
Trongcácbàitoánđiukhinứngdngchúngtarthaygpthutngữthigian
thc”.Thigianthcphithigianphnánhvềđộtrungthccathigianhay
không?Thigianthcphihinthịchínhxácđngbộtheođúngnhưnhp
đnghđếmthigianhaykhông?Khôngphihoàntoànnhưvy!Thccht,theo
cáchhiunếunóitrongcáchệthngkỹthutđặcbitcáchệthngyêucukhtkhevề
sựràngbucthigian,thigianthcđượchiuyêucucahệthngphiđảmbo
thoảmãnvềtínhtinđịnhtronghotđộngcahệthng.Tínhtinđịnhnóilênhànhvi
cahệthngthchinđúngtrongmtkhungthigianchotrướchoàntoànxácđnh.
Khungthigiannàyđượcquyếtđịnhbiđặcđimhocyêucucahệthng,thể
vàigiâycũngthểvàinanogiâyhocnhỏhơnna.Ởđâychúngtaphânbit
yếutốthigiangnlinvikháinimvềthigianthc.Khôngphihệthngthc
hinrtnhanhsẽđảmbođượctínhthigianthcnhanhhaychmhoàntoàn
phépsosánhtínhtươngđimiligiâythểnhanhvihệthngđiukhin
nhitnhưnglichmđivicácđốitượngđiukhinđinnhưdòng,áp….Hơnthế
nanếuchỉnhanhkhôngthìchưađphiđmboduytrìổnđnhbngmtcơ
chếhotđngtincy.Chínhvyhệthngkhôngkimsoátđưchotđngca
(btđnh)thìkhôngthểmthệthngđmbotínhthigianthcmchệthng
đóthểchođápứngrtnhanh,thmchínhanhhơnrtnhiusoviyêucuđtra.
Mtdụminhhoạtiêubiuđócơ chế truynthôngdữ liuquađưngtruyn
chunEthernettruynthng,mcaicũngbiếttcđộtruynrtnhanhnhưngvn
khôngphihệhotđngthigianthckhôngthoảmãntínhtinđnhtrongcơchế
truyndữliu(cóthểrtnhanhcũngthểrtchmnếusựcanhtrnh
giaothôngđườngtruynbịnghn).
CuuDuongThanCong.com https://fb.com/tailieudientucntt
7
Ngườitaphânralàmhailoiđivikháinimthigianthccng(hardrealtime)
mm(softrealtime).Thigianthccngkhihệthnghotđộngviyêucuthoả
mãnsựràngbuctrongkhungthigiancngtcnếuviphmthìsẽdnđếnhot
độngcatoànhệthngbịsaihocbịpháhu.dụvềhotđngđiukhinchomt
phnứnghtnhân,nếuchmraquyếtđnhthểdnđếnthmhoạgâyradophn
ngphânhchdnđếnbùngnổcảhệthng.Thigianthcmmkhihệthng
hotđngviyêucuthoảmãnràngbuctrongkhungthigianmm,nếuviphm
sailchnmtrongkhongchophépthìhệthngvnthểhotđngđượcchp
nhnđược.dụnhưhệthngphátthanhtruynhình,nếuthôngtintruynđitừtrm
pháttingườinghe/nhìnchmmtvàigiâythìcũngkhôngảnhhưởngđángkểđến
tínhthisựcatinđượctruynđihoàntoànđượcchpnhnbingườitheodõi.
Thctếthyrnghuhếthệnhúngcáchệthigianthchuhếtcáchệthigian
thchệnhúng.Điunàyphnánhmiquanhệmtthiếtgiahệnhúngthigian
thctínhthigianthcđãtrởthànhnhưmtthuctínhtiêubiucahệnhúng.
vyhinnaykhiđềcpticáchệnhúngngườitađềunóitiđặctínhcơbnca
tínhthigianthc.
H thi gian thc
H Nhúng
Hệnhúngthi
gianthc
Hình12:Phânbốquanhệgiahệnhúngthigianthc
1.2 Lĩnh vc ng dng ca h nhúng
Chúngtathểkểrađưcrtnhiucácứngdngcahệthngnhúngđangđưcsử
dnghinnay,xuthểsẽcòntiếptctăngnhanh.Mtsốcáclĩnhvcsnphm
thịtrườngrnglncacáchệnhúngthểđượcnhómnhưsau:
Cácthiếtbịđiukhin
Ôtô,tàuđin
Truynthông
Thiếtbịytế
Hệthngđolườngthmđịnh
Toànhàthôngminh
Thiếtbịtrongcácdâytruynsnxut
Rôbt
...
8
1.3 Đặc đim công ngh và xu thế phát trin ca h nhúng
1.3.1 Đặc đim công ngh
Cáchệthngnhưvyđuchungmtsốđặcđimnhưyêucuvềkhảnăngthi
gianthc,đtincy,tínhđclphiuqu.Mtcâuhiđtratisaohệthng
nhúnglipháttrinđượcphổcpmtcáchnhanhchóngnhưhinnay.Câutrảli
thcranmởcácucutănglênkhôngngngtrongcácứngdngcôngnghệhin
nay.Mttrongnhngyêucucơbnđólà:
Khảnăngđclpthôngminhhoá:Điunàyđưcchỉhơnthôngquamtsốcác
thuctínhyêucu,cụthểnhư:
; Độtincy
; Khảnăngbotrìnângcp
; Sựphổcptinsửdng
; Độantoàn
; Tínhbomt
Hiuqu:Yêucunàyđượcthểhinthôngquamtsốcácđcđimcahệthngnhư
sau:
; Nănglượngtiêuthụ
; Kíchthướcvềphncngphnmm
; Hiuquảvềthigianthchin
; Kíchthướckhilượng
; Giáthành
Phânhochtácvụchcnănghoá:Cácbộvixửtrongcáchệnhúngthườngđưc
sửdngđểđảmnhimthchinmthocmtnhómchcnăngrtđộclpcũng
đặcthùchotngphnchcnăngcahệthnglnđượcnhúngvào.dụnhư
mtvixửthchinmtphnđiukhinchomtchcnăngthuthp,xửhin
thịcaôtôhayhệthngđiukhinquátrính.Khảnăngnàylàmtăngthêmsựchuyên
bithoávềchcnăngcamthệthnglndễdànghơnchoquátrínhxâydng,
vnhànhbotrì.
Khảnăngthigianthc:Cáchệthngđugnlinvivicđmnhimmtchcnăng
chínhphiđưcthchinđúngtheomtkhungthigianquiđnh.Thôngthường
mtchcnăngcahệthngphiđượcthchinhoànthànhtheomtyêucuthi
gianđnhtrướcđđmbothôngtincpnhtkpthichophnxửcacácchc
năngkhácthểnhhưởngtrctiếptisựhotđngđúngchínhxáccatoàn
hệthng.Tuỳthucvàotngbàitoányêucucahệthngyêucuvềkhảnăng
thigianthccũngrtkhácnhau.
Tuynhiên,trongthctếkhôngphihệ nhúngnàocũngđuthểthoảmãnttcả
nhngyêucunêutrên,chúngkếtquảcasựthoảhipcanhiuyêucuđiu
kinnhmưutiênchochcnăngcụthểchúngđưcthiếtkế.Chínhđiunàyli
CuuDuongThanCong.com https://fb.com/tailieudientucntt
9
cànglàmtăngthêmtínhchuyênbithoácacách/thiếtbịnhúngcácthiếtbịđa
năngkhôngthểcnhtranhđược.
1.3.2 Xu thế phát trin và s tăng trưởng ca h nhúng
sựpháttrinhệnhúngsựkếthpnhunnhuyngiaphncngphnmm
nêncôngnghệgnlinvicũngchínhcôngnghệkếthpgiacácgiiphápcho
phncngmm.tínhchuyênbitcacácthiếtbị/hệnhúngnhưđãgiithiu
nêncácnnphncngcũngđượcchếtođểưutiênđápứngchochcnănghaynhim
vụcụthểcayêucuthiếtkếđặtra.
Lphệnhúngưutiênpháttrintheotiêuchívềkíchthướcnhỏgn,tiêuthụ năng
lượngít,giáthànhthp.Cácchípxửnhúngcholphệthngứngdngđóthường
yêucuvềkhảnăngtínhtoáníthocvaphinênhuhếtđưcxâydngtrêncởsở
bộđồngxử8bít‐16bithoccùnglm32bitkhônghỗtrợduphyđộngdosự
hnchếvềdunglượngkhảnăngtínhtoán.
Lphệnhúngưutiênthcthikhảnăngxửtínhtoánvitcđộthchinnhanh.Các
chípxửnhúngchocáchệthngđócũngsẽcácChipápdngcáccôngnghệcao
cpvikiếntrúcxửsongsongđểđápứngđượccườngđộtínhtoánlntcđộ
cácChipxửđachcnăngthôngthườngkhôngđạttiđược.
Lphệthngưutiêncảhaitiêuchípháttrincahailptrên,tckíchthưcnh
gn,mctiêuthụnănglượngthp,tcđộtínhtoánnhanh.Tuỳtheosựthoảhipgia
cácyêucuxuthếpháttrinchínhvycũngkhôngngcnhiênkhichúngta
thysựtntisongsongcartnhiucácChipvixửnhúng,viđiukhinnhúng8
bit,16bithay32bitcùngvicácChípsiêuxửkhácvnđangđưcứngdngrng
rãichohệnhúng.Đócũngsựkếthpđadngsựrađicacáchệnhúngi
chungnhmthoảmãncácứngdngpháttrinkhôngngng.
Vimimtnnphncngnhúngthườngnhngđcthùriêngkèmtheomt
giipháppháttrinphnmmtiưutươngứng.Khôngmtgiiphápnàochung
chuntcchottcảcáchệnhúng.Chínhvythôngthườngcácnhàpháttrin
cungcpphncngcũnglichínhnhàcungcpgiiphápphnmmhoccôngcụ
pháttrinphnmmkèmtheo.RtphổbiếnhinnaycácChipvixửhayviđiu
khinđềucáchệpháttrin(StarterKithayEmulator)đểhtrợchocácnhàứngdng
xâydnghệnhúngvihiubiếthnchếvềphncng.Ngônnghoãphn
mmcũngthườngChocgngingnhưC(LikelyC)thayphiviếthoàntoàn
bnghpngữAssembly.Điunàychophépcácnhàthiếtkếtiưuđơnginhoárt
nhiuchobướcpháttrinxâydnghệnhúng.
Trongxuthế pháttrinkhôngngngnhmthoả mãnđưcnhucupháttrin
nhanhhiuquả rtnhiucáccôngnghệ chophépthcthicácgiipháphệ
nhúng.ĐngsausựphổcprngrãicacácChipvixửviđiukhinnhúng,DSP
phikểđếncáccôngnghệcũngđangrtđưcquantâmhinnaynhưASIC,CPLD,
10
FPGA,PSOCsựtổ hpcachúng...Kèmtheođócáckỹ thutpháttrinphn
mmchophépđảmnhimđưccácbàitoányêucukhtkhetrêncơsởmtnnphn
cnghuhnvềkhảnăngxửkhônggianbộnh.Giiquyếtcácbàitoánthi
gianthcnhưphânchiatácvụgiiquyếtcnhtranhchiasẻtàinguyênchung.Hin
naycũngđãnhiunhàpháttrincôngnghệphnmmlnđanghướngvàothị
trườnghệnhúngbaogmcảMicrosoft.NgoàimtsốcáchệđiuhànhWindowsquen
thucdùngchoPC,Microsoftcũngđãtungracácphiênbnmininhư WindowsCE,
WindowsXPEmbeddedcáccôngcụpháttrinứngdngkèmtheođểphcvụchocác
thiếtbịnhúng,đinhìnhnhưcácthiếtbịPDA,mtsốthiếtbịđiukhincôngnghip
nhưcácmáytínhnhúng,IPCcaSiemens...
thể nóihệ nhúngđãtrở thànhmtgiiphápcôngnghệ pháttrinmtcách
nhanhchóng,hahnnhiuthiếtbị nhúngsẽchiếmlĩnhđưcthị trườngrngln
trongtươnglainhmđápứngnhucuứngdngkhôngngngtrongcucsngca
chúngta.Đốivilĩnhvccôngnghipvềđiukhintựđộnghoá,hệnhúngcũng
mtgiiphápđytimnăngđãđangđưcứngdngrngrãi.rtphùhpđ
thcthicácchcnăngthôngminhhoá,chuyênbittrongcáchệthngthiếtbịcông
nghip,từcáchệthngtptrungđếncáchệthngphântán.Giipháphệnhúngthể
thcthitừcpthpnhtcahệthngcôngnghipnhưcơcuchphànhchođếncác
cpcaohơnnhưgiámsátđiukhinquátrình.
1.4 Mc đích và ni dung môn hc
Hệđiukhinnhúngmtmônhcminhmcungcpkiếnthcchosinhviênvề
khảnăngphântíchthiếtkếhệthngđiukhinthôngminhhoáhệthngtheo
chcnăngtheogiiphápcôngngh.Thiếtkếthcthiđiukhintrênnnphncng
nhúng.
CuuDuongThanCong.com https://fb.com/tailieudientucntt