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