黃昕龍,倪霞林
(福州大學 機械工程及自動化學院,福建 福州 350108)
基于FPGA的開放式數控系統硬件配置設計
黃昕龍,倪霞林
(福州大學 機械工程及自動化學院,福建 福州 350108)
根據開放式數控系統的配置要求,在PC+可編程I/O卡的體系結構的基礎上,總結分析硬件可配置的可實現背景,采用模塊化的思想提出并建立了基于FPGA平臺的硬件可配置模型。利用硬件編程語言完成重要模塊的設計,分析了仿真結果驗證設計的可行性與有效性。在自行研制的開放式數控系統上完成了四軸配置的驗證,達到了開放式數控系統硬件可配置的要求。
開放式數控系統;FPGA;硬件可配置
開放式數控系統最重要的特點之一是它能夠適應不同的生產條件與生產情況,從而完成自身的重構與配置。系統配置可分為軟件配置與硬件配置。軟件配置主要是研究基于運動控制卡的配置,如美國Delta Tau公司的PMAC多軸運動控制卡,集成刀補,插補算法,位置控制等實時控制,開發者只是通過完成軟件層的獨立配置程序的編寫來實現系統的重構;硬件配置則是充分利用可編程邏輯器件的硬件可重構性,構造數控系統的控制內核,利用硬件編程語言實現數控系統的配置。目前,國外在配置結構上面的最新研究主要采用軟硬件協同設計,基于多主體(Multi-Agent)結構的硬件平臺,通過多片FPGA完成多功能的實現,最后在軟件層的調用下完成相應的配置[1]。該體系結構具備良好的協調性與靈活性,但所占資源較大。國內提出的軟硬件協同重構主要通過軟件層調用程序與硬件層配置文件的重復下載完成系統的配置[2-3],靈活度不高。
針對以上問題,提出基于PC+可編程I/O卡的體系結構的系統可配置設計。其核心思想是依據任務的實時性劃分軟硬件功能,將硬件功能集成在單片FPGA上,并研制軟硬件的協同配置。本文主要介紹基于一定軟件配置功能的硬件配置方案及具體實現。
1.1 硬件可配置實現模型的提出
基于PC+可編程I/O卡的體系結構,由PC進行粗插補運算,并將獲得的周期數據交予可編程I/O卡,完成最終的精插補。針對粗精插補模塊傳輸問題,文獻[4]提出了基于離線粗插補的數據采樣插補法,并采用雙緩存機制與動態插補等技術保證插補的連續性與可靠性,圖1為該異步插補法的結構圖。在此基礎上,如何實現開放式數控系統的重構,并配合PC軟件層實現硬件的可配置性將作為本文研究的出發點。

圖1 異步插補結構圖
1.2 硬件可配置實現模型的建立
1.2.1 配置信息下載
硬件可配置通常分為靜態配置和動態配置。前者是指數控系統在開機初始或者系統升級時,FPGA通過對配置信息的獲取與下載,實現系統的快速配置;后者是指在系統運行過程中,依據不同的任務需要動態調用功能模塊,通過對配置信息的下載,迅速地實現系統的局部配置。
FPGA芯片本身不具備斷電存儲功能,因此每次開機初始前都需要對配置信息進行重新下載,本文基于靜態配置的構想,提出PC在線下載的方法進行配置信息的下載,即將配置信息存放在PC機上,每次開機初始化時進行默認配置信息的重新下載(軟件層所需要保證的),只有當系統更換升級時才更改配置信息。該途徑優勢在于可以方便存儲與更改配置信息,將系統配置中的重復配置操作交予PC,簡化了硬件平臺的設計,并提高了硬件卡的工作效率。但只能限制在系統運行前配置,對于還處在工作狀態的系統,該配置方法容易造成系統的不穩定。
1.2.2 配置機制
上面提到采用在線PC的方式將配置信息載入可編程I/O卡內的配置寄存器,對配置寄存器設立相應的偏移地址,將配置數據直接寫入配置寄存器,并在此基礎上提出配置中斷。若配置寄存器為空,則由寄存器向接口控制模塊發送一個配置空信號,表明編程卡未完成軟件的配置,并由該信號產生一個中斷,從而激活上層配置信息的傳輸;若已完成配置,則產生一個已準備好信號。
若配置寄存器已完成配置信號的轉換,則發送給各個軸單獨設立的數據邏輯選擇模塊,控制周期插補數據滿足配置輸出。其中,數據邏輯選擇模塊的功能是:軸使能信號控制選通寄存器,實現使能軸插補數據阻通;聯動軸信號控制輸入寄存器,實現數據獨立或者聯動傳輸,若為聯動軸,則插補數據將存入鎖存器中,等待聯動脈沖解鎖,否則,直接送入精插補模塊。圖2為硬件配置結構圖。

