http://www.ebook.edu.vn 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 . http://www.ebook.edu.vn 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ị http://www.ebook.edu.vn 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 http://www.ebook.edu.vn 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. http://www.ebook.edu.vn 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 http://www.ebook.edu.vn 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) http://www.ebook.edu.vn 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) http://www.ebook.edu.vn 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. . 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ình 6 9: Hệ thống điều khiển số Đểthựcthimộtbộ điều khiển sốtrênthiếtbịvậtlýthựcphảiđòihỏixétxembộ điều khiển vớ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ủa hệ thống lạixuấthiệntrướckhi cótínhiệuvào.Haynóicáchkhác hệ thống xâydựngph ảituânthủtínhnhânquả. Nếukhaitriểnhàmtruyềncủabộ điều khiển sốđượcmôtảởdạngtổngquát 1 01 1 01 () m m R n n bbz. Sửdụnghạngmục Hình 6 6: Hoạtđộngcủa hệ thống gồm1bộtạovà1bộsửdụng http://www.ebook.edu.vn 99 Trongtrườnghợpcónhiềuhơnmộtbộsửdụngthì hệ thống đượcbiểudiễnnhưsau: Hình 6 7:Hoạtđộngcủa hệ thống gồm1bộtạovà2bộsửdụng Hệ thống có2bộđệm Hệ thống vừaxétđượcmôhìnhhóabởi điều kiệnvàsựkiện.Các điều kiệnđượcmôtả bởicácvòngtrònvànếu điều kiệ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 •. Sửdụnghạngmục Hình 6 6: Hoạtđộngcủa hệ thống gồm1bộtạovà1bộsửdụng http://www.ebook.edu.vn 99 Trongtrườnghợpcónhiềuhơnmộtbộsửdụngthì hệ thống đượcbiểudiễnnhưsau: Hình 6 7:Hoạtđộngcủa hệ thống gồm1bộtạovà2bộsửdụng Hệ thống có2bộđệm Hệ thống vừaxétđượcmôhìnhhóabởi điều kiệnvàsựkiện.Các điều kiệnđượcmôtả bởicácvòngtrònvànếu điều kiệ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 •