RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>時間觸發(fā)嵌入式系統(tǒng)的設(shè)計方案

時間觸發(fā)嵌入式系統(tǒng)的設(shè)計方案

2017-10-17 | rar | 0.4 MB | 次下載 | 1積分

資料介紹

1.引言
  近年來,嵌入式發(fā)展迅速,采用51單片機(jī)死循環(huán)的事件觸發(fā)編程方式已逐漸不能滿足企業(yè)對產(chǎn)品穩(wěn)定性和安全性的要求。目前,嵌入式系統(tǒng)軟件有VxWork、Linux、WinCE、μC/OS-II等,可出于成本和技術(shù)上的考慮,微控制器往往不會選取其進(jìn)行設(shè)計。在實(shí)際應(yīng)用中,往往會面臨同時應(yīng)付多外設(shè)、多任務(wù)的情況,則對它們的相互調(diào)度必不可少。時間觸發(fā)嵌入式系統(tǒng)就是這樣的簡單實(shí)用的操作系統(tǒng)。
  本文設(shè)計了基于AVR微控制器的時間觸發(fā)多任務(wù)調(diào)度器并應(yīng)用于實(shí)際。該調(diào)度器使用傳遞消息(message)的方式使得微控制器在多個任務(wù)及設(shè)備間切換。
  2.AVR微控制器的結(jié)構(gòu)特點(diǎn)
  AVR是目前使用以該系列的ATmega128為例說明,它采用哈佛結(jié)構(gòu),RISC指令集、低功耗、片上資源豐富的特點(diǎn),極大簡化了外圍電路,使系統(tǒng)更加穩(wěn)定可靠。其特點(diǎn)為嵌入式系統(tǒng)設(shè)計提供了良好的硬件保證。
  3.嵌入式兩種觸發(fā)方式的對比
  在嵌入式系統(tǒng)中,通常采用兩種本質(zhì)上不同的調(diào)度方式:事件觸發(fā)和時間觸發(fā)。事件觸發(fā)方式往往使用多級中斷來實(shí)現(xiàn),其發(fā)生時間具有隨機(jī)性;而時間觸發(fā)方式由一個全局時鐘驅(qū)動,系統(tǒng)的行為在功能與時間上都是確定的,即具有可預(yù)測性。
  3.1 事件觸發(fā)方式存在的問題
  嵌入式系統(tǒng)開發(fā)人員有一種中斷事件絕不會丟失的錯誤觀念,這往往給開發(fā)的產(chǎn)品帶來災(zāi)難性的后果。中斷事件丟失在實(shí)際應(yīng)用中是一個不爭的事實(shí),產(chǎn)生的原因有多方面,但無外乎內(nèi)因和外因兩種。外因指嵌入式系統(tǒng)外產(chǎn)生的原因,這里主要指中斷源信號丟失或過于頻繁;而內(nèi)因又可分為硬件原因和軟件原因,硬件原因主要由所用嵌入式器件的中斷嵌套能力所致,軟件原因主要由開發(fā)者編程時對任務(wù)中斷優(yōu)先級設(shè)置錯誤以及任務(wù)處理不當(dāng)所致。
  例如,中斷0是一個高優(yōu)先級中斷,而中斷1是一個低優(yōu)先級中斷,則由高優(yōu)先級中斷激活的中斷服務(wù)程序不能被低優(yōu)先級的中斷打斷。于是,對第二個中斷的響應(yīng)將被延遲,甚至在一些情況下它有被完全忽略的可能。
  如果多個中斷源可能在“隨機(jī)的”時間間隔產(chǎn)生中斷,則中斷響應(yīng)可能被遺漏。實(shí)際上,在同時有幾個有效的中斷源的情況下,幾乎不可能創(chuàng)建程序代碼來正確地處理所有可能的中斷組合。并且同時處理多個事件不但增加了系統(tǒng)復(fù)雜性,而且降低了系統(tǒng)在所有情況下的行為預(yù)測能力。至于使用效率,Metzner討論并得出結(jié)論:一個包含27個任務(wù)、采用RM調(diào)度算法的事件觸發(fā)系統(tǒng),CPU的實(shí)際利用率僅為18%.
  3.2 時間觸發(fā)方式的優(yōu)勢
  在該系統(tǒng)中,設(shè)計人員能夠通過仔細(xì)安排可控的順序,保證一次只處理一個事件。它的可預(yù)測性使其成為安全相關(guān)的系統(tǒng)的首選。
  Kopetz首先提出:使用基于時間觸發(fā)的合作式調(diào)度器會使得系統(tǒng)有非常好的可預(yù)測性。除可提高可靠性之外,使用該方式有助于減輕CPU的負(fù)荷及存儲器的使用量。
  4.時間觸發(fā)嵌入式系統(tǒng)的設(shè)計
  在該調(diào)度器中,定時器的設(shè)置被分離出來,并使之不依賴于編譯器的數(shù)據(jù)類型以及處理器的位數(shù),通過修改該部分可以輕松移植到多種硬件平臺。系統(tǒng)整體方框圖如圖1所示:
  時間觸發(fā)嵌入式系統(tǒng)的設(shè)計方案
  4.1 消息隊(duì)列
  消息隊(duì)列是調(diào)度器的核心,它是用戶自定義的數(shù)據(jù)類型,包括了每個任務(wù)所需要的信息。盡量將其存儲在DATA區(qū),以供快速存取。
  對于基于時間觸發(fā)的混合式調(diào)度器,使用如下的數(shù)據(jù)結(jié)構(gòu),對于每個任務(wù)存儲器的開銷僅為8個字節(jié)。即使是使用32位處理器,每個任務(wù)的開銷也僅為14個字節(jié)。
  時間觸發(fā)嵌入式系統(tǒng)的設(shè)計方案
  4.2 調(diào)度器定時器初始化函數(shù)
  該函數(shù)用來產(chǎn)生驅(qū)動調(diào)度器的定時時標(biāo)。
  本文所選用AVR系列的ATmega128微控制器具有四個定時器(兩個8位,兩個16位),任一個都能用來驅(qū)動調(diào)度器,權(quán)衡考慮選用定時器0.
  void SCH_Init_T0(void){逐個刪除各個任務(wù);停止定時器0;設(shè)置時間大小函數(shù);使能定時器0方式;啟動定時器0;}
  注:在此期間不可開啟總中斷,即:
  SREG=0×80或SEI();調(diào)度器必須先設(shè)定一個默認(rèn)的時間片,這并不是件簡單的事。時間片過長會導(dǎo)致系統(tǒng)對交互行為的響應(yīng)表現(xiàn)欠佳;時間片太短又會明顯地增大調(diào)度器處理耗時,而留給任務(wù)運(yùn)行的時間卻很短。
  根據(jù)筆者經(jīng)驗(yàn),一個較為可取的時間片是略大于一次典型的交互所需要的時間,使大多數(shù)進(jìn)程在一個時間片內(nèi)完成。經(jīng)反復(fù)嘗試,時間片選擇在1~5ms之間執(zhí)行效率較高,這樣既可滿足響應(yīng)速度的要求又能把任務(wù)執(zhí)行的時間降到最低。該時間與任務(wù)個數(shù)和任務(wù)運(yùn)行時間均有關(guān),具體大小視情況而定。
  4.3 中斷服務(wù)程序
  建議該函數(shù)由CTC方式激活,當(dāng)某任務(wù)需要運(yùn)行時,使之處于就緒態(tài)等待被執(zhí)行。該函數(shù)內(nèi)容由具體任務(wù)而定。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
RM新时代网站-首页