www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于RTAI的嵌入式Linux硬實(shí)時(shí)性能的研究

摘要:嵌入式Linux系統(tǒng)由于不支持硬實(shí)時(shí)任務(wù),限制了其在電能質(zhì)量監(jiān)控系統(tǒng)等高實(shí)時(shí)性領(lǐng)域中的應(yīng)用。本文介紹了嵌入式Linux系統(tǒng)的實(shí)時(shí)性,并利用RTAI(Real Time Application Interface)對嵌入式uClinux系統(tǒng)進(jìn)行了實(shí)時(shí)性擴(kuò)展,將RTAI-Linux雙內(nèi)核系統(tǒng)實(shí)際應(yīng)用于電能質(zhì)量監(jiān)控實(shí)驗(yàn)平臺(tái),并通過與uClinux系統(tǒng)的對比實(shí)驗(yàn)驗(yàn)證了該系統(tǒng)的硬實(shí)時(shí)性能,證明其滿足電能監(jiān)控領(lǐng)域的實(shí)時(shí)性要求。
關(guān)鍵詞:嵌入式Linux, 硬實(shí)時(shí), RTAI

0 引言

Linux是一種能運(yùn)行于多種平臺(tái)、源代碼公開、免費(fèi)、功能強(qiáng)大、遵守POSIX標(biāo)準(zhǔn)、與Unix兼容的操作系統(tǒng)。隨著嵌入式系統(tǒng)的不斷發(fā)展和應(yīng)用,嵌入式Linux操作系統(tǒng)也在各方面得到了廣泛的應(yīng)用。但是,作為通用操作系統(tǒng)的Linux,要應(yīng)用在嵌入式領(lǐng)域,需要作必要的改進(jìn)。在電能質(zhì)量監(jiān)控等對實(shí)時(shí)性要求較高的領(lǐng)域,需要將最初按照分時(shí)系統(tǒng)目標(biāo)設(shè)計(jì)的Linux改造成能支持硬實(shí)時(shí)性的操作系統(tǒng)。

uClinux操作系統(tǒng)是Linux操作系統(tǒng)的一個(gè)嵌入式變種,它作為一種優(yōu)秀的嵌入式操作系統(tǒng)具有很好的穩(wěn)定性和優(yōu)異的網(wǎng)絡(luò)性能,但是它的實(shí)時(shí)性差,尤其不支持硬實(shí)時(shí)任務(wù)的特點(diǎn)卻極大地限制了其應(yīng)用。本文利用RTAI對uClinux的實(shí)時(shí)性進(jìn)行了擴(kuò)展,并應(yīng)用于電能質(zhì)量監(jiān)控實(shí)驗(yàn)平臺(tái),對系統(tǒng)改造前后的實(shí)時(shí)性能進(jìn)行了對比分析。

1 嵌入式Linux的實(shí)時(shí)性分析和擴(kuò)展

實(shí)時(shí)系統(tǒng)分為兩類,分別為軟實(shí)時(shí)(Soft Real-Time)和硬實(shí)時(shí)(Hard Real-Time)。軟實(shí)時(shí)是統(tǒng)計(jì)意義上的實(shí)時(shí),并不能保證特定的任務(wù)在特定的時(shí)間內(nèi)完成,即便是處理時(shí)間超過了截止時(shí)間,結(jié)果也是有意義的。而硬實(shí)時(shí)是時(shí)間要求必須嚴(yán)格保證的實(shí)時(shí),如果系統(tǒng)對某個(gè)實(shí)時(shí)任務(wù)的處理未能在某個(gè)截止時(shí)間開始或者結(jié)束的話,會(huì)產(chǎn)生不可預(yù)料的后果。因此,硬實(shí)時(shí)才是真正意義上的實(shí)時(shí)。Linux雖然也可采取基于優(yōu)先級的調(diào)度策略,并且也將進(jìn)程分為實(shí)時(shí)進(jìn)程和非實(shí)時(shí)進(jìn)程,但是Linux的以下幾點(diǎn)特征決定了其本身很難完成硬實(shí)時(shí)的任務(wù):

