周堯
(第七一五研究所,杭州,310023)
隨著水聲領域技術的發(fā)展,大吞吐量實時數(shù)據(jù)服務、實時信號傳輸系統(tǒng)的需求越來越迫切。同時,系統(tǒng)設備不斷向集成化、網(wǎng)絡化發(fā)展,從20 世紀80年代開始,以太網(wǎng)就成為最普遍采用的網(wǎng)絡技術[1]。1996 年7 月,IEEE 802.3z 千兆以太網(wǎng)任務工作組研究制定了千兆以太網(wǎng)的幀格式與沖突處理方法,并規(guī)范了單模、多模光纖及銅纜標準[2]。2001 年,SUN L等人提供了三層交換機為核心的千兆以太網(wǎng)方案[3]。2009年,趙金保等人設計了以DSP為核心、基于千兆以太網(wǎng)的數(shù)據(jù)采集與處理系統(tǒng)[4]。相對于DSP 而言,F(xiàn)PGA 具有高靈活性、可并行執(zhí)行、可擴展性和可擦寫性等特點[5],不僅對AD 芯片引腳時序的同步控制更為精準,更方便對系統(tǒng)進行后期的維護和升級。同時,在FPGA 中集成千兆以太網(wǎng)的MAC 子層可以有效降低系統(tǒng)成本,簡化布線難度,非常適合小型高速采集系統(tǒng)的應用。目前,在水聲領域中基于FPGA 的千兆以太網(wǎng)應用案例較少,本文為水聲領域中千兆以太網(wǎng)的應用提供一定的參考。
模擬信號轉(zhuǎn)化為數(shù)字信號一般經(jīng)過采樣、保持、量化和編碼。圖1 是取樣電路結(jié)構。模擬信號輸入后,通過采樣將隨時間連續(xù)變化的模擬量轉(zhuǎn)換為時間離散的模擬量。采樣電路取得的模擬信號轉(zhuǎn)化為數(shù)字信號都需要一定的時間,為了給后續(xù)的量化編碼過程提供一個穩(wěn)定值,每次取得的模擬信號必須通過保持電路保持一段時間。
圖1 取樣電路結(jié)構
圖2 是取樣-保持控制電路結(jié)構,由輸入放大器A1 與輸出放大器A2、保持電容C 和開關驅(qū)動電路S 組成。該電路工作狀態(tài)由邏輯電平控制,具有兩個穩(wěn)定的工作狀態(tài):①跟蹤狀態(tài)(S 閉合),在此期間它盡可能快的接收模擬輸入信號,并精確的跟蹤模擬輸入信號的變化,一直到接到保持指令為止;②保持狀態(tài)(S 斷開),對接收到保持指令前一瞬間的模擬輸入信號進行保持。
圖2 取樣-保持控制電路
圖3 是取樣-保持電路的工作時域圖。在t=t0時,開關S 閉合,電容被迅速充電,在t0~t1時間間隔內(nèi)是取樣階段;在t=t1時刻,S 斷開。若A2 的輸入阻抗為無窮大、S 為理想開關,這樣可認為保持電容C 沒有放電回路,其兩端電壓保持為VO不變,t1到t2的平坦段就是保持階段。
圖3 取樣-保持電路的工作時域圖
國際標準化組織制訂了OSI 模型[6],把網(wǎng)絡通信的工作分為七層,每一層負責一項具體的工作,然后把數(shù)據(jù)傳送到下一層。見表1。OSI 網(wǎng)絡通信協(xié)議模型是一個參考模型,而TCP/IP 協(xié)議是行業(yè)應用標準[7]。TCP/IP 是一個協(xié)議族,也是按照層次劃分,見表2。
表2 TCP/IP 四層模型
PHY(Physical Layer)是IEEE802.3 中定義的一個標準模塊。利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供鏈接,盡可能屏蔽掉具體傳輸介質(zhì)與物理設備的差異,實現(xiàn)比特流的透明傳輸。另一個重要的功能就是實現(xiàn)CSMA/CD 的部分功能,可以檢測到網(wǎng)絡上是否有數(shù)據(jù)在傳送。
MAC(Media Access Control)由硬件控制器及MAC 通信協(xié)議構成。該協(xié)議位于OSI 七層協(xié)議中數(shù)據(jù)鏈路層的下半部分,主要負責控制與鏈接物理層的物理介質(zhì)。
從硬件角度來看,以太網(wǎng)接口電路主要是由PHY 、MAC 兩部分組成,工作在OSI 七層模型的物理層和數(shù)據(jù)鏈路層。
圖4 給出了本系統(tǒng)的總體結(jié)構框圖,完成基于FPGA 多通道同步采集及千兆以太網(wǎng)發(fā)送系統(tǒng)應用層到數(shù)據(jù)鏈路層的搭建。
圖4 總體結(jié)構框圖
ADC 選用ADS1271,該器件集成了數(shù)字濾波器,具有109 dB 信噪比,通帶紋波小于0.005 dB,可提供最大105 kSPS 數(shù)據(jù)速率。FPGA 選用Xilinx公司Virtex-5 系列芯片XC5VFX70T,具有44 800個LUT、148 個BlockRAM、32 個BUFG、12 個DCM 以及360 個可用IOBs 引腳,提供千兆MAC硬核。
在模擬側(cè),F(xiàn)PGA 搭載多通道ADC 采樣驅(qū)動控制器,實現(xiàn)多通道模擬數(shù)據(jù)采集工作。在網(wǎng)絡側(cè),F(xiàn)PGA 搭載MAC,將多通道AD 采樣數(shù)據(jù)按以太網(wǎng)幀格式封裝,通過MIIM(GMII)接口發(fā)送到PHY中。PHY 把從MAC 收到的并行數(shù)據(jù)轉(zhuǎn)化為串行流數(shù)據(jù),按物理層的編碼規(guī)則把數(shù)據(jù)再變?yōu)槟M信號,經(jīng)網(wǎng)絡變壓器進行信號增強和抗干擾處理后,發(fā)送到PC 端。
FPGA 中主要搭建了時鐘管理模塊、全局復位模塊、ADC 電路驅(qū)動模塊、數(shù)據(jù)存儲模塊、MAC接口模塊等,F(xiàn)PGA 各模塊的主要功能見表3。
表3 FPGA 各模塊的主要功能
圖5 是功能模塊運行狀態(tài)圖。從FPGA 上電開始,對各模塊運行狀態(tài)進行說明:①FPGA 上電后,檢測DCM 是否完成時鐘LOCK 鎖存,產(chǎn)生全局復位脈沖;②全局復位模塊收到全局復位脈沖后,對各模塊進行全局復位;③ADC 電路驅(qū)動模塊循環(huán)產(chǎn)生ADC 驅(qū)動時序,并將從ADC 中讀出的數(shù)據(jù)存儲到數(shù)據(jù)存儲模塊;④當數(shù)據(jù)存儲模塊存放了N個采樣點后,向MAC 接口模塊請求發(fā)送數(shù)據(jù),MAC 接口模塊收到請求后,將N個采樣點的數(shù)據(jù)從數(shù)據(jù)存儲模塊中取出并按以太網(wǎng)幀格式封裝后,通過MAC層接口發(fā)送到PHY 側(cè)。
圖5 功能模塊運行狀態(tài)圖
采用24 bit 位寬delta-sigma 模數(shù)轉(zhuǎn)換器ADS1271實現(xiàn)ADC 驅(qū)動。FPGA 與ADS1271 之間采用FRAME-Sync 接口,信號描述見表4。
表4 FRAME-Sync 接口
驅(qū)動時序如圖6 所示。每個采樣周期需要256個mclk、64 個sclk、1 個fsync,即fmclk:fsclk:ffsync= 256:64:1。其中,fsync 的邊沿與sclk 的下降沿對應;sclk 下降沿與mclk 的下降沿對應;采樣點在fsync 上升沿時更替;DATA 在sclk 的下降沿從高bit 位(MSB)開始依次放置到總線,共24 bit,DATA在sclk 的上升沿被獲取。
圖6 ADS1271 驅(qū)動時序
FPGA 搭建千兆以太網(wǎng)MAC 側(cè)與PHY 側(cè)進行通信,其接口定義見IEEE802.3-2000[8]。目前,常見的千兆網(wǎng)接口有三種,包括GMII、RGMII 和SGMII。采用數(shù)據(jù)位刷新率較低的GMII 接口作為MAC 與PHY 接口,信號定義見表5。GMII 采用8位接口數(shù)據(jù),工作時鐘125 MHz,傳輸速率可達1000 Mbps。兼容MII 所規(guī)定的10/100 Mbps 工作方式。GMII 支持1000BASE-TX 標準。
表5 GMII 接口信號定義
網(wǎng)絡建立后可忽略MDIO、MDC,全雙工運行時可忽略CRS、COL 信號。IEEE802.3 標準中僅對發(fā)送通道中接收端的建立時間(Setup time)和保持時間(Hold time)作出規(guī)定。即數(shù)據(jù)在時鐘上升沿前保持穩(wěn)定,在時鐘上升沿后繼續(xù)保持一段時間不變。
在ISE 開發(fā)平臺下,采用Isim 仿真工具完成系統(tǒng)中各功能模塊的功能仿真(前仿真),針對基于總體結(jié)構框圖設計對所創(chuàng)建的邏輯進行驗證。
圖7 是ADC 驅(qū)動時序仿真圖。對于FPGA 來說,o_mclk、o_sclk、o_fsync 為輸出信號,i_ADin為輸入信號。shiftdata[23:0]為24 bit 移位寄存器,o_ADdata[23:0]為24 bit 采樣數(shù)據(jù)的輸出。shiftdata在sclk上升沿時移位采樣i_ADin的數(shù)據(jù)。自o_fsync上升沿后的第24 個o_sclk 上升沿完成該采樣點24 bit 采樣數(shù)據(jù)o_ADdata[23:0]的鎖存和輸出。
圖7 ADC 驅(qū)動時序仿真
圖8 是GMII 接口時序仿真圖。這是一個UDP報文的仿真,共計74 byte,按以太網(wǎng)幀格式分解為:
圖8 GMII 接口時序仿真
8 byte 前導碼(7 個0x55,1 個0xd5)+14 byte以太網(wǎng)幀頭+20 byte IP 幀頭+8 byte UDP 幀頭+20 byte UDP 數(shù)據(jù)位+4 byte CRC 校驗位。
根據(jù)系統(tǒng)架構,搭建了低頻陣52 通道實時采集傳輸系統(tǒng)硬件平臺,實現(xiàn)了52 通道24 kHz 采樣率的同步采集上傳、命令接收/回應、狀態(tài)信息上行等功能。低頻陣通道信噪比高達109 dB,各通道相位偏差±4°、峰峰值偏差在5%以內(nèi)滿足技術指標。
FPGA 采用Xilinx 公司Virtex-5 系列芯片XC5VFX70T,開發(fā)環(huán)境為ISE14.6。方案實現(xiàn)中,F(xiàn)PGA 中采用了兩個全局時鐘:6.144 MHz 時鐘為多通道ADC 采樣驅(qū)動器的全局時鐘;125 MHz 時鐘為千兆MII 接口的全局時鐘,采用FIFO 作跨時鐘域處理。FPGA 消耗占用邏輯資源情況見表6。以太網(wǎng)物理層芯片采用88E1111,與以太網(wǎng)的接口采用GMII。項目采用4 塊52 通道的采集傳輸平臺構成208 通道的采集傳輸系統(tǒng),連續(xù)3 天的烤機,設備性能可靠,各項指標滿足要求。
表6 FPGA 消耗占用邏輯資源
本文采用Virtex-5 系列芯片XC5VFX70T 在ISE14.6 開發(fā)平臺下,搭建了基于FPGA 的千兆以太網(wǎng)采集傳輸系統(tǒng),實現(xiàn)4 塊52 通道水聲信號的同步采集、傳輸工作。與基于ARM、DSP 的千兆以太網(wǎng)系統(tǒng)相比,本文的采集傳輸系統(tǒng)時序控制更為精準、可調(diào)用I/O 引腳更豐富,更適合項目后期的維護和升級。在后續(xù)研究中,將關注以光纖為媒介的千兆網(wǎng)傳輸系統(tǒng),進一步提升傳輸距離。