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