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

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

  0 引 言

  作為數控系統核心控制部件的運動控制器,市場上有基於微控制器、基於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.

最近訪問