μC/OS-II在總線式數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
時(shí)鐘節(jié)拍是特定的周期性中斷,根據(jù)本系統(tǒng)的性能指標(biāo),取1毫秒。時(shí)鐘的節(jié)拍式中斷使得內(nèi)核可以將任務(wù)延時(shí)若干個(gè)整數(shù)時(shí)鐘節(jié)拍,以及當(dāng)任務(wù)等待事件發(fā)生時(shí),提供等待超時(shí)的依據(jù)。另外,系統(tǒng)信息的定時(shí)顯示需要系統(tǒng)每隔一定的時(shí)鐘節(jié)拍顯示一次。
(5)存儲(chǔ)空間的分配
為了減少操作系統(tǒng)的體積,只應(yīng)用操作系統(tǒng)的任務(wù)調(diào)度、任務(wù)切換、信號(hào)量處理、延時(shí)及超時(shí)服務(wù)幾部分。這樣可使該操作系統(tǒng)的大小減小到3~5KB,再加上應(yīng)用程序最大可達(dá)50KB左右。
因?yàn)槊總€(gè)任務(wù)都是獨(dú)立運(yùn)行的,每個(gè)任務(wù)都具有自己的??臻g。這樣可以根據(jù)任務(wù)本身的需求(局部變量、函數(shù)調(diào)用、中斷嵌套等)來分配其RAM空間。
3 系統(tǒng)運(yùn)行的實(shí)時(shí)性分析
在該系統(tǒng)中應(yīng)用μC/OS-II實(shí)時(shí)內(nèi)核,一是增強(qiáng)了系統(tǒng)運(yùn)行的穩(wěn)定性,更重要的是滿足了系統(tǒng)測(cè)量所需的實(shí)時(shí)性要求。系統(tǒng)采用12MHz晶振,一條指令的周期是1微秒。以下時(shí)間的統(tǒng)計(jì)是將C語言編譯為匯編語言后,根據(jù)其指令的多少而計(jì)算出來的。經(jīng)統(tǒng)計(jì)如下:
?中斷管理:共需3毫秒;
?內(nèi)存管理:共需800微秒;
?信號(hào)量管理:共約4.5毫秒;
?任務(wù)管理:共需8毫秒;
?時(shí)鐘管理:共需約20毫秒;
?雜項(xiàng):約需1毫秒。
上述時(shí)間均是最大運(yùn)行時(shí)間的大概統(tǒng)計(jì),也就是均考慮有任務(wù)切換情況下的時(shí)間統(tǒng)計(jì)結(jié)果。在整個(gè)內(nèi)核的應(yīng)用上對(duì)一些函數(shù)進(jìn)行了裁減,沒有用的服務(wù)在預(yù)編譯時(shí)屏蔽掉了,因此未計(jì)入統(tǒng)計(jì)時(shí)間。
用戶定義函數(shù):按鍵中斷處理15毫秒,LCD顯示一屏30毫秒,串行通信10毫秒,打印及聲光報(bào)警400毫秒,信道巡檢A/D采樣與數(shù)據(jù)處理20毫秒,系統(tǒng)信息顯示10毫秒,系統(tǒng)工作參數(shù)測(cè)量150毫秒,電源的切換與充電50毫秒??梢娤到y(tǒng)各任務(wù)中除打印所需時(shí)間較長外,其余任務(wù)所需時(shí)間都比較短。通過采用實(shí)時(shí)內(nèi)核,在很大程度上保證了對(duì)信道掃描的定時(shí)性,即實(shí)時(shí)性要求。若采用前后臺(tái)編程,在查詢信道掃描的情況下,系統(tǒng)掃描信道的時(shí)間不能確定;隨著信道數(shù)的變化,信道掃描的定時(shí)性很難得到保證,各種顯示的定時(shí)性也比較差。
總之,隨著各種應(yīng)用電子系統(tǒng)的復(fù)雜化和系統(tǒng)實(shí)時(shí)性需求的提高,并伴隨應(yīng)用軟件朝著系統(tǒng)化方向發(fā)展的加速,μC/OS-II實(shí)時(shí)內(nèi)核一定會(huì)得到更大的發(fā)展。因?yàn)樗梢允巩a(chǎn)品更加穩(wěn)定可靠,開發(fā)過程更加規(guī)范,且縮短了開發(fā)周期。
評(píng)論