資料介紹
隨著科技的進(jìn)步,嵌入式系統(tǒng)的功能逐漸由簡單向復(fù)雜發(fā)展,開發(fā)難度也隨之提高。嵌入式操作系統(tǒng)的使用,屏蔽了部分硬件信息,提供給開發(fā)者統(tǒng)一的平臺,降低了開發(fā)難度,提高了代碼的重復(fù)利用率。在一些特殊的領(lǐng)域(醫(yī)療、汽車、航空航天),對嵌入式系統(tǒng)的實(shí)時性要求非常高。在這些場合,任務(wù)必須在給定的時間內(nèi)響應(yīng)并正確完成。而實(shí)時操作系統(tǒng)RTOS(Real Time OperatiON System)本身的運(yùn)行,必然會引起性能的下降,在任務(wù)數(shù)量增加時,這種下降更加明顯。例如,使用uC/OS-II實(shí)時操作系統(tǒng)在PowerPC處理器上運(yùn)行,在TimeTick(時鐘節(jié)拍)周期為10 ?滋s、運(yùn)行64個任務(wù)的情況下,TimeTick中斷函數(shù)占用的CPU時間已達(dá)到42%[1]。
目前,RTOS軟件層面的研究已經(jīng)很成熟,可有效提高RTOS性能的方法有以下幾種:
?。?)提高處理器的運(yùn)行頻率[2]。這對功耗相當(dāng)敏感的嵌入式系統(tǒng)并不是好方法。同時高頻時鐘所引起的電磁干擾對電路板布線的要求也更高;
?。?)設(shè)計(jì)專用于RTOS系統(tǒng)服務(wù)的硬件。硬件對相同的操作可并行處理。如果設(shè)計(jì)一種硬件,在任務(wù)數(shù)量或TimeTick頻率增加的情況下,系統(tǒng)也能在固定的時鐘周期內(nèi)完成所有任務(wù)域的更新,從而降低RTOS運(yùn)行所占的CPU時間。
本文設(shè)計(jì)了實(shí)時系統(tǒng)加速RTA(Real-Time Acceleration)模塊,對任務(wù)調(diào)度和系統(tǒng)時間管理進(jìn)行硬件化,降低了任務(wù)中斷時間,并對最終的測量數(shù)據(jù)進(jìn)行對比,得出結(jié)論。
1 RTA的硬件設(shè)計(jì)
本文的硬件平臺使用OR1200[3] CPU,它是一款由OpenCores網(wǎng)站維護(hù)的開放源代碼CPU,內(nèi)部結(jié)構(gòu)可見可修改,且沒有版權(quán)問題。RTA模塊作為從設(shè)備連接到Wishbone總線[4]上。在RTA模塊中,由硬件實(shí)現(xiàn)任務(wù)管理和時間管理。RTA中的寄存器全部映射到內(nèi)存空間上,軟件通過對寄存器的訪問來控制RTA模塊的運(yùn)行。
該專用硬件可分成如下兩部分:
?。?)任務(wù)管理和時間管理部分。RTA模塊支持64個任務(wù),使用基于優(yōu)先級的調(diào)度策略,每個任務(wù)有唯一的優(yōu)先級。RTA只在需要任務(wù)切換時才中斷CPU。時間延時的最小單位是TimeTick(時鐘節(jié)拍),最長時間延時可達(dá)65 535個TimeTick;
(2)用于產(chǎn)生TimeTick信號的Timer(計(jì)時器)。RTA必須有獨(dú)立的Timer為其產(chǎn)生TimeTick信號。在本文中,利用OR1200自帶的Timer完成此工作。
本文使用的系統(tǒng)是在μC/OS-II實(shí)時操作系統(tǒng)基礎(chǔ)上改進(jìn)實(shí)現(xiàn)的。該RTOS由Micrium網(wǎng)站維護(hù),已經(jīng)應(yīng)用于商業(yè)產(chǎn)品[5]。整個軟硬件的實(shí)現(xiàn)在FPGA開發(fā)板DE2-70上完成,系統(tǒng)時鐘頻率為25 MHz。
1.1 任務(wù)管理和時間管理
任務(wù)管理和時間管理的設(shè)計(jì)框圖如圖1所示。
每個任務(wù)都有4個域:TaskValid、OSTCBStat、OSTCBDly和OSTCBStatPend。每個任務(wù)都有一個任務(wù)就緒標(biāo)志TaskReady,RTA通過PrioBitmapToBinary模塊找到最高的優(yōu)先級并送給HighestPrio。在CPU響應(yīng)外部中斷或者給調(diào)度器上鎖時,可以通過OSIntNesting和OSLockNesting寄存器關(guān)閉RTA的中斷。
μC/OS-II實(shí)時系統(tǒng)內(nèi)核中,任務(wù)調(diào)度基于TimeTick完成,由于程序只能順序執(zhí)行,任務(wù)的timedly域更新也是順序執(zhí)行的,從而使得調(diào)度函數(shù)的執(zhí)行時間與運(yùn)行的任務(wù)數(shù)量有關(guān)。在RTA模塊中,基于TimeTick的調(diào)度機(jī)制并沒有改變,只是原型中順序執(zhí)行的timedly更新,在硬件中可以同時執(zhí)行。在使用RTA模塊的系統(tǒng)中,移去了軟件中的用于任務(wù)調(diào)度的數(shù)據(jù)結(jié)構(gòu),相應(yīng)地在硬件中予以實(shí)現(xiàn)。
當(dāng)有更高優(yōu)先級的任務(wù)進(jìn)入就緒態(tài)時,就會產(chǎn)生RTA中斷。硬件實(shí)現(xiàn)上,當(dāng)進(jìn)入就緒態(tài)的上個時鐘周期的最高優(yōu)先級和本時刻的最高優(yōu)先級不同時,便產(chǎn)生中斷信號。在μC/OS-II中,每個TimeTick時刻都會發(fā)生中斷,這就需要更頻繁地保存CPU寄存器,相比本文提出的方法,浪費(fèi)了更多的CPU時間。
目前,RTOS軟件層面的研究已經(jīng)很成熟,可有效提高RTOS性能的方法有以下幾種:
?。?)提高處理器的運(yùn)行頻率[2]。這對功耗相當(dāng)敏感的嵌入式系統(tǒng)并不是好方法。同時高頻時鐘所引起的電磁干擾對電路板布線的要求也更高;
?。?)設(shè)計(jì)專用于RTOS系統(tǒng)服務(wù)的硬件。硬件對相同的操作可并行處理。如果設(shè)計(jì)一種硬件,在任務(wù)數(shù)量或TimeTick頻率增加的情況下,系統(tǒng)也能在固定的時鐘周期內(nèi)完成所有任務(wù)域的更新,從而降低RTOS運(yùn)行所占的CPU時間。
本文設(shè)計(jì)了實(shí)時系統(tǒng)加速RTA(Real-Time Acceleration)模塊,對任務(wù)調(diào)度和系統(tǒng)時間管理進(jìn)行硬件化,降低了任務(wù)中斷時間,并對最終的測量數(shù)據(jù)進(jìn)行對比,得出結(jié)論。
1 RTA的硬件設(shè)計(jì)
本文的硬件平臺使用OR1200[3] CPU,它是一款由OpenCores網(wǎng)站維護(hù)的開放源代碼CPU,內(nèi)部結(jié)構(gòu)可見可修改,且沒有版權(quán)問題。RTA模塊作為從設(shè)備連接到Wishbone總線[4]上。在RTA模塊中,由硬件實(shí)現(xiàn)任務(wù)管理和時間管理。RTA中的寄存器全部映射到內(nèi)存空間上,軟件通過對寄存器的訪問來控制RTA模塊的運(yùn)行。
該專用硬件可分成如下兩部分:
?。?)任務(wù)管理和時間管理部分。RTA模塊支持64個任務(wù),使用基于優(yōu)先級的調(diào)度策略,每個任務(wù)有唯一的優(yōu)先級。RTA只在需要任務(wù)切換時才中斷CPU。時間延時的最小單位是TimeTick(時鐘節(jié)拍),最長時間延時可達(dá)65 535個TimeTick;
(2)用于產(chǎn)生TimeTick信號的Timer(計(jì)時器)。RTA必須有獨(dú)立的Timer為其產(chǎn)生TimeTick信號。在本文中,利用OR1200自帶的Timer完成此工作。
本文使用的系統(tǒng)是在μC/OS-II實(shí)時操作系統(tǒng)基礎(chǔ)上改進(jìn)實(shí)現(xiàn)的。該RTOS由Micrium網(wǎng)站維護(hù),已經(jīng)應(yīng)用于商業(yè)產(chǎn)品[5]。整個軟硬件的實(shí)現(xiàn)在FPGA開發(fā)板DE2-70上完成,系統(tǒng)時鐘頻率為25 MHz。
1.1 任務(wù)管理和時間管理
任務(wù)管理和時間管理的設(shè)計(jì)框圖如圖1所示。
每個任務(wù)都有4個域:TaskValid、OSTCBStat、OSTCBDly和OSTCBStatPend。每個任務(wù)都有一個任務(wù)就緒標(biāo)志TaskReady,RTA通過PrioBitmapToBinary模塊找到最高的優(yōu)先級并送給HighestPrio。在CPU響應(yīng)外部中斷或者給調(diào)度器上鎖時,可以通過OSIntNesting和OSLockNesting寄存器關(guān)閉RTA的中斷。
μC/OS-II實(shí)時系統(tǒng)內(nèi)核中,任務(wù)調(diào)度基于TimeTick完成,由于程序只能順序執(zhí)行,任務(wù)的timedly域更新也是順序執(zhí)行的,從而使得調(diào)度函數(shù)的執(zhí)行時間與運(yùn)行的任務(wù)數(shù)量有關(guān)。在RTA模塊中,基于TimeTick的調(diào)度機(jī)制并沒有改變,只是原型中順序執(zhí)行的timedly更新,在硬件中可以同時執(zhí)行。在使用RTA模塊的系統(tǒng)中,移去了軟件中的用于任務(wù)調(diào)度的數(shù)據(jù)結(jié)構(gòu),相應(yīng)地在硬件中予以實(shí)現(xiàn)。
當(dāng)有更高優(yōu)先級的任務(wù)進(jìn)入就緒態(tài)時,就會產(chǎn)生RTA中斷。硬件實(shí)現(xiàn)上,當(dāng)進(jìn)入就緒態(tài)的上個時鐘周期的最高優(yōu)先級和本時刻的最高優(yōu)先級不同時,便產(chǎn)生中斷信號。在μC/OS-II中,每個TimeTick時刻都會發(fā)生中斷,這就需要更頻繁地保存CPU寄存器,相比本文提出的方法,浪費(fèi)了更多的CPU時間。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- μC/OS-II的多任務(wù)系統(tǒng)實(shí)時性解析 2次下載
- μC/OS-II 在Nios上的移植
- μC/OS-II在PC機(jī)上移植的設(shè)計(jì)與實(shí)現(xiàn)
- 基于μC/OS-II的無線調(diào)度策略分析與實(shí)現(xiàn)
- 輕型PPP協(xié)議在μC/OS-II操作系統(tǒng)中的實(shí)現(xiàn)
- 基于嵌入式系統(tǒng)μC/OS-II的雙CAN通信構(gòu)件
- 基于μC/OS-II 的溫濕度測控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于μC/OS-II的文件系統(tǒng)設(shè)計(jì)
- 基于μC/OS-II 的CAN總線驅(qū)動程序設(shè)計(jì)
- EPA 通信協(xié)議在μC/OS-II嵌入式系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)
- μC OS-II 在Nios 上的移植1
- 實(shí)時操作系統(tǒng)μC OS - II下TCP IP 協(xié)議棧的實(shí)現(xiàn)
- 編寫μC OS-II 實(shí)時內(nèi)核下的串行驅(qū)動
- μC/OS-II 任務(wù)調(diào)度機(jī)制的改進(jìn)
- 基于μC/OS-II的嵌入式音頻系統(tǒng)設(shè)計(jì)
- 基于μC/OS-II和TMS320LF2407A實(shí)現(xiàn)集散式數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì) 2344次閱讀
- 基于實(shí)時嵌入式操作系統(tǒng)mC/OS-II實(shí)現(xiàn)GPRS終端系統(tǒng)的設(shè)計(jì) 2408次閱讀
- 基于AT91R40008芯片和μC/OS-II實(shí)現(xiàn)EPA交換機(jī)的設(shè)計(jì) 3754次閱讀
- 基于MC9S12DP256芯片和μC/OS-II實(shí)現(xiàn)CCP軟件的設(shè)計(jì) 2882次閱讀
- 基于嵌入式工控模塊和μC/OS-II實(shí)現(xiàn)車載狀態(tài)監(jiān)控系統(tǒng)的設(shè)計(jì) 2064次閱讀
- 基于μC/OS-II操作系統(tǒng)實(shí)現(xiàn)在P89V51RD2微控制器上運(yùn)行 810次閱讀
- 基于μC/OS-II操作系統(tǒng)在SPCE061A上的移植優(yōu)化研研究 850次閱讀
- 基于μC/OS-II嵌入式系統(tǒng)開發(fā)中低功耗系統(tǒng)的設(shè)計(jì) 3138次閱讀
- 51單片機(jī)對μC/OS-II實(shí)時操作系統(tǒng)的移植 2507次閱讀
- LPC213X通過μC/OS-II的多種移植方案 677次閱讀
- 淺論uC/OS-II 在電動車電池管理系統(tǒng)中的應(yīng)用研究 1437次閱讀
- μC/OS-II系統(tǒng)基礎(chǔ)嵌入式開發(fā)編程教程 4547次閱讀
- LPC2119簡介 μC/OS-II在LPC2119上的移植 2847次閱讀
- 利用μC/OS-II的嵌入式激光測距系統(tǒng) 2082次閱讀
- 用AndesCore N1033A-S處理器實(shí)現(xiàn)μC/OS-II的移植 4140次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多