博文谷

位置:首頁 > 實用範文 > 論文

基於DSP與BIOS內核的運動控制器軟件技術創新論文

論文7.65K

0 引 言

基於DSP與BIOS內核的運動控制器軟件技術創新論文

作爲數控系統核心控制部件的運動控制器,市場上有基於單片機、基於ARM爲主控處理+FPGA/CPLD作爲輔控處理、基於DSP爲主控處理+FPGA/CPLD作爲輔控處理等多種硬件平臺的解決方案。在不同的硬件平臺上,軟件系統調度方案可以採用μC/OS?Ⅱ,BIOS,RT?Linux,VxWorks等多種實時操作系統內核,因而衍生出各種軟件系統的架構方案[1]。採用TI公司TMS320C6713系列DSP芯片爲主控芯片+FPGA作爲輔控芯片的硬件平臺的解決方案,其數據吞吐量和高速浮點運算上具有一般單片機不可比擬的優勢。而採用TI公司的DSP芯片和CCS的開發平臺,可以使用配套的非開放原始碼的BIOS實時內核,在中小型數控系統應用開發上,其更加專業,相比採用ARM硬件平臺而使用的開放性原始碼的實時操作系統內核,採用DSP硬件平臺與BIOS內核的運動控制器穩定性更好,能夠節約實時操作系統移植和測試時間,縮短開發週期,因而其是一種合理有效的解決方案[2]。

爲了能夠在該平臺上進行有效的模組化數控功能組件的開發、維護和移植,本文提出了一種標準化的軟件分層與接口架構方案。該方案可作爲一種設計模式,滿足不同用戶的基本功能與二次開發需求。

1 系統整體方案

1.1 運動控制器硬件實現平臺

本文采用的運動控制器的硬件系統[3]框圖如圖1所示。其中,TMS320C6713系列DSP具有浮點運算器,能快速高效地完成工件加工軌跡插補計算。其集成外部擴展擴的EDMA和EMIF總線具有數據吞吐量大的特點。該DSP主頻爲225 MHz,對應的指令週期爲4.4 ns,相應的運算速度可達1 800 MIPS/1 350 MFLOPS,適用於中小型數控系統主控制器的需求[4]。

ACTEL公司的A3P400系類FPGA是一種高密度,等效40萬門器件,其可配置的I/O可以相容多種類型的數字電平。另外ACTEL公司提供的Libero集成開發工具,能提供數字PLL、高速FIFO等多種通用型軟核模組,能夠節約開開發時間與成本,是作爲運動控制器外部通信總線接口的一種可靠高效的硬件方案。

圖1 運動控制器硬件結構圖

1.2 系統軟件層次劃分

本文軟件系統採用三層結構劃分[1],其層次結構如圖2所示。

圖2 軟件架構層次圖

(1) 用戶應用接口層。可根據具體的用戶需求開發各種功能的'數控應用模組,並將各功能模組作爲組件透過接口嵌入到系統軟件中來。本文所開發的基礎用戶組件塊及其功能將在下一節詳細描述。

(2) BIOS內核層。採用TI公司的CCS3.3提供的BIOS內核以及其各種內核組件,可有效縮短內核移植和測試時間。CCS3.3提供圖形化介面接口,如圖3所示。其可對內核各個組件進行配置和應用。它的內核透過編譯後將在檔案連結時植入程序,生成最後可執行檔案。  (3) 硬件驅動層。用於管理運動控制器板卡上與DSP相連的各個硬件設備的驅動,併爲內核與用戶應用層提供硬件訪問接口。板卡硬件包括:FIFO通信緩衝器、CNC脈衝發生器、UART總線控制器、SERCOS總線控制器等。外部模擬數字硬件設備採用FPGA或專用IC實現。

圖3 BIOS內核圖形化配置介面

2 用戶應用軟件任務劃分

