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