tài liệu tóm tắt bài giảng hệ thống điều khiển nhúng

54 254 1
tài liệu tóm tắt bài giảng hệ thống điều khiển nhúng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 TrườngĐạihọcBáchkhoaHàNội BộmônĐiềukhiểntựđộng       Tàiliệutómtắtbàigiảng  HỆ THỐNG ĐIỀU KHIỂN NHÚNG   (EmbeddedControlSystems)  TS.LưuHồngViệt                              2     Nội dung  1 MỞĐẦU 5 1.1 Cáckháiniệmvềhệnhúng 5 1.2 Lĩnhvựcứngdụngcủahệnhúng 7 1.3 Đặcđiểmcôngnghệvàxuthếpháttriểncủahệnhúng 8 1.3.1 Đặcđiểmcôngnghệ 8 1.3.2 Xuth ếpháttriểnvàsựtăngtrưởngcủahệnhúng 9 1.4 Mụcđíchvànộidungmônhọc 10 2 CẤUTRÚCPHẦNCỨNGHỆNHÚNG 11 2.1 Cácthànhphầnkiếntrúccơbản 11 2.1.1 Đơnvịxửlý trungtâmCPU 11 2.1.2 Xungnhịpvàtrạngtháitínhiệu 13 2.1.3 Busđịachỉ,dữliệuvàđiềukhiển 16 2.1.4 Bộnhớ 17 2.1.5 Khônggianvàphânvùngđịachỉ 21 2.1.6 Ngoạivi 21 2.1.7 Giaodiện 33 2.2 Mộ tsốnềnphầncứngnhúngthôngdụng(µP/DSP/PLA) 37 2.2.1 ChipVixửlý/Viđiềukhiểnnhúng 37 2.2.2 ChipDSP 39 2.2.3 PAL 41 3 CƠSỞKỸTHUẬTPHẦNMỀMNHÚNG 48 3.1 Đặcđiểmphầnmềm nhúng 48 3.2 Biểudiễnsốvàdữliệu 48 3.2.1 Cáchệthốngcơsố 48 3.2.2 Sốnguyên 48 3.2.3 Sốdấuphảytĩnh 50 3.2.4 Sốdấuphảyđộng 51 3.2.5 Mộtsốphéptínhcơbản 52 3.3 Tậplệnh 55 3.3.1 CấutrúctậplệnhCISCvàRISC 55 3.3.2 Địnhdạnglệnh 57 3.3.3 Cáckiểutruyềnđịachỉtoántửlệnh 57 3.3.4 Nguyênlýthựchiệnpipeline 60 3.3.5 Harzard 61 3 3.4 Ngônngữvàmôitrườngpháttriển 63 3.4.1 Ngônngữ 63 3.4.2 Biêndịch 65 3.4.3 Simulator 70 3.4.4 Emulator 71 3.4.5 Thiếtkếhệthốngbằngmáytính 71 4 HỆĐIỀUHÀNHNHÚNG 73 4.1 Hệđiềuhành 73 4.2 Bộnạpkhởi tạo(Boot‐loader) 74 4.3 Cácyêucầuchung 76 4.4 Hệđiềuhànhthờigianthực 77 5 KỸTHẬTLẬPTRÌNHNHÚNG 81 5.1 Tácvụvàquátrình(process) 81 5.2 Lậplịch(Scheduling) 81 5.2.1 Cáckháiniệm 81 5.2.2 Cácphươngpháplậplịchphổbiến 82 5.2.3 Kỹthuậtlậplịch 85 5.3 Truyềnthôngvàđồngbộ 87 5.3.1 Semaphore 87 5.3.2 Monitor 89 5.4 Xửlýngắt 90 6 THIẾTKẾHỆNHÚNG:TỔHỢPPHẦNCỨNGVÀM ỀM 93 6.1 Quitrìnhpháttriển 93 6.2 Phântíchyêucầu 93 6.3 Môhìnhhoásựkiệnvàtácvụ 93 6.3.1 PhươngphápmôhìnhPetrinet 93 6.3.2 QuiướcbiểudiễnmôhìnhPetrinet 94 6.3.3 Môtảcáctìnhhuốnghoạtđộ ngcơbảnvớiPetrinet 95 6.3.4 Ngônngữmôtảphầncứng(VHDL) 103 6.4 Thiếtkếphầnmềmđiềukhiển 104 6.4.1 Môhìnhthựcthibộđiềukhiểnnhúng 104 6.4.2 Vídụthựcthibộđiềukhi ểnPIDsố 106 TÀILIỆUTHAMKHẢO 108         4                   5 1 MỞ ĐẦU Kỷnguyêncông nghệmớiđãvàđang tiếptụcpháttriểnkhôngngừngnhằmthông minhhoáhiệnđạihoáthôngsuốtcáchệthống.Cóthểnóiđánhdấusựrađờivàphát triểnc ủah ệnhúngtrướctiênphảikểđếnsựrađờicủacácbộvixửlý,viđiềukhiển. NóđượcđánhdấubởisựrađờicủaChipvixửlýđầutiên4004vàonăm1971chomục đích tínhtoánth ươngmạibởimộtcôngtyNhậtbảnBusicomvàsauđóđãđượcchắp cánhvàpháttriểnvượtbậcbởiIntelđểtrởthànhcácbộsiêuxửlýnhưcácChipđược ứngdụng choPCnhưngàynay.Thậpkỷ80cóthểđượccoilàkhởiđiểmbắtđầukỷ nguyêncủasựbùngnổvềpháttriểncáchệnhúng.Từđókhởinguồncholànsóngra đờicủahànglo ạtcácchủngloạivixửlývàgắnliềnlàcáchệnhúngđểthâmnhậprộng khắptrongcácứngdụnghàngngàycủacuộcsốngchúngtavídụnhư,cácthiếtbịđiện tửsửdụngchosinhhoạthàngngày(lòvisóng,TV,tủlạnh,máygiặt,điềuhoà )và vănphònglàmviệc(máyfax,máyin,máyđiệnthoại ) Cácbộvixửlývàphầnmềm c ũngngàycàngđượcsửdụngrộngrãitrongrấtnhiềucáchệthốngnhỏ.Cácloạivixử lýđượcsửdụngtrongcáchệthốngnhúnghiệnnayđãvượtxasovớiPCvềsố lượng chủngloại(chiếmđến79%sốcácvixửlýđangtồntại[2])vàvẫncòntiếptụcphát triểnđểnhằmđápứngvàthoảmãnrấtnhiềuứngdụngđadạng.Trong sốđóvẫncòn ứngdụngcảcácChipvixửlý8bit,16bitvàhiệnnaychủyếuvẫnlà32bit(chiếm khoảng75%).Gắnliềnvớisựpháttriểnphầncứng,ph ầnmềmcũngđãpháttriểnvới tốcđộnhanhkhôngthuakémthậmchísẽt ăngnhanhhơnrấtnhiềutheosựpháttriển hệnhúng. 1.1 Các khái niệm về hệ nhúng  Hệnhúng? Trongthếgiớithựccủachúngtabấtkỳmộtthiếtbịhayhệthốngđiện/điệntửcókhả năngxửlýthôngtin vàđiềukhiểnđều cóthểtiềmẩn trong đómột thiếtbịhay hệ nhúng,vídụnhưcácthiếtbịtruyềnthông,thiếtbịđolườngđiềukhiển,cácthiếtbị phụcvụsinhhoạthàngngàynhưlòvisóng,máygiặt,camera…Rất dễdàngđểcóthể kểrahàngloạtcácthiếtbịhayhệthốngnhưvậyđangtồntạiquanhta,chúnglàhệ nhúng.Vậyhệnhúngthựcchấtlàgìvànênhiểuthếnàovềhệnhúng?Hi ệnnaycũng chưacómộtđịnhnghĩanàothựcsựthoảđángđểđượcchuẩnhoávàthừanhậnrộng rãichohệnhúngmàvẫnchỉlànhữngkháiniệmdiễntảvềchúngthôngqua nhữngđặc thùchung.Tuynhiênởđâychúngtacóthểhiểuhệnhúnglàmộtphầnhệthốngxửlý thôngtinnhúngtrongcáchệthốnglớn,phứchợpvàđộclậpvídụnhưtrongôtô,các thi ếtbịđolường,điềukhiển,truyềnthôngvàthiếtbịthôngminhnóichung. Chúnglà nhữngtổhợpcủaphầncứngvàphầnmềmđểthựchiệnmộthoặcm ộtnhómchứ cnăng chuyên biệt, cụ thể (Tráingượcvới máy tínhPC màchúngta thường thấyđược sử dụngkhôngphảichomộtchứcnăngmàlàrấtnhiềuchứcnănghayphục vụchungcho nhiềumụcđích).PCthựcchấtlạilàmộthệthốnglớn,tổhợpcủanhiềuhệthốngnhúng vídụnhưcardmànhình,âmthanh,modem,ổcứng,bànphím…Chínhđiềunàylàm  chúngtadễlúngtúngnếuđượchỏinênhiểuthếnàovềPC,cóphảilàhệnhúnghay không. 6       Hình1‐1:Mộtvàihìnhảnhvềhệnhúng  Hệthờigianthực? Trongcácbàitoánđiềukhiểnvàứngdụngchúngtarấthaygặpthuậtng ữ“thờigian thực”.Thờigianthựccóphảilàthờigianphảnánh vềđộtrungthựccủathờigianhay không?Thờigianthựccóphảilàhi ểnthịchínhxácvàđồngbộtheođúngnhưnhịp đồnghồđếmthờigianhay không?Khôngphải hoàntoànnhưvậy!Th ựcchất,theo cáchhiểunếunóitrongcáchệthốngkỹthuậtđặcbiệtcáchệthốngyêucầukhắtkhevề sựràngbuộcthờigian,thờigianthựcđượchiểulàyêucầ ucủahệthốngphảiđảmbảo thoảmãnvềtínhtiềnđịnhtronghoạtđộngcủahệthống.Tínhtiềnđịnhnóilênhànhvi củahệthốngthựchiệnđúngtrongmộtkhungthời gianchotrướchoàntoànxácđịnh. Khungthờigiannàyđượcquyếtđịnhbởiđặcđiểmhoặcyêucầucủahệthống,cóthểlà vàigiâyvàcũngcóthểlàvàinanogiâyhoặcnhỏhơ nnữa.Ởđâychúngtaphânbiệt yếutốthờigiangắnliềnvớikháiniệmvềthờigianthực.Khôngphảihệthốngthực hiệnrấtnhanhlàsẽđảmbảođượctínhth ờigianthựcvìnhanhhaychậmhoàntoànlà phépsosánhcótínhtươngđốivìmiligiâycóthểlànhanhvớihệthốngđiềukhiển  nhiệtnhưnglạilàchậm đốivớicácđối tượngđiềukhiểnđiệnnhưdòng,áp….Hơnthế nữanếuchỉnhanhkhôngthìchưađủmàphảiđảmbảoduytrìổnđịnhbằngmộtcơ chếhoạtđộngtincậy.Chínhvìvậyh ệthốngkhôngkiểmsoátđượchoạtđộngcủanó (bấtđịnh)thìkhôngthểlàm ộthệthốngđảmbảotínhthờigianthựcmặcdùhệthống đócóthểchođápứngrấtnhanh,th ậmchínhanhhơnrấtnhiềusovớiyêucầuđặtra. Mộtvídụ minh hoạtiêu biểuđólà cơchếtruyền thôngdữliệu quađường truyền chuẩnEthernettruyềnthống,mặcdù aicũngbiếttốcđộtruyềnlàrấtnhanhnhưngvẫn khôngphảihệhoạtđộngthờigianthựcvìkhôngthoảmãntínhtiềnđịnhtrongcơchế truyềndữliệu(cóthểlàrấtnhanh vàcũngcóthểlàrấtchậmnếucósựcanhtrạnhvà giaothôngđườngtruyềnbịnghẽn).  7 Ngườitaphânralàmhailoạiđốivớikháiniệmthờigianthựclàcứng(hardreal ‐time) vàmềm(softreal‐time).Thờigianthựccứnglàkhihệthốnghoạtđộngv ớiyêucầuthoả mãnsựràngbuộctrongkhungthờigiancứngtứclànếuviphạmthìsẽdẫnđếnhoạt độngcủatoànhệthốngbịsaihoặcbịpháhuỷ.Vídụv ềhoạtđộngđiềukhiểnchomột lòphảnứnghạtnhân, nếuchậmraquyếtđịnhcóthểdẫnđếnthảmhoạgâyradophản ứngphânhạchvàdẫnđếnbùngnổcảh ệthống.Thờigianthựcmềmlàkhi hệthống hoạtđộngvớiyêucầuthoảmãnràngbuộctrongkhungthờigianmềm,nếuviphạmvà sailệchnằmtrongkhoảngchophép thìhệthốngvẫncóthểhoạtđộngđượcvàchấp nhậnđược.Vídụnhưhệthốngphátthanhtruyềnhình,nếuthông tintruyềnđitừtrạm pháttớingườinghe/nhìnchậmmộtvài giâythìcũngkhôngảnhhưởngđángkểđến tínhthờisựcủatinđượctruyềnđivàhoàntoànđượcchấpnhậnbởingườitheodõi.  Thựctếthấyrằnghầuhếthệnhúnglàcác hệthờigianthựcvàhầuhếtcáchệthờigian thựclàhệnhúng.Điềunàyphảnánhmốiquanhệmậtthiếtgiữahệnhúngvàthờigian thựcvàtínhthờigian thựcđãtrởthànhnhưmộtthuộctínhtiêubiểu củahệnhúng.Vì vậyhiệnnaykhiđềcậptớicáchệnhúngngườitađềunóitớiđặctínhcơbảncủanólà tínhthời gianthực. Hệ thời gian thực Hệ Nhúng Hệnhúngthời gianthực  Hình1‐2:Phânbốvàquanhệgiữahệnhúngvàthờigianthực 1.2 Lĩnh vực ứng dụng của hệ nhúng Chúngtacóthểkểrađượcrấtnhiềucácứngdụngcủahệthốngnhúngđangđượcsử dụnghiệnnay,vàxuthểsẽcòntiếptụctăngnhanh.Mộtsốcáclĩnhvựcvàs ảnphẩm thịtrườngrộnglớncủacáchệnhúngcóthểđượcnhómnhưsau: • Cácthiếtbịđiềukhiển • Ôtô,tàuđiện • Truyềnthông • Thiếtbịytế • Hệthốngđo lườngthẩmđịnh • Toànhàthôngminh • Thiếtbịtrongcácdâytruyềnsảnxuất • Rôbốt •  8 1.3 Đặc điểm công nghệ và xu thế phát triển của hệ nhúng 1.3.1 Đặc điểm công nghệ Cáchệthốngnhưvậyđềucóchungmộtsốđặcđiểmnhưyêucầuvềkhảnăngthời gianthực,độtincậy,tínhđộclậpvàhiệuquả.Mộtcâuhỏiđặtralàtại saohệthống nhúnglạipháttriểnvàđượcphổcậpmộtcáchnhanhchóngnhưhiệnnay.Câutrảlời thựcranằmởcácyêucầutănglênkhôngngừngtrongcácứngdụngcôngnghệ hiện nay.Mộttrongnhữngyêucầucơbảnđólà:  Khảnăngđộclậpvàthôngminhhoá:Điềunàyđượcchỉrõhơnthôngquamộtsốcác thuộctínhyêucầu,cụthểnhư:  ; Độtincậy ; Khảnăngbảotrìvànângcấp ; Sựphổcậpvàtiệnsửdụng ; Độantoàn ; Tínhbảomật  Hiệuquả:Yêucầunàyđượcthểhiệnthôngqua mộtsốcácđặcđiểmcủahệthốngnhư sau: ; Nănglượngtiêuthụ ; Kíchthướcvềphầncứngvàphầnmềm ; Hiệuquảvềthờigianthựchiện ; Kíchthướcvàkhốilượng ; Giáthành  Phânhoạchtácvụvàchứcnănghoá:Cácbộvixửlýtrongcáchệnhúngthườngđược sửdụngđểđảmnhiệmvàthựchiệnmộthoặcmộtnhómch ứcnăngrấtđộclậpvàcũng đặcthùchotừngphầnchứcnăngcủahệthốnglớnmànóđượcnhúngvào.Vídụnhư mộtvixửlýthựchiện mộtphần điềukhiểnchomộtchứcnăngthuthập,xửlývàhiển thịcủaôtôhayhệthốngđiềukhiểnquátrính.Khảnăngnàylàmtăngthêmsựchuyên biệthoávềchứcnă ngcủamộthệthốnglớnvàdễdànghơnchoquátrínhxâydựng, vậnhànhvàbảotrì.  Khảnăngthờigianthực:Cáchệthốngđềugắnliềnvớiviệcđảm nhiệmmộtchứcnăng chínhvàphảiđượcthựchiệnđúngtheomộtkhungthờigianquiđịnh.Thôngthường mộtchứcnăngcủahệthốngphảiđượcthựchiệnvàhoàn thànhtheomộtyêucầuthời gianđịnhtrướcđểđảmbảothôngtincậpnhậtkịpthờichophầnxửlýcủacácchức năngkhácvàcóthểảnhhưởngtrựctiếptới sựhoạtđộng đúngvàchínhxáccủatoàn hệthống.Tuỳthuộcvàotừngbàitoánvàyêucầucủahệthốngmàyêucầuvềkhảnăng thờigianthựccũngrấtkhácnhau.  Tuynhiên,trong thựctếkhôngphải hệnhúngnàocũngđềucóthểthoảmãntấtcả nhữngyêucầunêutrên,vìchúnglàkếtquảcủasựthoảhiệpcủanhiềuyêucầuvàđiề u kiệnnhằmưutiênchochứcnăngcụthểmàchúngđượcthiếtkế.Chínhđiềunàylại 9 cànglàmtăngthêmtínhchuyênbiệthoácủacáchệ/thiếtbịnhúngmàcácthiếtbịđa năngkhôngthểcạnhtranhđược. 1.3.2 Xu thế phát triển và sự tăng trưởng của hệ nhúng Vìsựpháttriểnhệnhúnglàsựkếthợpnhuầnnhuyễngiữaphầncứngvàphầnmềm nêncôngnghệgắnliềnvớinócũngchínhlàcôngnghệkếthợpgiữacác giảiphápcho phầncứngvàmềm.Vìtínhchuyênbiệtcủacácthiếtbị/hệnhúngnhưđãgiớithiệu nêncácnềnphầncứngcũngđượcchếtạođểưutiênđápứngcho chứcnănghaynhiệm vụcụthểcủayêucầuthiếtkếđặtra.  Lớphệnhúngưutiênphát triểntheotiêuchívề kíchthướcnhỏgọn,tiêu thụnăng lượngít,giáthànhthấp.Các chípxửlýnhúngcholớphệthốngứngdụngđóthường yêucầuvềkhảnăngtínhtoáníthoặcvừaphảinênhầuhếtđượcxâydựngtrêncởsở bộđồngxửlý8bít‐ 16bithoặccùnglắmlà32bitvàkhônghỗtrợdấuphảyđộngdosự hạnchếvềdunglượngvàkhảnăngtínhtoán.  Lớphệnhúngưutiênthựcthikhảnăngxửlýtínhtoánv ớitốcđộthựchiệnnhanh.Các chípxửlýnhúngchocáchệthốngđócũngsẽlàcácChipápdụngcáccôngnghệcao cấpvớikiếntrúcxửlýsongsongđểđápứngđượccườngđộtínhtoán lớnvàtốcđộmà cácChipxửlýđachứcnăngthôngthườngkhôngđạttớiđược.  Lớphệthốngưutiêncảhaitiêuchípháttriểncủahailớptrên,tứclàkíchthướcnhỏ g ọn,mứctiêuthụnănglượngthấp,tốcđộtínhtoánnhanh.Tuỳtheosựthoảhiệpgiữa cácyêucầuvàxuthếpháttriểnchínhvìvậycũngkhôngcógìngạcnhiênkhichúngta thấ ysựtồntạisongsongcủarấtnhiềucácChipvixửlýnhúng,viđiềukhiểnnhúng8 bit,16bithay32bitcùngvớicácChípsiêuxửlýkhácvẫnđangđượcứngdụngrộng  rãichohệnhúng.Đócũnglàsựkếthợpđadạngvàsựrađờicủacáchệnhúngnói chungnhằmthoảmãncácứngdụngpháttriểnkhôngngừng.  Vớimỗimộtnềnph ầncứngnhúngthườngcónhữngđặcthùriêngvàkèmtheomột giảipháppháttriểnphầnmềmtốiưutươngứng.Khôngcómộtgiảiphápnàochung vàchuẩntắcchotất cảcáchệnhúng.Chínhvìvậythôngthườngcácnhàpháttriểnvà cungcấpphầncứngcũnglạichínhlànhàcungcấpgiảiphápphầnmềmhoặccôngcụ pháttriểnphầnm ềmkèmtheo.RấtphổbiếnhiệnnaycácChipvixửlýhayviđiều khiểnđềucócáchệpháttriển(StarterKithayEmulator)đểhỗtrợchocácnhàứngdụng vàxâydựnghệnhúngvới hiểubiếthạnchếvềphầncứng.Ngônngữmãhoãphần mềmcũngthườnglàChoặc  gầngiốngnhư C(LikelyC)thay vìphảiviết hoàntoàn bằnghợpngữAssembly .Điềunàychophépcácnhàthiếtkếtốiưuvàđơngiảnhoárất nhiềuchobướcpháttriểnvàxâydựnghệnhúng.  Trong xu thế phát triển không ngừng và nhằm thoả mãnđược nhu cầu phát triển nhanh và hiệu quả có rất nhiều các công nghệ cho phép thực thi các giải pháp hệ nhúng.ĐứngsausựphổcậprộngrãicủacácChipvixửlýviđiềukhiển nhúng,DSP phảikểđếncáccôngnghệcũngđangrấtđượcquantâmhi ệnnaynhưASIC,CPLD, 10 FPGA,PSOC vàsự tổhợp củachúng Kèm theođólà cáckỹ thuậtpháttriển phần mềmchophépđảmnhiệmđượccácbàitoányêu cầukhắtkhetrêncơsởmộtnềnphần cứng hữuhạnvềkhảnăngxửlývàkhônggianbộnhớ.Giảiquyếtcácbàitoánthời gianthựcnhưphânchiatácvụvàgiảiquyếtc ạnhtranhchiasẻtàinguyênchung.Hiện naycũ ngđãcó nhiềunhàphát triểncông nghệphần mềm lớnđanghướngvào thị trườnghệnhúngbaogồmcảMicrosoft.NgoàimộtsốcáchệđiềuhànhWindowsquen thuộc dùngcho PC,Microsoftcũngđ ãtungra cácphiên bảnmini nhưWindowsCE, WindowsXPEmbeddedvàcáccôngcụpháttriểnứngdụngkèmtheođểphụcvụchocác thiếtbịnhúng,điểnhìnhnhưcácthiếtbịPDA,mộtsốthiếtbịđiều khiểncôngnghiệp nhưcácmáytínhnhúng,IPCcủaSiemens   Có thểnóihệ nhúngđã trởthành một giảipháp công nghệ và pháttriển một cách nhanhchóng,hứa hẹnnhiềuthiết bị nhúngsẽ chiếm  lĩnhđược thịtrườngrộng lớn trongtươnglainhằmđápứngnhucầuứngdụngkhôngng ừngtrongcuộcsốngcủa chúngta.Đốivớilĩnhvựccôngnghiệpvềđiềukhiể nvàtựđộnghoá,hệnhúngcũnglà mộtgiảiphápđầytiềmnăngđãvàđangđượcứngdụngrộngrãi.Nórấtphùhợpđể thựcthicácchứcnăngthôngminhhoá,chuyênbiệttrong cáchệthốngvàthiếtbịcông nghiệp,từcáchệthốngtậptrungđếncáchệthốngphântán.Giảipháphệnhúngcóthể thựcthitừcấpthấpnhấtcủahệthốngcôngnghiệ pnhưcơcấuchấphànhchođếncác cấpcaohơnnhưgiámsátđiềukhiểnquátrình. 1.4 Mục đích và nội dung môn học Hệđiềukhiểnnhúnglàm ộtmônhọcmớinhằmcungcấpkiếnthứcchosinhviênvề khảnăngphântíchvàthiếtkếhệthốngđiềukhiểnvàthôngminhhoáhệthốngtheo  chứcnăngtheogiảiphápcôngnghệ.Thiếtkếthựcthiđiềukhiểntrênnềnphầncứng nhúng. 11 2 CẤU TRÚC PHẦN CỨNG HỆ NHÚNG 2.1 Các thành phần kiến trúc cơ bản  Hình2‐1:KiếntrúcđiểnhìnhcủacácchípVXL/VĐKnhúng 2.1.1 Đơn vị xử lý trung tâm CPU  Hình2‐2:CấutrúcCPU Ngườitavẫnbiết tớiphầnlõixửlýcủacácbộVXLlàđơnvịxửlýtrungtâmCPU (CentralProcessing Unit)đóngvaitrònhưbộnãochịutráchnhiệmthựcthicácphép tínhvàthực hiệncáclệnh.PhầnchínhcủaCPUđảmnhiệmchứcnăngnà ylàđơnvị logictoánhọc(ALU–ArthimeticLogicUnit).NgoàirađểhỗtrợchohoạtđộngcủaALU còncóthêmmộtsốcácthành phầnkhácnhưbộgiảimã(decoder),bộtuầntự(sequencer) vàcácthanhghi.  12 Bộgiảimãchuyểnđổi(thôngdịch)cáclệnhlưutrữởtrongbộmãchươngtrìnhthành  cácmãmàALUcóthểhiểuđượcvàthựcthi.Bộtuầntựcónhiệmvụquảnlýdòngdữ li ệutraođổiquabusdữliệucủaVXL.CácthanhghiđượcsửdụngđểCPUlưutrữtạm thờicácdữliệuchínhchoviệcthựcthicáclệnhvàchúngcóthểthayđổinộidungtrong quátrìnhhoạtđộngcủaALU.HầuhếtcácthanhghicủaVXLđềulàcácbộnhớđược thamchiếu (mapped)vàhộinhậpvớikhuvựcbộnhớvàcóthểđượcsửdụngnhưbất  kỳkhuvựcnhớkhác.  CácthanhghicóchứcnănglưutrữtrạngtháicủaCPU.Nếucácnộidungcủabộnhớ VXLvàcácnộidungcủacácthanhghitạimộtthờiđ iểmnàođóđượclữugiữđầyđủ thìhoàntoàncóthểtạmdừngthựchiệnphầnchươngtrìnhhiệntạitrongmộtkhoảng thờigianbấtkỳvàcó thểtrởlạitrạngthái củaCPUtrướcđó.Thựctếsốlượngcác thanhghivàtêngọicủachúngcũngkhácnhautrongcáchọVXL/VĐKvàthườngdo chínhcácnhàchếtạoquiđịnh,nhưngvềcơbảnchúngđề ucóchungcácchứcnăng nhưđãnêu.  Khithứtựbytetrongbộnhớđãđượcxácđịnhthìngườithiếtkếphầncứngphảithực hiệnmộtsốquyếtđịnhxemCPUsẽlưudữ liệuđónhưthếnào.Cơchếnàycũngkhác nhautuỳtheokiếntrúctậplệnhđượcápdụng.Cóbaloạihìnhcơbản:  (1) Kiếntrúcngănxếp (2) Kiếntrúcbộtíchluỹ (3) Kiếntrúcthanhghimụcđíchchung  Kiếntrúcngănxếpsửdụngngănxếpđểthựchiệnlệnhvàcáctoántửnhậnđượctừ đỉnhngănxếp.Mặcdùcơchếnàyhỗtrợ mậtđộmãtốtvàmôhìnhđơngiảnchoviệc đánhgiácáchthểhiệnchươngtrìnhnhưngngănxếpkhôngthểhỗtrợkhảnăngtruy nhậpngẫunhiênvàhạnchếhiệusuất thựchiệnlệnh.  Kiếntrúcbộtíchluỹvớilệnhmộttoántửngầmmặcđịnhchứatrongthanhghitíchluỹ cóthểgiảmđượcđộphứctạpbêntrongcủacấutrúcCPUvà chophépcấuthànhlệnh rấtnhỏgọn.Nhưngthanhghitíchluỹchỉlànơichứadữliệutạmthờinêngiaothông bộnhớrấtlớn.  Kiếntrúcthanhghimụcđíchchungsửd ụngcáctậpthanhghimụcđíchchungvàđược đón nhận như mô hình của các hệthống CPU mới,hiệnđại. Các tậpthanhghiđó nhanhhơnbộnhớthườngvàdễdàngchobộbiênd ịchxửlýthựcthivàcóthểđượcs ử dụngmộtcáchhiệuquả.Hơnnữagiáthànhphầncứngngàycàngcóxuthếgiảmđáng kểvàtậpthanhghicóthểtăngnhanh.Nế ucơchếtruynhậpbộnhớnhanhthìkiếntrúc dựatrênngănxếpcóthểlàsựlựachọnlýtưởng;cònnếutruynhậpbộnhớchậmthì kiếntrúcthanhghisẽlàsựl ựachọnphùhợpnhất.  Mộtsốthanhghivớichứcnăngđiểnhìnhthườngđượcsửdụngtrongcáckiếntrúc CPUnhưsau: 13   Thanhghicontrỏngănxếp(stackpointer): Thanhghinàylưugiữđịachỉtiếptheocủangănxếp.Theonguyênlýgiátrịđịachỉ chứatrongthanhghicontrỏngănxếpsẽgiả mnếudữliệuđượclưuthêmvàongănxếp vàsẽtăngkhidữliệuđượclấyrakhỏingănxếp.   Thanhghichỉsố(indexregister) Thanhghichỉsốđượcsửdụngđểlư uđịachỉkhimodeđịachỉđượcsửdụng.Nócòn đượcbiếttớivớitêngọilàthanhghicontrỏhaythanhghilựachọntệp(Microchip).   Thanhghiđịachỉlệnh/Bộđếmchương trình(ProgramCounter) Một trong nhữngthanhghiqua n trọng nhất của CPU là thanhghibộ đếm chương trình.Thanhghibộđếmchươngtrìnhlưuđịachỉlệnhtiếptheocủachươngtrìnhsẽ được CPUxửlý.MỗikhilệnhđượctrỏtớivàđượcCPUxửlýthìnộidunggiátrịcủa thanhghibộđếmchươngtrìnhsẽtănglênmột.Chươngtrìnhsẽkếtthúckhithanhghi PCcó giátrịbằngđịachỉcuốicùngcủachươngtrìnhnằmtrongbộnhớchươngtrình.   Thanhghitíchlũy(Accumulator) ThanhghitíchlũylàmộtthanhghigiaotiếptrựctiếpvớiALU,đượ csửdụngđểlưu giữcáctoántửhoặckếtquảcủamộtphéptoántrongquátrìnhhoạtđộngcủaALU. 2.1.2 Xung nhịp và trạng thái tín hiệu TrongVXLvàcácvimạchsốnóichung,hoạtđộngcủahệthốngđượcthựchiệnđồng bộhoặcdịbộtheocácxungnhịpchuẩn.Cácnhịpđóđượclấytrựctiếphoặcgiánti ếp từmộtnguồnxungchuẩnthườnglàcácmạchtạoxunghoặcdaođộngthạchanh.Để môtảhoạtđộngcủahệthống,cáctínhiệudữliệuvàđiềukhiểnthườngđược môtả trạngtháitheogiảnđồthờigianvàmứctínhiệunhưđượcchỉratrongHình2‐3:Môtả vàtrạngtháitínhiệuhoạtđộngtrongVXL   Hình2‐3:MôtảvàtrạngtháitínhiệuhoạtđộngtrongVXL Mụcđíchcủaviệcmôtảtrạngtháitínhiệutheogiảnđồthờigianvàmứctínhiệulàđể phântíchvàxácđịnhchuỗisựkiệnhoạtđộngchitiếttrongmỗichukỳbus. Nhờviệc môtảnàychúngtacóthểxemxétđếnkhảnăngđápứngthờigiancủacácsựkiệnthực thitronghệthốngvàthờigiancầnthiếtđểthựcthihoạtđộngtuầnt ựcũngnhưlàkhả 14 năngtươngthíchkhicósựhoạtđộngphốihợpgiữacácthiếtbịghépnốihaymởrộng tronghệthống.Thôngthườngthôngtinvềcácnhịpthờigianhoạtđộngcũngnh ưđặc tínhkỹthuậtchitiếtđượccungcấphoặcquiđịnhbởicácnhàchếtạo.  Mộtsốđặctrưngvềthờigiancủacáctrạngtháihoạtđộngcơbảncủacáctínhi ệuhệ thốnggồmcónhưsau: 9 Thờigiantănghoặcgiảm 9 Thờigiantrễlantruyềntínhiệu 9 Thờigianthiếtlập 9 Thờigiangiữ 9 Trễcấmhoạtđộng vàtrạngtháitreo(Tri‐State) 9 Độrộngxung 9 Tầnsốnhịpxunghoạtđộng   Thờigiantănghoặcgiảm    Hình2‐4:Môtảtrạngtháitínhiệulogictăngvàgiảm  Thờigiantăngđượcđịnhnghĩalàkhoảngthờigianđểtínhiệutăngtừ20%đến80% mứctínhiệucầnthiết.Thờigiangiảmlàkhoảngthờigianđểtínhiệugiảmtừ 80%đến 20%mứctínhiệucầnthiết.   Thờigiantrễlantruyền: Làkhoảngthờigiantíntừkhithayđổitínhiệuvàochotớikhicósựthayđổitínhiệuở đầura.Đặctínhnàythườngdocấutạovàkhảnăngtruyềndẫntínhiệuvậtlýtronghệ thốngtínhiệu.  Hình2‐5:Môtảtrạngtháivàđộtrễlantruyềntínhiệu  Thờigianthiếtlậpvàlưugiữ Khoảngthờigiancầnthiếtđểtínhiệutríchmẫuđạttớimộttrạngtháiổnđịnhtrướckhi nhịpxungchuẩnđồnghồthayđổiđượcg ọilàthờigianthiếtlập.Thờigianlưugiữlà 15 khoảng thờigian cầnthiết đểduy trìtínhiệu tríchmẫuổnđịnh saukhi xungnhịp chuẩnđồnghồthayđổi.Thựcchấtkhoảngthờigianthiếtlậpvàthờigianlưugi ữlàcần thiếtđểđảmbảo tínhiệuđượcghinhận chínhxác vàổnđịnh trongquá trìnhhoạt độngvàchuyểnmứctrạngthái.GiảnđồthờigiantrongHình2‐6:Thờigianthiếtlập và lưugiữminhhọathờigianthiếtlậpvàlưugiữtronghoạtđộngcủaTrigerD.   Hình2‐6:Thờigianthiếtlậpvàlưugiữ Trongtrườnghợphoạtđộngchuyểntrạngtháitínhiệukhôngđồngbộvàkhôngđảm bảođượcthờigianthiếtlậpvàlưugiữsẽcóthểdẫnđếnsựmấtổnđịnhhaykhôngxác đị nh mức tín hiệu trong hệ thống. Hiện tượng nàyđược biết tới với tên gọi là metastabilit.ĐểminhhọachohiệntượngnàytrongHình2‐7môtảhoạtđộnglỗicủa mộ tTrigerkhicácmứctínhiệuvàokhôngthỏamãnyêucầuvềthờithiếtlậpvàlưu giữ.   Hình2‐7:HiệntượngMetastabilittronghoạtđộngcủaTrigerD Chukỳtínhiệu3trạngtháivàcontention   16 Hình2‐8:Môtảchukỳtínhiệu3trạngtháivàcontention Độrộngxungvàtầnsốnhịpxungchuẩn   Hình2‐9:Độrộngvàtầnsốxungnhịpchuẩn 2.1.3 Bus địa chỉ, dữ liệu và điều khiển  Busđịachỉ Busđịachỉlàcácđườngdẫntínhiệulogicmộtchiềuđểtruyềnđịachỉthamchiếutới cáckhuvực bộnhớvàchỉradữliệuđượclưugiữởđâutrongkhônggianbộnh ớ. TrongqúatrìnhhoạtđộngCPUsẽđiềukhiểnbusđịachỉđểtruyềndữliệugiữacác khuvựcbộnhớvàCPU.Cácđịachỉthôngthườngthamchiếutớicáckhuvựcbộnhớ hoặc cáckhuvựcvàora,hoặcngoạivi.Dữliệuđượclưuởcáckhuvựcđóthườnglà8‐ bit(1byte),16‐bit,hoặc32‐bittùythuộcvàocấutrúctừngloạivixửlý/viđiề ukhiển. Hầuhếtcácviđiềukhiểnthườngđánhđịachỉdữliệutheokhối8‐bit.Cácloạivixửlý 8‐bit,16‐bitvà32‐bitnóichungcũngđềucóthểlàmviệctraođổi vớikiểudữliệu8‐bit và16‐bit.  Chúngtavẫnthườngđượcbiếttớikháiniệmđịachỉtruynhậptrựctiếp,đólàkhảnăng CPUcóthểthamchiếuvàtruynhập tớitrongmộtchukỳbus.NếuvixửlýcóNbitđịa chỉtứclànócóthểđánhđịachỉđược2 N khuvựcmàCPUcóthểthamchiếutrực tiếp tới.Quiướccáckhuvựcđượcđánhđịachỉbắtđầutừđịachỉ0vàtăngdầnđến2 N ‐1. Hiệnnaycácvixửlývàviđiềukhiểnnóichungchủyếuvẫnsửdụngphổbiếncácbus dữliệucóđộrộnglà16,20,24,hoặc32‐bit.Nếuđánhđịachỉtheobyte thìmộtvixửlý 16‐bitcóthểđánhđịachỉđược2 16 khuvựcbộnhớtứclà65,536byte=64Kbyte.Tuy nhiêncómộtsốkhuvựcbộnhớmàCPUkhôngthểtruynhậptrựctiếptớitứclàphải sửdụngnhiềunhịpbusđểtruy nhập,thôngthườngphảikếthợpvớiviệcđiềukhiển phầnmềm.Kỹthuậtnàychủyếuđượcsửdụngđểmởrộngbộnhớvàthườngđược  biếttớivớikháini ệmđánhđịachỉtrangnhớkhinhucầuđánhđịachỉkhuvựcnhớ vượtquáphạmvicóthểđánhđịachỉtruynhậptrựctiếp.  Vídụ:CPU80286có24‐bitđịachỉsẽchophépđánhđịa chỉtrựctiếpcho2 24 byte(16 Mbyte)nhớ.CPU80386vàcácloạivixửlýmạnhhơncókhônggianđịachỉ32‐bitsẽcó thểđánhđượctới2 32 byte(4Gbyte)địachỉtrựctiếp.  17  Busdữliệu BusdữliệulàcáckênhtruyềntảithôngtintheohaichiềugiữaCPUvàbộnhớhoặccác thiếtbịngoạivivàora.Busdữliệuđượcđiềukhiểnbởi CPUđểđọchoặcviếtcácdữ liệuhoặcmãlệnhthựcthitrongqúatrìnhhoạtđộngcủaCPU.Độrộngcủabusdữliệu nóichungsẽxácđịnhđượclượngdữliệucóthểtruyền vàtraođổitrênbus.Tốcđộ truyềnhaytraođổidữliệuthườngđượctínhtheođơnvịlà[byte/s].Sốlượngđường bitdữliệusẽchophépxácđịnhđượcsốlượngbitcóthểlưutrữtrongmỗikhu vực thamchiếutrựctiếp.Nếumộtbusdữliệucókhảnăngthựchiệnmộtlầntruyềntrong1 μs,thìbusdữliệu8‐bitsẽcóbăngthônglà1Mbyte/s,bus16 ‐bitsẽcóbăngthônglà 2Mbyte/svàbus32‐bitsẽcóbăngthônglà4Mbyte/s.Trongtrườnghợpbusdữliệu8‐ bitvớichukỳbuslàT=1μs(tứclàsẽtruyềnđược1byte/1chukỳ)thìsẽ truyềnđược1 Mbytetrong1shay2Mbytetrong2s.   Busđiềukhiển Busđiềukhiểnphụcvụtruyềntảicácthôngtindữliệu đểđiềukhiểnhoạtđộngcủahệ thống.Thôngthường cácdữliệuđiềukhiểnbaogồmcáctínhi ệuchukỳđểđồngbộ cácnhịpchuyểnđộngvàhoạtđộngcủahệthống.Busđiềukhiểnthườngđượcđiều khiểnbởiCPUđểđồngb ộhóanh ịphoạtđộngvàdữliệutraođổitrêncácbus.Trong trườnghợpvixửlýsửdụngdồnkênhbusdữliệuvàbusđịachỉtứclàmộtphầnhoặc toànbộbusdữ liệusẽđượcsửdụngchungchiasẻvớibusđịachỉthìcầnmộttínhiệu điềukhiểnđểphânnhịptruynhậpchophépchốtlưutrữthôngtinđịachỉmỗikhibắt đầu mộtchukỳtruyền.Mộtvídụvềcácchukỳbusvàsựđồngbộcủachúngtrong hoạtđộngcủahệthốngbusđịachỉvàdữliệudồnkênhđượcchỉratro ngHình2‐10. Đâylà hoạtđộngđiểnhìnhtronghọviđiềukhiển8051vànhiềuloạitươngtự.   Hình2‐10:Chukỳhoạtđộngbusdồnkêch 2.1.4 Bộ nhớ Kiếntrúcbộnhớ Kiếntrúcbộnhớđượcchiaralàmhailoạichínhvàđượcápdụngrộngrãitronghầu hếtcácChipxửlýnhúnghiệnnaylàkiếntrúcbộnhớvonNeumannvàHavard.  18 TrongkiếntrúcvonNeumannkhôngphânbiệtvùngchứadữliệu vàmãchươngtrình. Cảchươngtrìnhvàdữliệuđềuđượctruynhậptheocùngmộtđường.Điềunàycho phépđưadữliệuvàovùng mãchươngtrìnhROM,vàcũngcóthểlưumãchươngtrình vàovùngdữliệuRAMvàthựchiệntừđó.   Hình2‐11:KiếntrúcbộnhớvonNeumannvàHavard KiếntrúcHavardtách/phânbiệtvùnglưumãchươngtrìnhvàdữliệu.Mãchươngtrình chỉcóthểđượclưuvàthựchiệntrongvùngchứaROMvàdữliệucũngchỉcóthểlưu vàtrao đổitrongvùngRAM.Hầuhếtcácvixửlýnhúngngàynaysửdụngkiếntrúcbộ nhớHavardhoặckiếntrúcHavardmởrộng(tứclàbộnhớchươngtrìnhvàdữliệutách biệtnhưng vẫnchophépkhảnănghạnchếđểlấydữliệuratừvùngmãchươngtrình). TrongkiếntrúcbộnhớHavardmởrộngthườngsửdụngmộtsốlượngnhỏcáccontrỏ đểlấydữliệ utừvùngmãchươngtrìnhtheocáchnhúngvàotrongcáclệnhtứcthời. MộtsốChipviđiềukhiểnnhúngtiêubiểuhiệnnaysửdụngcấutrúcHavardlà8031, PIC,AtmelAVR90S.Nếusử dụngChip8031chúngtasẽnhậnthấyđiềunàythôngqu a việctruy nhậplấy dữliệu ratừ vùngdữ liệuRAM hoặctừ vùngmãchươngtrình. Chúngtacómộtvàicontrỏđượcs ửdụngđểlấydữliệuratừbộnhớdữliệuRAM, nhưngchỉcóduynhấtmộtcontrỏDPTRcóthểđượcsửdụngđểlấydữliệuratừvùng mãchương trình. Hình2‐11 môtả nguyên lýkiến trúccủa bộ nhớvon Neumann và Harvard.  ƯuđiểmnổibậtcủacấutrúcbộnhớHarvardsovớikiếntrúcvonNeumannlàcóhai kênhtáchbiệtđểtruynhậpvàovùngbộnh ớmãchươngtrìnhvàdữliệunhờvậymà mãchươngtrìnhvàdữliệucóthểđượctruynhậpđồngthờivàlàmtăngtốcđộluồng traođổivớibộxửlý. 19  Hình2‐12:Nguyênlýđiềukhiểntáchkênhtruynhậpbusđịachỉvàbusdữliệu Bộnhớchươngtrình–PROM(ProgrammableReadOnlyMemory) Vùngđểlưumãchươngtrình.CóbaloạibộnhớPROMthôngdụngđượcsửdụngcho hệnhúngvàsẽđượcgiớithiệulầnlượtsauđây.   EPROM Baogồmmộtmảngcáctransistorkhảtrình.Mãchươngtrìnhsẽđượcghitrựctiếpvàvi xửlýcóthểđọcrađểthựchiện.EPROMcóthểxoáđượcbằngtiacựctímvàcóthể được lậptrìnhlại.CấutrúcvậtlýcủaEPROMđượcmôtảnhưtrongHình2‐13.     Hình2‐13:NguyênlýcấutạovàhoạtđộngxoácủaEPROM 20  BộnhớFlash CũnggiốngnhưEPROMđượccấutạobởimộtmảngtransistorkhảtrìnhnhưngcóthể xoáđượcbằngđiệnvàchínhvìvậycóthểnạplạichươngtrìnhmàkhông cầntáchra khỏinềnphầncứngVXL.Ưuđiểmcủabộnhớflashlàcóthểlậptrìnhtrựctiếptrên mạchcứngmànóđangthựcthitrênđó.  Hình2‐14:SơđồnguyênlýghépnốiEPROMvớiVXL Bộnhớdữliệu‐RAM Vùngđểlưuhoặctraođổidữliệutrunggiantrongquátrìnhthựchiệnchươngtrình.  Hình2‐15:CấutrúcnguyênlýbộnhớRAM  CóhailoạiSRAMvàDRAM [...]... Một cổng bus 2 chiều 8‐bit (cổng A) và một cổng điều khiển 5‐bit (Cổng C)  Cả hai chiều dữ liệu vào và ra đều đươc chốt.  Cổng điều khiển 5‐bit (Cổng C) được sử dụng cho mục đích điều khiển và trạng  thái cho cổng A để trao đổi dữ liệu 2 chiều 8 bit.  Bộ định thời/Bộ đếm C8254    Hình 2‐27: Thanh ghi từ điều khiển chọn chế độ hoạt động cho 82C55A  Khi đầu vào RESET được điều khiển ở mức cao thì tất cả các cổng sẽ được thiết lập hoạt ... đảm bảo để thực thi đúng theo thứ tự. Một ví dụ đơn giản nhất về sự phụ thuộc điều khiển là  sự  phụ  thuộc  điều khiển theo  cấu  trúc  if…then…Phần  thực  thi  trong  phần  “then” sẽ phụ thuộc câu lệnh điều kiện if.  Ví dụ đoạn mã chương trình minh họa như  sau:      if (p1) { S1;    }   if (p2) {   S2;  }   62  Câu lệnh được điều khiển phụ thuộc vào p1 và S2 được điều khiển phụ thuộc p2 chứ  không phải p1.     Nói chung, có 2 ràng buộc có thể giả thiết trong sự phụ thuộc điều khiển:  ... trong  các  phép  tính  Hazard do sự phụ thuộc điều khiển Kiểu phụ thuộc cũng khá phổ biến là do cấu trúc điều khiển.  Sự phụ thuộc điều khiển được quyết định trình tự thực thi của một lệnh i theo lệnh rẽ nhánh đảm bảo sao cho nó  được thực thi đúng như thứ tự mong muốn. Tất cả các lệnh ngoại trừ khối cơ bản đầu  tiên của chương trình đều được  điều khiển theo cấu trúc lệnh rẽ nhánh và phải được ... Sự phụ thuộc điều khiển phải được đảm bảo bởi 2 thuộc tính trong cơ chế pipeline đơn  giản.  Thứ  nhất,  các  lệnh  thực  hiện  trong  chương  trình  phải  đúng  theo  trình  tự  được  điều khiển của  nó.  Trình  tự  này  phải  được  đảm  bảo  rằng  một  lệnh  mà  phải  thực  thi  trước một nhánh điều khiển thì phải thực hiện trước nhánh đó. Thứ hai, việc phát hiện  ra sự xung đột về điều khiển (control hazard) sẽ đảm bảo rằng một lệnh mà được điều ... Trong bài viết này tác giả giới thiệu ngắn gọn về các chủng loại chip xử lý, điều khiển nhúng điển hình đang tồn tại và phát triển về một số đặc điểm và hướng phạm vi ứng  dụng của chúng.    Có  thể kể ra hàng  loạt  các Chíp khả trình  có  thể sử  dụng  cho các bài toán thiết kế hệ  nhúng như  các  họ  vi  xử  lý/vi  điều khiển nhúng (Microprocessor/  Microcontroller),  Chip  DSP  (Digital  Signal ... nếu chúng không gây ảnh hưởng gì đến tính đúng đắn của chương trình, nếu không sự  xung đột gây ra bởi sự phụ thuộc điều khiển có thể xảy ra. Sự phụ thuộc về điều khiển không  phải  là  một  thuộc  tính  kịch  tính  bắt  buộc  phải  bảo  đảm.  Thay  vì  điều đó,  hai  thuộc tính kịch tính cho việc lập trình một cách đúng đắn và thường được bảo đảm là  phải tránh được xung đột bởi cả sự phụ thuộc về dữ liệu và điều khiển và đó chính là  hành vi ngoại lệ có thể xảy ra trong luồng dữ liệu thực thi chương trình. ... Nguồn cung cấp có thể là +5V, ± 12V, hoặc ± 15V  Thời gian chuyển đổi cực đại là 25 µs với thời gian truy nhập bus là 150ns.    27    Hình 2‐25: Sơ đồ bố trí chân của Chip ADC574A  Nguyên lý điều khiển ADC 574 được điều khiển bởi các chân tín hiệu như mô tả trong bảng sau:  Bảng 1: Tín hiệu điều khiển ADC 574A  Ký hiệu Định nghĩa CE (Pin 6) Chip Enable (active high) Must be high (“1”) to either initiate a conversion or read output data 0-1... hiện DMA với CPU. Sau khi xử lý, nếu được chấp nhận CPU sẽ trao quyền điều khiển bus cho ngoại vi và thực hiện quá trình trao đổi dữ liệu. Sau khi thực hiện xong CPU sẽ  nhận được thông báo và nhận lại quyền điều khiển bus. Trong cơ chế DMA, có hai cách  để truyền dữ liệu: kiểu DMA chu kỳ đơn, và kiểu DMA chu kỳ nhóm (burst).    cần có một bước xử lý để quyết định xem thiết bị nào sẽ đươc nhận quyền điều khiển trong trường hợp có nhiều hơn một thiết bị có nhu cầu sử dụng DMA. Thông thường ... IC chức năng chuyên dụng  Hình 2‐21: Nhịp hoạt động DMA  DMA chu kỳ đơn và nhóm  Trong kiểu hoạt động DMA chu kỳ nhóm, ngoại vi sẽ nhận được quyền điều khiển và  truyền khối  dữ  liệu  rồi  trả  lại  quyền điều khiển cho  CPU. Trong cơ  chế DMA chu kỳ  đơn ngoại vi sau khi nhân được quyền điều khiển bus chỉ truyền một từ dữ liệu rồi trả  lại ngay quyền kiểm soát bộ nhớ và bus dữ liệu cho CPU. Trong cơ chế thực hiện DMA ... ra sự xung đột về điều khiển (control hazard) sẽ đảm bảo rằng một lệnh mà được điều khiển phụ thuộc vào một nhánh thì không được thực hiện chừng nào hướng thực hiện  của nhánh đó rõ ràng. Bảo đảm được sự phụ thuộc điều khiển là cần thiết và cũng là  một  cách  đơn  giản  để  đảm  bảo  đúng  trình  tự  thực  hiện  chương  trình.  Sự  phụ  thuộc  điều khiển không  phải  là  một  sự  hạn  chế  cơ  bản  về  khả  năng  . Busdữliệu BusdữliệulàcáckênhtruyềntảithôngtintheohaichiềugiữaCPUvàbộnhớhoặccác thiếtbịngoạivivàora.Busdữliệuđược điều khiển bởi CPUđểđọchoặcviếtcácdữ liệuhoặcmãlệnhthựcthitrongqúatrìnhhoạtđộngcủaCPU.Độrộngcủabusdữliệu nóichungsẽxácđịnhđượclượngdữliệucóthểtruyền vàtraođổitrênbus.Tốcđộ truyềnhaytraođổidữliệuthườngđượctínhtheođơnvịlà[byte/s].Sốlượngđường bitdữliệusẽchophépxácđịnhđượcsốlượngbitcóthểlưutrữtrongmỗikhu vực thamchiếutrựctiếp.Nếumộtbusdữliệucókhảnăngthựchiệnmộtlầntruyềntrong1 μs,thìbusdữliệu8‐bitsẽcóbăngthônglà1Mbyte/s,bus16 ‐bitsẽcóbăngthônglà 2Mbyte/svàbus32‐bitsẽcóbăngthônglà4Mbyte/s.Trongtrườnghợpbusdữliệu8‐ bitvớichukỳbuslàT=1μs(tứclàsẽtruyềnđược1byte/1chukỳ)thìsẽ truyềnđược1 Mbytetrong1shay2Mbytetrong2s.   Bus điều khiển Bus điều khiển phụcvụtruyềntảicácthôngtindữliệu để điều khiển hoạtđộngcủahệ thống. Thôngthường cácdữliệu điều khiển baogồmcáctínhi ệuchukỳđểđồngbộ cácnhịpchuyểnđộngvàhoạtđộngcủahệ thống. Bus điều khiển thườngđược điều khiển bởiCPUđểđồngb ộhóanh. nội dung môn học Hệ điều khiển nhúng làm ộtmônhọcmớinhằmcungcấpkiếnthứcchosinhviênvề khảnăngphântíchvàthiếtkếhệ thống điều khiển vàthôngminhhoáhệ thống theo  chứcnăngtheogiảiphápcôngnghệ.Thiếtkếthựcthi điều khiển trênnềnphầncứng nhúng.  11 2. Ngônngữmôtảphầncứng(VHDL) 103 6.4 Thiếtkếphầnmềm điều khiển 104 6.4.1 Môhìnhthựcthibộ điều khiển nhúng 104 6.4.2 Vídụthựcthibộ điều khi ểnPIDsố 106 TÀILIỆUTHAMKHẢO 108         4                   5 1

Ngày đăng: 12/10/2014, 21:06

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan