基于RTAI的嵌入式Linux硬實時性能的研究與實現(xiàn)
rtai_sched_module模塊主要實現(xiàn)一個實時的任務調(diào)度,調(diào)度器基于優(yōu)先級且為可搶占式的;rtai_fifos_module是管道先入先出模塊,負責實時應用與Linux應用之間的通訊;rtai_shm_module模塊實現(xiàn)共享內(nèi)存的通訊方式;rtai_lxrt_module允許在用戶空間使用RTAI的系統(tǒng)服務和調(diào)度期。
3 嵌入式Linux的實時性實驗測試與分析
3.1 電能質(zhì)量監(jiān)控實驗平臺
電能質(zhì)量問題在電能的生產(chǎn)以及消費單位越來越得到關注,這就要求有更加先進的電能質(zhì)量監(jiān)測、控制裝置與其配套。在線式電能質(zhì)量監(jiān)測設備更多的投入了使用,這些設備大多采用嵌入式的系統(tǒng)結構,在惡劣的條件下完成現(xiàn)場數(shù)據(jù)采集、運算、控制以及通訊等一系列的任務。這些任務必須滿足嚴格的時序關系,并且需要有很高的響應速度,因此對于系統(tǒng)實時性提出了很高的要求。一個典型的基于嵌入式Linux的在線式電能質(zhì)量監(jiān)控器硬件結構框圖如圖2所示:
圖2 在線式電能質(zhì)量監(jiān)控系統(tǒng)結構圖
Fig2 Architecture of an online power quality monitoring and control system
實驗平臺選用Freescale的MCF5249嵌入式微處理器完成了一套如圖2所示的在線式電能質(zhì)量監(jiān)控系統(tǒng),微處理器內(nèi)部工作頻率為120Mhz,性能達125 Dhrystone 2.1 MIPS,外配4M FLASH和8M SDRAM存儲器。軟件方面,成功移植RTAI-uClinux雙內(nèi)核系統(tǒng)至此硬件平臺,并且針對實際應用對系統(tǒng)的實時性進行了測試和分析。
3.2 時間分辨率測試
電能質(zhì)量監(jiān)控系統(tǒng)需要周期性的對A/D轉(zhuǎn)換芯片進行采樣,并且某些實時性較強的控制算法要求核心任務被重新調(diào)度的周期很短,因此系統(tǒng)對周期性實時任務的支持非常重要。
進行實驗如下:分別在uClinux和RTAI-uClinux下利用定時函數(shù)設計周期性的高優(yōu)先級任務,每一周期切換一次I/O口的電平,找出各自可分辨的穩(wěn)定的最小任務周期。
在處理器中等負荷條件下,實驗結果如表1所示:
操作系統(tǒng) | 方波最小周期 | 任務的最小周期約 |
uClinux | 40.002 ms | 20 ms |
RTAI/uClinux雙內(nèi)核 | 110.19 us | 55 us |
表1 時間分辨率實驗結果分析表
Table1 Analysis of the time resolution experiment
例如,在RTAI-uClinux系統(tǒng)中在不同的定時周期下的實驗波形圖如圖3圖4所示。當定時周期較大時系統(tǒng)穩(wěn)定運行,而過小的定時周期(50us)會使系統(tǒng)運行變得不穩(wěn)定。
評論