孫宇偉 苗世亮 王 琰 徐巧童 黃凱
(北京精密機電控制設備研究所航天伺服驅動與傳動技術實驗室,北京 100076)
20世紀美國的電氣協會制定了MIL-STD-1553B數字總線標準,該總線具有雙向傳輸、高可靠性及實時傳輸的特點,廣泛應用于航海、航空以及車載領域。但隨著科技不斷進步,目前的伺服控制驅動單元采用MIL-STD-1553B通信協議,在與上位機或者控制單元的交互過程中只能傳輸有限的信息量,而且進行更高數據量交互時總線的負載率提高,導致通信可靠性下降,同時伺服響應實時性變差。隨著超大功率機電伺服技術的發展,機電伺服單元的通道數、復雜性越來越高,產生對數據量越來越大;大功率機電伺服情況下對伺服系統的重量、通信可靠性也提出了更嚴格的要求。本文設計了一種基于DSP和FPGA的高速光纖總線通信伺服控制技術,可有效實現伺服驅動單元與控制單元兩者在信息交互時傳輸速率快、可靠性高的設想。
基于DSP和FPGA的高速光纖總線通信伺服控制技術,其中整個電路設計中包括以下幾個部分:基于內部總線的收發單元、內部信號調理電路、二次電源變換電路、位移信號的采集電路和高速光纖總線模塊電路。總線收發單元前端接DSP的EPWM模塊,將EPWM模塊所需的電平為3.3 V,帶死區互補對稱PWM控制率轉換為電平為5 V的PWM信號,輸出端連接伺服驅動器的IGBT/MOS管驅動芯片,實現功率模塊的驅動。
本文是選用TI公司的現場可編程邏輯門陣列SMQ7K325芯片,研發了一種基于中央處理器(DSP)與現場可編程邏輯門陣列(FPGA)的Glink高速光纖總線伺服控制驅動單元,總線通信速率由1 Mbps提高至2.65 Gbps,可滿足伺服單元與控制單元更大數據量交互與實時性的要求。同時高速光纖總線與傳統的MIL-STD-1553B方式相比,通信介質由電纜變為光纖,減輕了電纜重量;傳輸信號由電信號變為光信號,在大功率機電伺服系統中避免了電磁干擾的影響,提高了通信可靠性。
本文設計的高速伺服控制驅動單元由DSP單元、FPGA單元、高速光纖協議處理單元、二次電源變換單元、信號處理單元等組成。如圖1所示,中央處理器(CPU)DSP為TI公司的新一代28335芯片,DSP芯片作為信號處理單元,包括了與FPGA芯片之間的通信,用來換算其采集特性;在中央處理器DSP 28335芯片的上方為二次電源變換電路,由2塊電源模塊4644芯片組成,為整個系統電路供電;在CPU的右邊為FPGA芯片,用于高速信號的傳輸與處理,構成了中央處理器的橋梁;在FPGA的右邊為光電轉換連接器,用于與外界系統進行通信。

圖1 DSP芯片通信結構圖
整個控制器芯片DSP內部由主芯片TMS320F28335及其外部單元組成。其中,TMS320F28335內部由信號處理單元、EPWM模塊、采集模塊、SPI模塊、JTAG模塊、Reset模塊、PLL模塊、I/O模塊、3V3/1V9模塊子單元組成。其中,EPWM子單元模塊作用于芯片根據內部設計的控制算法的PWM信號,該產生PWM信號輸出端可以由接總線收發器的芯片進行傳輸。AD子單元模塊輸入端可以接收模擬量信號,將模擬量轉化為數字量,用于計算整個系統內產生的實時模擬量信號。SPI子單元模塊用于外部高速串口信號處理電路實現通信。JTAG模塊外接JTAG電路,實現程序下載與在線調試。Reset子單元模塊外接復位電路芯片,實現DSP內部的程序復位。DSP芯片上的PLL子單元模塊外接有源晶振,用來實現DSP芯片的時鐘輸入信號。DSP芯片上的3V3/1V9子單元輸入端接二次開關電源單元3V3、1V9的輸入,實現為DSP芯片的內部供電。DSP芯片內部的信號處理單元包括高速總線收發單元、信號調理電路、位移信號調理電路,總線收發單元前端接DSP的EPWM模塊。二次供電電源輸入如圖2所示,二次電源供電芯片為LTM4644,芯片為四路電壓輸出芯片,經過外圍電路設計后,輸出3.3V、1.9V、1.2V、1.8V電壓,為DSP和其他外圍電路供電。

