當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]本文介紹了嵌入式Linux系統(tǒng)的實時性,并利用RTAI(Real Time Application Interface)對嵌入式uClinux系統(tǒng)進行了實時性擴展,將RTAI-Linux雙內核系統(tǒng)實際應用于電能質量監(jiān)控實驗平臺,并通過與uClinux系統(tǒng)的對比實驗驗證了該系統(tǒng)的硬實時性能,證明其滿足電能監(jiān)控領域的實時性要求。

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

0 引言

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

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

1 嵌入式Linux的實時性分析和擴展

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

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

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

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

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

2 RTAI的實現(xiàn)機制

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

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

圖1 RTAI/Linux雙內核結構圖

Fig1 Architecture of the RTAI/Linux system

RTAI以Linux的內核模塊的形式運行,提供雙內核的實時服務。最基本的兩個模塊是rtai_module和rtai_sched_module,另外還有三個增強功能的模塊rtai_fifos_module、rtai_shm_module和rtai_lxrt_module。

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

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

3 嵌入式Linux的實時性實驗測試與分析

3.1 電能質量監(jiān)控實驗平臺

電能質量問題在電能的生產(chǎn)以及消費單位越來越得到關注,這就要求有更加先進的電能質量監(jiān)測、控制裝置與其配套。在線式電能質量監(jiān)測設備更多的投入了使用,這些設備大多采用嵌入式的系統(tǒng)結構,在惡劣的條件下完成現(xiàn)場數(shù)據(jù)采集、運算、控制以及通訊等一系列的任務。這些任務必須滿足嚴格的時序關系,并且需要有很高的響應速度,因此對于系統(tǒng)實時性提出了很高的要求。一個典型的基于嵌入式Linux的在線式電能質量監(jiān)控器硬件結構框圖如圖2所示:

圖2 在線式電能質量監(jiān)控系統(tǒng)結構圖

Fig2 Architecture of an online power quality monitoring and control system

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

3.2 時間分辨率測試

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

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

在處理器中等負荷條件下,實驗結果如表1所示:

操作系統(tǒng)

方波最小周期

任務的最小周期約

uClinux

40.002 ms

20 ms

RTAI/uClinux雙內核

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)定。


圖3 定時周期大于100微妙時的試驗波形圖

Fig3 Oscillogram of the system output when cycle > 100us

圖4 定時周期小于50微妙時的試驗波形圖

Fig4 Oscillogram of the system output when cycle < 50us


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

3.3 中斷響應速度測試

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

設計實驗如下:利用一個外部的DSP幫助測量系統(tǒng)的中斷響應速度。DSP2407在啟動內部定時器后,將MCF5249的一個I/O引腳狀態(tài)改變,MCF5249內部的高優(yōu)先級進程在引腳狀態(tài)改變并且被重新調度后,立即將DSP2407的指定I/O引腳置高,DSP2407在其指定的I/O引腳被置高后停止定時器。利用DSP2407的定時器可以精確的計算出從MCF5249引腳狀態(tài)改變至MCF5249內部進程響應之間的時間間隔,從而確定MCF5249內部進程的響應速度。改變MCF5249處理器的負荷,重復實驗,在每種情況下重復實驗過程1000次,找出不同情況下系統(tǒng)響應的平均速度以及最慢響應速度。

操作系統(tǒng)

處理器負荷輕

處理器負荷較重

平均響應時間

最慢響應時間

平均響應時間

最慢響應時間

uClinux

120us

12ms

221ms

795ms

RTAI/uClinux

25us

27us

27us

30us

表2 響應速度實驗結果分析表

Table2 Analysis of response speed experiment

從實驗結果可以看出,在處理器負荷較輕時uClinux系統(tǒng)有著良好的響應性能,但是在最差情況下,系統(tǒng)響應速度較慢,響應時間達到了12ms,隨著處理器負荷的進一步加重,uClinux系統(tǒng)的響應速度急劇下降,對于控制系統(tǒng),尤其是硬實時系統(tǒng)來說,這是不可接受的,因為中斷響應速度直接影響到控制系統(tǒng)的反應速度。而RTAI-uClinux雙內核系統(tǒng)在處理器負荷變化時,系統(tǒng)的響應速度變化不明顯,而且中斷響應速度始終穩(wěn)定在微妙級,適合作為硬實時系統(tǒng)的控制系統(tǒng)。

4 結論

RTAI可以顯著改進嵌入式Linux系統(tǒng)的實時性能,已經(jīng)用于電能監(jiān)控系統(tǒng),通過對比試驗可以看出RTAI-uClinux雙內核的系統(tǒng)具有良好的硬實時性能,使得嵌入式Linux系統(tǒng)在高實時性領域中可以得到實際的應用。

參考文獻:

[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硬實時性的研究與實現(xiàn).計算機應用.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)實時性分析及改進策略.微計算機信息.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的實時操作系統(tǒng)的分析與研究.現(xiàn)代計算機.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

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