1)    Linux的內(nèi)核是不可搶占的。如果Linux的核心態(tài)進(jìn)程在運(yùn)行時(shí),其他進(jìn)程不管優(yōu)先級多高都需要等待處于核心態(tài)的系統(tǒng)調(diào)用返回后才能執(zhí)行。

2)    為了保護(hù)臨界區(qū)資源,互斥的訪問臨界區(qū),Linux采用在臨界區(qū)操作時(shí)屏蔽中斷的方式,這抑制了系統(tǒng)及時(shí)響應(yīng)外部操作的能力。

3)    Linux內(nèi)核(2.6版本以前)采用了較大時(shí)間粒度的定時(shí)器,時(shí)鐘中斷周期為10ms,加大了任務(wù)響應(yīng)的延遲,無法滿足對時(shí)間精度要求苛刻的實(shí)時(shí)應(yīng)用。

目前實(shí)現(xiàn)Linux系統(tǒng)的硬實(shí)性的方法,依據(jù)是否對Linux的內(nèi)核進(jìn)行大規(guī)模修改,可以大致分為兩類:對內(nèi)核進(jìn)行大規(guī)模修改的兼容內(nèi)核方法和對內(nèi)核進(jìn)行小規(guī)模改動(dòng)的雙內(nèi)核方法。后者由于對內(nèi)核改動(dòng)小,效果明顯且遵守GPL得到了更加廣泛的推廣。它在Linux內(nèi)核之外,以可加載內(nèi)核模塊(Loadable Kernel Module)的形式添加實(shí)時(shí)內(nèi)核,并用該實(shí)時(shí)內(nèi)核接管來自硬件的所有中斷,并依據(jù)是否是實(shí)時(shí)任務(wù)決定是否直接響應(yīng)。這種方法的代表就是新墨西哥州立大學(xué)的FSM實(shí)驗(yàn)室推出的RT-Linux和由意大利米蘭理工學(xué)院航天工程系發(fā)起的RTAI。

2 RTAI的實(shí)現(xiàn)機(jī)制

RTAI是實(shí)時(shí)應(yīng)用接口Real Time Application Interface的縮寫。它在Linux上定義了一組實(shí)時(shí)硬件抽象層RTHAL(Real Time Hardware Abstraction Layer),RTHAL將所有需要的Linux內(nèi)部數(shù)據(jù)和函數(shù)的指針集合到一個(gè)rthal的結(jié)構(gòu)中。Rthal結(jié)構(gòu)用于截取Linux硬件操作,在雙內(nèi)核結(jié)構(gòu)工作時(shí),它們可以被RTAI重定向,以取代Linux中原有的函數(shù);同時(shí)RTAI只是用此程序界面與Linux進(jìn)行溝通。通過這種方法就可以把對Linux內(nèi)核源碼的改動(dòng)程度降到最低,可以避免RT-Linux方案對Linux內(nèi)核源碼改動(dòng)過大的問題,便于在不同Linux版本之間的移植。

RTAI嚴(yán)格來說只是一個(gè)具備了操作系統(tǒng)核心功能的實(shí)時(shí)的系統(tǒng)內(nèi)核,它接管了所有的硬件資源,將Linux操作系統(tǒng)內(nèi)核作為它的一個(gè)低優(yōu)先級的任務(wù)來運(yùn)行。RTAI 是一個(gè)完全的占先式內(nèi)核,它具備了實(shí)時(shí)操作系統(tǒng)的諸多特性,如實(shí)時(shí)的中斷響應(yīng),任務(wù)對事件的實(shí)時(shí)響應(yīng),細(xì)粒度的原子操作等。在RTAI/Linux雙內(nèi)核結(jié)構(gòu)下,實(shí)時(shí)性的任務(wù)在RTAI的調(diào)度下運(yùn)行,非實(shí)時(shí)性和需要利用完善的操作系統(tǒng)功能的任務(wù)在Linux調(diào)度下運(yùn)行。由于Linux操作系統(tǒng)在RTAI下具有的優(yōu)先級很低,當(dāng)且僅當(dāng)RTAI沒有實(shí)時(shí)任務(wù)調(diào)度時(shí),Linux才能夠得到運(yùn)行。RTAI/Linux雙內(nèi)核結(jié)構(gòu)如圖1所示。

