劉 暢
(中國空空導彈研究院,河南 洛陽 471009)
通信技術(shù)自古至今都是工業(yè)發(fā)展、人類日常生活中不可或缺的關(guān)鍵技術(shù),隨著當代控制測量系統(tǒng)中信息交互和傳輸數(shù)據(jù)量的增加,處理數(shù)據(jù)也變得復雜,能夠讓信息實時、準確、快速地傳輸成了一個不小的難題,鏈路是組成總線網(wǎng)絡的基石,也是總線通信質(zhì)量的關(guān)鍵,總線網(wǎng)絡中高速通信鏈路的設計與改進是解決以上問題的關(guān)鍵。
傳統(tǒng)的航天測試總線系統(tǒng)中,傳感器、變換器設備分布較為零散,儀器間普遍采用點對點連接的電纜網(wǎng)進行信號傳輸。這種布線方式需要使用大量電纜,電纜中傳輸?shù)哪M信號容易受到干擾,繁雜的連接線路降低了系統(tǒng)的可靠性,且?guī)挻蟠笫茏瑁饫w憑借著較長的中繼距離、大容量、寬頻帶、抗干擾性好等優(yōu)勢,以光纖作為傳輸主干的通信系統(tǒng)應運而生。因此,考慮將長中繼距離、大容量、寬頻帶、抗干擾性好的光纖作為傳輸介質(zhì),以運算速度快、編程簡易的FPGA 作為嵌入式系統(tǒng)的核心,設計出了高速數(shù)據(jù)傳輸鏈路應用于總線。
本設計將研制出以光纖作為傳輸媒介的更高速、更靈活、高可靠性的通信總線鏈路,以保證相關(guān)高速數(shù)據(jù)傳輸信號的質(zhì)量。為了實時地觀察和分析總線網(wǎng)絡數(shù)據(jù),總線網(wǎng)絡通過網(wǎng)口與計算機進行數(shù)據(jù)傳輸,簡化了原有測試系統(tǒng)的復雜結(jié)構(gòu),在提高總線數(shù)據(jù)傳輸速度和質(zhì)量的基礎上使鏈路可靠性提高,靈活性增強,設計周期被大大縮短,成本低且易于維護。
總線通信技術(shù)最早出現(xiàn)在美國惠普1972 年提出的HP-IB,用于儀器與計算機之間的通信標準,后來漸漸演變?yōu)镚PIB,直到VXI 總線被提出,它將總線易于操作和吞吐量高等優(yōu)勢展現(xiàn)了出來,目前總線朝著更加高速、穩(wěn)定、可靠的方向迅猛發(fā)展。
近年來,我國在總線領域發(fā)展迅速。2012 年,第一代RS422 分布式測控儀器總線為多個航天設備提供了總線支持,但通信靈活性較差,速度較慢,傳輸距離不能滿足通訊領域日益發(fā)展的需求;2017年,該總線升級為最新一代LVDS 有限級聯(lián)自構(gòu)網(wǎng)絡儀器總線,在網(wǎng)絡協(xié)議、網(wǎng)絡架構(gòu)、速率提升等方面較2012 年有較大改動與提高。LVDS 數(shù)據(jù)傳輸速度達200 Mb/s,適應性極強,從任何一個終端接口接入,可與全網(wǎng)所有終端通訊。
鏈路整體方案設計由計算機、終端測試臺、路由和總線網(wǎng)絡組成;總線網(wǎng)絡中各設備之間均通過光纖通信模塊進行數(shù)據(jù)交互,網(wǎng)絡中的數(shù)據(jù)由計算機通過光纖通信接口傳輸至路由設備,路由與終端測試臺之間通過光纖通信接口完成數(shù)據(jù)的接收與回放,光纖通信接口在數(shù)據(jù)收發(fā)的過程中可以完成光與電信號之間的轉(zhuǎn)換,調(diào)配FPGA 中的吉比特率收發(fā)器核(gigabit transceiver intellectual property,GTX IP)將高速串行數(shù)據(jù)轉(zhuǎn)化為低速并行數(shù)據(jù),以太網(wǎng)底板將通過終端測試臺的數(shù)據(jù)編成傳輸控制協(xié)議及互聯(lián)網(wǎng)協(xié)議(transmission control protocol/internet protocol address,TCP/IP)可識別的幀數(shù)據(jù)形式,上傳到計算機,計算機作為監(jiān)控工具的同時也方便數(shù)據(jù)處理和命令下發(fā)。鏈路總體方案如圖1 所示。
圖1 鏈路總體方案
FPGA 作為本系統(tǒng)的主控芯片,具有強大的高速數(shù)據(jù)處理能力和靈活的用戶接口協(xié)議,以及多I/O 口,低功耗,價格低廉等優(yōu)點,此處選用具備16個GTX 的Kintex-7 系列FPGA XC7K480T,其自帶32 路高速GTX 串行高速收發(fā)器通道,每通道的收發(fā)器速度高達12.5 Gb/s,可以實現(xiàn)數(shù)據(jù)的高速傳輸。XC7K480T 是SRAM 型的FPGA,這種芯片需外部配置芯片,否則掉電數(shù)據(jù)會丟失。
本課題中需要將配置文件下載到外部存儲器中,所用到的是SPI 配置模式,每次上電后FPGA 從外部存儲器加載程序進行工作,保證下電后數(shù)據(jù)不會丟失。N25Q128 是Numonyx(恒憶)的128 Mbit 串行Flash,工作電壓范圍為1.7 V~2 V,串行FLASH相比并行FLASH 所需要的引腳少,采用SO16 的小體積封裝,能很大程度上節(jié)省電路板空間、功率和噪聲,下頁圖2 為FPGA 配置的電路連接圖。
圖2 FPGA 配置電路
光電轉(zhuǎn)化模塊采用的是HTA8525 四路并行光收發(fā)一體光模塊,單路速率最高可達10.312 5 Gb/s,主要應用于并列多通道光互聯(lián)數(shù)據(jù)通信。其采用MT 式尾纖接口和LCC48 電氣接口封裝形式,具有輻射小,有較強的抗干擾能力,-55 ℃~85 ℃的環(huán)境工作范圍,可廣泛應用于背板互聯(lián)、雷達與處理機互聯(lián)、并行光互聯(lián)等,車載、機載、艦載等環(huán)境均可適用,光電模塊連接引腳圖如圖3 所示。
圖3 光電模塊連接引腳圖
以太網(wǎng)模塊由多址接入信道(multiple access channel,MAC)控制器、物理層(physical layer,PHY)芯片、RJ45 網(wǎng)口(網(wǎng)線連接口)組成,本設計中用FPGA 實現(xiàn)MAC 控制器,選用Realtek 公司生產(chǎn)的一款電平兼容性較好的RTL8211 千兆以太網(wǎng)作為PHY(物理層)芯片。它兼容目前市面常見的千兆媒體獨立接口(gigabit medium independent interface,GMII)等接口,千兆以太網(wǎng)接口電路設計如圖4 所示。
圖4 FPGA 與SRAM 連接示意圖
FAPA 通過GMII 接口與RTL8211 取得通信,配置為全雙工千兆以太網(wǎng)工作模式,外接25 M 晶振,芯片IO 管腳為3.3 V,芯片本身的REG_OUT 管腳僅為芯片內(nèi)核的1.05 V 進行供電,不需要外部提供基準電壓,連接圖如下頁圖5 所示。
圖5 千兆以太網(wǎng)電路連接圖
由于系統(tǒng)輸入最大電壓為5 V/10 A,因此,用5 V 外接電源進行供電。+5 V 輸入電源通過壓降轉(zhuǎn)換芯片TPS54020 產(chǎn)生+1.0 V 的FPGA 核心電源,TPS54020 輸出電流達10 A,滿足FPGA 的核心電壓的電流需求。另外+5 V 通過3 路電源芯片TLV621 30RGT 分別產(chǎn)生+3.3 V、+1.8 V、+3.3 V 3 路電源。其中,第1 路+3.3 V 可直接供FPGA 使用,其電壓也通過芯片EN6362QI 和TPS74401RG WT 分別產(chǎn)生GTX 所需的+1.0 V/6 A 電源和1.2 V/3 A 電源;第2路+1.8 V 供FPGA 使用;第3 路+3.3 V 電源目的是供GTX 使用,這路+3.3 V 再通過芯片SPX3819M5后產(chǎn)生+1.8 V 電源供GTX 使用。本鏈路共用到1個TPS54020 芯片和3 片TLV62130RGT 來分別產(chǎn)生1.0 V、1.8 V、3.3 V 3 種電壓,電源供電規(guī)則如圖6 所示。
圖6 電源供電規(guī)則
光通信模塊控制協(xié)議可以將光信息轉(zhuǎn)化為數(shù)據(jù)流,按層規(guī)劃可以分為物理層、數(shù)據(jù)鏈路層和用戶邏輯層,如圖7 所示。其中,物理層根據(jù)性能還可劃分為物理介質(zhì)相關(guān)子層(physical media related sublayer,PMD)、物理介質(zhì)連接子層(physical medium connection sublayer,PMA)、物理編碼子層(physical coding sublayer,PCS)3 層。
圖7 光通信模塊層規(guī)劃
用戶邏輯層:用戶邏輯層是針對設計者來說的,是用戶發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的重要接口,收發(fā)接口的數(shù)據(jù)方向如下頁表1 所示。
表1 收發(fā)接口數(shù)據(jù)方向
幀數(shù)據(jù)的發(fā)送需按照各接口信號的時序關(guān)系完成,數(shù)據(jù)發(fā)送時序如圖8 所示。TX_D[[0:(wn-1)]指發(fā)送數(shù)據(jù),TX_SOF_N 和TX_EOF_N 分別是幀起始信號和幀結(jié)束信號;TX_REM 是指示數(shù)據(jù)幀最后一個TX_D 內(nèi)有效的Byte 數(shù);TX_SRC_RDY_N為發(fā)送準備信號,當它為0 時,說明發(fā)送端已準備好數(shù)據(jù),否則,數(shù)據(jù)無效;TX_DST_RDY_N 是接收準備信號,若該信號在時鐘上升沿變低,則說明接收端準備接收數(shù)據(jù)。
圖8 數(shù)據(jù)發(fā)送時序圖
網(wǎng)絡中所有設備在組網(wǎng)之前都被設置了固定的設備地址,主節(jié)點路由在上電發(fā)起設備枚舉命令,輪詢其下子設備地址信息,并將地址信息記錄在路由表中,本級路由表的信息匯總完畢會繼續(xù)向上級路由設備匯總,最終在頂層路由設備中形成網(wǎng)絡中完整的路由表信息。
數(shù)據(jù)尋址模塊輪詢各端口緩存區(qū)中是否有數(shù)據(jù),在收到數(shù)據(jù)后檢索到數(shù)據(jù)包中目的地址,查詢路由表中該目的地址對應的接口是否和本機一致,從而判斷是否為本機的數(shù)據(jù)包,若一致,則執(zhí)行相應的功能,發(fā)送數(shù)據(jù)時流程與接收數(shù)據(jù)相同,判斷數(shù)據(jù)包與本機一致后,對數(shù)據(jù)包進行解析后發(fā)出,若判斷不是本機,則轉(zhuǎn)發(fā)到相應目的地址。這種尋址模式可以做到數(shù)據(jù)若從總線網(wǎng)絡中任意設備輸入,通過設備枚舉和尋址,數(shù)據(jù)可以快速被指定設備接收,數(shù)據(jù)尋址流程如圖9 所示。
圖9 數(shù)據(jù)尋址流程圖
以太網(wǎng)模塊程序設計實現(xiàn)分為發(fā)送和接收兩個進程,程序設計框圖如圖10 所示。發(fā)送進程首先對地址解析協(xié)議(address resolution protocol,ARP)請求進行回復,判斷FIFO 中是否有1 K 數(shù)據(jù),滿足1 K 數(shù)據(jù)量即可發(fā)送,從ARP 協(xié)議獲取多址接入信道(multiple access channel,MAC)地址后,再從FIFO中讀取數(shù)據(jù)打包為MAC 幀(1 024 Byte/次);接著打包成以太網(wǎng)幀,打包順序按照以太網(wǎng)模型的傳輸層、網(wǎng)絡層、物理層的順序逐層打包,同時識別數(shù)據(jù)中是否發(fā)送了7 Byte 的引導碼、1 Byte 幀前界定符,以上引導符都識別到以后開始發(fā)送以太網(wǎng)幀,最后添加4 Byte 循環(huán)冗余校驗(cyclic redundancy check,CRC),通過GMII 接口發(fā)給RTL82110,發(fā)送過程完畢。
圖10 以太網(wǎng)模塊程序設計框圖
以上涉及到的傳輸層、網(wǎng)絡層、物理層逐層打包和對指定MAC 地址進行接收發(fā)送等操作需要設計以太網(wǎng)數(shù)據(jù)軟件包,實現(xiàn)過程如下:MAC,IP,用戶數(shù)據(jù)報協(xié)議(user datagram protocol,UDP)這3個層的數(shù)據(jù)需要分別存放,所以在ISE 14.7 中分別聲明了3 個變量mac_addr,ip_header,udp_header 對應于這3 個層存放數(shù)據(jù),軟件中同時設置了本機MAC 地址(192.168.151.200)、本機IP 地址(192.168.151.200)和目的IP 地址(192.168.151.201),在每次通信建立前利用ARP 協(xié)議獲取目的MAC 地址并綁定,將數(shù)據(jù)寫入mac_addr 信號中,缺省值設定為全快速跳頻(fast frequency-hopping,F(xiàn)FH)。
考慮到總線網(wǎng)絡中各子設備之間的連接形式有兩種,分別是路由與終端相連,路由和路由相連,所以在設計完成后需要回環(huán)測試的通道分別是路由-終端之間、路由-路由之間,并且路由- 路由之間的通道傳輸效果和路由本身連接通道的傳輸效果相同。終端的兩個通道之間的數(shù)據(jù)傳輸信息統(tǒng)計含義與此相同,路由和終端高速數(shù)據(jù)傳輸鏈路驗證如下頁圖11 和圖12 所示,可以看出傳輸速度為10 Gb/s,誤碼率1.014×10。由此可知,路由4 通道和終2 通道的速度均可達到10 Gb/s。
圖11 路由高速數(shù)據(jù)傳輸通道驗證
圖12 終端高速數(shù)據(jù)傳輸通道驗證
為驗證鏈路整體效果,測試平臺搭建如圖13 所示,使用5 V 開關(guān)電源進行供電,終端測試臺通過網(wǎng)線連接計算機,路由和終端之間通過光纜進行連接,為保證本鏈路中路由與上位機數(shù)據(jù)通信的完整性,這里舉例在路由中設計信號源發(fā)送一組數(shù)據(jù)8 位遞增數(shù),包含幀頭幀尾和32 位的幀計數(shù)。通過光電轉(zhuǎn)換模塊以及光纖光纜傳到終端,終端測試臺將路由信號源發(fā)出的數(shù)據(jù)接收,轉(zhuǎn)發(fā)到上位機存儲數(shù)據(jù),結(jié)束后數(shù)據(jù)采集軟件將數(shù)據(jù)文件存入保存路徑,接著用Hex編輯器打開數(shù)據(jù)采集軟件存儲的文件,圖14 為接收到的數(shù)據(jù),是包含幀頭幀尾和幀計數(shù)的8 位遞增數(shù),與發(fā)送一致,數(shù)據(jù)也沒有丟失。
圖13 鏈路整體測試平臺示意圖
圖14 上位機接收數(shù)據(jù)
數(shù)據(jù)在所搭建的測試平臺上多次地發(fā)送與接收均一致,說明高速光纖通信鏈路發(fā)送數(shù)據(jù)正常,鏈路暢通,驗證高速光纖通信鏈路的回傳過程是以上過程的逆過程,回傳實驗均正常,鏈路暢通。實驗和仿真結(jié)果表明,網(wǎng)絡中路由與終端之間及路由與路由之間鏈路傳輸速度為10 Gb/s,能夠快速進行數(shù)據(jù)傳輸,并且可以將數(shù)據(jù)回傳至上位機進行觀察分析,誤碼率可達到1.014×10,滿足任務要求。