(1.西北核技術(shù)研究院,西安 710024; 2.國(guó)防科技大學(xué) 氣象海洋學(xué)院,南京 211101)
在高速高精伺服控制系統(tǒng)中,通常選用增量式光電編碼器作為位置傳感器,結(jié)合同步時(shí)間信號(hào)和閉環(huán)反饋控制算法實(shí)現(xiàn)對(duì)伺服電機(jī)轉(zhuǎn)速的精確控制[1]。隨著伺服控制需求的提高,傳統(tǒng)的以單片機(jī)或DSP等微處理器為核心的伺服控制系統(tǒng)表現(xiàn)出系統(tǒng)結(jié)構(gòu)復(fù)雜、應(yīng)用靈活性差、運(yùn)算能力不足等缺陷,已難以滿足伺服控制系統(tǒng)對(duì)速度和精度的要求[2]。
隨著集成規(guī)模和運(yùn)算速度的不斷提升,F(xiàn)PGA器件被廣泛應(yīng)用于伺服系統(tǒng)控制領(lǐng)域。與單片機(jī)、DSP等傳統(tǒng)控制方式相比,基于FPGA的伺服控制系統(tǒng)具有以下優(yōu)點(diǎn):采用硬件并行處理技術(shù)的FPGA器件比DSP芯片具有更快的運(yùn)算速度和更低的功耗;相比于單片機(jī)的軟件控制方式,F(xiàn)PGA通過(guò)硬件電路執(zhí)行控制指令,不存在程序跑飛、軟件延時(shí)等問(wèn)題,提高了伺服系統(tǒng)的穩(wěn)定性和準(zhǔn)確性;FPGA器件內(nèi)部集成有通信接口、數(shù)據(jù)緩存、專用IP核等功能模塊,使得電路設(shè)計(jì)更加靈活多樣,有效縮短了開發(fā)周期,提高了設(shè)計(jì)效率[3-4]。
本文構(gòu)建了基于FPGA的伺服電機(jī)轉(zhuǎn)速控制系統(tǒng),選用高精度光電編碼器作為位置傳感器,結(jié)合同步時(shí)間信號(hào),實(shí)現(xiàn)了對(duì)電機(jī)轉(zhuǎn)速的閉環(huán)反饋控制。仿真和實(shí)驗(yàn)結(jié)果表明,控制系統(tǒng)具有較高的控制精度和響應(yīng)速度,額定轉(zhuǎn)速下的速度控制精度可達(dá)1 r/min,位置控制精度可達(dá)0.03°,并且能夠執(zhí)行較為復(fù)雜的伺服控制算法,可實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速的精確控制。
控制系統(tǒng)結(jié)構(gòu)框圖如圖1所示,主要包括伺服電機(jī)轉(zhuǎn)速控制模塊、光電編碼器數(shù)據(jù)讀取模塊以及FPGA與上位機(jī)數(shù)據(jù)通信模塊。系統(tǒng)工作方式如下:
1)在上位機(jī)軟件控制下,F(xiàn)PGA向伺服驅(qū)動(dòng)器發(fā)出速度指令,驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。
2)在電機(jī)轉(zhuǎn)動(dòng)過(guò)程中,光電編碼器測(cè)量電機(jī)轉(zhuǎn)軸的位置信息,并在FPGA時(shí)鐘脈沖驅(qū)動(dòng)下,通過(guò)RS-422串行通信總線將編碼序列傳輸至FPGA。FPGA根據(jù)電機(jī)轉(zhuǎn)軸位置及同步時(shí)間信號(hào)計(jì)算電機(jī)的實(shí)時(shí)運(yùn)行速度,通過(guò)PID算法實(shí)現(xiàn)對(duì)伺服電機(jī)轉(zhuǎn)速的閉環(huán)反饋控制。
3)為減小數(shù)據(jù)傳輸延時(shí)造成的測(cè)量誤差,本文采用高速以太網(wǎng)通信方式實(shí)現(xiàn)FPGA與上位機(jī)之間的數(shù)據(jù)交換,其通信接口主要由Xilinx FPGA內(nèi)部集成的相關(guān)IP核實(shí)現(xiàn),具體為:由三模式以太網(wǎng)MAC IP核實(shí)現(xiàn)MAC子層協(xié)議,由GTP高速串行收發(fā)器及PHY芯片88E1111實(shí)現(xiàn)物理層協(xié)議。
圖1 控制系統(tǒng)結(jié)構(gòu)框圖
伺服電機(jī)具有體積小、重量輕、響應(yīng)速度快、過(guò)載能力強(qiáng)等優(yōu)點(diǎn),在工業(yè)測(cè)控領(lǐng)域得到廣泛應(yīng)用。目前,高性能伺服控制系統(tǒng)多采用永磁同步交流伺服電機(jī)及與之匹配的全數(shù)字式伺服驅(qū)動(dòng)器,主流生產(chǎn)廠家包括美國(guó)Kollmorgen公司、德國(guó)Siemens公司、日本松下公司等[5]。本系統(tǒng)中選取松下MINAS-A5 II系列伺服電機(jī)及驅(qū)動(dòng)器,該系列伺服電機(jī)具有良好的速度控制性能,能夠?qū)崿F(xiàn)整個(gè)速度區(qū)間內(nèi)的平滑控制,并且具有較高的控制精度和響應(yīng)速度。
在該伺服控制系統(tǒng)中,F(xiàn)PGA主要實(shí)現(xiàn)以下功能:通過(guò)高速以太網(wǎng)接口與上位機(jī)進(jìn)行通信,接收上位機(jī)發(fā)出的速度控制指令,并向伺服驅(qū)動(dòng)器發(fā)出相應(yīng)的控制信號(hào);通過(guò)RS-422串行通信接口讀取光電編碼器的二進(jìn)制編碼序列,并將其反饋至上位機(jī);根據(jù)時(shí)間信號(hào)和位置信號(hào)運(yùn)行閉環(huán)反饋控制算法,實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速的精確控制。為調(diào)整FPGA和伺服驅(qū)動(dòng)器的工作電平差異,選取TI公司生產(chǎn)的SN74LVC4245A芯片實(shí)現(xiàn)二者之間的電平轉(zhuǎn)化,其接口電路如圖2所示。
圖2 電平轉(zhuǎn)換接口電路
光電編碼器是一種集電子、光學(xué)、機(jī)械等多學(xué)科于一體的角度傳感器,具有抗干擾能力強(qiáng)、分辨率高、可靠性好、體積小、重量輕和易于維護(hù)等優(yōu)點(diǎn)。通常安裝于機(jī)械設(shè)備轉(zhuǎn)軸上,可將旋轉(zhuǎn)軸的角度位移量轉(zhuǎn)換為二進(jìn)制(或格雷碼)編碼序列,并傳輸給計(jì)算機(jī)或其他測(cè)控設(shè)備,為機(jī)電系統(tǒng)的閉環(huán)控制提供位置反饋信息。將轉(zhuǎn)軸位置信息與時(shí)間信息相結(jié)合,還可以獲得速度、加速度等信息,可用于系統(tǒng)的閉環(huán)反饋控制[6-7]。
目前,較為知名的光電編碼器制造商主要有美國(guó)Itek公司,日本Nikon、Connon公司,德國(guó)Meyle、Hengstler公司等。本文選取Hengstler AC36型增量式編碼器作為位置傳感器,其分辨率為13位,精度可達(dá)±35″,采用SSI同步串行接口通信協(xié)議,輸出編碼格式為二進(jìn)制碼。
SSI接口是一種具有幀同步信號(hào)的串行通信接口,大多數(shù)高精度編碼器均采用該接口方式。SSI采用主控芯片主動(dòng)讀取方式,在時(shí)鐘脈沖驅(qū)動(dòng)下,從最高有效位讀取編碼器的編碼序列,通過(guò)時(shí)鐘、數(shù)據(jù)同步的串行方式完成數(shù)據(jù)傳輸?;谏鲜鎏卣?,本文采用RS-422串行通信總線讀取編碼器輸出的編碼序列。
RS-422是目前廣泛采用的一種串行傳輸總線,由于其接收器采用了高輸入阻抗和發(fā)送驅(qū)動(dòng)器技術(shù),使得RS-422具有更強(qiáng)的數(shù)據(jù)傳輸能力,最高傳輸速度可達(dá)10 Mbps,最大傳輸距離為4 000英尺,可實(shí)現(xiàn)點(diǎn)對(duì)多點(diǎn)的雙向通信,并且具有抗干擾能力強(qiáng)、通信成本低等優(yōu)點(diǎn)[8]。ADM3485是一種低功耗差分線路收發(fā)器,在整個(gè)共模范圍內(nèi)符合RS-422/RS-485通信協(xié)議,數(shù)據(jù)傳輸速率可達(dá)10 Mbps。本文選取ADM3485串行接口芯片和RS-422數(shù)據(jù)傳輸總線完成編碼器通信接口電路的設(shè)計(jì),其結(jié)構(gòu)如圖3所示。
圖3 編碼器通信接口電路
作為目前主流的局域網(wǎng)技術(shù),千兆以太網(wǎng)沿用了原有以太網(wǎng)標(biāo)準(zhǔn)所規(guī)定的技術(shù)規(guī)范,包括CSMA/CD協(xié)議、以太網(wǎng)幀格式、流量控制等,同時(shí)又包含了8 B/10 B線路編碼、載波擴(kuò)展等新技術(shù)。相比于USB、RS-485等通信總線,千兆以太網(wǎng)在傳輸速度和通用性等方面具有更強(qiáng)的優(yōu)勢(shì),并且可以直接連接到Internet,具有更大范圍的遠(yuǎn)程訪問(wèn)能力[9-10]?;谏鲜鰞?yōu)勢(shì),本文選取千兆以太網(wǎng)方式實(shí)現(xiàn)FPGA與上位機(jī)之間的通信。
千兆以太網(wǎng)通信接口的設(shè)計(jì)重點(diǎn)在于網(wǎng)絡(luò)結(jié)構(gòu)的MAC子層和物理層,其中MAC子層主要通過(guò)以太網(wǎng)MAC控制器實(shí)現(xiàn),常用設(shè)計(jì)方式有兩種:一種是將MAC子層和物理層集成在一塊專用芯片上,通過(guò)網(wǎng)絡(luò)芯片方式實(shí)現(xiàn)千兆以太網(wǎng)接入,常用的千兆以太網(wǎng)芯片主要有Marvell公司的88E8040、Realtek公司的RTL8168等。另一種是調(diào)用FPGA內(nèi)部集成的相關(guān)IP核作為以太網(wǎng)MAC控制器,通過(guò)PHY芯片實(shí)現(xiàn)物理層設(shè)計(jì)。目前,Xilinx、Altera等主流FPGA生產(chǎn)廠家均推出了支持10/100/1 000 Mbps等多種傳輸速率的以太網(wǎng)MAC控制器IP核,顯著降低了網(wǎng)絡(luò)接口的設(shè)計(jì)難度。
本文選用Xilinx公司的三模式以太網(wǎng)MAC、GTP高速串行收發(fā)器等IP核以及Marvell公司的PHY芯片88E1111,實(shí)現(xiàn)了千兆以太網(wǎng)的接口設(shè)計(jì),其結(jié)構(gòu)如圖4所示。
圖4 千兆以太網(wǎng)通信接口結(jié)構(gòu)框圖
其中,用戶邏輯單元用于實(shí)現(xiàn)以太網(wǎng)的上層傳輸協(xié)議,自定義數(shù)據(jù)幀格式并完成數(shù)據(jù)包的初步封裝。三模式以太網(wǎng)MAC IP核是網(wǎng)絡(luò)接口的核心部分,主要用于完成以下任務(wù):在用戶邏輯單元生成的初步封裝的數(shù)據(jù)幀中添加幀首部、校驗(yàn)碼等字段,將其轉(zhuǎn)化為標(biāo)準(zhǔn)的以太網(wǎng)數(shù)據(jù)幀格式,并完成數(shù)據(jù)包的發(fā)送或接收。以太網(wǎng)1000BASE-X PCS/PMA或SGMII核用于實(shí)現(xiàn)MAC層與物理層間的串行通信接口設(shè)計(jì),其內(nèi)部的GMII接口和收發(fā)器接口分別連接到以太網(wǎng)MAC IP核的數(shù)據(jù)發(fā)送/接收端口和GTP串行收發(fā)器,最終實(shí)現(xiàn)速率為1 000 Mbps的高速串行數(shù)據(jù)傳輸。
網(wǎng)絡(luò)接口的物理層協(xié)議由GTP串行收發(fā)器及PHY芯片共同實(shí)現(xiàn)。GTP串行收發(fā)器主要包括線路編碼/譯碼器、串行/解串器、發(fā)送/接收FIFO等模塊,可實(shí)現(xiàn)8 B/10 B線路編解碼、數(shù)據(jù)串并轉(zhuǎn)換等功能。根據(jù)網(wǎng)絡(luò)接口各模塊的功能需求,PHY芯片需支持1000BASE-T傳輸介質(zhì)標(biāo)準(zhǔn)及GMII、RGMII、SGMII等多種接口模式?;谏鲜鲂枨螅x擇Marvell公司的千兆以太網(wǎng)PHY芯片88E1111實(shí)現(xiàn)網(wǎng)絡(luò)接口的物理層協(xié)議。該芯片支持10/100/1 000 Mbps三種以太網(wǎng)傳輸速率以及GMII、RGMII、SGMII等多種接口協(xié)議,支持傳輸介質(zhì)及線路故障的自動(dòng)檢測(cè),可通過(guò)5類非屏蔽雙絞線實(shí)現(xiàn)物理層的數(shù)據(jù)收發(fā)功能[11-12]。
以太網(wǎng)傳輸層協(xié)議主要包括TCP和UDP兩類,其中TCP協(xié)議通過(guò)數(shù)據(jù)發(fā)送端和接收端的多次握手操作來(lái)確保數(shù)據(jù)傳輸過(guò)程的準(zhǔn)確性,因此會(huì)造成數(shù)據(jù)傳輸速度慢、系統(tǒng)資源占用多等缺陷。相比于TCP,UDP是一種無(wú)握手操作的傳輸協(xié)議,在數(shù)據(jù)傳輸過(guò)程中,收發(fā)雙方不需建立鏈接,因而程序結(jié)構(gòu)更簡(jiǎn)單,對(duì)系統(tǒng)資源的要求更低,且具有更高的數(shù)據(jù)傳輸效率[13-14]?;谏鲜鰧?duì)比,本文選取UDP協(xié)議作為FPGA與上位機(jī)之間的以太網(wǎng)數(shù)據(jù)傳輸協(xié)議。
UDP協(xié)議數(shù)據(jù)傳輸過(guò)程如圖5所示,來(lái)自于發(fā)送端的數(shù)據(jù)依次經(jīng)過(guò)UDP/IP協(xié)議棧,并根據(jù)其格式要求添加UDP/IP數(shù)據(jù)包頭。經(jīng)初步封裝的數(shù)據(jù)在MAC子層中添加以太網(wǎng)幀頭部、尾部等字段,將用戶數(shù)據(jù)封裝為標(biāo)準(zhǔn)以太網(wǎng)數(shù)據(jù)幀格式并完成數(shù)據(jù)傳輸。以太網(wǎng)幀在物理層完成數(shù)據(jù)解封,還原用戶數(shù)據(jù)并將其傳輸至接收端。
圖5 UDP協(xié)議數(shù)據(jù)傳輸過(guò)程
ChipScope Pro在線邏輯分析儀是由Xilinx公司推出的一款虛擬邏輯分析工具,該工具可在FPGA內(nèi)部時(shí)鐘的觸發(fā)下捕獲用戶需要了解的芯片內(nèi)部的信號(hào),并通過(guò)可視化窗口以波形形式顯示出來(lái)。運(yùn)用ChipScope可使工程設(shè)計(jì)人員快速檢查設(shè)計(jì)結(jié)果的準(zhǔn)確性,有效提高了開發(fā)效率。
本文采用ChipScope Pro在線邏輯分析儀驗(yàn)證上述功能模塊的設(shè)計(jì)方案。以高速以太網(wǎng)數(shù)據(jù)通信模塊為例,F(xiàn)PGA發(fā)送至上位機(jī)的自定義數(shù)據(jù)幀格式如表1所示(截取前20位),該功能模塊的在線仿真結(jié)果如圖6所示。
由仿真波形可知,F(xiàn)PGA和上位機(jī)之間可根據(jù)設(shè)定的幀格式完成數(shù)據(jù)通信,圖6與表1中的數(shù)據(jù)幀序號(hào)與內(nèi)容可實(shí)現(xiàn)一一對(duì)應(yīng),由此證明了設(shè)計(jì)方案的準(zhǔn)確性和合理性。
表1 FPGA發(fā)送至上位機(jī)的自定義數(shù)據(jù)幀格式
圖6 高速以太網(wǎng)通信模塊在線仿真結(jié)果
本文構(gòu)建了基于FPGA的伺服電機(jī)轉(zhuǎn)速控制系統(tǒng),選用高精度光電編碼器作為位置傳感器,結(jié)合同步時(shí)間信號(hào),實(shí)現(xiàn)了對(duì)電機(jī)轉(zhuǎn)速的閉環(huán)反饋控制。重點(diǎn)對(duì)各個(gè)功能模塊的設(shè)計(jì)方案和編碼器、FPGA、上位機(jī)之間的數(shù)據(jù)通信方式進(jìn)行了研究。為驗(yàn)證設(shè)計(jì)方案的可行性,運(yùn)用ChipScope Pro在線邏輯分析儀對(duì)設(shè)計(jì)方案進(jìn)行在線仿真。仿真和實(shí)驗(yàn)結(jié)果表明,該控制系統(tǒng)具有較高的控制精度和響應(yīng)速度,能夠執(zhí)行較為復(fù)雜的伺服控制算法,可實(shí)現(xiàn)對(duì)伺服電機(jī)轉(zhuǎn)速的精確控制。