1.前言
近年來,嵌入式發(fā)展迅速,采用51單片機(jī)死循環(huán)的事件觸發(fā)編程方式已逐漸不能滿足企業(yè)對(duì)產(chǎn)品穩(wěn)定性和安全性的要求。目前,嵌入式系統(tǒng)軟件有VxWork、Linux、WinCE、μC/OS-II等,可出于成本和技術(shù)上的考慮,微控制器往往不會(huì)選取其進(jìn)行設(shè)計(jì)。在實(shí)際應(yīng)用中,往往會(huì)面臨同時(shí)應(yīng)付多外設(shè)、多任務(wù)的情況,則對(duì)它們的相互調(diào)度必不可少。時(shí)間觸發(fā)嵌入式系統(tǒng)就是這樣的簡單實(shí)用的操作系統(tǒng)。
本文設(shè)計(jì)了基于AVR微控制器的時(shí)間觸發(fā)多任務(wù)調(diào)度器并應(yīng)用于實(shí)際。該調(diào)度器使用傳遞消息(message)的方式使得微控制器在多個(gè)任務(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è)計(jì)提供了良好的硬件保證。
3.嵌入式兩種觸發(fā)方式的對(duì)比
在嵌入式系統(tǒng)中,通常采用兩種本質(zhì)上不同的調(diào)度方式:事件觸發(fā)和時(shí)間觸發(fā)。事件觸發(fā)方式往往使用多級(jí)中斷來實(shí)現(xiàn),其發(fā)生時(shí)間具有隨機(jī)性;而時(shí)間觸發(fā)方式由一個(gè)全局時(shí)鐘驅(qū)動(dòng),系統(tǒng)的行為在功能與時(shí)間上都是確定的,即具有可預(yù)測(cè)性。
3.1 事件觸發(fā)方式存在的問題
嵌入式系統(tǒng)開發(fā)人員有一種中斷事件絕不會(huì)丟失的錯(cuò)誤觀念,這往往給開發(fā)的產(chǎn)品帶來災(zāi)難性的后果。中斷事件丟失在實(shí)際應(yīng)用中是一個(gè)不爭的事實(shí),產(chǎn)生的原因有多方面,但無外乎內(nèi)因和外因兩種。外因指嵌入式系統(tǒng)外產(chǎn)生的原因,這里主要指中斷源信號(hào)丟失或過于頻繁;而內(nèi)因又可分為硬件原因和軟件原因,硬件原因主要由所用嵌入式器件的中斷嵌套能力所致,軟件原因主要由開發(fā)者編程時(shí)對(duì)任務(wù)中斷優(yōu)先級(jí)設(shè)置錯(cuò)誤以及任務(wù)處理不當(dāng)所致。
例如,中斷0是一個(gè)高優(yōu)先級(jí)中斷,而中斷1是一個(gè)低優(yōu)先級(jí)中斷,則由高優(yōu)先級(jí)中斷激活的中斷服務(wù)程序不能被低優(yōu)先級(jí)的中斷打斷。于是,對(duì)第二個(gè)中斷的響應(yīng)將被延遲,甚至在一些情況下它有被完全忽略的可能。
如果多個(gè)中斷源可能在“隨機(jī)的”時(shí)間間隔產(chǎn)生中斷,則中斷響應(yīng)可能被遺漏。實(shí)際上,在同時(shí)有幾個(gè)有效的中斷源的情況下,幾乎不可能創(chuàng)建程序代碼來正確地處理所有可能的中斷組合。并且同時(shí)處理多個(gè)事件不但增加了系統(tǒng)復(fù)雜性,而且降低了系統(tǒng)在所有情況下的行為預(yù)測(cè)能力。至于使用效率,Metzner討論并得出結(jié)論:一個(gè)包含27個(gè)任務(wù)、采用RM調(diào)度算法的事件觸發(fā)系統(tǒng),CPU的實(shí)際利用率僅為18%.
3.2 時(shí)間觸發(fā)方式的優(yōu)勢(shì)
在該系統(tǒng)中,設(shè)計(jì)人員能夠通過仔細(xì)安排可控的順序,保證一次只處理一個(gè)事件。它的可預(yù)測(cè)性使其成為安全相關(guān)的系統(tǒng)的首選。
Kopetz首先提出:使用基于時(shí)間觸發(fā)的合作式調(diào)度器會(huì)使得系統(tǒng)有非常好的可預(yù)測(cè)性。除可提高可靠性之外,使用該方式有助于減輕CPU的負(fù)荷及存儲(chǔ)器的使用量。
4.時(shí)間觸發(fā)嵌入式系統(tǒng)的設(shè)計(jì)
在該調(diào)度器中,定時(shí)器的設(shè)置被分離出來,并使之不依賴于編譯器的數(shù)據(jù)類型以及處理器的位數(shù),通過修改該部分可以輕松移植到多種硬件平臺(tái)。系統(tǒng)整體方框圖如圖1所示:
4.1 消息隊(duì)列
消息隊(duì)列是調(diào)度器的核心,它是用戶自定義的數(shù)據(jù)類型,包括了每個(gè)任務(wù)所需要的信息。盡量將其存儲(chǔ)在DATA區(qū),以供快速存取。
對(duì)于基于時(shí)間觸發(fā)的混合式調(diào)度器,使用如下的數(shù)據(jù)結(jié)構(gòu),對(duì)于每個(gè)任務(wù)存儲(chǔ)器的開銷僅為8個(gè)字節(jié)。即使是使用32位處理器,每個(gè)任務(wù)的開銷也僅為14個(gè)字節(jié)。
4.2 調(diào)度器定時(shí)器初始化函數(shù)
該函數(shù)用來產(chǎn)生驅(qū)動(dòng)調(diào)度器的定時(shí)時(shí)標(biāo)。
本文所選用AVR系列的ATmega128微控制器具有四個(gè)定時(shí)器(兩個(gè)8位,兩個(gè)16位),任一個(gè)都能用來驅(qū)動(dòng)調(diào)度器,權(quán)衡考慮選用定時(shí)器0.
void SCH_Init_T0(void){逐個(gè)刪除各個(gè)任務(wù);停止定時(shí)器0;設(shè)置時(shí)間大小函數(shù);使能定時(shí)器0方式;啟動(dòng)定時(shí)器0;}
注:在此期間不可開啟總中斷,即:
SREG=0&TImes;80或SEI();調(diào)度器必須先設(shè)定一個(gè)默認(rèn)的時(shí)間片,這并不是件簡單的事。時(shí)間片過長會(huì)導(dǎo)致系統(tǒng)對(duì)交互行為的響應(yīng)表現(xiàn)欠佳;時(shí)間片太短又會(huì)明顯地增大調(diào)度器處理耗時(shí),而留給任務(wù)運(yùn)行的時(shí)間卻很短。
根據(jù)筆者經(jīng)驗(yàn),一個(gè)較為可取的時(shí)間片是略大于一次典型的交互所需要的時(shí)間,使大多數(shù)進(jìn)程在一個(gè)時(shí)間片內(nèi)完成。經(jīng)反復(fù)嘗試,時(shí)間片選擇在1~5ms之間執(zhí)行效率較高,這樣既可滿足響應(yīng)速度的要求又能把任務(wù)執(zhí)行的時(shí)間降到最低。該時(shí)間與任務(wù)個(gè)數(shù)和任務(wù)運(yùn)行時(shí)間均有關(guān),具體大小視情況而定。
4.3 中斷服務(wù)程序
建議該函數(shù)由CTC方式激活,當(dāng)某任務(wù)需要運(yùn)行時(shí),使之處于就緒態(tài)等待被執(zhí)行。該函數(shù)內(nèi)容由具體任務(wù)而定。
4.4 調(diào)度器任務(wù)添加函數(shù)
上一篇:基于AVR芯片的光照和CO2控制系統(tǒng)分析
下一篇:以AVR為核心控制器的可預(yù)置程控寬帶直流功率放大電路設(shè)計(jì)
推薦閱讀
史海拾趣
ENSIGN不僅關(guān)注傳統(tǒng)電子行業(yè)的發(fā)展,還積極探索新的業(yè)務(wù)領(lǐng)域。最近,ENSIGN集團(tuán)宣布收購位于亞利桑那州的醫(yī)療保健園區(qū)River Park Post Acute和Elmwood Senior Living,以及其他七家公司。這一收購標(biāo)志著ENSIGN正逐步向醫(yī)療保健領(lǐng)域進(jìn)軍,尋求多元化的發(fā)展機(jī)會(huì)。
在電子行業(yè)中,晶振模組是眾多電子設(shè)備不可或缺的核心組件。安納森(AnaSem)公司自創(chuàng)立之初,便致力于研發(fā)創(chuàng)新的晶振模組技術(shù)。面對(duì)市場上多數(shù)廠家仍依賴傳統(tǒng)晶體制作方法的現(xiàn)狀,安納森憑借其深厚的研發(fā)實(shí)力和前瞻性的技術(shù)視野,成功研發(fā)出以單體式集成電路為核心的晶振模組制作技術(shù)。這一技術(shù)的突破不僅大幅提升了晶振模組的性能與穩(wěn)定性,更使得安納森在激烈的市場競爭中脫穎而出,迅速占據(jù)了行業(yè)的一席之地。
隨著技術(shù)的不斷進(jìn)步,ERA Transformers公司的產(chǎn)品逐漸受到了業(yè)界的廣泛關(guān)注。一次,一家國際知名的電子設(shè)備制造商找到他們,希望合作開發(fā)一款適用于其新產(chǎn)品的變壓器。這對(duì)ERA Transformers公司來說是一個(gè)難得的機(jī)會(huì),也是一個(gè)巨大的挑戰(zhàn)。公司迅速組織技術(shù)團(tuán)隊(duì),與這家制造商緊密合作,經(jīng)過數(shù)輪的設(shè)計(jì)、測(cè)試和修改,最終成功研發(fā)出了一款完全符合客戶要求的高性能變壓器。這一成功合作不僅為公司帶來了可觀的收益,更贏得了客戶的極高評(píng)價(jià)和長期合作意向。
在快速發(fā)展的電子行業(yè)中,F(xiàn)TDI始終保持著高度的警惕性和創(chuàng)新精神。面對(duì)假冒芯片的威脅,公司采取了強(qiáng)有力的打擊措施以維護(hù)用戶權(quán)益和市場口碑。同時(shí),為了更好地滿足市場需求,F(xiàn)TDI不斷加強(qiáng)技術(shù)團(tuán)隊(duì)建設(shè),引進(jìn)經(jīng)驗(yàn)豐富的工程師和有潛力的大學(xué)畢業(yè)生,不斷提升自身的研發(fā)實(shí)力和技術(shù)水平。此外,公司還密切關(guān)注市場動(dòng)態(tài)和技術(shù)趨勢(shì),以便及時(shí)調(diào)整戰(zhàn)略方向并推出具有競爭力的新產(chǎn)品。通過這些努力,F(xiàn)TDI在電子行業(yè)中持續(xù)保持著領(lǐng)先地位。
作為一家半導(dǎo)體公司,技術(shù)突破和創(chuàng)新是ELANTEC發(fā)展的核心動(dòng)力。在移動(dòng)通信領(lǐng)域,ELANTEC不斷推出具有創(chuàng)新性的產(chǎn)品和技術(shù),如低功耗、高性能的移動(dòng)通信芯片等。此外,在汽車電子、工業(yè)控制等領(lǐng)域,ELANTEC也取得了多項(xiàng)技術(shù)突破,為客戶提供了更加優(yōu)質(zhì)的產(chǎn)品和服務(wù)。
為了加速國際化進(jìn)程,金宇半導(dǎo)體于2020年制定了詳細(xì)的國際化戰(zhàn)略。公司首先在歐洲設(shè)立了研發(fā)中心,以吸引更多國際頂尖人才加入。隨后,金宇半導(dǎo)體又通過一系列并購整合動(dòng)作,收購了多家在特定領(lǐng)域具有領(lǐng)先技術(shù)的海外企業(yè)。這些并購不僅增強(qiáng)了金宇半導(dǎo)體的技術(shù)實(shí)力和市場影響力,還為其在全球范圍內(nèi)的業(yè)務(wù)拓展提供了有力支持。通過國際化戰(zhàn)略的實(shí)施,金宇半導(dǎo)體正逐步成為一家具有全球競爭力的半導(dǎo)體企業(yè)。
這是從本壇下載的一段程序,繞得頭暈,哪位能在后面注釋一下啊。先謝了! ;中值濾波,采樣值分別放在R2,r3,r4中, 結(jié)果從小到大排序放在R2,R3,R4中 ;R3為中值 FILT2:MOV A,R2 CLR C &nbs ...… 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 03:14 編輯 循跡 [ 本帖最后由 open82977352 于 2009-12-20 16:27 編輯 ] … 查看全部問答∨ |
http://digibbs.tech.163.com/bbs/article.jsp?boardid=notebook&articleid=155219764 如果可以嵌入優(yōu)酷的視頻就好了 [ 本帖最后由 空氣 于 2009-11-3 13:35 編輯 ]… 查看全部問答∨ |
|
EVC4.0開發(fā)一個(gè)界面,卻不知左右軟鍵功能開發(fā),用哪一個(gè)類,模擬器上沒有這兩個(gè)鍵的,也不知是VK_??啥子?望哪位仁兄不吝賜教。… 查看全部問答∨ |
包含了ntddndis.he為什么會(huì)出這樣的錯(cuò)誤。 rawethernet\\ntddndis.h(101) : error C2146: syntax error : missing \';\' before identifier \'Offset\' rawethernet\\ntddndis.h(101) : error C2501: \'ULONG_PTR\' : missing storage-class or type specifiers rawethernet\\ntddndis.h ...… 查看全部問答∨ |
1 銀膠脫落 制程問題 支架用超聲波清洗,80度除濕4小時(shí),再開始作業(yè)。或者采用錫膏焊接(對(duì)晶片有要求) 2 A點(diǎn)脫落,大部分是晶片問題,也有制程問題,如焊線前除濕。 3 E點(diǎn)脫落,設(shè)備原因占50% 支架原因占40% ,10%是制程原因,設(shè)備 ...… 查看全部問答∨ |
本帖最后由 ddllxxrr 于 2016-1-7 17:15 編輯 聽朋友說是小批量分銷商,很多大的企業(yè)都通過它購買, 大家使用過么?用起來怎么樣?速度啊?質(zhì)量啊?價(jià)格啊?等等 … 查看全部問答∨ |
收到【EEWORLD大學(xué)堂——玩轉(zhuǎn)LaunchPad及G2xx系列超值單片機(jī)】禮品啦! 經(jīng)測(cè)試使用,一切 [ 本帖最后由 zdhm_Web 于 2011-11-30 12:05 編輯 ]… 查看全部問答∨ |
最近在學(xué)習(xí)串口通信的問題,采用DMA的通信方式,在中斷函數(shù)中處理收發(fā)數(shù)據(jù),但是為什么發(fā)送和接收數(shù)據(jù)只能是一個(gè)字符呢?… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 無人飛行器機(jī)載穩(wěn)定云臺(tái)控制系統(tǒng)的設(shè)計(jì)
- 匠芯創(chuàng)推出面向具身智能高性能實(shí)時(shí)處理器M7000
- 基于HW2181B的航模無線遙控通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 應(yīng)對(duì)機(jī)器人“四高”,極海推出全球首款雙核Cortex-M52 MCU G32R501
- 非道路移動(dòng)機(jī)械透射式煙度計(jì)研究與實(shí)現(xiàn)
- 基于STM32F103的角磨機(jī)開關(guān)磁阻電機(jī)控制器的設(shè)計(jì)
- 基于Cortex-M0智能水溫監(jiān)控系統(tǒng)的優(yōu)化
- STM32 printf重定向(串口輸出)
- 基于STM32H743的仿真轉(zhuǎn)臺(tái)控制器設(shè)計(jì)
- 電池新國標(biāo),帶來漲價(jià)潮?
- 2025Q1全球動(dòng)力電池戰(zhàn)報(bào):中國6企占近7成份額,三星SDI裝機(jī)量跌17%
- 國產(chǎn)HUD頭部企業(yè)沖刺港股:背靠蔚來、小米、理想,3年?duì)I收翻倍
- 新能源重卡的智能化核心在哪里?
- 大圓柱電池,卷土重來
- 智駕暗戰(zhàn):全民智駕降溫,L3如箭在弦|上海車展觀察
- 蔡司智能玻璃技術(shù):車窗變娛樂屏,12000尼特亮度革新駕駛體驗(yàn)
- 車輛連接的衛(wèi)星之戰(zhàn)
- 兩款熱門 SUV 輔助駕駛大PK,更安全的秘訣是國產(chǎn)芯片?
- 麻省理工學(xué)院開發(fā)出可高速精準(zhǔn)回?fù)舻钠古仪驒C(jī)器人
- 【已結(jié)束】R&S 直播【PCI Express Gen 3 一致性測(cè)試(含demo演示)】
- 新年測(cè)評(píng)活動(dòng)!ST NUCLEO-H743ZI“佩奇”待測(cè),快來申請(qǐng)年后第一波測(cè)評(píng)!
- 新欄目器件口碑專輯上線~快來點(diǎn)評(píng)吧!
- 有獎(jiǎng)直播 | 英飛凌新型固態(tài)隔離器的創(chuàng)新技術(shù)與應(yīng)用設(shè)計(jì)
- 逛東芝電子在線展會(huì),上百份禮品等您拿!
- 任選下載有禮|《新概念模擬電路》全五冊(cè)合集/《ADI 參考電路合集》
- 安全在任何時(shí)候都是第一要素,你的嵌入式設(shè)計(jì)也是!誠邀參加英飛凌 OPTIGA™ Trust M 安全防御大揭秘!
- Keysight感恩月:每天送出一臺(tái)示波器,一次注冊(cè)即可參與
- 大陸正在研發(fā)一款路況觀察者應(yīng)用
- AR-HUD的正確打開方式 蘋果獲批新專利
- 激光雷達(dá)固態(tài)化是未來趨勢(shì)
- 弗勞恩霍夫研究所提出新逆變器設(shè)計(jì) 有望將電動(dòng)汽車的續(xù)航里程提升6%
- 高通服務(wù)器芯片負(fù)責(zé)人離職:ARM難挑戰(zhàn)Intel x86霸權(quán)
- AMD推新處理器系列
- 奇力新估上半年貿(mào)易戰(zhàn)有望緩解 :看好車電、AI及5G
- 碧桂園高層人事大變動(dòng) 發(fā)力機(jī)器人與現(xiàn)代農(nóng)業(yè)
- DRAM三雄去年銷售高增長
- 印度目前無提案要求禁止采購華為生產(chǎn)的電信設(shè)備
- 現(xiàn)在訪問基于lwIP協(xié)議棧的簡單web服務(wù)器
- FPGA-全網(wǎng)公開課-第02期錄播-算法的verilog實(shí)現(xiàn)-fir濾波器
- 金融終端POS機(jī)開發(fā)(一卡兩個(gè)積分 程序如何修改)
- 如何通過修改public下的wavrec
- vxworks鏡像加載的時(shí)候地址的問題
- 帶你參觀ADI 2013設(shè)計(jì)峰會(huì)北京現(xiàn)場
- 國慶節(jié)你是怎么過的?我逛了一天大北京
- 低功耗MCU系統(tǒng)軟硬件設(shè)計(jì)問題
- MSP430F5438研究心得
- 有沒有詳細(xì)對(duì)比ARM7和Cortex-M3的資料?