(1.西北核技術研究院,西安 710024; 2.國防科技大學 氣象海洋學院,南京 211101)
在高速高精伺服控制系統中,通常選用增量式光電編碼器作為位置傳感器,結合同步時間信號和閉環反饋控制算法實現對伺服電機轉速的精確控制[1]。隨著伺服控制需求的提高,傳統的以單片機或DSP等微處理器為核心的伺服控制系統表現出系統結構復雜、應用靈活性差、運算能力不足等缺陷,已難以滿足伺服控制系統對速度和精度的要求[2]。
隨著集成規模和運算速度的不斷提升,FPGA器件被廣泛應用于伺服系統控制領域。與單片機、DSP等傳統控制方式相比,基于FPGA的伺服控制系統具有以下優點:采用硬件并行處理技術的FPGA器件比DSP芯片具有更快的運算速度和更低的功耗;相比于單片機的軟件控制方式,FPGA通過硬件電路執行控制指令,不存在程序跑飛、軟件延時等問題,提高了伺服系統的穩定性和準確性;FPGA器件內部集成有通信接口、數據緩存、專用IP核等功能模塊,使得電路設計更加靈活多樣,有效縮短了開發周期,提高了設計效率[3-4]。
本文構建了基于FPGA的伺服電機轉速控制系統,選用高精度光電編碼器作為位置傳感器,結合同步時間信號,實現了對電機轉速的閉環反饋控制。仿真和實驗結果表明,控制系統具有較高的控制精度和響應速度,額定轉速下的速度控制精度可達1 r/min,位置控制精度可達0.03°,并且能夠執行較為復雜的伺服控制算法,可實現對電機轉速的精確控制。
控制系統結構框圖如圖1所示,主要包括伺服電機轉速控制模塊、光電編碼器數據讀取模塊以及FPGA與上位機數據通信模塊。系統工作方式如下:
1)在上位機軟件控制下,FPGA向伺服驅動器發出速度指令,驅動電機轉動。
2)在電機轉動過程中,光電編碼器測量電機轉軸的位置信息,并在FPGA時鐘脈沖驅動下,通過RS-422串行通信總線將編碼序列傳輸至FPGA。FPGA根據電機轉軸位置及同步時間信號計算電機的實時運行速度,通過PID算法實現對伺服電機轉速的閉環反饋控制。
3)為減小數據傳輸延時造成的測量誤差,本文采用高速以太網通信方式實現FPGA與上位機之間的數據交換,其通信接口主要由Xilinx FPGA內部集成的相關IP核實現,具體為:由三模式以太網MAC IP核實現MAC子層協議,由GTP高速串行收發器及PHY芯片88E1111實現物理層協議。

圖1 控制系統結構框圖
伺服電機具有體積小、重量輕、響應速度快、過載能力強等優點,在工業測控領域得到廣泛應用。目前,高性能伺服控制系統多采用永磁同步交流伺服電機及與之匹配的全數字式伺服驅動器,主流生產廠家包括美國Kollmorgen公司、德國Siemens公司、日本松下公司等[5]。本系統中選取松下MINAS-A5 II系列伺服電機及驅動器,該系列伺服電機具有良好的速度控制性能,能夠實現整個速度區間內的平滑控制,并且具有較高的控制精度和響應速度。
在該伺服控制系統中,FPGA主要實現以下功能:通過高速以太網接口與上位機進行通信,接收上位機發出的速度控制指令,并向伺服驅動器發出相應的控制信號;通過RS-422串行通信接口讀取光電編碼器的二進制編碼序列,并將其反饋至上位機;根據時間信號和位置信號運行閉環反饋控制算法,實現對電機轉速的精確控制。為調整FPGA和伺服驅動器的工作電平差異,選取TI公司生產的SN74LVC4245A芯片實現二者之間的電平轉化,其接口電路如圖2所示。

圖2 電平轉換接口電路
光電編碼器是一種集電子、光學、機械等多學科于一體的角度傳感器,具有抗干擾能力強、分辨率高、可靠性好、體積小、重量輕和易于維護等優點。通常安裝于機械設備轉軸上,可將旋轉軸的角度位移量轉換為二進制(或格雷碼)編碼序列,并傳輸給計算機或其他測控設備,為機電系統的閉環控制提供位置反饋信息。將轉軸位置信息與時間信息相結合,還可以獲得速度、加速度等信息,可用于系統的閉環反饋控制[6-7]。
目前,較為知名的光電編碼器制造商主要有美國Itek公司,日本Nikon、Connon公司,德國Meyle、Hengstler公司等。本文選取Hengstler AC36型增量式編碼器作為位置傳感器,其分辨率為13位,精度可達±35″,采用SSI同步串行接口通信協議,輸出編碼格式為二進制碼。
SSI接口是一種具有幀同步信號的串行通信接口,大多數高精度編碼器均采用該接口方式。SSI采用主控芯片主動讀取方式,在時鐘脈沖驅動下,從最高有效位讀取編碼器的編碼序列,通過時鐘、數據同步的串行方式完成數據傳輸。基于上述特征,本文采用RS-422串行通信總線讀取編碼器輸出的編碼序列。
RS-422是目前廣泛采用的一種串行傳輸總線,由于其接收器采用了高輸入阻抗和發送驅動器技術,使得RS-422具有更強的數據傳輸能力,最高傳輸速度可達10 Mbps,最大傳輸距離為4 000英尺,可實現點對多點的雙向通信,并且具有抗干擾能力強、通信成本低等優點[8]。ADM3485是一種低功耗差分線路收發器,在整個共模范圍內符合RS-422/RS-485通信協議,數據傳輸速率可達10 Mbps。本文選取ADM3485串行接口芯片和RS-422數據傳輸總線完成編碼器通信接口電路的設計,其結構如圖3所示。