圖1 RTAI/Linux雙內(nèi)核結(jié)構(gòu)圖

Fig1 Architecture of the RTAI/Linux system

RTAI以Linux的內(nèi)核模塊的形式運(yùn)行,提供雙內(nèi)核的實(shí)時(shí)服務(wù)。最基本的兩個(gè)模塊是rtai_module和rtai_sched_module,另外還有三個(gè)增強(qiáng)功能的模塊rtai_fifos_module、rtai_shm_module和rtai_lxrt_module。

rtai_module是一個(gè)核心模塊,RTHAL在這一模塊里實(shí)現(xiàn),完成對硬件的接管。以關(guān)硬件中斷行為為例說明,Linux系統(tǒng)中原有的關(guān)中斷函數(shù)#define _cli_asm_volatile_(“cli”:::”memory”)直接通過匯編語言對硬件進(jìn)行操作,而在rtai_module模塊中,Linux中的關(guān)中斷函數(shù)被替換為執(zhí)行{processor[hard_cpu_id()].intr_flag = 0;}??梢姡琇inux關(guān)中斷的執(zhí)行只是改變了RTAI中的中斷標(biāo)志位,并沒有直接對硬件進(jìn)行操作。

rtai_sched_module模塊主要實(shí)現(xiàn)一個(gè)實(shí)時(shí)的任務(wù)調(diào)度,調(diào)度器基于優(yōu)先級且為可搶占式的;rtai_fifos_module是管道先入先出模塊,負(fù)責(zé)實(shí)時(shí)應(yīng)用與Linux應(yīng)用之間的通訊;rtai_shm_module模塊實(shí)現(xiàn)共享內(nèi)存的通訊方式;rtai_lxrt_module允許在用戶空間使用RTAI的系統(tǒng)服務(wù)和調(diào)度期。

3 嵌入式Linux的實(shí)時(shí)性實(shí)驗(yàn)測試與分析

3.1 電能質(zhì)量監(jiān)控實(shí)驗(yàn)平臺(tái)

電能質(zhì)量問題在電能的生產(chǎn)以及消費(fèi)單位越來越得到關(guān)注,這就要求有更加先進(jìn)的電能質(zhì)量監(jiān)測、控制裝置與其配套。在線式電能質(zhì)量監(jiān)測設(shè)備更多的投入了使用,這些設(shè)備大多采用嵌入式的系統(tǒng)結(jié)構(gòu),在惡劣的條件下完成現(xiàn)場數(shù)據(jù)采集、運(yùn)算、控制以及通訊等一系列的任務(wù)。這些任務(wù)必須滿足嚴(yán)格的時(shí)序關(guān)系,并且需要有很高的響應(yīng)速度,因此對于系統(tǒng)實(shí)時(shí)性提出了很高的要求。一個(gè)典型的基于嵌入式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

實(shí)驗(yàn)平臺(tái)選用Freescale的MCF5249嵌入式微處理器完成了一套如圖2所示的在線式電能質(zhì)量監(jiān)控系統(tǒng),微處理器內(nèi)部工作頻率為120Mhz,性能達(dá)125 Dhrystone 2.1 MIPS,外配4M FLASH和8M SDRAM存儲(chǔ)器。軟件方面,成功移植RTAI-uClinux雙內(nèi)核系統(tǒng)至此硬件平臺(tái),并且針對實(shí)際應(yīng)用對系統(tǒng)的實(shí)時(shí)性進(jìn)行了測試和分析。

3.2 時(shí)間分辨率測試

電能質(zhì)量監(jiān)控系統(tǒng)需要周期性的對A/D轉(zhuǎn)換芯片進(jìn)行采樣,并且某些實(shí)時(shí)性較強(qiáng)的控制算法要求核心任務(wù)被重新調(diào)度的周期很短,因此系統(tǒng)對周期性實(shí)時(shí)任務(wù)的支持非常重要。

