當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀] 1 前言目前,國內外的數(shù)控系統(tǒng)大多采用X86體系結構的CPU,主要是因為X86體系結構上擁有豐富的應用軟件,開發(fā)環(huán)境和技術積累,可以在一定程度上縮短數(shù)控系統(tǒng)的開發(fā)周期.但X86體系結構也有其自身的缺點,比如其指令集

 1 前言

目前,國內外的數(shù)控系統(tǒng)大多采用X86體系結構的CPU,主要是因為X86體系結構上擁有豐富的應用軟件,開

發(fā)環(huán)境和技術積累,可以在一定程度上縮短數(shù)控系統(tǒng)的開發(fā)周期.但X86體系結構也有其自身的缺點,比如其指令集體系結構過于復雜,成本高.而且X86技術一直被國外的幾家大公司所壟斷,將其應用在數(shù)控系統(tǒng)這樣的戰(zhàn)略資源上,存在一定的安全隱患.

M1PS體系結構具有靈活開放,成本低的優(yōu)點,在工業(yè)控制、網絡、通信、多媒體娛樂等領域得到了廣泛的應用.我國已經研制出了具有自主知識產權的MIPS通用CPU.因此將MIPS結構的CPU應用在數(shù)控系統(tǒng)上,不僅可以降低數(shù)控系統(tǒng)的成本,還增加了數(shù)控系統(tǒng)特別是高檔數(shù)控系統(tǒng)國產化的水平.

實時操作系統(tǒng)是數(shù)控系統(tǒng)的軟件基礎,數(shù)控軟件中的運動控制器部分需要實時操作系統(tǒng)對其進行周期性的調度,對

實時操作系統(tǒng)的性能要求很苛刻.一般來說,應用于數(shù)控系統(tǒng)中的實時操作系統(tǒng)需要具有高實時性,時間確定性以及高可靠性,安全性和容錯性….

在硬實時操作系統(tǒng)中,主要是依靠時鐘硬件產生的中斷對周期進程進行調度.雖然時鐘可以精確的給出定時中斷,但硬件和操作系統(tǒng)的運作方式會對中斷響應和進程調度產生影響,從而使周期進程每次開始執(zhí)行的時間變的不確定,這就是調度抖動.調度抖動直接影響到數(shù)控加工的精度,如果數(shù)控系統(tǒng)的加工速度為10米/分鐘,那么5O微秒的抖動就可能產生約8.3微米的隨動誤差.針對特定的體系結構研究與分析運動控制器的調度抖動,對掌握并改善數(shù)控系統(tǒng)的性能具有重要的意義.

RTAI(Real Time Application Interface)是由意大利米蘭理工學院航天工程系發(fā)起開發(fā)的一個遵循GNU GPL的開源項目,RTAI已經支持i386,MIPS,PowerPC,ARM 和M68k-~ommu等處理器,是目前支持處理器最多的linux實時解決方案之一.RTAI具有豐富的功能和良好的硬實時性能.本文針對數(shù)控系統(tǒng)的運動控制器,討論了在MIPS平臺上RTAI操作系統(tǒng)的調度抖動測試,并分析了產生調度抖動的原因.

2 抖動測試

2.1 抖動測試方法

在本文中,用于測試的硬件平臺是龍芯2E處理器,主頻為664.32MHz.該處理器擁有64KB的一級緩存和512KB的二級緩存.系統(tǒng)內存為256M.

本文在抖動測試中采用了內部軟件測試技術:記錄運動控制器的第一條指令每次執(zhí)行的時間戳,并存儲在共享內存中,在測試完畢后,再讀取共享內存中的數(shù)據(jù)以供分析 】.時間戳從CPU內部的高精度計時器獲取,它是一個32位的寄存器(cp0L9 ),每個指令周期自動加1,類似于pentium系列CPU上的TSC(Time Stamp Count) .可以使用MFC0指令讀出該計時器的值.但32位的計時器在664.32MHz的主頻下,每隔6.47秒就會發(fā)生一次翻轉,因此需要對得到的數(shù)據(jù)進行溢出處理.本文處理方法是維護一個64位的虛擬計時器:

union{

unsigned long long tsc;

unsigned long hltsc[2];

}tsc;

該結構將一個64位的長整型變量分成了兩個32位的長整型變量,低32位用來獲取計時器的值,高32位在計時器溢

出時加1,這樣就得到了一個虛擬的64位的高精度計時器.在664.32MHz的主頻下,64位的計時器需要880年的時間才會發(fā)生一次翻轉.可以采用下面的函數(shù)讀取虛擬計時器csc的值:

inline unsigned long long rdtsc(void)

{

unsigned long count;

asm

一 volatile一(”mfcO/t%0, $9/n/t“ :”=f”

(count));

tsc.hltsc[1]+=(count tSC.~tscf0]=count;

return tsc.tsc;

}