圖2 硬件配置結構圖
本文采用單片FPGA作為可編程I/O的主控芯片,所選芯片型號為CylcloneⅢ系列的EP3C16Q240CN8,該芯片同時具備集成度高、開發成本低、設計周期短以及具備可重構能力等優點,保證了其在電路設計中的強大優勢,因此可以滿足本文數控系統的硬件可配置需要。
2.1 配置寄存器
配置寄存器主要實現配置信號的接受與轉換,即硬件卡在系統開機時對控制模式配合命令進行接收處理。這里的控制模式配置命令包含了軟件層對硬件平臺的配置要求,具體有軸使能數據、聯動軸組合方式數據、軸運動形式數據和聯動軸數數據。從硬件角度出發,配置信息將轉換成以下幾種使能信號發送給各個軸設立相應的數據邏輯選擇器:
1) 軸使能信號。當該信號有效時,使能軸的插補數據能夠完成精插補運算;否則,插補數據無效。
2) 聯動軸信號。當該信號無效時,使能軸獨立進行精插補運算;否則,使能軸實現聯動。
3) 軸運動形式信號。當該信號有效時,使能軸為旋轉軸;否則,使能軸為直線軸。
為了保證配置信息的可靠性,采用發送配置空標示信號的方式,產生一個配置中斷。已知PCI總線單周期傳輸完成一個I/O讀過程需要7個時鐘周期,CPU響應時間約為14us。因此,設計一個空信號發生器,判斷配置信息是否寫入,若無寫入則每隔8個時鐘周期向設備接口控制器發出空信號,否則保持低電平。接口控制器內部邏輯產生配置中斷并發送給PC,PC軟件驅動層隨即響應中斷調用最上層軟件層發送配置數據。圖3、圖4分別為開發的配置寄存器IP封裝圖和Modelsim-Altera時序仿真圖。從時序圖可以看出:rstn信號轉為無效后的第8個周期,配置模塊檢測到配置寄存器為空,則置空信號empty0和empty1為高電平。其中empty0和empty1分別對應軸使能寄存器與聯動使能寄存器。若配置信號轉換成功,則至高配置準備好信號crdy并發送給數據讀取邏輯單元。

圖3 配置寄存器IP封裝圖

圖4 配置寄存器時序仿真圖
2.2 數據邏輯選擇器
數據邏輯選擇器主要是根據配置信息以及軸號對插補數據進行相應的邏輯選擇。其內部由三個部分組成,包括數據分配模塊、數據輸出模塊及狀態機模塊。分配模塊主要完成軸號及軸使能信號對插補數據的篩選;輸出模塊則是根據對應的輸出使能信號選擇聯動或者非聯動輸出;有限狀態機(FSM)是邏輯選擇器設計的核心,狀態機接收來自模塊外部(配置模塊)的控制信號,分析處理后,對是否軸使能以及是否聯動做出正確的響應,以保證模塊對周期插補數據邏輯選擇的正確完成。圖5為邏輯選擇器所采用的狀態機轉換圖,將數據邏輯選擇劃分為五種狀態,具體定義為:type m_state is (idle,lchst,hldst,ulst1,ulst0)。各個狀態在使能信號的控制下輸出的情況如下:
1) 在idle狀態下,數據輸出皆為高阻態;
2) 在lchst狀態下,內部信號latch轉為有效(高電平),進行數據鎖存,并保持到idle狀態來臨前;
3) 在hldst狀態下,數據保持,直到聯動時基脈沖來臨;
4) 在ulst0狀態下,內部信號data_out0轉為有效(高電平),實現聯動軸數據解鎖輸出,保持到idle狀態來臨前;
5) 在ulst1狀態下,內部信號data_ou1轉為有效(高電平),在保證聯動使能信號低電平時,實現非聯動軸數據直接輸出,保持到idle狀態來臨前。