圖2 供電芯片示意圖
FPGA單元由TI公司的FPGA芯片SMQ7K325及其外圍電路組成。其中SMQ7K325也是由I/O模塊、閃存(FLASH)模塊、下載口(JTAG)模塊、時鐘(CLK)模塊、接口(INT/RUN)模塊、容器網絡接口(CNI)模塊、高速串行接口(SPI)模塊、高速光纖總線單元以及供電電源等子單元組成。其中XINTF_G模塊用于實現與DSP 28335單元的I/O模塊進行接口通信,以實現伺服數據以及伺服狀態信息在DSP芯片與FPGA芯片之間的數據高速交互。FPGA芯片單元上的FLASH模塊子單元外接FLASH配置芯片的電路,用于實現FPGA芯片SMQ7K325的程序、數據掉電存儲與上電加載。內部的JTAG子單元外接JTAG下載仿真器,用于實現FPGA芯片內程序的下載與調試。FPGA芯片的CLK子單元外接有源晶振芯片輸入,作為FPGA芯片的時鐘輸入。CNI模塊外接FPGA芯片的高速光纖總線單元的CNI接口,實現兩者的數據通信,完成伺服數據與伺服狀態信息在FPGA單元與高速光纖總線單元的數據交互。高速SPI子單元模塊外接高速光纖總線單元的高速SPI接口,用于完成FPGA對光纖總線接口的配置。INT/RUN模塊外接光纖總線接口的INT/RUN接口,分別用于接收光纖總線單元的正常工作、中斷信號。
高速光纖總線協議處理單元由FPGA SMQ7K325芯片內部的總線模塊區域所組成。FPGA芯片內部的高速光纖總線單元由高速SPI子單元模塊、CNI子單模塊、INT/RUN子單元模塊、CHA高速串行信號模塊、CHB高速串行信號模塊以及供電的電源子單元模塊組成。FPGA SMQ7K325芯片內的高速光纖總線單元用于實現收發CHA高速串行信號、CHB高速串行信號與DSP芯片內CNI協議信號的相互之間轉換,完成伺服單元與伺服狀態信息在高速光纖與內部ONU模塊之間的信息傳輸。CNI子單元模塊用于提供外部接口,外接FPGA芯片單元CNI子模塊,完成伺服單元與伺服狀態信息在FPGA芯片內的閃存信息模塊、I/O模塊傳來的信息與FPGA芯片自身內部的高速光纖總線單元之間的信息傳輸。高速SPI子單元模塊用于接收FPGA單元SPI模塊發出的芯片配置信息。FPGA芯片的INT/RUN子單元模塊將上行的DSP發出的TFC1553的運行狀態信息、中斷信息輸出至FPGA的INT/RUN接口模塊,實現與外部產品的高速通信。FPGA芯片內的電源單元用于接收二次變換電源單元提供的1V、1V35、2V5、3V3F輸入,實現芯片的供電。如圖3所示。

圖3 信息交互流程圖
要實現與外部的高速連接,則需要將內部芯片產生的電信號轉化為光信號進行外部通信。因此,外部連接器內集成了光電轉換電路,該電路由FPGA芯片上的電源進行供電,這樣可以使整個系統實現高速差分電信號與光信號之間的互相轉換。如圖4所示。

圖4 FPGA芯片通信結構圖
整個高速光纖通信流程如圖5所示,控制指令由光信號通過高速光電轉換插頭轉變為電信號,然后通過內部的FPGA芯片上的高速通信引腳進行信息交互,當控制器內部成功接收到信息并進行解析后,會通過高速光纖插頭給控制系統發送接收成功信息,并通過解析控制指令進行相應的執行動作;DSP芯片的內部程序自檢完成后,FPGA SMQ7K325芯片內的高速光纖總線單元用于與DSP芯片內的CNI協議信號的相互之間轉換,完成伺服單元與伺服狀態信息在光纖單元與內部ONU模塊之間的信息傳輸;FPGA芯片內的INT/RUN子單元模塊將上行的DSP發出的TFC1553的運行狀態信息、中斷信息輸出至FPGA的INT/RUN接口模塊,實現與外部產品的高速通信。如果控制信息未接收成功,回傳給控制系統接收失敗信息,并等待下一條消息。

圖5 通信流程圖
本文設計給出的基于DSP和FPGA芯片的高速光纖總線通信控制技術,選用TI公司的SMQ7K325,研發了一種基于中央處理器(DSP)與現場可編程邏輯門陣列(FPGA)的高速光纖總線伺服控制驅動單元。其邏輯實現簡單,傳輸速率快并且可擴展性強;相比于傳統的1553B通信,總線通信速率由1 Mbps提高至2.65 Gbps,不僅滿足了伺服單元與控制單元更大數據量交互與實時性的要求,同時新型高速光纖總線與傳統的1553B方式相比,通信介質由電纜變為光纖,減輕了電纜重量;傳輸信號由電信號變為光信號,避免了電磁干擾的影響,提高了通信可靠性。