基于多核CPU的嵌入式數控系統研究
2018-3-27 來源:廣東工業大學自動化學院,廣州奇芯機器人 作者:馮文波 廉迎戰,甘玉軒 張錦源 邱民 萬
摘要:選擇了Texas Instruments公司的C6A814x(A8+DSP)雙核異構處理器作為數控系統的主控制器,開展數控系統的產品預研工作,介紹的技術方法和框架模型已經基于相關硬件平臺完成全面貫通驗證,提供了實現高檔數控系統關鍵技術所需要的基木架構資源和渾然天成一體的集成平臺,具備推廣應用價值。
關鍵詞:數控系統.C6A814x.A8.DSP,嵌入式Linux.多核處理器
1、多核CPU數控系統硬件架構設計
(1) 主控芯片選型
針對中高檔數控系統的對硬件平臺要求,本文選擇德州儀器公司(TI)的C6A814x作為數控系統的主控芯片,C6A814x采用」「對稱異構的多核設計方案,集成750M Hz的下MS32CC674x浮點與定點DSP處理器和1GHz主頻的ARM Cortex-A8處理器在同一顆芯片上。
對于C6A814x處理器的應用開發,TI公司為客戶提供了一套完整的硬件評估板、軟件開發套件和CCS集成開發環境,針對ARM的應用開發,TI提供了Linux的SDK開發套件、圖形開發套件、范例圖形以及啟動代碼等。
(2) 系統硬件平臺架構設計
為提高數控系統的可移植性、可伸縮性、可維護性和兼容性,硬件平臺采用單元模塊化結構設計,如圖1所示,實時系統與非實時系統在模塊上分開,即在ARM核上運行應用功能程序,在DSP核上運行實時控制程序;各CPU核之間通過內部總線進行數據交互;同時對主要的硬件模塊采用8層板進行設計,提高系統的抗震和抗電磁干擾能力。
系統的硬件平臺的總體設計如圖1所示:

圖1 數控系統硬件平臺架構
C6A814x處理器的ARM核運行Linux操作系統和數控系統應用軟件,實現人機交互等非實時任務,主要的功能模塊包括:顯示模塊、鍵盤輸入、數據存儲模塊以及外部數據通訊模塊(RS232,USB接口、千兆以太網)。C6A814x處理器的DSP核運行SYSBIOS實時操作系統,提供多任務昔理架構,負責數控系統多通道的實時任務主要包括運動控制模塊(插補運算)和業務邏輯處理模塊,DSP和ARM之間通過Syslink使用消息隊列進行高速互聯通信。
FPGA負責外圍接口電路信號采集和控制,主要功能模塊包括數字脈沖信號處理模塊,模擬信號處理模塊,PMC模塊等。PMC模塊處理用于數控系統與機床之間的開關控制和信號傳遞,包括機床主軸的控制、刀庫控制以及機床零點、限位等信號的控制。
采用模塊化的設計方法,能夠縮短產品的設計周期和研發周期、降低研發和制造成木、提高產品的的可靠性和設計質量。
2、多核CPU數控系統軟件功能模塊設計
基于上述軟軟硬件平臺和高檔數控系統的功能需求,數控系統軟件功能模塊設計如圖2所示:

圖2 數控系統軟件功能模塊
系統軟件總共分為ARM功能區,DSP功能區、FPGA功能區和上位機軟件模塊。
1)ARM功能區:ARM處理器運行Linux操作系統,負責數控系統的人機交互、指令譯碼、刀補、故障報警診斷和網絡通訊等功能模塊。
2)DSP功能區:DSP運行BIOS實時系統,主要負責負責運動軌跡的前瞻和插補運算、加減速的控制和業務務邏輯處理等功能。
3)FPGA功能區:FPGA作為現場可編程門陣列,在處理乘法和邏輯運算具有明顯優勢。FPGA具有高速的數字信號處理能力,實時性強, 性能穩定。在FPGA中還可以內嵌軟核CPU,方便用戶進行資源配置,靈活性高、可移植性強。
3、多核CPU數控系統多任務和核間通信設計
良好的實時多任務昔理和CPU之間快速通信機制是實現高速實時插補和多通道技術基礎,直接決定高檔數控系統穩定行和可靠性。
C6A814x處理器的DSP核運行SYSBIOS實時操作系統,提供實時多任務昔理架構,負責數控系統的實時任務主要包括多通道調度、運動控制模塊(插補運算)和業務邏輯模塊;C6A814x處理器支持異構多核間通信組件SysLink,來實現DSP和ARM之間的高效協作。SysLink的通信組件,定義了Notify,MessageQ,ListMp和GateMp等多種核間高速互聯通信機制,這些通信機制對開發者透明,開發者不必要了解實現細節直接調用相關接}}就可以完成同構或異構核間高速通信。本文就使用了SysLink的消息隊列(MessageQ)實現數控系統多核多任務之間的數據通信。每個消息對了可以有多個發送端,但是只能有一個接收端,每個任務可以對多個消息隊列進行讀寫操作。一個任務在接收消息時,必須先創建消息隊列,而在發送消息前,需要打開預定的接收消息隊列;多通道調度使用SYSBIOS的信號量機制來實現。

圖3 多任務管理和核間通信設計圖
(1) ARM核端
ARM核的應用程序通信線程調用PutPackage過程向位于ARM-DSP共享內存中的消息隊列cmdMsgQ發送包含指定通道號和類型(指令/G代碼)的指令信息,調用GetPackage過程從位于ARM-DSP共享內存中的消息隊列infoMsgQ接受數控系統內部實時數據信息,提供給位于ARM核的數控系統應用程序使用。
(2) DSP核端
基于SysBIOS的多任務昔理機制,在DSP核建立通信分流實時任務,調用PutPackage過程從消息隊列cmdMsgO獲得指令信息并根據其中的類型和通道號發送給對應通道的命令消息隊列和程序消息隊列;調用GetPackage過程把不同通道的插補和業務邏輯處理任務的實時數據信息發送給消息隊列infoMsgO,.
基于SysBIOS的多任務昔理機制,為每個的通道建立對應的插補、業務邏輯處理等實時任務,計算機床運動軌跡和操作控制序列,處理對應通道的數控系統控制業務。
實現多通道昔理的任務模塊定義及說明如表1、表2所示:

表1 多通道任務模塊定義及說明

表2 系統使用的消息隊列
4、結束語
本文介紹一種基于嵌入式多核處理器平臺的數控系統,該系統優勢主要體現在以下幾個方面:
(1)采用多核異構處理器架構,更加符合中高檔數控系統多任務實時處理的需求。
(2)采用無風扇低功耗的SOC處理器,極大減少外圍電路和器件數量,降低硬件成木,使得系統平臺更穩定、更可靠。
(3)采用異構多核處理器架構,能夠簡化系統軟硬件的結構和模塊間通信設計,顯著縮短開發周期,降低開發成本。
隨著芯片技術的快速發展,基于多核平臺的數控系統開發也將成為數控系統技術的主要發展趨勢。該方案在廣州奇芯機器人技術有限公司的數控系統產品中得到實際應用;擴展這種思路,具備Syslink通信機制的同構型多核處理器應用于多模塊伺服驅動器產品的研發將是一個具有發展前景的工作。
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息