圖3 編碼器通信接口電路
作為目前主流的局域網技術,千兆以太網沿用了原有以太網標準所規定的技術規范,包括CSMA/CD協議、以太網幀格式、流量控制等,同時又包含了8 B/10 B線路編碼、載波擴展等新技術。相比于USB、RS-485等通信總線,千兆以太網在傳輸速度和通用性等方面具有更強的優勢,并且可以直接連接到Internet,具有更大范圍的遠程訪問能力[9-10]。基于上述優勢,本文選取千兆以太網方式實現FPGA與上位機之間的通信。
千兆以太網通信接口的設計重點在于網絡結構的MAC子層和物理層,其中MAC子層主要通過以太網MAC控制器實現,常用設計方式有兩種:一種是將MAC子層和物理層集成在一塊專用芯片上,通過網絡芯片方式實現千兆以太網接入,常用的千兆以太網芯片主要有Marvell公司的88E8040、Realtek公司的RTL8168等。另一種是調用FPGA內部集成的相關IP核作為以太網MAC控制器,通過PHY芯片實現物理層設計。目前,Xilinx、Altera等主流FPGA生產廠家均推出了支持10/100/1 000 Mbps等多種傳輸速率的以太網MAC控制器IP核,顯著降低了網絡接口的設計難度。
本文選用Xilinx公司的三模式以太網MAC、GTP高速串行收發器等IP核以及Marvell公司的PHY芯片88E1111,實現了千兆以太網的接口設計,其結構如圖4所示。

圖4 千兆以太網通信接口結構框圖
其中,用戶邏輯單元用于實現以太網的上層傳輸協議,自定義數據幀格式并完成數據包的初步封裝。三模式以太網MAC IP核是網絡接口的核心部分,主要用于完成以下任務:在用戶邏輯單元生成的初步封裝的數據幀中添加幀首部、校驗碼等字段,將其轉化為標準的以太網數據幀格式,并完成數據包的發送或接收。以太網1000BASE-X PCS/PMA或SGMII核用于實現MAC層與物理層間的串行通信接口設計,其內部的GMII接口和收發器接口分別連接到以太網MAC IP核的數據發送/接收端口和GTP串行收發器,最終實現速率為1 000 Mbps的高速串行數據傳輸。
網絡接口的物理層協議由GTP串行收發器及PHY芯片共同實現。GTP串行收發器主要包括線路編碼/譯碼器、串行/解串器、發送/接收FIFO等模塊,可實現8 B/10 B線路編解碼、數據串并轉換等功能。根據網絡接口各模塊的功能需求,PHY芯片需支持1000BASE-T傳輸介質標準及GMII、RGMII、SGMII等多種接口模式。基于上述需求,選擇Marvell公司的千兆以太網PHY芯片88E1111實現網絡接口的物理層協議。該芯片支持10/100/1 000 Mbps三種以太網傳輸速率以及GMII、RGMII、SGMII等多種接口協議,支持傳輸介質及線路故障的自動檢測,可通過5類非屏蔽雙絞線實現物理層的數據收發功能[11-12]。
以太網傳輸層協議主要包括TCP和UDP兩類,其中TCP協議通過數據發送端和接收端的多次握手操作來確保數據傳輸過程的準確性,因此會造成數據傳輸速度慢、系統資源占用多等缺陷。相比于TCP,UDP是一種無握手操作的傳輸協議,在數據傳輸過程中,收發雙方不需建立鏈接,因而程序結構更簡單,對系統資源的要求更低,且具有更高的數據傳輸效率[13-14]。基于上述對比,本文選取UDP協議作為FPGA與上位機之間的以太網數據傳輸協議。
UDP協議數據傳輸過程如圖5所示,來自于發送端的數據依次經過UDP/IP協議棧,并根據其格式要求添加UDP/IP數據包頭。經初步封裝的數據在MAC子層中添加以太網幀頭部、尾部等字段,將用戶數據封裝為標準以太網數據幀格式并完成數據傳輸。以太網幀在物理層完成數據解封,還原用戶數據并將其傳輸至接收端。

圖5 UDP協議數據傳輸過程
ChipScope Pro在線邏輯分析儀是由Xilinx公司推出的一款虛擬邏輯分析工具,該工具可在FPGA內部時鐘的觸發下捕獲用戶需要了解的芯片內部的信號,并通過可視化窗口以波形形式顯示出來。運用ChipScope可使工程設計人員快速檢查設計結果的準確性,有效提高了開發效率。
本文采用ChipScope Pro在線邏輯分析儀驗證上述功能模塊的設計方案。以高速以太網數據通信模塊為例,FPGA發送至上位機的自定義數據幀格式如表1所示(截取前20位),該功能模塊的在線仿真結果如圖6所示。
由仿真波形可知,FPGA和上位機之間可根據設定的幀格式完成數據通信,圖6與表1中的數據幀序號與內容可實現一一對應,由此證明了設計方案的準確性和合理性。

表1 FPGA發送至上位機的自定義數據幀格式

圖6 高速以太網通信模塊在線仿真結果
本文構建了基于FPGA的伺服電機轉速控制系統,選用高精度光電編碼器作為位置傳感器,結合同步時間信號,實現了對電機轉速的閉環反饋控制。重點對各個功能模塊的設計方案和編碼器、FPGA、上位機之間的數據通信方式進行了研究。為驗證設計方案的可行性,運用ChipScope Pro在線邏輯分析儀對設計方案進行在線仿真。仿真和實驗結果表明,該控制系統具有較高的控制精度和響應速度,能夠執行較為復雜的伺服控制算法,可實現對伺服電機轉速的精確控制。