進(jìn)行實(shí)驗(yàn)如下:分別在uClinux和RTAI-uClinux下利用定時(shí)函數(shù)設(shè)計(jì)周期性的高優(yōu)先級任務(wù),每一周期切換一次I/O口的電平,找出各自可分辨的穩(wěn)定的最小任務(wù)周期。

在處理器中等負(fù)荷條件下,實(shí)驗(yàn)結(jié)果如表1所示:

操作系統(tǒng)

方波最小周期

任務(wù)的最小周期約

uClinux

40.002 ms

20 ms

RTAI/uClinux雙內(nèi)核

110.19 us

55 us

表1 時(shí)間分辨率實(shí)驗(yàn)結(jié)果分析表

Table1 Analysis of the time resolution experiment

例如,在RTAI-uClinux系統(tǒng)中在不同的定時(shí)周期下的實(shí)驗(yàn)波形圖如圖3圖4所示。當(dāng)定時(shí)周期較大時(shí)系統(tǒng)穩(wěn)定運(yùn)行,而過小的定時(shí)周期(<50us)會(huì)使系統(tǒng)運(yùn)行變得不穩(wěn)定。


圖3 定時(shí)周期大于100微妙時(shí)的試驗(yàn)波形圖

Fig3 Oscillogram of the system output when cycle > 100us

圖4 定時(shí)周期小于50微妙時(shí)的試驗(yàn)波形圖

Fig4 Oscillogram of the system output when cycle < 50us


從實(shí)驗(yàn)結(jié)果可以看出,uClinux操作系統(tǒng)難以完成周期小于20ms以下的周期性任務(wù),因此對于周期性的A/D采樣以及高實(shí)時(shí)控制很難實(shí)現(xiàn),經(jīng)過改造后的RTAI/uClinux雙內(nèi)核結(jié)構(gòu)時(shí)間分辨率低于100us,完全可以滿足電能質(zhì)量控制器在A/D采樣等方面的實(shí)時(shí)性周期任務(wù)。

3.3 中斷響應(yīng)速度測試

中斷的響應(yīng)速度是實(shí)時(shí)控制系統(tǒng)的重要指標(biāo),例如在A/D采樣和計(jì)算完成后,系統(tǒng)需要控制進(jìn)程盡快地被調(diào)度執(zhí)行,以執(zhí)行正確的控制策略。對于一個(gè)支持硬實(shí)時(shí)任務(wù)的系統(tǒng)來說,除了測試系統(tǒng)的平均響應(yīng)速度外,還需要測試系統(tǒng)在最差情況下的響應(yīng)速度以及處理器的負(fù)荷狀況對系統(tǒng)響應(yīng)速度的影響。

設(shè)計(jì)實(shí)驗(yàn)如下:利用一個(gè)外部的DSP幫助測量系統(tǒng)的中斷響應(yīng)速度。DSP2407在啟動(dòng)內(nèi)部定時(shí)器后,將MCF5249的一個(gè)I/O引腳狀態(tài)改變,MCF5249內(nèi)部的高優(yōu)先級進(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)過程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)速度急劇下降,對于控制系統(tǒng),尤其是硬實(shí)時(shí)系統(tǒng)來說,這是不可接受的,因?yàn)橹袛囗憫?yīng)速度直接影響到控制系統(tǒng)的反應(yīng)速度。而RTAI-uClinux雙內(nèi)核系統(tǒng)在處理器負(fù)荷變化時(shí),系統(tǒng)的響應(yīng)速度變化不明顯,而且中斷響應(yīng)速度始終穩(wěn)定在微妙級,適合作為硬實(shí)時(shí)系統(tǒng)的控制系統(tǒng)。

4 結(jié)論

