93
6 THIẾT KẾ HỆ NHÚNG: TỔ HỢP PHẦN CỨNG VÀ MỀM
6.1 Qui trình phát triển
Quátrìnhpháttriểnphầnmềmnhúngthựchiệntheochutrìnhsau:
(1) Problemspecification
(2) Tool/chipselection
(3) Softwareplan
(4) Deviceplan
(5) Code/debug
(6) Test
(7) Integrate
6.2 Phân tích yêu cầu
6.3 Mô hình hoá sự kiện và tác vụ
6.3.1 Phương pháp mô hình Petrinet
Năm1962CarlAdamPetriđãcôngbốphươngphápmôhìnhhìnhhoạtácvụhayquá
trìnhtheosựphụthuộcnhânquảđãđượcphổcậprộngrãivàđượcbiếttớinhưngày
nàyvớitêngọilà
mạngPetri.
MạngPetriđượcsửdụngphổbiếnđểbiểudiễnmôhìnhvàphântíchcáchệthốngcó
sựcạnhtranhtrongquátrìnhhoạtđộng.Mộthệthốngcóthểhiểulàmộttổ
hợpcủa
94
nhiềuthànhphầnvàm ỗithànhphầnthìđềucócácthuộctính.Cácthuộctínhđócóthể
thayđổivàđượcđặctrưngbởicácbiếntrạngthái.Mộtchuỗicáctrạngtháisẽmô
tả
quátrìnhđộngcủamộthệthống.
MạngPetrithựcsựlàmộtgiảiphápmôtảhệthốngđộngvớicácsựkiệnrờirạctác
độnglàmthayđổitrạngtháicủa
cácđốitượngtronghệthốngtheotừngđiềukiệncụ
thểtrạngtháicủahệthống.
MạngPetriđượcthiếtlậpdựatrên3thànhphầnchính:(1)Cácđiềukiện,(2)cácsự
ki
ện,và(3)quanhệluồng.Cácđiềukiệncóthểlàthoảmãnhoặckhôngthoảmãn.Các
sựkiệnlàcóthểxảyrahoặckhông.Vàquanhệluồngmôtảđiềukiệncủahệtrướ
ckhi
sựkiệnxảyra.
Cácđiềukiệnđòihỏiphảithoảmãnđểmộtsựkiệnxảyrahoặcchuyểntrạngtháithực
hiệnthìđượcgọilàđiềukiệntrước(
precondition).Cácđiềukiệnmàđượcthoảmãnkhi
mộtsựkiệnnàođóxảyrathìđượcgọilàđiềukiệnsau(postcondition).
6.3.2 Qui ước biểu diễn mô hình Petrinet
TrongquiướcbiểudiễnhìnhhoạthìmạngPetrisửdụngcácvòngtrònđểbiểudiễncác
điềukiện,cáchộpđểbiểudiễncácsựkiện,vàmũitênbiểudiễnquanhệluồ
ng.Mộtví
dụminhhoạvềmạngPetriđượcmôtảtrongHình6‐1,trongđó:
•
12
{ , , , }
np
Ppp p= làtậpgồm np vịtríđượcbiểudiễntrongmôhình(đượcmôtả
bởicácvòngtròn);
•
12
{ , , , }
nt
Ttt t= làtậpgồm nt chuyểnđổitrongtậpchuyểnđổibiểudiễntrongmô
hình(đượcmôtảbởicáchìnhchữnhật);
• Ibiểudiễnquanhệđivàochuyểnđổivàđượckýhiệubởiđườngmũitêntheo
hướngtừcácvịtrítớicácchuyểnđổi;
• Obiểudiễnquanhệđirakhỏichuyểnđổivàđượckýhiệubởicácđườngmũi
têntheohướngtừcácchuyểnđổitớicácvịtrí;
•
12
{ , , }
np
M
mm m= làdấutrạngtháicủacácchuyểnđổitronghệthống.Cácgiátrị
i
m làsốcácthẻbài(đượckýhiệunhưcácchấmtrònđen)chứabêntrongcácvị
trí
i
p
trongtậpdấu
M
.
95
Hình6‐1:VídụvềmộtmôhìnhmạngPetri
HệthốngđộngcóthểđượcmôtảbởimạngPetrinhờsựchuyểndịchcácthẻbàitrong
cácvịtrícủahệthốngmôhìnhvàtuânthủtheoluậtsau:
• Mộtchuyểnđổiđượcphépthựcthinếutấtcảcácvịtríđivàochuyểnđổiđó
chứaítnhấtmộtthẻbài.
• Khimộtchuyểnđổiđãđượcthựcthixong(hoànthành)thìmộtthẻbàisẽbịloại
rakhỏivịtríđivàochuyểnđổiđóđồngthờibổsungthêmmộtthẻbàivàocácvị
tríđầura
tươngứngcủachuyểnđổiđó.
Cáctrạngtháiđộngcủahệthốngđượcmôtảbởitập
()
M
R
đánhdấubởicácdấutrong
tậpM.Trongvídụtrêncó5phầntửdấutrongtập
R lầnlượtlà
12345
,,,,
M
MMMM.
Tươngứnglầnlượtnhưsau:
1
(1,0,0,0,0)M = :
2
(0,1,1,0,0)M = :
3
(0,1,0,0,1)M = :
4
(0,0,0,1,1)M = :
5
(0,0,1,1,0)M = :
6.3.3 Mô tả các tình huống hoạt động cơ bản với Petrinet
Đồnghành(Songsong)vàđồngbộ
TrongmôhìnhPNmôtảnhưtrongHình6 ‐2(a),cácchuyểnđổit
1vàt2đượcphépthực
hiệnđồngthời;hoạtđộngcủachúngkhôngảnhhưởngđếnnhau.Cáchoạtđộngđược
môhìnhbởihaichuyểnđổithựchiệnsongsong.Tronghệthốngdựphòngvớiđộtin
cậ
ycao,môhìnhnàyđượcsửdụngđểbiểudiễnhaithànhphầnC1vàC2songsongđể
đảmbảohoạtđộngdựphòng;trongtrườnghợpnàycácvịtríp
1vàp3biểudiễnđiều
96
kiệnlàmviệc,cácvịtríp
2vàp4biểudiễnđiềukiệnlỗi,t1vàt2làcácsựkiệnlỗitrong
cáctácvụC
1vàC2mộtcáchtươngứng.
(a)(b)
Hình6‐2:MôhìnhPetrinet2hoạtđộngsongsonga)độclậpvàb)đồngbộ
Tronghoạtđộngsongsong,cáctácvụhoàntoànđộclập,tuynhiênnếucácsựkiệnđó
cầnphảikếtthúcvàlàđiềukiệnđểchomộtchuyểnđổikhácthìhoạtđộngđồngbộcó
th
ểđượcthựchiệnnhờbổsungmộtchuyểnđổit3nhưmôtảtrongHình6‐2(b).Khiđó
chuyểnđổit
3cầnthẻbàiđồngthờicủacảp2vàp4.
Chiasẻđồngbộ
Mộtyếutốđặctrưngtronghoạtđộngcủahệthốngphântánlàthườngphảichiasẻmột
số tài nguyênhữu hạn.Sự thiếu thốnvề tàinguyên làm
hạn chế hoạtđộng củahệ
thốngtrongquátrìnhxửlýthậmchílàmtắcnghẽnhệthống.Việcmôhìnhvàphântích
cáchệthốngcóhiệntượngtắcnghẽnlàm ộttác
vụkhókhăntrong hầuhếtcácquá
trìnhmôhìnhcóthểgặpphải.
Hình6‐3:Hoạtđộngcủabộđệmvớidunglượnghữuhạn
Đểminhhoạtìnhhuốngnày,biểudiễnhoạtđộngcủabộđệmvớidunglượnghữuhạn
đượcmôtảbởiPNtrongHình6‐3.Vịtríp
3môhìnhs ốcácvịtríbộđệmcòntrốngvàvị
tríp
2môhìnhsốvịtríđãđượcđiềnđầy;chúýrằngtổngcácthẻbàichứatrongcácvị
97
tríp
2vàp3luônlàhằngsố(trongvídụnàylà3).Chuyểnđổit2môhìnhquátrìnhđiền
đầymộtvịtríbộđệmvàhoànthànhnếucóítnhấtmộtvịtríbộđệmcòntrốngcùng
vớithẻbàichứatrongvịtríp
1vàp3.Chuyểnđổit3đượcphépthựchiệnnếucóítnhất
mộtvịtríbộđệmđãđượcđiềnđầy.Khihoànthànhchuyểnđổit
3,mộtthẻbàisẽđược
chuyểntừvịtríp
2sangvịtríp3.
Tuầntự
Hoạtđộngtuầntựsẽđượcmôtảvàminhhoạbởihoạtđộngcủabộtạovàbộsửdụng
thôngquamộtbộđệm.Bộtạosẽsinhracácđốitượngđểđưa
vàotrongmộtbộđệmvà
sẽđượclấyrabởibộsửdụng.Quátrìnhsửdụngsẽphảiđượcthựchiệnmộtcáchtuần
tựtheoquátrìnhtạorađốitượng.Môhìnhchohoạt
độngnàyđượcdiễntảbởiPNnhư
trongHình6‐4(a).Thẻbàichứatrongvịtríp
1cónghĩalàbộtạođãsẵnsàngthựchiện.
Khicácchuyểnđổit
1vàt2hoànthànhthìmộtđốitượngđượctạora(mộtthẻbàitương
ứngcũngsẽđượcchuyểnvàotrongbộđệmmôhìnhbởivịtríp
5)vàbộtạolạisẵnsàng
trởlại.Nếubộsửdụngcónhucầutiêuthụ(đượcmôhìnhbởithẻbàichứatrongvịtrí
p
3)vàđangcóítnhấtmộtđốitượngtrongbộđệmthìmộtthẻbàichứatrongvịtríp5sẽ
đượclấyđivàchuyểnđổit
3sẽhoànthành.
(a)(b)
Hình6‐4:Hoạtđộngtạovàsửdụngvớibộđệma)vôhạnvàb)hữuhạn
TrongcáchmôtảtrongHình6‐4(a)thìviệctạovàsửdụngđượcthựchiệnthôngqua
mộtbộđệmvớigiảthiếtlàcódunglượngvôhạn.Trongthựctếthìcácb ộđệmlà
hữu
hạn,đểmôtảhoạtđộngvớibộđệmloạinàyHình6‐4(b)đượcsửdụng.Vịtríp
6mô
hìnhcácvịtríbộđệmcòntrốngvàvịtríp
5môhìnhcácvịtríbộđệmđãđượcđiềnđầy.
Tổngsốlượngcácthẻbàichứatrongcácvịtríp
5vàp6phảiluônlàhằngsố.Nếumột
thẻbàiđượcgánchovịtríp
5trongdấukhởitạothìbộtạosẽkhôngthểtạothêmđối
tượngchừngnàobộsửdụngvẫnchưatiêuthụđốitượngtrongbộđệm.
Loạitrừxungđột
HaitácvụC
1vàC2đượcphéplàmviệcsongsongvàcùngchiasẻtàinguyênCS,nhưng
khôngđượctruynhậpvàotàinguyênđồngthời.GiảnđồPNchohoạtđộngnàyđược
môtảnhưtrongHình6‐5.Cácvịtríp
1vàp5biểudiễncáctácvụC1vàC2làmviệcđộc
lập;vịtríp
2vàp6biểudiễncácyêucầucủacáctácvụC1vàC2 mộtcáchtươngứngkhi
98
muốntruynhậpvàotàinguyênchiasẻC
S;p3vàp7biểudiễnCSđangbịchiếmdụngbởi
cáctácvụC
1vàC2mộtcáchtươngứng.Vịtríp4 môtảquyếtđịnhxemtácvụnàocóthể
truynhậptàinguyênCsvàtránhcácvịtríp
3vàp7bịđánhdấuđồngthời.Thựctếkhi
p
2vàp6đượcđánhdấuthìcácchuyểnđổit2vàt5xungđột.Việchoànthànhmộttrong
haitácvụsẽkhoá/cấmlẫnnhau.Việc hoànthànhchuyểnđổit
3hoặct6sẽmôhìnhviệc
giảiphóngnguồntàinguyênchung(chuyểnthẻbàitrởlạivịtríp
4)vàtrởvềđiềukiện
làmviệcbìnhthường.
Hình6‐5:Hoạtđộngloạitrừcủahaitácvụsongsongchiasẻchungtàinguyên
ĐểbắtđầulàmquenvớinguyênlýbiểudiễnmôhìnhhóabằngmạngPetrichúngta
xéthoạtđộngcủamộthệthốngđồngbộgiữahoạtđộngtạovàsửdụngmộthạ
ngmục
(item)thôngquabộđệmnhưđượcmôttảtronghìnhdưới.
Bộtạo‐Producer:
9 Tạorahạngmụcvà
9 bổsungvàobộđệm
Bộsửdụng(tiêuthụ)‐Consumer:
9 Lấyhạngm
ụcrakhỏibộđệmvà
9 Sửdụnghạngmục
Hình6‐6:Hoạtđộngcủahệthốnggồm1bộtạovà1bộsửdụng
99
Trongtrườnghợpcónhiềuhơnmộtbộsửdụngthìhệthốngđượcbiểudiễnnhưsau:
Hình6‐7:Hoạtđộngcủahệthốnggồm1bộtạovà2bộsửdụng
Hệthốngcó2bộđệm
Hệthốngvừaxétđượcmôhìnhhóabởiđiềukiệnvàsựkiện.Cácđiềukiệnđượcmôtả
bởicácvòngtrònvànếuđiềukiệnthỏamãnthìkhiđóvòngtrònsẽđượcbi
ểudiễnvới
mộtchấmtrònnằmtrongtươngứngvớimộtthẻbài(token).
Sựkiệnđượckýhiệubởicáchộphìnhchữnhật.Vớimỗimộtsựkiệnthì
sẽtồntại
• mộttậpcácđiềukiệntrướcvàđượcnhậnbiếtbởicácmũitênđivàocácsựkiện
từcácđiềukiệnđóvà
• mộttậpcácđiềukiệnsauđượcnhậnbiếtbởicácmũitênđirakhỏicácsựkiện
vàđivàocácđiềukiệnđó.
Mộtsựkiệncóthểxảyra(được
thựcthi)khivàchỉkhi
9 tấtcảcácđiềukiệntrướctươngứngđượcthỏamãn(nhậnđượcthẻbài)và
9 tấtcảcácđiềukiệnsautươngứngchưađượcthỏamãn.
Nếumộtsựkiệnxảyrathì
9 tấtcảcácđiềukiệntrướctươngứngsẽbịxóabỏ(reset)và
9 tấtcảcácđiềukiệnsautươngứngsẽđượcthiếtlập
(set).
100
VớiloạimạngbiểudiễnnhưtrênngườitagọilàmạngPetricơbản(ElementaryNet)và
kýhiệutắtlàEN.
Đểthuậntiệnvàđơngiảnhóatrongviệcbiểu
diễnngườitacóthểsửdụngcácmũitên
cóthêmtrọng sốnguyênđểmô tảhệ thốngcóchung nhiềuđiều kiệntrước vàsau
tươngứngcùngvớimộtsựkiệnhoặcđ
iềukiện.Đặcbiệtkhisốhạngmụctraođổigiữa
bộtạovàbộsửdụnglớnhơn1.Vớiloạimạngnhưvậyngườitaphânloạivàgọilà
mạng
PetriChuyểnđổi/Vịtrí(Transitions/Places)kýhiệutắtlàP/T‐net.
CũngtươngtựnhưEN,P/T‐netbaogồm:
• Cácvịtríđượckýhiệuvàmôtảbởicácvòngtròn:Cácvịtrícóthểchứamộtsố
nguyêndươngcácthẻbài.
• Cácchuyểnđổiđượcmôtảbởicáchìnhchữnhật:Cácchuyểnđổisẽlấyđihoặc
thêmvàosốthẻbàitừhoặctớimộtvịtrí.
• Cácmũitênkếtnốitrựctiếpgiữacácvịtrívàchuyểnđổi:Cácmũitêncókèm
theocáctrọngsốtươngứngvớisốlượngthẻbàimànócóthểđượclấyra
hoặc
thêmvàotrongcácvịtrí.
Quiước:Mộttậpvịtríkếtnốivớichuyểnđổithôngquamộtmũitêntrựctiếptheo
chiềutừvịtrítớichuyểnđổiđượcgọilà
tậpcáctiềnchuyểnđổi.Ngượclại,mộttậpvị
tríkếtnốivớichuyểnđổithôngquamộtmũitêntrựctiếptheochiềungượctừvịtrítới
chuyểnđổ
ithìđượcgọilàtậpcáchậuchuyểnđổi.
Mộtchuyểnđổicóthểxảyra(thựchiện)khivàchỉkhitấtcảcácvịtrítrongtậptiềnvị
tríchứamộtsốl
ượngtốithiểuthẻbàinhưđượcđịnhnghĩabởicáctrọngsốcủacác
mũitêntươngứng.
Khimộtchuyểnđổiđượcthựcthinósẽ
9 loạibỏbớtsốthẻbàitừt
ậptiềnvịtríbằngđúngsốlượngđãđượcđịnhnghĩa
chocáctrọngsốcủacácmũitêntươngứngvà
9 cộngthêmvàosốlượngcácthẻbàivàotậphậuvịtríđúng
bằngvớitrọngsốcủa
cácmũitêntươngứng.
Vídụbiểudiễnmôtảmộthoạtđộnghệthốngvới2hạngmụccầnđồngbộgiữabộtạo
vàbộs
ửdụng.
101
Hình6‐8:Hoạtđộngđồngbộvớihaihạngmục
Đểcóthểbiểudiễnhệthốngmộtcáchkhoahọcvàlogiccầncómộtđịnhnghĩađầyđủ
môtảbởimạngPetri.
Mạngđiềukiện/sựkiện
Địnhnghĩa:
(, , )NCEF= đượcgọilàmộtmạngnếuvàchỉnếunóthoảmãncácthuộc
tínhsau:
5 CvàElàcáctậpđộclậpvà
CE∩≠∅
.
5 (x) (x)FECCE⊆∪làquanhệnhịphânvàđượcgọilàquanhệluồng.
CđượcgọilàcácđiềukiệnvàEđượcgọilàcácsựkiện.
Địnhnghĩa:ChomộtmạngNvà
()
x
CE∈∪. :{| }
x
yyFx•= đượcgọilàtậpcácđiềukiện
trướccủaxvà
:{| }
x
yxFy•= đượcgọilàđiềukiệnsaucủax.
Haynóicáchkháclàmộtđiềukiệncầnphảiđượcthoảmãnđểmộtsựkiệnnàođóxảy
rathìđượcgọilàđiềukiệntrướ
cvàmộtđiềukiệnđượcthoảmãnsaukhimộtsựkiện
nàođóxảyrathìđượcgọilàđiềukiệnsaucủasựkiệnđó.
Địnhnghĩa:Chomộttập
(, ) xce C E∈
(, )ceđượcgọilàmộtvònglặpnếucFe eFc∧
MạngNđượcgọilàthuầnnhấtnếuFkhôngchứabấtkỳmộtvònglặpnào.
Địnhnghĩa:Mộtmạngđượcgọilàđơngiảnnếukhôngcóbấtkỳhaichuy
ểnđổit1,t2
nàocócùngtậpcácđiềukiệntrướcvàcácđiềukiệnsau.
Cácmạngmàkhôngchứabấtkỳphầntửtáchbiệtnàocũngnhưkhôngcóthêmbấtkỳ
mộthạnchế
nàothìđượcgọilàmạngđiềukiện/sựkiện.
Mạngchuyểnđổi/vịtrí
Trongcácmạngđiềukiện/sựkiệnchỉchứanhiềunhấtlàmộttokenchomỗimộtđiều
kiện.Đểhạnchếđiềunàytứclàmộtđiềukiệncóthểchứanhiềutokenvàngườitagọi
102
làmạngchuyểnđổi/vị trí.Cácvịtrí tươngứng với cácđiềukiệnvà các chuyểnđổi
tươngứngvớicácsựkiệntrongmạngđiềukiện/sựkiện.
Sốlượngtokenchomỗ
imộtđiềukiệnđượcgọilàMarking.Vềmặttoánhọc,Marking
chínhlàmộtánhxạtoánhọcchophépchuyểnmộttậpcácvịtrívàomộttậpcácsốtự
nhiênđượcmở
rộngbởicácbiểutượngđặcbiệt∞ .
Vídụ:MôtảchươngtrìnhđiềukhiểnluồngtàuđiệnbằngmạngPetrinetđiềukiện/sự
kiệnđểtránhtrườnghợpxungđộttrênmộtđườngraytheohaihướngtàuchạy.
Cácđiềukiện:
• Tàumuốnvàođườngraytheochiềusangphải.
• Tàuđangchuyểnđộngtrênđườngraytheochiềuphải.
• Tàuthoátrakhỏiđườngraytheochiềuphải.
• Tàumuốnvàođườngraytheochiềusangtrái.
• Tàuđangchuyểnđộngtrênđườngraytheochiềutrái.
• Tàuthoátrakhỏiđườngraytheochiềutrái.
Cácsựkiện:
• Tàuvàođườngraytừchiềubêntrái
• Tàurờikhỏiđườngraytheochiềuphải
• Tàurờiđườngray
• Tàuvàođườngraytừchiềubênphải
• Tàurờikhỏiđườngraytheochiềutrái
Token:Đườngraysẵnsàngchotàuvàotheomộttronghaichiều
103
6.3.4 Ngôn ngữ mô tả phần cứng (VHDL)
VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanuage)làmộtngônngữ
chungđểmôtảcácthiếtkếphầncứngởmứcphầntửlogiccơbảncấuthànhnênhệ
thốngvàđãđượcpháttriểnbởit
ổchứcquốcphòngMỹ.Mụcđíchchínhlàđểthuận
tiệnchoviệctraođổidữliệuthiếtkếphầncứngtheom ộtđịnhdạngchuẩnmàmọi
ngườicóthểhiểuvàthông
dịch,tạođiềukiệnthuậnlợitrongviệcphốihợphayhợptác
trongcácdựánthiếtkế.Đặcbiệtnórấtthuậntiệntrongviệcchuyểnđổihaytổngh
ợp
biêndịchthànhm ộtdạngngônngữthựcthiphầncứngthực.Điềunàyrấtkhóthực
hiệnbằngcácngônngữbậccaonhưCnhưngvớiVHDLđiềunàychínhlàư
uđiểmnổi
bậtvàlàthếmạnhtrongviệcmôhìnhhoáhệthống,môtảmộtcáchchitiếtcácphầntử
cứngcấuthànhthamgiatronghệthống.
VHDLlàmộtchuẩn
IEEE(Std‐1076)đãđượcsựhỗtrợbởirấtnhiềunhàcungcấpphát
triểnphầncứng.Ứngdụngmộtcáchchuyênnghiệpngônngữnàylàphụcvụchoviệc
môtảcácmạchASICsph
ứchợp,chếtạothựcthicácmạchFPGA
NgônngữVHDLcóthểđọchiểukhádễdàngvớicấutrúccúpháprõrànggần giống
nhưngônngữVisualBasicvàPascal.Nócóthểpháthuyđược
thếmạnhvềcúphápđể
địnhnghĩaxâydựngkiểudữliệumớivàhỗtrợchoviệclậptrìnhtheonhóm.Vớixu
thếhiệnnaycácnhómpháttriểncóthểthựcthivớiđi
ềukiệncáchxanhauvềkhoảng
cáchđịalý,vìvậyviệcphốihợpvàthiếtkếtheonhómlàrấtcầnthiết.
„TomCantrellrecentlywrotethatthefutureisbrightforFPGAs,whic hwillplayalarge
rolein
mainstreamapplications(“MoreFlash,LessCash,”CircuitCellar,178,May2005).Iagreewith
Tom, but I’ll go further and predict that VHDL will becomethe premier technology used to
define FPGA content either as output from design tools or with direct programming. In
combination with VHDL, FPGAs
provide a lowcost approach to defining complex hardware
designsthatwereinconceivableonlyafewdecadesago.Perhapsmostimportantly,usingVHDL
todefinehardwareisfun…”
104
6.4 Thiết kế phần mềm điều khiển
6.4.1 Mô hình thực thi bộ điều khiển nhúng
Hình6‐9:Hệthốngđiềukhiểnsố
Đểthựcthimộtbộđiềukhiểnsốtrênthiếtbịvậtlýthựcphảiđòihỏixétxembộđiều
khiểnvớimôhìnhhàmtruyềnđãchocóthểhiệnthựchóađượckhông.Đ
iềukiệnphải
xétthựcralàđểđảmbảorằngkhôngcóđầuranàocủahệthốnglạixuấthiệntrướckhi
cótínhiệuvào.Haynóicáchkháchệthốngxâydựngph
ảituânthủtínhnhânquả.
Nếukhaitriểnhàmtruyềncủabộđiềukhiểnsốđượcmôtảởdạngtổngquát
1
01
1
01
()
m
m
R
n
n
bbz bz
Gz
aaz az
−−
−−
++⋅⋅⋅+
=
++⋅⋅⋅+
(1.5)
thànhchuỗilũythừatheozthìnóphảikhôngđượcphépchứabấtkỳphầntửnàochứa
lũythừadươngcủaz.Haynóicáchkháclàbộđiềukhiểnđượcmôtả
như(1.5)phảicó
bậc
0≤
tứclàbậccủatửsốphảinhỏhơnhoặcbằngbậccủamẫusố( nm≥ ).
Saukhiđãthiếtkếđượcbộđiềukhiểnsốthìviệccònlạilàlậptrìnhvànạpvàocácbộ
điềukhiểnvậtlýkhảtrình.Thựcchấtquátrìnhnàylàthựcthi
hàmtruyềncủabộđiều
khiểnsốbằnglậptrìnhsốtrêncácbộđiềukhiểnvậtlýđãcó.Ởđâychúngtasẽchủ
yếuquantâmđếnviệctriểnkhaiđểchuẩnbịchobướcl
ậptrìnhcáchàmtruyềncủabộ
điềukhiểnsố.Xuấtpháttừmôtảhàmtruyềndạngtổngquátcủabộđiềukhiểnsố
1
01
1
01
()
()
()
m
m
R
n
n
bbz bz
Uz
Gz
Ez a az az
−−
−−
+ +⋅⋅⋅+
==
++⋅⋅⋅+
(1.6)
trongđó,
0
0a ≠ nếu
0
0b ≠ ;
m
và
n
làcácsốnguyêndương.
Cóthểtriểnkhaiđểthựcthimộthàmtruyềncủabộđiềukhiểnsốtheo3cáchnhưsau:
Triểnkhailậptrìnhsốtrựctiếp
Đểtriểnkhailậptheo
phươngpháplậptrìnhtrựctiếpthìhàmtruyềnbộđiềukhiểnđã
chobiểudiễntrongmiềnzphảiđượcchuyểnđổivềdạnghàmtr uyềnrờirạc
** *
0
10
() () ()
nm
kk
kk
au t au t kT be t kT
==
+−=−
∑∑
(1.7)
105
Từđẳngthức(1.7)dễdàngtínhrađượcgiátrịcủađầura
*
()utcủabộđiềukhiểnsốđã
chotheocácgiátrịhiệntạivàquákhứcủađầuvào
*
()etcũngnhưcácgiátrịquákhứ
củachínhnó
** *
01
00
11
() ( ) ( )
mn
kk
kk
ut bet kT aut kT
aa
==
=−−−
∑∑
(1.8)
Đểthựchiệnbộđiềukhiểnnàyyêucầuphảilưutrữcácgiátrịquákhứcủađầuvàovà
đầuracủabộđiềukhiển.Vớibộđiềukhiểnđãchoyêucầ
uphảicó nm
+
giátrịcần
phảilưutrữhaynóicáchkháccầnphảicó
nm+ phầntửlưutrữ.
Mộtphươngphápkhácđểtriểnkhailậptrìnhtrựctiếplàsửdụngcơchếtáchtrựctiếp
đầuvàovàđầuracủabộđiềukhiểntheomột
biếntrunggianX(z).Khôngmấttính
tổngquátnếuchúngtanhâncảtửvàm ẫucủahàmtruyềnbộđiềukhiểnsốđãchovới
mộtbiếnX(z).Từđórútrađượchàmtruyềnc
ủađầuvàoE(z)theoX(z)vàhàmtruyền
củađầuraU(z)theoX(z).Phươngphápnàythựchiệnnhưsau:
1
01
0
1
() ( ) ()
m
m
Uz b bz bz Xz
a
−−
= + +⋅⋅⋅+ (1.9)
12
12
00
11
() () ( ) ()
n
n
X
zEzazaz azXz
aa
−− −
=− ++⋅⋅⋅+ (1.10)
Theophươngphápnàyyêucầusốphầntửlưutrữchínhbằnggiátrịn,bằngbậccủađa
thứcmẫusốtronghàmtruyềnbộđiềukhiểnsốđãcho.Từcácđẳngthứ
c(1.9)và(1.10)
tacũngdễdàngxâydựngđượcgiảnđồtrạngtháimôtảhàmtruyềncủabộđiềukhiển
số(giảthiết
3mn==).
Hình6‐10:Giảnđồtrạngtháicủahệthốngsố
Triểnkhảilậptrìnhsốghéptầng
Cáchtriểnkhainàyyêucầuchuyểnđổibộđiềukhiểnvềdạngtíchcủacáchàmtruyền
đơngiảnđểcóthểdễdàngthựchiệnbằ
ngcácchươngtrìnhđơngiản.Haynóicách
khácbộđiềukhiểnsốđãcholàkếtquảghéptầngcủanhiềubộđiềukhiểnnhỏ.
Triểnkhailậptrìnhsốsongsong
Bộđiề
ukhiểnđãchosẽđượctáchrathànhtổngcủacácbộđiềukhiểnđơngiảnvàcó
thểthựchiệnlậptrìnhsongsongchocácbộđiềukhiểnđó.
X
1
zX
−
2
zX
−
3
zX
−
03
/aa
13
/aa
23
/aa
3
b
2
b
0
b
3
1
a
1
z
−
1
z
−
1
b
1
z
−
()Uz
()Yz
106
6.4.2 Ví dụ triển khai bộ điều khiển PID số
Xấpxỉhoáthànhphầnvitíchphân
Có3phươngphápxấpxỉgiánđoạnphổbiếnápdụngchocácthànhphầntíchphân:
vượttrước(forward),vượtsau(backward),vàtrapezoidal.
Xấp
xỉsaiphânvượttrước
( ) () ()
ff
ykTT ykT TxkT+− = (1.11)
Ápdụngchuyểnđổizcho(1.11)tathuđược
()
() 1
f
yz
T
x
zz
=
−
(1.12)
Dóđóxấpxỉhoátíchphânsẽlà:
1
1
T
sz
≈
−
(1.13)
Hình6‐11:Xấpxỉsaiphânvượttrước
Xấpxỉsaiphânvượtsau
Tươngtựnhưsaiphânvượttrướctacóxấpxỉtíchphânnhưsau:
1
1
Tz
sz
≈
−
(1.14)
Hình6‐12:Xấpxỉsaiphânvượtsau
XấpxỉTrapezoidal
Phépxấpxỉtíchphânthuđượcsẽlà:
11
21
Tz
sz
+
≈
−
(1.15)
107
Hình6‐13:XấpxỉTrapezoidal
ĐẳngthứclýtưởngmôtảbộđiềukhiểnPID
0
() () () ()
1()
() ( )
PID
t
D
I
ut u t u t u t
de t
Ket e d T
Tdt
ττ
=++
⎡⎤
=+ +
⎢⎥
⎣⎦
∫
(1.16)
trongđó,Klàhệsốkhuếchđại,
I
T làhằngsốthờigiantíchphân,
D
T làhằngs ốthời
gianviphân.
Trongtrường hợpchu kỳtrích mẫunhỏ,đẳngthức(1.16) có thể đượcchuyển sang
dạngđẳngthứcsaiphânbằngphươngpháprờirạchoá.Trongđó,
thànhphầnviphân
cóthểđượcxấpxỉnhưphéptínhsaiphânbậcnhấtvàthànhphầntíchphânđượcxấp
xỉdạngvượttrước.Bằngphéprờirạcnàytathuđượcđẳngthức
môtảbộđiềukhiển
PIDsốnhưsau:
()
1
0
() () () ()(1)
k
s
D
P
i
Is
T
T
uk K ek ei ek ek
TT
−
=
⎡⎤
=+ +−−
⎢⎥
⎣⎦
∑
(1.17)
Từđẳngthức(1.17)tadễdàngnhậnthấyrằngđểthựcthibộđiềukhiểnPIDcầnthông
tincủatấtcảcácsailệchetrongquákhứ.Đểthuậntiệnchoviệcthự
chiệnlậptrình,
dạngđệquisẽphùhợphơnvàcóthểrútratừ(1.17)nhưsau:
()
2
0
(1) (1) () (1)(2)
k
s
D
i
Is
T
T
uk K ek ei ek ek
TT
−
=
⎡⎤
−= −+ + −− −
⎢⎥
⎣⎦
∑
(1.18)
Từ(1.17)và(1.18)tarútrađượcalgorithmđiềukhiểncủaPIDsố:
01 2
() ( 1) () ( 1) ( 2)uk uk aek aek aek−−= + −+ − (1.19)
trongđó,
0
1
D
s
T
aK
T
⎛⎞
=+
⎜⎟
⎝⎠
,
1
12
s
D
s
I
T
T
aK
TT
⎛⎞
=− + −
⎜⎟
⎝⎠
,
2
D
s
T
aK
T
=
Môhìnhbộđiềukhiểnởdạnghàmtruyềntacó:
1
P
ID P I D
GKKKs
s
=+ + (1.20)
trongđó,thànhphầntíchphâncóthểxấpxỉtheomộttrongbacáchnhưmôtảtrong
phần6.1,thànhphầnviphâncóthểđượcxấpxỉnhưsau:
() ( ) ( )
tT
de t e kT e kT T
dt T
=
−−
=
(1.21)
108
từ(1.21)cóthểxấpxỉhàmtruyềnthànhphầnviphân
1
()
DD
z
Gz K
Tz
−
=
(1.22)
Nhưvậy hàmtruyềncủabộđiềukhiểnPID sốcóthểđượcxấpxỉ theomộttrong3
dạngnhưsau:
Xấpxỉvượttrước:
22
()( 2)
(1)
PD I P D D
PID
KTKz KT KT KzK
G
Tz z
++−−+
=
−
(1.23)
Xấpxỉvượtsau:
22
()(2)
(1)
PDI P D D
PID
KT K KT z KT K z K
G
Tz z
++ − + +
=
−
(1.24)
XấpxỉTrapezoidal:
222
(2 2) ( 2 4)2
2( 1)
P
IDIPDD
PID
KT KT K z KT KT K z K
G
Tz z
++ + − − +
=
−
(1.25)
TÀI LIỆU THAM KHẢO
[1] PeterMarweden.EmbeddedSystemsDesign:Springer,2006.
[2] MichaelBarr.ProgrammingEmbeddedSystemsinCandC++.O’Reilly,1999.
[3] JackGanssle.TheArtofDesigningEmbeddedSystems.Newnes,1999.
[4] StuartR.Ball.EmbeddedMicroprocessorSystems.Newnes,2002
[5] Qing Li and Carolyn Yao. Real‐time Concepts for
Embedded Systems, CMP
Books,2003
[6] OlliS., JaakkoA EmbeddedSystems, Lecture Notes, HelsinkiUniversityof
Tech.,2006.
[7] Lothar Thiele. Embedded Systems, Lecture Notes, Swiss Federal Institute of
Tech.,2006.
[8] Don Morgan. Numerical Methods: Realtimeand Embedded Systems
Programming.M&T,1992.
[9] Jerrry
Lueke. Analog and Digital Circuits for Electronic Control System
Application.Newnes,2005.
[10] AdreaBobbio.SystemModellingwithPetriNets.A.G.Colombo,1990.
[11] Linda Null and Julia Lobur. The essentials of computer Organization and
Architecture:JonesandBartlettPublishers,2003.
[12] Hennessy, J. L., & Patterson, D. A. Computer
Architecture: A Quantitative
Approach,SanFrancisco:MorganKaufmann,1990.
[13] SenM.Kuo,BobH.Lee,WenshunTian.Real‐timeDigital Signal Processing:
ImplementationsandApplications,JohnWiley&Son,2006.
[14] Kuo.DigitalControlSystems,Oxford,2005.