圖5 邏輯選擇狀態機轉換圖
其中,data_en信號為數據使能信號,b信號為聯動使能信號,clkin信號為聯動時基脈沖。
圖6、圖7分別為開發的數據邏輯選擇器IP封裝圖和Modelsim-Altera時序仿真圖。從時序圖可以看出:假設緩沖單元向邏輯選擇單元連續寫入三個不同軸號的數據,并設定該單元對應1號軸;當data_en信號有效時,開始鎖存數據,直到clkin信號有效后的第一個時鐘上升沿完成相應數據的輸出;輸出數據時存在一些毛刺,但持續時間都不超過半個時鐘周期,并在上升沿來臨時維持穩定。

圖6 數據邏輯選擇器IP封裝圖

圖7 數據邏輯選擇器時序仿真圖
文中的方案主要是通過配置模塊冗余實現不定軸數的配置,通過核心模塊的對配置信息的讀取完成軸使能與軸聯動功能在硬件上的重構?;谠撆渲媒Y構的可編程卡已經應用于自主研制的開放式軟數控系統上,通過加載Linux操作系統上的設備驅動程序完成了對數控銑床的調試,初步驗證了硬件配置電路的可行性與有效性。本文的設計方案具備如下優點:1) 不需要一般用戶操作硬件配置信息的下載,只需要在PC機用戶界面完成整個系統的配置初始化;2) 自主開發硬件層的配置結構,不依賴任何專用的運動控制卡,相對于高級用戶更具靈活性。但在硬件資源分配的靈活性上仍存在缺陷,根據板卡內部資源暫定配置的最大軸數為八軸。
[1] Luis Morales-Velazquez,Rene de Jesus Romero-Tronocoso,etal. Open-architecture system based on a reconfigurable hardware-software multi-agent platform for CNC machines.Journal of Systems. Architecture, 2010.56:407-418.
[2] Wang Tao,Wang Liwen.Research on software-hardware co-design of reconfigurable CNC system. Advanced Materials Research,2011.204-210: 458-463.
[3] 王文,秦興.基于可編程邏輯器件的可重構數控系統研究[J].計算機集成制造系統,2002,8(7):565-569.
[4] 任志英,陳劍雄.基于離線粗插補的數據采樣插補法[J].機床與液壓,2009,37(3):47-49.
Design of Hardware-reconfigurability Based on FPGA for Open CNC System
HUANG Xin-long, NI Xia-lin
(School of Machine Engineering and Automation, Fuzhou University, Fuzhou 350108, China)
According to the reconfigurable requirement of open CNC system. this paper sums up and analyzes the feasibility of the hardware-reconfigurability based on the architecture of PC+ programmable I/O board. Meanwhile, the modular design based on FPGA is used to estabish its module. According to hardware description language, the main modules are designed.The open CNC system is verified through the simulation software and its application.This system meets the requirement of the hardware reconfigurability.
open CNC system; FPGA; hardware-reconfigurability
黃昕龍(1988-),男,福建福州人,助教,碩士,研究方向為精密儀器控制技術。
TH12;TP273
B
1671-5276(2014)02-0189-03
2013-02-28