在MIPS中,CP0協(xié)處理器中的11號寄存器可以作為實時時鐘使用.11號寄存器又稱為compare寄存器,它用來在

特定的時刻產生一個中斷,該寄存器被寫入一個初值后,便不斷的將此值與計時器中的值進行比較,一但二者相等,便觸發(fā)63號中斷 3.因此MIPS CPU的定時精度可以達到納秒級.

2.2 數(shù)據(jù)分析

通過上述方法獲得的時間序列是一個遞增數(shù)列,相鄰兩個元素之問的差值即是運動控制器的實際周期.為了盡可能

的減小測試誤差的影響,本文采用最小二乘法對時間序列進行擬合,得到時間序列的一條最佳逼進線,使用這條最佳逼進線來計算各周期的名義值 J.時問序列中的每一個元素與最佳逼進線之間的差值就是各個周期的調度抖動.

圖1是在正常負載下,前100個測試點與最佳逼進線的偏離值.剛開始的幾個點反映了較大的抖動,其中最大的抖動達到了228微秒.這個現(xiàn)象是正常的,因為運動控制器在剛開始運行的時候沒有將指令和數(shù)據(jù)加載到cache中,相應的頁表也沒加載到TLB(Translation l_x~okaside Buffer)中,因此會不斷發(fā)生cache失效異常和TLB重填異常,這加重了系統(tǒng)的負擔,并延遲了運動控制器的執(zhí)行.從第40組數(shù)據(jù)以后,抖動趨于平穩(wěn).在后面的測試中,均將前100組數(shù)據(jù)舍棄,從而可以更好的統(tǒng)計一般情況.

RTAI提供了兩種調度模式,分別是單觸發(fā)模式(oneshotmode)和周期模式(periodic mode) .在單觸發(fā)模式下,在每次執(zhí)行調度函數(shù)時,系統(tǒng)都需要根據(jù)當前的情況重新計算下次觸發(fā)定時中斷的時間,并對定時器進行編程.而周期模式只在時鐘初始化的時候對定時器進行編程,以后便始終依賴這個固定的時鐘周期進行調度.單觸發(fā)模式下,系統(tǒng)的負擔較重,會在一定程度上影響系統(tǒng)的性能.本文分別在單觸發(fā)模式和周期模式下測試了運動周期的抖動.

在單觸發(fā)模式下,調度中加入了補償,如果上一次的調度被延遲了,那么下次便會提前調度,以消除調度抖動的累積.比如上次的實際周期為2010微秒,那么下次的實際周期就應該是1990微秒.圖2是在10000組測試樣例中抽取的100組數(shù)據(jù),從中可以看出,所有的測試點均以標準值為中心對稱分布,反映了上面描述的調度方法.單觸發(fā)模式下最大抖動為23.476微秒,平均抖動為414納秒.

周期模式下的調度沒有補償,實時進程不會提前執(zhí)行,因此調度抖動會在每次調度的時間戳上累積.由于硬件定時器的定時周期在運動控制器的執(zhí)行期間是固定的,抖動的下限是0.圖3(見下頁)是從10000組樣例中抽取的100組數(shù)據(jù).在所測的10000組數(shù)據(jù)中,所有元素均為正值,抖動的最大值為73.8微秒,平均抖動為3.298微秒.周期模式下的平均抖動時間是單觸發(fā)模式下的8倍.單觸發(fā)模式的調度雖然較精確,但需要耗費大量的cpu時間,加重了系統(tǒng)的負擔,在硬件性能較差的環(huán)境下,其性能可能會低于周期模式.因此,在選用調度模式時,需要針對特定的硬件平臺和軟件環(huán)境進行抖動測試 .

3 抖動產生的原因分析

RTAI采用了2種調度算法,分別為單調速率算法和最早時限優(yōu)先算法.本文采用的是單調速率算法,因為該算法基于

靜態(tài)優(yōu)先級,能夠保證最高優(yōu)先級進程的穩(wěn)定調度-6j.調度程序每次選擇的進程總是優(yōu)先級最高的進程,在同等優(yōu)先級的各進程之間則采用時間片輪轉的方法進行調度.在數(shù)控系統(tǒng)的所有進程中,運動控制器的優(yōu)先級最高,因此,我們只需要研究高優(yōu)先級的進程產生抖動的原因即可.根據(jù)RTAI的調度機制,運動控制器可以搶占其他進程,并且不會被其它任何進程搶占,因此沒有進程可以延遲運動控制器的執(zhí)行.但是存在其它因素可以延緩它的執(zhí)行,比如總線上鎖,關中斷,中斷嵌套,資源競爭,cache失效,以及操作系統(tǒng)中存在不可搶占的關鍵區(qū)域等.在設計良好的實時系統(tǒng)中,不可搶占的臨界區(qū)很少,且運動控制器幾乎不需要內存以外的其他資源,能夠對運動控制器產生影響的主要因素只有關中斷,中斷嵌套和cache失效.

