基于RTAI的嵌入式Linux硬實(shí)時(shí)性能的研究與實(shí)現(xiàn)
從實(shí)驗(yàn)結(jié)果可以看出,uClinux操作系統(tǒng)難以完成周期小于20ms以下的周期性任務(wù),因此對(duì)于周期性的A/D采樣以及高實(shí)時(shí)控制很難實(shí)現(xiàn),經(jīng)過(guò)改造后的RTAI/uClinux雙內(nèi)核結(jié)構(gòu)時(shí)間分辨率低于100us,完全可以滿(mǎn)足電能質(zhì)量控制器在A(yíng)/D采樣等方面的實(shí)時(shí)性周期任務(wù)。
3.3 中斷響應(yīng)速度測(cè)試
中斷的響應(yīng)速度是實(shí)時(shí)控制系統(tǒng)的重要指標(biāo),例如在A(yíng)/D采樣和計(jì)算完成后,系統(tǒng)需要控制進(jìn)程盡快地被調(diào)度執(zhí)行,以執(zhí)行正確的控制策略。對(duì)于一個(gè)支持硬實(shí)時(shí)任務(wù)的系統(tǒng)來(lái)說(shuō),除了測(cè)試系統(tǒng)的平均響應(yīng)速度外,還需要測(cè)試系統(tǒng)在最差情況下的響應(yīng)速度以及處理器的負(fù)荷狀況對(duì)系統(tǒng)響應(yīng)速度的影響。
設(shè)計(jì)實(shí)驗(yàn)如下:利用一個(gè)外部的DSP幫助測(cè)量系統(tǒng)的中斷響應(yīng)速度。DSP2407在啟動(dòng)內(nèi)部定時(shí)器后,將MCF5249 的一個(gè)I/O引腳狀態(tài)改變,MCF5249內(nèi)部的高優(yōu)先級(jí)進(jìn)程在引腳狀態(tài)改變并且被重新調(diào)度后,立即將DSP2407的指定I/O引腳置高,DSP2407在其指定的I/O引腳被置高后停止定時(shí)器。利用DSP2407的定時(shí)器可以精確的計(jì)算出從MCF5249引腳狀態(tài)改變至MCF5249 內(nèi)部進(jìn)程響應(yīng)之間的時(shí)間間隔,從而確定MCF5249內(nèi)部進(jìn)程的響應(yīng)速度。改變MCF5249處理器的負(fù)荷,重復(fù)實(shí)驗(yàn),在每種情況下重復(fù)實(shí)驗(yàn)過(guò)程1000 次,找出不同情況下系統(tǒng)響應(yīng)的平均速度以及最慢響應(yīng)速度。
操作系統(tǒng) | 處理器負(fù)荷輕 | 處理器負(fù)荷較重 | ||
平均響應(yīng)時(shí)間 | 最慢響應(yīng)時(shí)間 | 平均響應(yīng)時(shí)間 | 最慢響應(yīng)時(shí)間 | |
uClinux | 120us | 12ms | 221ms | 795ms |
RTAI/uClinux | 25us | 27us | 27us | 30us |
表2 響應(yīng)速度實(shí)驗(yàn)結(jié)果分析表
Table2 Analysis of response speed experiment
從實(shí)驗(yàn)結(jié)果可以看出,在處理器負(fù)荷較輕時(shí)uClinux系統(tǒng)有著良好的響應(yīng)性能,但是在最差情況下,系統(tǒng)響應(yīng)速度較慢,響應(yīng)時(shí)間達(dá)到了12ms,隨著處理器負(fù)荷的進(jìn)一步加重,uClinux系統(tǒng)的響應(yīng)速度急劇下降,對(duì)于控制系統(tǒng),尤其是硬實(shí)時(shí)系統(tǒng)來(lái)說(shuō),這是不可接受的,因?yàn)橹袛囗憫?yīng)速度直接影響到控制系統(tǒng)的反應(yīng)速度。而RTAI-uClinux雙內(nèi)核系統(tǒng)在處理器負(fù)荷變化時(shí),系統(tǒng)的響應(yīng)速度變化不明顯,而且中斷響應(yīng)速度始終穩(wěn)定在微妙級(jí),適合作為硬實(shí)時(shí)系統(tǒng)的控制系統(tǒng)。
4 結(jié)論
RTAI可以顯著改進(jìn)嵌入式Linux系統(tǒng)的實(shí)時(shí)性能,已經(jīng)用于電能監(jiān)控系統(tǒng),通過(guò)對(duì)比試驗(yàn)可以看出RTAI-uClinux雙內(nèi)核的系統(tǒng)具有良好的硬實(shí)時(shí)性能,使得嵌入式Linux系統(tǒng)在高實(shí)時(shí)性領(lǐng)域中可以得到實(shí)際的應(yīng)用。
參考文獻(xiàn):
[1]Lineo, Inc. RTAI Programming Guide 1.0. September 2000
[2] E. Bianchi,L.Dozio,P.Mantegazza.A Hard Real Time support for LINUX. www.aero.polimi.it/projects/rtai/
[3]MCF5282 ColdFire? Microcontroller User’s Manual. http://www.motorola.com/coldfire
[4] 齊俊生,崔杜武,黑新宏.嵌入式Linux硬實(shí)時(shí)性的研究與實(shí)現(xiàn).計(jì)算機(jī)應(yīng)用.2003, 23(6):34-36;
Qi Junsheng,Cui Duwu,Hei Xinhong. Research and Implementation of Hard Real2time Performance of Embeded Linux. Computer Applications. 2003,23(6):34-36;
[5] 陳繼榮,黃建華. Linux操作系統(tǒng)實(shí)時(shí)性分析及改進(jìn)策略.微計(jì)算機(jī)信息.2005,22:67-69;
Chen Jirong, Huang Jianhua. Linux Operating System Real- time Analysis and Improvement Strategy. Control Automation. 2005, 22:67-69;
[6]須文波,張星燁,歐愛(ài)輝.基于RTAI-Linux的實(shí)時(shí)操作系統(tǒng)的分析與研究.現(xiàn)代計(jì)算機(jī).2005,163(5):19-21
Xu Wenbo, Zhang Xingye, Ou Aihui. Analysis and Research on Real-Time Operating System based on RTAI-Linux. Modern Computer. 2005, 163(5):19-21
評(píng)論