• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于異構(gòu)多核處理器的嵌入式數(shù)控系統(tǒng)研究

      2013-09-07 08:53:04陸小虎林立明
      中國機(jī)械工程 2013年19期
      關(guān)鍵詞:共享內(nèi)存實(shí)時性數(shù)控系統(tǒng)

      陸小虎 于 東 胡 毅 林立明

      1.中國科學(xué)院大學(xué),北京,100049 2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所高檔數(shù)控國家工程研究中心,沈陽,110168

      0 引言

      嵌入式系統(tǒng)具有成本低、體積小、集成度高、可靠性高等特點(diǎn),目前已經(jīng)在數(shù)控領(lǐng)域獲得一定的應(yīng)用。目前嵌入式數(shù)控系統(tǒng)主要基于ARM(advanced RISC machines)+DSP(digital signal processor)和 ARM+DSP+FPGA(field programmable gate array)兩種硬件結(jié)構(gòu)[1-2]?;诜至⒃那度胧綌?shù)控系統(tǒng)集成度不高,穩(wěn)定性不好。不同架構(gòu)處理器之間的通信方式復(fù)雜,ARM處理器和DSP處理器之間的通信帶寬小導(dǎo)致了系統(tǒng)的通信延時增加[3]。在軟件結(jié)構(gòu)上,傳統(tǒng)的嵌入式數(shù)控系統(tǒng)沒有操作系統(tǒng),任務(wù)之間切換開銷大,系統(tǒng)的可擴(kuò)展性差,不能提供友好的人機(jī)接口,不同處理器之間的協(xié)同工作比較困難,數(shù)控系統(tǒng)效率不高[2]。

      異構(gòu)多核技術(shù)最大的特點(diǎn)就是在一個芯片內(nèi)集成多個異構(gòu)的處理器核[3-4],不同核心之間使用處理器內(nèi)部的高速總線相連,核心之間的通信延遲可以忽略。文獻(xiàn)[5]在以多核處理器為核心的應(yīng)用系統(tǒng)中,提出一種基于異構(gòu)多核處理器系統(tǒng)在高性能并發(fā)處理應(yīng)用中的三層軟件架構(gòu),為并發(fā)處理應(yīng)用加速。文獻(xiàn)[6]提出一種主從單邊卸載模型,以及編譯框架模型,為異構(gòu)多核處理器在專門計(jì)算領(lǐng)域的應(yīng)用提供理論基礎(chǔ)。

      在嵌入式計(jì)算領(lǐng)域中,異構(gòu)多核處理器能夠比同構(gòu)多核處理器發(fā)揮出更優(yōu)的性能?;诋悩?gòu)多核處理器的嵌入式數(shù)控系統(tǒng)具有很高的集成度和穩(wěn)定性,由不同體系結(jié)構(gòu)的處理器核心負(fù)責(zé)數(shù)控系統(tǒng)工作負(fù)載中的不同類型任務(wù)的運(yùn)行機(jī)制,能有效地提高數(shù)控系統(tǒng)的性能[4,7]。

      針對傳統(tǒng)基于模擬接口的伺服系統(tǒng)中存在的分辨率低、系統(tǒng)柔性弱、通信帶寬小、難以分布式控制等問題,近年來數(shù)控系統(tǒng)與數(shù)字伺服驅(qū)動器之間采用現(xiàn)場總線連接?,F(xiàn)場總線采用全數(shù)字通信,支持?jǐn)?shù)據(jù)雙向傳輸,線纜大大簡化,從根本上突破了傳統(tǒng)點(diǎn)對點(diǎn)式的模擬信號或數(shù)/模信號控制的局限性,同時具有傳輸速率高、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)等優(yōu)點(diǎn),具有較強(qiáng)的實(shí)時性和可靠性[5-6,8],結(jié)合現(xiàn)場總線的嵌入式數(shù)控系統(tǒng),能夠滿足高速高精數(shù)控系統(tǒng)的需求。

      數(shù)控系統(tǒng)在要求具備較高加工精度和復(fù)雜曲線計(jì)算能力的同時,還要求給用戶提供人性化的操作界面。傳統(tǒng)嵌入式數(shù)控由于沒有操作系統(tǒng)的支持,人機(jī)交互功能弱,多任務(wù)的處理能力差,不能滿足數(shù)控系統(tǒng)高精度控制的要求。為滿足高性能嵌入式數(shù)控系統(tǒng)的要求,本文基于異構(gòu)嵌入式處理器平臺提出一種嵌入式數(shù)控系統(tǒng)體系結(jié)構(gòu)。

      1 基于異構(gòu)處理器的數(shù)控系統(tǒng)關(guān)鍵技術(shù)

      本文提出的嵌入式數(shù)控系統(tǒng)體系結(jié)構(gòu)如圖1所示。

      圖1 系統(tǒng)結(jié)構(gòu)

      該嵌入式數(shù)控系統(tǒng)結(jié)構(gòu)中,在異構(gòu)雙核處理器的不同核心上運(yùn)行不同操作系統(tǒng),分別管理不同的處理器核心,充分發(fā)揮不同體系結(jié)構(gòu)處理器核心的性能;使用靜態(tài)劃分的方法,將數(shù)控任務(wù)分配到不同處理器核心上,提高嵌入式數(shù)控系統(tǒng)的穩(wěn)定性和實(shí)時性;使用基于共享內(nèi)存機(jī)制實(shí)現(xiàn)不同核心上任務(wù)的協(xié)同工作,避免不同的處理器結(jié)構(gòu)的差異帶來的潛在的內(nèi)存訪問沖突;使用現(xiàn)場總線連接嵌入式數(shù)控系統(tǒng)與伺服驅(qū)動實(shí)現(xiàn)一種基于異構(gòu)多核處理器的嵌入式數(shù)控系統(tǒng)。

      1.1 異構(gòu)的多操作系統(tǒng)平臺

      目前異構(gòu)處理器都采用主從式架構(gòu),即采用一個主核和一個專用處理核作為加速核,其中主核通常采用成熟的標(biāo)量處理器核心,專用處理核則面向特定類型工作負(fù)載進(jìn)行定制,使用面向特定的負(fù)載而設(shè)計(jì)特殊的指令集[4]。不同的處理器核心具有自己的處理器架構(gòu)、自身的內(nèi)存空間和外設(shè),不同處理器核心的運(yùn)行頻率不同,單一的操作系統(tǒng)不能同時發(fā)揮所有處理器核心最佳性能[6]。

      在數(shù)控系統(tǒng)中,實(shí)時任務(wù)要求系統(tǒng)延遲盡量小,Linux的高度抽象機(jī)制難以滿足高實(shí)時的算法要求。

      在異構(gòu)處理器中,ARM核心在用戶接口控制方面具有很高的效率,DSP核心功能強(qiáng)大,能夠進(jìn)行大量數(shù)據(jù)計(jì)算。Linux通過應(yīng)用軟件模塊與硬件資源隔離機(jī)制為用戶提供了高度的資源抽象,系統(tǒng)穩(wěn)健性強(qiáng),基于ARM處理器核心的Linux+ARM子系統(tǒng)提供友好的用戶界面。DSP/BIOS提供了直接存取硬件中斷的機(jī)制,可以實(shí)現(xiàn)底層硬件所支持的最短延遲響應(yīng),對運(yùn)動控制、位置控制等強(qiáng)實(shí)時性的任務(wù),這種精細(xì)粒度的硬件中斷控制機(jī)制可以提供很好的實(shí)時性[9],基于DSP核心的DSP+DSP/BIOS子系統(tǒng)提供高精度多軸伺服控制。

      1.2 異構(gòu)系統(tǒng)中任務(wù)的分配策略

      在基于異構(gòu)多核處理器的數(shù)控系統(tǒng)內(nèi)部,處理器架構(gòu)的差異和操作系統(tǒng)的差異導(dǎo)致任務(wù)在不同的核心上運(yùn)行時間不相同,任務(wù)在不同的處理器核心之間遷移的開銷巨大[10]。異構(gòu)多核架構(gòu)中,提高處理系統(tǒng)性能的關(guān)鍵就是合理的任務(wù)分配,任務(wù)分配的目標(biāo)就是找出一個任務(wù)組合,使得這些任務(wù)能夠滿足實(shí)時性要求的同時,整個系統(tǒng)執(zhí)行效率達(dá)到最優(yōu)[11]。

      異構(gòu)多處理機(jī)系統(tǒng)的任務(wù)分配被證明是一個NP完全問題,而異構(gòu)多核處理器能等效為一個片上的多處理機(jī)系統(tǒng),異構(gòu)多核處理器的任務(wù)最優(yōu)化分配同樣是一個NP完全問題。在嵌入式系統(tǒng)中進(jìn)行任務(wù)分配時主要考慮的因素有:任務(wù)的執(zhí)行時間、任務(wù)的執(zhí)行頻率、優(yōu)先級、通信、系統(tǒng)資源等[7,12]。

      本文在多機(jī)系統(tǒng)中任務(wù)的分配方法[11]基礎(chǔ)上,提出異構(gòu)多核嵌入式數(shù)控系統(tǒng)中的任務(wù)分配策略:①給同一個處理器核心分配相互通信頻繁的任務(wù);②給同一個處理器核心分配最適合該處理器的任務(wù);③給同一個處理器核心分配最少的任務(wù);④均衡各個處理器核心的負(fù)載;⑤將任務(wù)靜態(tài)分配成多個子集,每一個子集對應(yīng)到不同的處理器核心上。

      1.3 數(shù)控系統(tǒng)中任務(wù)的劃分

      數(shù)控系統(tǒng)是一個多任務(wù)和高實(shí)時并存的系統(tǒng),在數(shù)控系統(tǒng)內(nèi)部,任務(wù)主要分為實(shí)時任務(wù)和非實(shí)時任務(wù)。數(shù)控系統(tǒng)內(nèi)部任務(wù)有用戶界面(HMI)、軟PLC、G代碼解釋、粗插補(bǔ)、精插補(bǔ)、任務(wù)控制器、手輪控制、速度規(guī)劃、運(yùn)動控制等。顯示任務(wù)與圖形環(huán)境密切相關(guān),圖形環(huán)境是Linux系統(tǒng)的一部分,因此將和圖形顯示相關(guān)的任務(wù)安排到Linux系統(tǒng)下運(yùn)行。數(shù)控系統(tǒng)通過軟PLC實(shí)現(xiàn)對IO的控制,IO控制任務(wù)對實(shí)時性的要求不高,不與運(yùn)動控制等任務(wù)進(jìn)行交互,軟PLC既可以安排在實(shí)時系統(tǒng)中運(yùn)行,也可以安排在非實(shí)時系統(tǒng)中運(yùn)行。在數(shù)控加工過程中,由G代碼解析、插補(bǔ)算法、速度規(guī)劃、運(yùn)動控制等任務(wù)構(gòu)成一個加工過程。其中G代碼解釋任務(wù)既可以運(yùn)行在實(shí)時系統(tǒng)中也可以運(yùn)行在非實(shí)時系統(tǒng)中,G代碼解釋需要用到大量的分支判斷等操作。數(shù)控系統(tǒng)的運(yùn)動控制任務(wù)、插補(bǔ)任務(wù)、速度規(guī)劃任務(wù)在獲得G解釋器的數(shù)據(jù)之后,通過實(shí)時性周期地運(yùn)行實(shí)現(xiàn)數(shù)控加工過程的精度控制,這些任務(wù)中包含大量的數(shù)學(xué)運(yùn)算,屬于計(jì)時密集型任務(wù)。數(shù)控系統(tǒng)中的手輪任務(wù)需要系統(tǒng)能夠?qū)κ州喌牟僮鬟M(jìn)行實(shí)時響應(yīng)。

      結(jié)合不同任務(wù)對實(shí)時性的要求和本文提出的任務(wù)分配策略,對數(shù)控系統(tǒng)內(nèi)部任務(wù)進(jìn)行分解,降低不同處理器核心的耦合度,從而將整個系統(tǒng)劃分成兩個以處理器核心為單位的并行子系統(tǒng),如圖2所示。在數(shù)控系統(tǒng)內(nèi)部的任務(wù)中,G代碼解釋任務(wù)、運(yùn)動控制任務(wù)、插補(bǔ)任務(wù)、軌跡規(guī)劃任務(wù)之間需要進(jìn)行大量的數(shù)據(jù)交互,但是G代碼解釋任務(wù)與其他任務(wù)之間的交互較少。將計(jì)算密集而且實(shí)時性要求較高,同時數(shù)據(jù)交互量大的運(yùn)動控制任務(wù)、插補(bǔ)任務(wù)、軌跡規(guī)劃任務(wù)作為一組實(shí)時的周期任務(wù)分配到DSP核心上執(zhí)行;將具有實(shí)時性要求,但不是周期任務(wù)的手輪控制任務(wù)安排在DSP核心上作為一個高優(yōu)先級中斷任務(wù)執(zhí)行;將與Linux系統(tǒng)關(guān)系緊密的圖形顯示任務(wù)分配到ARM核心下運(yùn)行,用戶界面運(yùn)行在ARM Linux子系統(tǒng)下[13];將軟PLC安排在ARM核心上執(zhí)行;為實(shí)現(xiàn)平衡處理器核心的負(fù)載,將G代碼解釋任務(wù)安排在ARM端執(zhí)行,并且通過核心之間的共享內(nèi)存實(shí)現(xiàn)與實(shí)時任務(wù)的通信(圖1)。

      圖2 靜態(tài)任務(wù)分配圖

      1.4 處理器核心間的協(xié)同方法

      嵌入式操作系統(tǒng)的引導(dǎo)過程與系統(tǒng)的硬件結(jié)構(gòu)相關(guān),本文使用主從方法加載操作系統(tǒng),并提出一種基于共享內(nèi)存的核心間的協(xié)同工作機(jī)制。

      1.4.1 操作系統(tǒng)加載方式與運(yùn)行方式

      目前的主從架構(gòu)的嵌入式結(jié)構(gòu)中,通用的處理器負(fù)責(zé)所有資源的管理和操作,專用的處理器負(fù)責(zé)計(jì)算加速[6]。本文在異構(gòu)雙核處理器的核心上運(yùn)行不同操作系統(tǒng),通過串行的啟動方式來啟動兩個核心上的操作系統(tǒng)。首先在ARM處理器端啟動Linux系統(tǒng),然后通過Linux系統(tǒng)向DSP加載操作DSP/BIOS操作系統(tǒng)。通過運(yùn)行在DSP核心的實(shí)時系統(tǒng),讓實(shí)時任務(wù)常駐DSP核心上,實(shí)現(xiàn)數(shù)控系統(tǒng)內(nèi)部任務(wù)的并行執(zhí)行。

      1.4.2 核心間的通信方法

      基于異構(gòu)雙核處理器的數(shù)控系統(tǒng)中同時存在兩種不同的操作系統(tǒng)(ARM Linux子系統(tǒng)和DSP+DSP/BIOS子系統(tǒng))和三種任務(wù)間的通信模式(ARM核心內(nèi)部的任務(wù)通信,DSP核心內(nèi)部的任務(wù)通信,ARM與DSP核心間的通信),其中,前兩種通信模式屬于操作系統(tǒng)內(nèi)部的通信,由操作系統(tǒng)維護(hù),ARM與DSP核心間的任務(wù)通信可以通過處理器間的共享物理內(nèi)存實(shí)現(xiàn)。在數(shù)控系統(tǒng)中,實(shí)時任務(wù)運(yùn)行在DSP核心上,非實(shí)時任務(wù)運(yùn)行在ARM處理器核心上,兩種不同的任務(wù)之間通過共享物理內(nèi)存的方式進(jìn)行通信。在共享內(nèi)存上,定義了能夠被兩個處理器核心訪問的共享數(shù)據(jù)結(jié)構(gòu),用于兩個處理器之間信息的通信。

      在硬件上,將物理內(nèi)存劃分為五個區(qū)域,包括Linux的系統(tǒng)內(nèi)存、用于兩個核心之間通信的共享內(nèi)存、DSP/BIOS的系統(tǒng)內(nèi)存和兩塊保護(hù)內(nèi)存區(qū)域(圖3)。實(shí)時任務(wù)與非實(shí)時任務(wù)進(jìn)行通信的共享數(shù)據(jù)結(jié)構(gòu)保存在ARM處理器核心和DSP核心之間專屬的共享內(nèi)存區(qū)域。這片內(nèi)存區(qū)域由DSP/BIOS進(jìn)行初始化,并且創(chuàng)建共享數(shù)據(jù)結(jié)構(gòu)。共享數(shù)據(jù)結(jié)構(gòu)創(chuàng)建成功之后,DSP/BIOS將共享內(nèi)存的實(shí)際物理地址通過處理器核心間的消息總線傳遞到運(yùn)行在ARM端的Linux系統(tǒng)中,Linux系統(tǒng)在獲得共享內(nèi)存的信息之后,按照地址轉(zhuǎn)換協(xié)議,將該共享內(nèi)存的地址信息轉(zhuǎn)換成Linux可以直接訪問的地址,并且將共享內(nèi)存的地址指向該內(nèi)存區(qū)域。

      圖3 內(nèi)存分配圖

      共享內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)采用互斥鎖的機(jī)制,在不同的操作系統(tǒng)中通過唯一的ID對該內(nèi)存進(jìn)行標(biāo)識。當(dāng)處理器核心的任務(wù)需要對共享數(shù)據(jù)結(jié)構(gòu)進(jìn)行讀寫操作時,首先需要獲得互斥鎖,然后對共享內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)進(jìn)行讀寫操作;當(dāng)任務(wù)完成對共享內(nèi)存數(shù)據(jù)結(jié)構(gòu)的讀寫操作之后,釋放互斥鎖,并通知正在等待訪問共享內(nèi)存的任務(wù)。這種互斥共享數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)了不同處理核心上的各個任務(wù)之間對共享內(nèi)存數(shù)據(jù)互斥的訪問,同時可以保證DSP核心和ARM核心間共享數(shù)據(jù)的同步。

      1.5 嵌入式數(shù)控系統(tǒng)與運(yùn)動控制總線的集成

      通過將總線技術(shù)與嵌入式技術(shù)結(jié)合,實(shí)現(xiàn)高速的控制,通信專用芯片采用現(xiàn)場可編程邏輯門陣列(FPGA),實(shí)現(xiàn)SSB-III總線的鏈路層功能,整個鏈路層可以劃分為三個邏輯部分:物理層接口、鏈路層邏輯功能和用戶層接口[8]。通過將與電機(jī)控制相關(guān)的伺服單元直接與DSP核心相連,實(shí)現(xiàn)DSP對伺服電機(jī)的控制??偩€的驅(qū)動分布在不同的核心之上,可以獲得較高的實(shí)時性,如圖4所示。首先由ARM核心完成總線的初始化工作,然后將運(yùn)動總線的控制權(quán)限交給DSP+DSP/BIOS實(shí)時子系統(tǒng),由于DSP+DSP/BIOS子系統(tǒng)的實(shí)時性好,所以可以實(shí)現(xiàn)高精度的控制。

      圖4 總線驅(qū)動模型

      2 實(shí)驗(yàn)驗(yàn)證

      2.1 性能分析

      在傳統(tǒng)的單核的嵌入式數(shù)控系統(tǒng)中,數(shù)控系統(tǒng)內(nèi)部的實(shí)時任務(wù)和非實(shí)時任務(wù)是串行的,如圖5a所示。使用ARM+DSP結(jié)構(gòu)的嵌入式數(shù)控系統(tǒng)中,由于DSP處理器僅僅起到的是加速作用,因此數(shù)控系統(tǒng)內(nèi)部的實(shí)時任務(wù)和非實(shí)時任務(wù)之間也是串行執(zhí)行的,如圖5b所示。本文實(shí)現(xiàn)的基于異構(gòu)處理器的嵌入式數(shù)控系統(tǒng)中,通過運(yùn)行在不同的處理器核心上的操作系統(tǒng)對該處理器核心上的任務(wù)進(jìn)行調(diào)度,真正實(shí)現(xiàn)數(shù)控系統(tǒng)內(nèi)實(shí)時與非實(shí)時任務(wù)的并行執(zhí)行,如圖5c所示。記T為數(shù)控系統(tǒng)一個任務(wù)周期的執(zhí)行時間,tn為一個控制周期內(nèi)的非實(shí)時任務(wù)的執(zhí)行時間,tr為一個控制周期內(nèi)的實(shí)時任務(wù)的執(zhí)行時間,則傳統(tǒng)單核處理器嵌入式數(shù)控系統(tǒng)的一個控制周期的執(zhí)行時間為

      圖5 任務(wù)的執(zhí)行流對比圖

      記tt為不同處理器之間的通信時間,t′r為一個控制周期內(nèi)實(shí)時任務(wù)在DSP上的執(zhí)行時間。則

      式(2)表示的是傳統(tǒng)的ARM+DSP的一個控制周期的執(zhí)行時間。則本文實(shí)現(xiàn)的嵌入式數(shù)控系統(tǒng)的一個控制周期的執(zhí)行時間為

      2.2 實(shí)驗(yàn)驗(yàn)證過程

      本文開發(fā)了一個基于OMAP3530的嵌入式數(shù)控系統(tǒng),OMAP3530是一款異構(gòu)處理器,同時具備ARM核心和DSP核心,該處理器充分利用控制性能優(yōu)異的ARM體系結(jié)構(gòu)和計(jì)算機(jī)功能強(qiáng)大的DSP體系結(jié)構(gòu)。使用FPGA技術(shù)實(shí)現(xiàn)了嵌入式數(shù)控系統(tǒng)與運(yùn)動控制總線的集成。本文在完成的數(shù)控系統(tǒng)和現(xiàn)場總線驅(qū)動板卡上一共連接了三套伺服驅(qū)動系統(tǒng),系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖6所示。

      圖6 實(shí)驗(yàn)環(huán)境

      2.3 實(shí)時性評估

      為了驗(yàn)證本文實(shí)現(xiàn)的數(shù)控系統(tǒng)的實(shí)時性,本文選擇中斷響應(yīng)延遲和任務(wù)的周期抖動作為評價(jià)指標(biāo),對數(shù)控系統(tǒng)進(jìn)行測試。本文開發(fā)的數(shù)控系統(tǒng)和基于X86的數(shù)控系統(tǒng)對比結(jié)果如表1所示,表中記錄的是在一個完整的加工過程中的最大調(diào)度抖動和最大中斷響應(yīng)延遲。由實(shí)驗(yàn)的結(jié)果可知,由于DSP的體系結(jié)構(gòu)簡單,DSP/BIOS具有精簡實(shí)時性高、可以直接訪問硬件等特點(diǎn),運(yùn)行在DSP上的運(yùn)動控制任務(wù)調(diào)度抖動比較小,DSP對中斷的響應(yīng)時間要比X86平臺短,更適合實(shí)時控制。

      表1 X86與DSP的實(shí)時性對比 μs

      2.4 線場總線性能評估

      數(shù)控系統(tǒng)的高速高精運(yùn)動控制對總線的要求主要體現(xiàn)在以下幾方面[13]:①實(shí)時循環(huán)周期一般在1~10ms之間;②總線傳輸?shù)拇_定性;③執(zhí)行命令與反饋的同步性;④支持I/O設(shè)備信號的傳遞;⑤支持非周期的數(shù)據(jù)。針對上述要求,本文在基于OMAP3530處理器和FPGA的嵌入式數(shù)控系統(tǒng)上,對影響總線傳輸實(shí)時性的中斷響應(yīng)延遲和影響總線傳輸確定性的中斷抖動兩個性能參數(shù)開展了相關(guān)實(shí)驗(yàn)測試工作。

      本文采用OMAP3530處理器自身的定時器來測量中斷延遲。記gt_rate為定時器的頻率,則有

      其中,式(4)表示定時器的初始值為start_tick,從start_tick開始經(jīng)過n秒后定時器將產(chǎn)生一個溢出中斷,此時定時器會自動重載start_tick,然后繼續(xù)計(jì)時。系統(tǒng)響應(yīng)該中斷后進(jìn)入相應(yīng)中斷服務(wù)函數(shù),此時調(diào)用針對OMAP平臺的內(nèi)核系統(tǒng)函數(shù),用式(6)獲得定時器當(dāng)前的數(shù)值end_tick,代入式(5)即可獲得中斷響應(yīng)延遲intr_delay。

      本文選取2ms作為SSB-Ⅲ現(xiàn)場總線通信周期,實(shí)驗(yàn)測得的總線中斷周期數(shù)據(jù)如圖7所示,最大偏差(實(shí)際周期與理論周期2ms的最大偏離值)為34.615μs,可見基于OMAP3530處理器和FPGA的SSB-Ⅲ總線周期具有很好的確定性。

      圖7 現(xiàn)場總線中斷周期

      2.5 執(zhí)行的效率和對比

      本文通過對數(shù)控加工中電機(jī)的控制過程的仿真,對運(yùn)行在嵌入式實(shí)時系統(tǒng)上的數(shù)控系統(tǒng)中的插補(bǔ)任務(wù)執(zhí)行時間進(jìn)行了測試。

      如圖8所示,該加工過程中,總共有1356段命令線段,在數(shù)控軟件的參數(shù)里將運(yùn)行周期設(shè)置為1ms,實(shí)際任務(wù)周期范圍介于1.03~0.973ms之間,可以滿足實(shí)時控制和加工的要求。

      圖8 數(shù)控系統(tǒng)任務(wù)周期

      3 結(jié)語

      本文提出了一種基于異構(gòu)雙核處理器和現(xiàn)場總線的嵌入式數(shù)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法,該方法通過在異構(gòu)雙核處理器的核心上同時運(yùn)行兩個操作系統(tǒng),結(jié)合靜態(tài)劃分的方法對數(shù)控系統(tǒng)任務(wù)進(jìn)行劃分,實(shí)現(xiàn)嵌入式的數(shù)控系統(tǒng),結(jié)合現(xiàn)場總線技術(shù)使數(shù)控系統(tǒng)具有良好的可擴(kuò)展性。通過將基于異構(gòu)多核處理器的嵌入式數(shù)控系統(tǒng)的中斷響應(yīng)延遲和中斷抖動兩個實(shí)時性能指標(biāo)和基于PC的數(shù)控系統(tǒng)進(jìn)行對比,以及對現(xiàn)場總線的性能測試和數(shù)控加工過程主要任務(wù)執(zhí)行時間的測試,證明了本文提出的基于異構(gòu)多核處理器的嵌入式數(shù)控系統(tǒng)具有良好的實(shí)時性,能夠滿足數(shù)控加工的需求,可以為高性能嵌入式數(shù)控系統(tǒng)的體系結(jié)構(gòu)提供參考。

      [1]徐躍,王太勇,趙艷菊,等.基于ARM和DSP的可重構(gòu)數(shù)控系統(tǒng)[J].吉林大學(xué)學(xué)報(bào)(工學(xué)版),2008,38(4):848-851.Xu Yue,Wang Taiyong,Zhao Yanju,et al.Reconfigurable CNC System Based on ARM and DSP[J].Journal of Jilin University(Engineering and Technology Edition),2008,38(4):848-851.

      [2]孫程建.基于Linux的嵌入式數(shù)控系統(tǒng)底層軟件設(shè)計(jì)[D].武漢:武漢科技大學(xué),2007.

      [3]李愛朝,林桂清,陳小亮.采用ARM和DSP的數(shù)控系統(tǒng)硬件設(shè)計(jì)及驅(qū)動開發(fā)[J].現(xiàn)代制造工程,2010(5):27-29.Li Aichao,Lin Guiqing,Chen Xiaoliang.Design of NC System Hardware Based on ARM&DSP and Driver Development[J].Modern Manufacturing Engineering,2010(5):27-29.

      [4]李春江,楊學(xué)軍.主從式單邊異構(gòu)多核處理器編程模型和編譯架構(gòu)[J].計(jì)算機(jī)工程與科學(xué),2009,31(8):66-68.Li Chunjiang,Yang Xuejun.The Programming Model and Compilation Framework for Master-Slave One-sided Heterogeneous Multi-core Processors[J].Computer Engineering & Science,2009,31(8):66-68.

      [5]汪少敏,趙猛,朱振博,等.基于多核處理器并發(fā)計(jì)算軟件構(gòu)架設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2008,35(7):283-285.Wang Shaomin,Zhao Meng,Zhu Zhenbo,et al.Multi core Processor Based Software Framework Design and Implementation for Concurrent Computation[J].Computer Science,2008,35(7):283-285.

      [6]胡毅,于東,李培楠,等.基于現(xiàn)場總線的開放式數(shù)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2008,29(9):1745-1749.Hu Yi,Yu Dong,Li Peinan.Design and Implementation of Open CNC System Based on Fieldbus[J].Journal of Chinese Computer Systems,2008,29(9):1745-1749.

      [7]王志成,于東,張曉輝,等.數(shù)控系統(tǒng)現(xiàn)場總線可靠通信機(jī)制的研究[J].機(jī)械工程學(xué)報(bào),2011,47(3):152-158.Wang Zhicheng,Yu Dong,Zhang Xiaohui,et al.Study on Reliable Communication Mechanism of Field-bus for Numerical Control System[J].Chinese Journal of Mechanical Engineering,2011,47(3):152-158.

      [8]Preissig S,Beal D,Jacquiot A.采用Linux與DSP/BIOS RTOS實(shí)施雙OS信號處理技術(shù)[J].電子設(shè)計(jì)技術(shù),2009(3):70-73.Preissig S,Beal D,Jacquiot A.The Implementation of the Dual OS Signal Processing Technology Based on Linux and DSP/BIOS RTOS[J].EDN China,2009(3):70-73.

      [9]王超,陳香蘭,周學(xué)海,等.異構(gòu)多核平臺上基于任務(wù)劃分和調(diào)度的性能評估方法[J].中國科學(xué)院研究生院學(xué)報(bào),2012,29(2):257-263.Wang Chao,Chen Xianglan,Zhou Xuehai,et al.Performance Evaluation Based on Task Division and Scheduling in Heterogeneous Multi-core Systems[J].Journal of Graduate University of Chinese Academy of Sciences,2012,29(2):257-263.

      [10]蔣建春,汪同慶.異構(gòu)多核處理器的任務(wù)調(diào)度算法[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(33):52-56.Jiang Jianchun,Wang Tongqing.Task Scheduling Algorithm for Heterogeneous Multi-core Processor[J].Computer Engineering and Applications,2009,45(33):52-56.

      [11]董珍.異構(gòu)多核處理器的任務(wù)調(diào)度分配問題及算法研究[D].哈爾濱:哈爾濱工程大學(xué),2010.

      [12]彭蔓蔓,徐立超,王穎.異構(gòu)多核處理器的任務(wù)分配及能耗的研究[J].計(jì)算機(jī)應(yīng)用研究,2010,27(5):1729-1731+1736.Peng Manman,Xu Lichao,Wang Ying.Task Allocation and Energy on Heterogeneous Multi-core Processors[J].Application Research of Computers,2010,27(5):1729-1731.

      [13]林立明,于東,胡毅,等.一種嵌入式總線運(yùn)動控制器的實(shí)時系統(tǒng)設(shè)計(jì)[J].中國機(jī)械工程,2013,24(4):494-499.Lin Liming,Yu Dong,Hu Yi,et al.Design of Realtime System for a Fieldbus-based Embedded Motion Controller[J].China Mechanical Engineering,2013,24(4):494-499.

      猜你喜歡
      共享內(nèi)存實(shí)時性數(shù)控系統(tǒng)
      基于規(guī)則實(shí)時性的端云動態(tài)分配方法研究
      通過QT實(shí)現(xiàn)進(jìn)程間的通信
      基于FANUC 32i A數(shù)控系統(tǒng)的外部測量設(shè)計(jì)
      西門子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應(yīng)用
      基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動功能開發(fā)
      基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實(shí)時性仿真
      數(shù)控系統(tǒng)中GUI軟件平臺設(shè)計(jì)和實(shí)現(xiàn)
      基于PCI總線的多處理器協(xié)同機(jī)制研究
      航空電子AFDX與AVB傳輸實(shí)時性抗干擾對比
      QNX下PEX8311多路實(shí)時數(shù)據(jù)采集的驅(qū)動設(shè)計(jì)
      電子世界(2014年21期)2014-04-29 06:41:36
      长武县| 中宁县| 沂南县| 古蔺县| 通化市| 滨海县| 东兰县| 高台县| 邢台县| 藁城市| 鄂托克旗| 潞城市| 灌云县| 延寿县| 德清县| 尚志市| 左贡县| 普兰县| 绵竹市| 绥棱县| 阜康市| 平塘县| 常宁市| 墨竹工卡县| 普宁市| 邹城市| 闵行区| 寻甸| 富顺县| 东海县| 宜昌市| 垣曲县| 龙州县| 略阳县| 阳原县| 日照市| 华容县| 彰武县| 资中县| 泽普县| 太和县|