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