RTAI可以顯著改進(jìn)嵌入式Linux系統(tǒng)的實(shí)時(shí)性能,已經(jīng)用于電能監(jiān)控系統(tǒng),通過對比試驗(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]須文波,張星燁,歐愛輝.基于RTAI-Linux的實(shí)時(shí)操作系統(tǒng)的分析與研究.現(xiàn)代計(jì)算機(jī).2005,163(5):19-21Xu Wenbo, Zhang Xingye, Ou Aihui. Analysis and Research on Real-Time Operating System based on RTAI-Linux. Modern Computer. 2005, 163(5):19-21

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會(huì)》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

SAIHUB CAB 025M成功獲得安全試驗(yàn)所UL美國與加拿大認(rèn)證證書 新加坡2022年10月17日 /美通社/ -- SAI.TECH Global Corporation("SAI.TECH"...

關(guān)鍵字: AI BSP PS 清潔能源

鄭州2022年10月17日 /美通社/ -- 近日,《福布斯》發(fā)布了"2022年全球最佳雇主榜單"(The World's Best Employers 2022),中國平安再度上榜并排名全...

關(guān)鍵字: 福布斯 ST TI BSP

通過第二項(xiàng)3nm設(shè)計(jì)選用擴(kuò)展技術(shù)領(lǐng)先地位 第三季度強(qiáng)勁的貿(mào)易和設(shè)計(jì)選用反映出我們結(jié)合了IP和定制硅的混合業(yè)務(wù)模式 自2022年9月1日起,OpenFive首次并入集團(tuán) 盡管宏觀環(huán)境困難,但管理層仍對業(yè)務(wù)...

關(guān)鍵字: BSP ALPHA PEN Silicon

北京2022年10月17日 /美通社/ -- 存儲(chǔ)設(shè)備對于客戶的核心價(jià)值就是要穩(wěn)定可靠,無需什么星辰大海也不用玄妙推演,踏實(shí)將穩(wěn)定可靠做到位、保護(hù)好客戶的數(shù)據(jù),即是最大的意義所在。 北有中關(guān)村 南有馬欄山 這里的馬欄...

關(guān)鍵字: AI 云平臺(tái) 分布式 存儲(chǔ)設(shè)備

歐洲藥品管理局人用藥品管理委員會(huì) (CHMP) 的積極建議是基于 EFFISAYIL® 1 研究結(jié)果,該研究是針對泛發(fā)性膿皰型銀屑病 (GPP) 發(fā)作患者的最大的臨床研究[1] 與斑塊狀銀屑病不同,GP...

關(guān)鍵字: HM BSP GP FOR

流體動(dòng)壓滑動(dòng)軸承為風(fēng)機(jī)發(fā)展書寫嶄新篇章 軸承滑動(dòng)層增材制造與精加工為工業(yè)級大規(guī)模生產(chǎn)鋪平道路 軸承設(shè)計(jì)從綜合性系統(tǒng)理念出發(fā) 德國施韋因富特和漢堡2022年10月17日 /美通社/ -- 舍弗勒推出了采...

關(guān)鍵字: 齒輪箱 滑動(dòng)軸承 風(fēng)力渦輪機(jī) BSP

上海2022年10月17日 /美通社/ -- Brother內(nèi)置墨倉彩色噴墨一體機(jī)DCP-C421W新上市。此次Brother創(chuàng)新引入"按需打印,按頁付費(fèi)"...

關(guān)鍵字: DC 打印機(jī) BSP DESIGN

慕尼黑2022年10月17日 /美通社/ -- TUV南德意志集團(tuán)(以下簡稱"TUV南德")在EcoVadis全球企業(yè)社會(huì)責(zé)任評級中以總分71分榮獲金獎(jiǎng)。...

關(guān)鍵字: OV ADIS BSP COM

上海2022年10月17日 /美通社/ -- 10月12日,"華東理工大學(xué)-珀金埃爾默化工青年教師獎(jiǎng)教金"儀式圓滿舉行。華東理工大學(xué)副校長閻海峰,珀金埃爾默全球副總裁、大中華區(qū)銷售與服務(wù)總經(jīng)...

關(guān)鍵字: BSP 核心技術(shù)

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