用戶應用軟件組件模組可分爲基礎組件和擴展組件[5]。基礎組件提供數控系統基本的加工、維護、調試、監控等各種接口控制功能。擴展組件根據特定的用戶需求可選擇性裁剪安裝,一般擴展組件包括軟PLC編程接口,SERCOS總線、脈衝、TCP/IP、UART等各種通信協議數據包解析與格式轉換等功能。BIOS內核是一款多任務實時內核,可以在系統多個用戶基礎任務之間進行調度。本文所描述系統基本用戶組件任務劃分見圖4。

圖4 運動控制器硬件結構圖

2.1 HMI任務

HMI通信數據包幀格式如表1所示。HIM任務處理流程如圖5所示。

(1) 通信數據包格式。通信數據包格式固定,但功能資訊結構格式不固定[6]。不同的資訊,如調試資訊、G代碼腳本資訊的內容等採用不同的資訊格式,這樣用戶在增加新的功能組件時,只要自己編寫新的資訊格式和編碼與解析方式,就能利用原有的通信協議進行開發,使得系統代碼能夠移植和重新利用。

表1 HMI數據包幀格式

圖5 HIM任務處理流程圖

(2) 數據包生成器。從已處理完的HMI資訊隊列中按照不同約定資訊格式讀取資訊,並按照數據包的格式爲其添加幀頭、物理地址、校驗碼等,生成一組數據幀,並將該數據幀透過EMIF總線寫入FPGA中的UART發送FIFO,待其轉換爲對應數字電平發送給上位機。

(3) 數據包解析器。透過EMIF總線從在FPGA中實現的UART總線接收FIFO中讀取一個數據幀,並按照約定的用戶應用的解析方式解析成對應的資訊,並將資訊加載到HMI接收資訊隊列,等待數據處理與交換任務啓動進行處理。

2.2 用戶數據處理與交換任務

用戶數據處理與交換任務流程如圖6所示。

本系統提供G代碼腳本解釋器、調試維護命令殼、系統錯誤診斷器三個基礎組件。用戶可根據特定需求植入新的組件,並編寫對應組件接口資訊編碼與解析方式。

(1) G代碼腳本解釋器[7]

數控G代碼解釋的方案很多。部分廠商採用在上位機解析成配置資訊碼,併發送給運動控制器的方案。但此方案會增加數據通信量,使得通信時延增加。本系統採用的方案是:上位機以字元串格式將數控G代碼腳本資訊打包發送給運動控制器,運動控制器對字元串進行重新組合,並透過識別組合碼配置數控參數控制塊。該方案可以減少通信負擔,減小通信延時,但是將增大DSP的運算處理量。因爲DSP運算速度明顯要塊於通信傳輸速率,所以該方案是一種合理的折中方案。

圖6 用戶數據處理與交換任務流程圖

(2) 調試維護命令殼

該功能用於系統開發階段和系統維護階段。系統集成該功能夠之後,根據開發人員提供的維護指令手冊,在上位機輸入維護指令,返回運動控制器相應的關鍵系統數據結構的執行狀態碼,能幫助維護人員快速地判斷系統執行中的故障,併爲數控機牀每個加工軸提供電機測試接口。

(3) 系統錯誤診斷器

負責管理和存儲數控系統需要監控執行的重要模組資訊,一旦重要模組執行發生故障,則把錯誤編碼儲存在系統錯誤診斷器中,並在任務執行時將錯誤碼發送給上位機。

2.3 運動控制任務

運動控制任務是運動控制器最核心的部分,也是BIOS內核所管理的任務中優先級最高的一個任務。不同廠商的控制器有不同的實現方案。爲了能夠清晰理解與移植本文所述系統的運動控制程序,圖7給出了運動控制的行爲與數據流框圖。

根據圖7所描述的運動控制行爲,編寫的運動控制任務程序的流程圖如圖8所示。

圖7 運動控制的行爲與數據流圖

圖8 運動控制任務流程圖