前面已經介紹過了cache失效會在運動控制器剛加載時對調度抖動產生影響,實際上在運動控制器的運行過程中,其他的非實時進程,如圖形顯示,網絡訪問,磁盤讀寫等都會影響cache,從而間接的影響運動控制器.為了降低cache失效對調度抖動的影響,可以盡量減少除數(shù)控軟件以外的其它程序的運行.比如使用TinyX代替具有圖形加速功能的XServer前面已經介紹過了cache失效會在運動控制器剛加載時對調度抖動產生影響,實際上在運動控制器的運行過程中,其他的非實時進程,如圖形顯示,網絡訪問,磁盤讀寫等都會影響cache,從而間接的影響運動控制器.為了降低cache失效對調度抖動的影響,可以盡量減少除數(shù)控軟件以外的其它程序的運行.比如使用TinyX代替具有圖形加速功能的XServer

RTAI的進程調度是由硬件時鐘的定時中斷驅動的.圖4簡略地說明了從時鐘給出中斷,到運動控制器開始執(zhí)行的過

程.這個過程包括,系統(tǒng)關中斷的時間,中斷準備時間和中斷處理時間.在關中斷的時間內,系統(tǒng)不能對其他任何優(yōu)先級的中斷進行響應,所以時鐘中斷必須等待,直到系統(tǒng)開中斷.中斷準備階段是指,從CPU開始響應時鐘中斷到進入時鐘中斷的處理程序所需要的時間,中斷處理階段是指執(zhí)行中斷處理程序rt—timer—handler(),即調度程序所需要的時間 J.中斷準備時問和中斷處理時間在特定的系統(tǒng)上是固定的,只有幾微秒的時間,而且在我們的測試方法中不會對測試結果產生影響.單從時鐘中斷處理的過程來看,調度延遲主要取決于系統(tǒng)的最大關中斷時問 J.在本文的測試平臺上最大關中斷時間為13.24微秒.

現(xiàn)代操作系統(tǒng)均允許中斷嵌套,以便及時響應緊急的中斷.那么在中斷準備和中斷處理階段,時鐘中斷的處理有可能被其他的中斷搶占,這也會對運動控制器的抖動產生影響.為了降低這種影響,應該盡可能的減少系統(tǒng)中的中斷數(shù)量,這樣不僅可以降低時鐘中斷被搶占的可能性,也可以降低系統(tǒng)的負載.在數(shù)控系統(tǒng)中,由于不需要大批量的讀寫磁盤數(shù)據(jù),不需要電源管理,可以將DMA,APM 和ACPI禁用.這些設備會產生大量的中斷,并頻繁的對總線上鎖.如果該數(shù)控系統(tǒng)無需網絡通信,也可以將網絡禁用.

在禁用了上述設備后,本文在單觸發(fā)模式下,對運動控制器的調度抖動進行了重新測試.最大抖動為8.02微秒,平均抖動為392納秒.最大抖動接近沒禁用設備以前的1/4.圖5是10000組測試樣列的散點圖.從圖上可以看出大部分的測試點都分布在微秒內,這樣的抖動在數(shù)控系統(tǒng)中是可以接受的.當數(shù)控系統(tǒng)以10米/分的速度加工的時候,8微秒的抖動最多能產生1.3微米的隨動誤差.

4 總結

對實時系統(tǒng)而言,調度抖動是不可避免的.調度抖動的大小與硬件體系結構和操作系統(tǒng)的運作方式密切相關.在數(shù)控系統(tǒng)中,大的調度抖動會對加工精度產生影響.本文針對M1PS平臺,在不同的調度模式下測試了運動控制器的調度抖動,并采用最小二乘法對結果進行了分析.實驗表明,在該數(shù)控系統(tǒng)中,周期模式下的平均抖動是單觸發(fā)模式的8倍多.在數(shù)控系統(tǒng)中,可能引起抖動的因素有cache失效,系統(tǒng)關中斷以及中斷嵌套等,本文針對這些因素對系統(tǒng)做了優(yōu)化,禁用了DMA,APM,ACPI等與數(shù)控系統(tǒng)的運行關系甚微的設備,并將具有圖形加速功能的X Server替換成了對資源占用很小的Tiny X.結果在單觸發(fā)模式下,最大抖動可以縮短到原來的四分之一,平均抖動也有所改善.測試結果證實,在MIPS平臺下,RTAI完全能夠滿足數(shù)控系統(tǒng)的需要.

本站聲明: 本文章由作者或相關機構授權發(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推出其旗艦產品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ù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

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

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

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(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 信息技術
關閉
關閉