趙 喆,張會(huì)新,李曉宇,暢彥祥
(1.中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051;2.陸軍裝備部駐北京地區(qū)軍事代表局某代表室,北京 100042)
隨著通信技術(shù)的發(fā)展,航空航天、武器裝備等系統(tǒng)內(nèi)電子設(shè)備越來越多,設(shè)備間的硬件配置和控制交互越來越復(fù)雜[1],并行I∕O電路消耗硬件資源越來越大,系統(tǒng)數(shù)字化、信息化、監(jiān)聽化、實(shí)時(shí)性要求越來越高[2],使系統(tǒng)內(nèi)設(shè)備的互連線組和數(shù)據(jù)總量成倍增長(zhǎng),這對(duì)系統(tǒng)的信息處理和電路的傳輸能力提出了更高的要求[3]。因此,需要研究一種具有高速串行、高可靠性、多接口傳輸?shù)臄?shù)據(jù)傳輸電路,對(duì)設(shè)備工作狀態(tài)、姿態(tài)數(shù)據(jù)、控制指令等進(jìn)行傳輸,這對(duì)外系統(tǒng)等效器項(xiàng)目研制、試驗(yàn)評(píng)估、技術(shù)迭代具有重要意義[4]。
本文針對(duì)高速數(shù)據(jù)傳輸?shù)囊笤O(shè)計(jì)一種光纖數(shù)據(jù)傳輸電路,應(yīng)用于外系統(tǒng)等效器項(xiàng)目。通過4路并行光收發(fā)一體模塊對(duì)多模光纖上的信號(hào)進(jìn)行光電轉(zhuǎn)換,接口轉(zhuǎn)換器提供多種形式光接口與不同測(cè)量系統(tǒng)連接進(jìn)行數(shù)據(jù)傳輸;通過FPGA+DSP結(jié)構(gòu)作為核心處理器對(duì)數(shù)據(jù)進(jìn)行串∕并行收發(fā)和交互處理[5],內(nèi)部封裝符合FC-AE-1553總線標(biāo)準(zhǔn)的IP核,通過千兆以太網(wǎng)向計(jì)算機(jī)傳輸數(shù)據(jù)、指令。
明確項(xiàng)目設(shè)計(jì)要求和電路試驗(yàn)需求,將光纖數(shù)據(jù)傳輸電路硬件設(shè)計(jì)分為6部分,光纖數(shù)據(jù)傳輸電路總體框圖如圖1所示。
圖1 光纖數(shù)據(jù)傳輸電路總體框圖
光纖傳輸采用OM3多模光纜,支端為FC接口,主端為MPO接口;光接口轉(zhuǎn)接器將MPO接口轉(zhuǎn)變?yōu)镸T接口,光電轉(zhuǎn)換采用兩個(gè)四路并行光收發(fā)一體模塊,硬件雙冗余可確保數(shù)據(jù)高可靠性;數(shù)據(jù)收發(fā)采用Xilinx Kintex-7系列FPGA的GTX Bank,125 MHz外部時(shí)鐘源;數(shù)據(jù)處理采用FPGA+DSP結(jié)構(gòu),通過異步通信EMIF總線進(jìn)行數(shù)據(jù)交互;數(shù)據(jù)傳輸采用千兆以太網(wǎng)與上位機(jī)進(jìn)行指令、數(shù)據(jù)通信;輸入電源提供多種電壓,保證各芯片電路順序上電。傳統(tǒng)光纖系統(tǒng)由發(fā)射端、光纖、接收端三部分組成。發(fā)射端將數(shù)據(jù)、圖像等電信號(hào)轉(zhuǎn)為光信號(hào);光纖將光信號(hào)傳輸?shù)浇邮斩?;接收端將接收的光信?hào)轉(zhuǎn)為電信號(hào),還原出原信號(hào)。傳統(tǒng)光纖系統(tǒng)單向傳輸和體積大限制了應(yīng)用,而光收發(fā)一體模塊的出現(xiàn)解決了這一問題,即可以光電、電光轉(zhuǎn)換和獨(dú)立發(fā)射驅(qū)動(dòng)及接收放大[6]。光收發(fā)一體模塊具有結(jié)構(gòu)小、成本低、可靠性高、性能強(qiáng)等優(yōu)勢(shì)[7],結(jié)構(gòu)如圖2所示。
圖2 光收發(fā)一體模塊結(jié)構(gòu)圖
電路采用模塊化設(shè)計(jì)原則對(duì)各功能模塊單獨(dú)設(shè)計(jì),最后對(duì)整體接口進(jìn)行優(yōu)化設(shè)計(jì)。這樣可借鑒已有設(shè)計(jì)縮短開發(fā)周期,節(jié)約硬件資源,提高設(shè)計(jì)效率,便于查錯(cuò)、維護(hù)及協(xié)助,也能保證電路設(shè)計(jì)的可靠性、重復(fù)使用性和質(zhì)量保證性等滿足要求。
FPGA以并行工作模式提高了數(shù)據(jù)處理能力,大大緩沖空間從而提高了數(shù)據(jù)傳輸能力[8]。FPGA作為光纖數(shù)據(jù)傳輸電路的核心芯片,具有開發(fā)周期短、開發(fā)成本低、接口適應(yīng)性強(qiáng)、程序移植性強(qiáng)、編程語言簡(jiǎn)單等優(yōu)勢(shì)。電路設(shè)計(jì)中,F(xiàn)PGA主要負(fù)責(zé)產(chǎn)生數(shù)據(jù)、處理數(shù)據(jù)、傳輸數(shù)據(jù)等,因此,需要FPGA具有豐富的高速串行接口、高速存儲(chǔ)接口、豐富的內(nèi)部邏輯資源和I∕O資源、功耗低、尺寸小等特點(diǎn)[9]。Kintex-7系列FPGA在功耗、性能、成本和設(shè)計(jì)可移植性等方面都取得了重大進(jìn)展,使FPGA平臺(tái)能夠滿足日益多樣化的設(shè)計(jì)群體的需求。本文選型中發(fā)現(xiàn)Kintex-7系列FPGA資源適中、性價(jià)比高,可滿足電路設(shè)計(jì)要求,最終選擇Kintex-7系列FPGA的XC7K325T-FFG900型號(hào)。
GTX Bank使用115Quad、118Quad,外部晶振頻率為125 MHz,提供給MGTREFCLK0參考時(shí)鐘差分輸入引腳,使用四收四發(fā)高速串行數(shù)據(jù)差分對(duì)。MGTAVTTRCAL引腳端接阻抗校準(zhǔn)電路供電電源,MGTRREF引腳端接阻抗電路校準(zhǔn)阻抗輸入,電阻精度優(yōu)于1%,在配置FPGA期間執(zhí)行阻抗校準(zhǔn),然后把校準(zhǔn)值分發(fā)給同列的其他GTX通道。同一列中如果有GTX收發(fā)器被用到,則帶RCAL主電路的GTX Quad必須正常供電;如果沒有使用,這兩個(gè)引腳都應(yīng)接地。GTX接口電路如圖3所示。
圖3 GTX接口電路圖
為滿足高精度數(shù)據(jù)處理和大容量傳輸,以及電路核心資源數(shù)量多的需求,選擇一款合適的DSP[10]??紤]DSP的硬件資源、處理速度、運(yùn)算功耗等因素,并且考慮到浮點(diǎn)型DSP比定點(diǎn)DSP的計(jì)算能力強(qiáng)、數(shù)據(jù)精確度高,更適合高精度復(fù)雜數(shù)據(jù)處理[11]。TMS320C6713B的時(shí)鐘頻率適中、性價(jià)比高、滿足電路對(duì)數(shù)據(jù)的高速傳輸要求,因此DSP處理器選擇TMS320C6713B型號(hào)。
TMS320C6713B是TMS320C6713的升級(jí)版本,同屬TI公司的TMS320C6000系列,區(qū)別在于TMS320C6713B去掉了復(fù)位信號(hào)的內(nèi)部上拉電阻,在設(shè)計(jì)電路時(shí)注意加外部上拉或使用電壓監(jiān)測(cè)芯片。
FPGA邏輯編程實(shí)現(xiàn)MAC層功能,通過GMII∕RGMII接口實(shí)現(xiàn)FPGA與PHY芯片88E1111的銜接;隔離變壓器GST5009通過MDI接口實(shí)現(xiàn)PHY芯片與RJ 45端子的連接,使用超五類網(wǎng)線連接到計(jì)算機(jī)。以太網(wǎng)硬件組成圖如圖4所示。
圖4 以太網(wǎng)硬件組成圖
光電轉(zhuǎn)換功能使用了一款高性能LCC48封裝的四路并行光收發(fā)一體模塊。該模塊自帶收發(fā)光功率、電壓、溫度監(jiān)控等功能,通過I2C協(xié)議將信息傳輸給FPGA。模塊輸出端口為具有一定長(zhǎng)度的圓纖,尾部為MT光接口[12]。
光模塊接口電路如圖5所示。
圖5 光模塊接口電路圖
光信號(hào)傳輸采用雙冗余設(shè)計(jì),正常情況下由通道A發(fā)送數(shù)據(jù),當(dāng)通道A鏈路不完整時(shí),變?yōu)橥ǖ繠發(fā)送數(shù)據(jù),因此數(shù)據(jù)傳輸電路可靠性提高。接收數(shù)據(jù)同發(fā)送數(shù)據(jù)一樣,接收到數(shù)據(jù)后判斷是否為遞增數(shù),以證明電路設(shè)計(jì)的正確性。數(shù)據(jù)收發(fā)流程如圖6所示。
圖6 數(shù)據(jù)收發(fā)流程
光纖數(shù)據(jù)傳輸電路使用GTX高速串行收發(fā)器完成數(shù)據(jù)的接收和發(fā)送。選用XC7K325T型號(hào)FPGA的7 Series GTX IP核,使用7 Series FPGAs Transceivers Wizard對(duì)配置協(xié)議、線速率、參考時(shí)鐘、數(shù)據(jù)寬度、編碼方式、收發(fā)通道等參數(shù)進(jìn)行配置。設(shè)置Q0組的X0Y0-X0Y3和Q3組的X0Y12-X0Y15收發(fā)通道,配置協(xié)議選擇start_from_scratch,線速率為2.5 Gb∕s,外部參考時(shí)鐘為125 MHz,PLL選擇CPLL,數(shù)據(jù)寬度為16位,編碼方式為8 B∕10 B。
發(fā)送端包括:信號(hào)源提供給GTX的s_axi_tx_data數(shù)據(jù)幀、s_axi_tx_tkeep指示在最后字節(jié)中有效位長(zhǎng)度、s_axi_tx_tlast指示最后字節(jié)位置、s_axi_tx_tvalid指示有效字節(jié)位置的3個(gè)控制信號(hào),以及GTX接口反饋的s_axi_tx_tready指示數(shù)據(jù)。接收端有與發(fā)送端相對(duì)應(yīng)的m_axi_tx_data、m_axi_tx_tvalid、m axi tx last、maxi_tx_tkeep四個(gè)信號(hào)。由于接收端沒有內(nèi)置彈性緩沖區(qū),因此沒有與s_axi_tx_tready相對(duì)應(yīng)的信號(hào)。接收和發(fā)送時(shí)序圖如圖7所示。
圖7 接收和發(fā)送時(shí)序圖
FPGA與DSP間實(shí)現(xiàn)數(shù)據(jù)收發(fā)通信是電路難點(diǎn),為解決兩者的通信接口問題,采用EMIF總線+中斷響應(yīng)方式實(shí)現(xiàn)雙向傳輸。本文電路將FPGA內(nèi)部的塊存儲(chǔ)器配置為真正雙口RAM用于訪問共享的存儲(chǔ)空間,每個(gè)端口的數(shù)據(jù)線、地址線、讀寫控制線可以允許不同系統(tǒng)同時(shí)對(duì)共享存儲(chǔ)區(qū)進(jìn)行訪問。
使用DSP系統(tǒng)和FPGA系統(tǒng)進(jìn)行訪問,SP通過EMIF總線訪問FPGA內(nèi)部雙口RAM的A端口,F(xiàn)PGA訪問雙口RAM的B端口。EMIF數(shù)據(jù)線通過選擇器連接到A端口的數(shù)據(jù)輸入輸出端口,由中斷控制線時(shí)數(shù)據(jù)傳輸方向進(jìn)行控制。
以太網(wǎng)實(shí)現(xiàn)電路與上位機(jī)通信,完成FPGA中寄存器配置、傳輸指令下發(fā)和數(shù)據(jù)回讀。本文電路在FPGA內(nèi)實(shí)現(xiàn)UDP協(xié)議和ARP協(xié)議,以完成以太網(wǎng)通信。UDP協(xié)議屬于傳輸層,ARP協(xié)議屬于網(wǎng)絡(luò)層。以太網(wǎng)標(biāo)準(zhǔn)劃分為應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、物理層等5層。一幀數(shù)據(jù)包由前導(dǎo)碼、SFD、以太網(wǎng)幀頭、數(shù)據(jù)段、FCS、IFG組成。數(shù)據(jù)包格式如圖8所示。
圖8 以太網(wǎng)數(shù)據(jù)包格式
協(xié)議表示攜帶的數(shù)據(jù)是何種協(xié)議,01代表ICMP,06代表TCP,17代表UDP,本文電路使用“0x11”。源IP地址代表發(fā)送端的IP地址,本文電路使用192.168.12.2;目的IP地址代表接收端的IP地址,本文電路使用192.168.12.3。數(shù)據(jù)鏈路層負(fù)責(zé)接收網(wǎng)絡(luò)層的IP數(shù)據(jù)包封裝成幀送到物理層傳輸,或者從網(wǎng)絡(luò)上接收物理幀并抽出IP數(shù)據(jù)包交給網(wǎng)絡(luò)層。
光纖數(shù)據(jù)傳輸電路作為外系統(tǒng)等效器中不可或缺的一部分,由光纖數(shù)據(jù)傳輸電路板、電源供應(yīng)器、計(jì)算機(jī)、采集板卡、多模光纖線纜組成。本文搭建硬件平臺(tái)進(jìn)行實(shí)驗(yàn)測(cè)試,搭建完成后的測(cè)試電路實(shí)物圖如圖9所示。GTX Bank進(jìn)行回環(huán)測(cè)試以確??烧9ぷ?。本文電路選擇近端PCS回環(huán)。發(fā)送端數(shù)據(jù)如圖10所示,接收端數(shù)據(jù)如圖11所示。在發(fā)送端口輸出模擬數(shù)據(jù),其中“0xbcbc”和“0x007c”為幀標(biāo)志,在接收端口接收數(shù)據(jù)并比較一致性。結(jié)果顯示數(shù)據(jù)基本一致,但存在相位差,表明GTX Bank可以正常工作。
圖9 測(cè)試電路實(shí)物圖
圖10 發(fā)送端數(shù)據(jù)圖
圖11 接收端數(shù)據(jù)圖
使用Vivado自帶的IBERT 7 Series GTX進(jìn)行眼圖測(cè)試,選擇線速率為2.5 Gb∕s,參考時(shí)鐘為125 MHz。經(jīng)過一段時(shí)間數(shù)據(jù)測(cè)試,Errors一直顯示為0,表明測(cè)試過程穩(wěn)定能夠在線速率2.5 Gb∕s下進(jìn)行數(shù)據(jù)傳輸。測(cè)試結(jié)果如圖12所示。
圖12 2.5 Gb/s眼圖測(cè)試結(jié)果
電路上電后整體復(fù)位并將寄存器清零,讀取硬件光纖的連接狀態(tài)(正常為0x07,異常為0x408),配置站點(diǎn)類型、ID號(hào),NC、NT功能初始化,開始循環(huán)發(fā)送數(shù)據(jù)。數(shù)據(jù)接收結(jié)果如圖13所示。計(jì)算機(jī)的IP地址設(shè)為192.168.12.3,MAC地址為0x94C69177828B,光纖數(shù)據(jù)傳輸電路板IP地址設(shè)為192.168.12.2,MAC地址為0x000A3501FEC0,兩者通過網(wǎng)線連接。
圖13 數(shù)據(jù)接收結(jié)果圖
FPGA給上位機(jī)傳輸數(shù)據(jù),其中0x50FC為幀頭,0x00000011為包計(jì)數(shù),其余為數(shù)據(jù)。
以太網(wǎng)數(shù)據(jù)傳輸結(jié)果如圖14所示。
圖14 以太網(wǎng)傳輸數(shù)據(jù)結(jié)果
本文依據(jù)外系統(tǒng)等效器項(xiàng)目設(shè)計(jì)要求和電路試驗(yàn)需求,對(duì)光纖數(shù)據(jù)傳輸電路現(xiàn)狀進(jìn)行了深入研究,設(shè)計(jì)了一種基于FPGA+DSP的光纖數(shù)據(jù)傳輸電路。電路采取模塊化設(shè)計(jì),詳細(xì)解釋了其數(shù)據(jù)傳輸方式,搭建測(cè)試系統(tǒng)完成了FPGA與DSP之間實(shí)時(shí)的數(shù)據(jù)處理以及千兆以太網(wǎng)上位機(jī)通信,實(shí)現(xiàn)了數(shù)據(jù)的高速交互,為大容量數(shù)據(jù)高速傳輸提供了新的參考方向。