(1) 加工軌跡計算。加工軌跡計算控制器,綜合數控配置參數與實時的反饋數據,透過各種數值計算方法,進行各種數控插補計算,得到最終的加工數據,可以透過脈衝編碼格式或者SERCOS通信總線,發送給控制CNC的每個軸的伺服電機驅動器,控制電機的旋轉與進給。

(2) 電機驅動管理。實時地管理監控CNC每個軸的電機驅動器。讀取驅動器的工作狀態,將需要上位機進行實時監控的數控實時執行數據寫入CNC接收資訊隊列,並透過數據交換控制任務,發送到上位機用於監控。當有電機驅動器執行出現異常時,可以及時進行保護停止,併發送執行故障編碼。

3 軟件方案的驗證性測試

在本實驗室研發的嵌入式數控系統測試平臺如圖9所示。其中,HMI板透過JTAG接口與調試主機1相連,運動控制板透過JTAG接口與調試主機2相連。HMI板與運動控制板透過RS 422總線連接,並在採用UART協議進行通信[6,8]。

由於電機執行軌跡與效果無法很好透過圖片展示,並且本實驗目的主要是驗證整個軟件系統架構的可行性,並修補程序BUG。因而建議採用硬件模擬執行加Matlab仿真的驗證方法。

圖9 運動控制測試平臺

採用圓弧插補測試的方法,在上位機透過G代碼腳本格式匯入測試指令腳本,運動控制器讀取數據包,解析出測試腳本資訊後,進行處理和運算,得出的運算數據儲存後,匯入Matlab仿真軟件,生成執行軌跡圖,以便模擬仿真電機的實際執行軌跡。表2爲CNC測試腳本的加工軌跡數據。

表2 測試加工軌跡數據

圖10爲經過系統執行得到的加工軌跡與原始測試數據的軌跡對照。

圖中點線:測試腳本數據擬合曲線;實線:DSP計算的加工數據擬合曲線。從方案驗證性測試實驗得到的模擬數據擬合圖像和原始腳本測試數據對比,可以驗證該軟件架構方案和基礎用戶組件能在實驗室的CNC系統平臺上穩定可靠地執行,因而驗證了該軟件架構方案的可行性。

圖10 加工軌跡測試與模擬軌跡

4 結 語

本文基於TI公司的C6713系列DSP+FPGA作爲硬件實現方案的運動控制器平臺,提出一種可移植性軟件架構方案。透過三層軟件結構模型的描述和基礎性用戶組件與接口的任務劃分,爲用戶的功能的二次開發與軟件代碼的維護提供的一個基礎性平臺。並透過加工腳本測試驗證了方案的可行性與穩定性。

參考文獻

[1] 王濤,王太勇,許愛芬,等.嵌入式實時操作系統在數控系統設計中的應用[J].計算機工程,2008,34(4):250?268.

[2] 孫禾鳳.基於DSP/BIOS的運動控制器軟件開發[D].南京:南京航空航天大學,2008.

[3] 吳紅軍,皮佑國.基於DSP和FPGA的運動控制器的設計與實現[J].組合機牀與自動化加工技術,2011(2):75?82.

[4] Texas Instruments Incorporated. TMS320C6713B floating?point digital signal processor SPRS294B [R]. USA: Texas Instruments Incorporated, 2006.

[5] 毛軍紅,李黎川,吳序堂.機牀數控軟件化結構體系[J].機械工程學報,2006,36(7):48?51.

[6] 蔣明柯,皮佑國.數控系統中RS 485串行通信協議的設計[J].組合機牀與自動化加工技術,2013(5):23?26.

[7] [美]凱賽達.計算機數控技術應用:加工中心和切削中心[M].北京:清華大學出版社,2006.

[8] 範德和,皮佑國.基於DSP和FPGA的運動控制器高速串行通信設計[J].組合機牀與自動化加工技術,2011(9):58?62.

[9] 張彥軍,李京蔓,等.基於FPGA的數字量變換器測試系統設計[J].計算機測量與控制,2013,21(1):71?77.