文獻標識碼: A
文章編號: 0258-7998(2013)04-0019-03
數據采集是信號處理的前提,大量采樣數據的實時傳輸十分重要。以太網由于傳輸速度快、傳輸距離遠,可以方便地實現系統的遠程控制。采用微控制單元和硬件協議控制芯片實現數據的網絡傳輸在硬件構架上比較簡單,容易實現且成本較低[1]。
本文基于硬件以太網協議芯片W5300和FPGA,設計并實現了一套可以與遠程上位機進行實時通信的數據采集系統,可實現對信號的高速采集和實時數據傳輸。
1 數據采集系統組成結構
數據采集系統采用模塊化設計,主要由電源模塊、A/D模塊、控制模塊和網絡模塊組成,組成框圖如圖1所示。
2 數據采集系統的設計與實現
2.1 硬件設計
2.1.1 控制模塊
本系統中控制模塊采用Xilinx公司Spartan-3系列XC3S400[2]作為主控芯片,系統時鐘為50 MHz。該器件豐富的I/O管腳可以完全滿足系統需要且價格便宜。剩余的管腳用于控制三態緩沖芯片74HC245,可連接紅外感應器等器件作為信號采集的觸發信號。控制模塊主要完成A/D模塊時序生成、網口模塊初始化和讀寫時序及與上位機的實時數據通信。
2.1.2 A/D模塊
A/D模塊采用ADI公司的AD7357,該芯片為差分輸入、雙通道、4.2 MS/s、14位SAR型ADC[3]。為實現差分驅動,采用低失真差分ADC驅動器AD8138實現信號的單端轉差分放大。該芯片可產生兩個幅值相等、相位相差180°且以共模電壓為中心的差分信號同時驅動ADC的VIN+和VIN-管腳[4]。共模電壓由AD7357內部2.048 V基準電壓通過分壓提供。首先通過高精度、低噪聲、低溫漂運算放大器AD8628對REFA/B管腳的基準電壓進行緩沖,以提高驅動能力。A/D采樣電路如圖2所示。
2.1.3 網絡模塊
為實現采樣數據的實時傳輸并與上位機進行實時通信,選用Winzet公司的硬件以太網協議芯片W5300搭建網絡模塊。該芯片內部集成10/100 M以太網控制器、MAC和TCP/IP協議棧,支持8個獨立端口同時連接,通信速率最高可達到80 Mb/s;與主機接口支持8/16 bit數據總線,支持2種主機接口模式;內部有128 KB TX/RX存儲器,可根據端口通信數據吞吐量動態調整其分配[5]。
由于AD7357為14位SAR型ADC,故將BIT16EN管腳拉高,采用16 bit數據總線模式;地址總線采用直接地址模式;同時將W5300芯片的管腳TEST-MODE[3:0]接地,選擇內部PHY模式;OP-MODE[2:0]接地,選擇全功能自動握手模式;RJ-45接頭選用集成網絡變壓器的13F-60。網絡模塊電路如圖3所示。
2.2 軟件設計
由于W5300不支持上電復位,故系統上電后首先通過延時產生5 ?滋s低電平復位信號。為使W5300鎖相環邏輯穩定,復位信號恢復高電平后繼續等待20 ms。復位結束后系統對W5300進行初始化,包括主機接口設置、網絡信息設置和內部TX/RX存儲器的分配[5]。
本系統中利用狀態機依次對MAC地址、子網掩碼、本機IP地址、本機端口號等8個寄存器進行配置,其余寄存器采用默認配置。初始化結束后系統打開端口0,并設置為服務器模式,選用TCP/IP協議傳輸,進入監聽狀態,當檢測到上位機的握手命令時建立連接。
建立連接后,查詢W5300接收寄存器是否有來自上位機的數據。如果有,則接收數據,處理完畢后繼續查詢;如果沒有,則系統檢測是否有外部觸發信號或上位機命令,當檢測到時,A/D模塊開始工作,通過調整A/D模塊的工作時鐘可實現采樣率0.5 MS/s~4 MS/s的變化。為實現數據的連續傳輸,在FPGA內部建立二級FIFO緩沖。在數據采集過程中,如果收到上位機結束命令或者網絡異常中斷,則W5300關閉端口,然后重新打開進行監聽,等待下一次連接。整個程序的流程圖如圖4所示。
FPGA程序開發采用Verilog語言[6],在集成開發環境ISE13.2下進行調試和編譯,通過JTAG接口將程序下載到FPGA器件中。程序的主要功能是完成對W5300寄存器的讀寫控制、FIFO緩沖的讀寫控制、TCP傳輸協議的實現以及AD7357采樣時序的生成。由于實時傳輸數據量較大,各模塊對時序要求非常嚴格,若時序不正常,則會導致數據的錯誤或丟失。以W5300的讀寄存器時序為例,必須滿足的幾個要求是:芯片使能信號CS拉低時間大于65 ns,且再次拉低間隔時間大于28 ns;讀使能信號RD拉低時間大于65 ns;讀使能信號拉高后數據保持時間tD小于7 ns。為滿足此時序要求,在該模塊中,系統時鐘采用50 MHz,一個時鐘周期為20 ns,利用狀態機產生讀時序,一個讀寄存器周期為120 ns,即6個時鐘周期。圖5[5]為讀寄存器時序要求。
2.3 整體電路實現
在進行電路設計時,需要將模擬供電與數字供電分開,且模擬地與數字地隔離或用磁珠相連,以降低數字電路和模擬電路之間的干擾;將網口模塊RXIP/RXIN、TXOP/TXON信號對按差分信號布線,長度一致且盡量靠近[7];信號輸入采用同軸接頭,為縮小體積,元器件全部采用縮小體積表面封裝。
3 測試結果
程序下載完畢后,首先利用ISE自帶的Chipscope軟件觀察各模塊時序是否滿足要求。調試正常后,選用安捷倫公司的波形發生器輸出50 Hz~1 MHz正弦信號和方波信號,峰峰值為1 V。通過簡易的上位機軟件控制網絡的連接和斷開、數據采集的開始和結束及采樣數據的存儲。隨后利用Matlab進行數據的分析處理,繪制時域波形和頻譜分析。經過反復測試,系統正常工作時可實現兩路A/D以1.5 MS/s采樣率對50 Hz~750 kHz信號的準確采樣和穩定傳輸。圖6為750 kHz正弦信號的局部采樣結果。
本系統利用W5300搭建網絡模塊,實現了A/D采樣數據的實時傳輸。若接入以太網,則可實現系統的遠程控制。實驗結果表明,系統工作穩定。目前,本系統已應用于某型號測速雷達,代替了以往的PCI采集卡,降低了設備成本,提高了設備的通用性。為了進一步提高系統性能,可加入外掛RAM代替FPGA內部FIFO,同時W5300采用DMA模式傳輸可進一步提高傳輸速率,最高可達80 Mb/s。在此前提下,可選用有效位數更多、采樣率更高的A/D芯片,以拓寬系統的適用范圍。
參考文獻
[1] 王婕,王健.基于ToE技術的嵌入式以太網接口設計[J].工業儀表與自動化裝置,2011(6):34-41.
[2] Xilinx Corporation. Spartan-3 FPGA family:complete data sheet[EB/OL].(2005)[2005].http://www.xilinx.com.
[3] Analog Device,Inc.AD7357 data sheet[EB/OL].(2011)[2011].http://www.analog.com.
[4] Analog Device,Inc.AD8138 data sheet[EB/OL].(2002)[2002].http://www.analog.com.
[5] WIZnet Device,Inc.High-performance internet connectivity solution-W5300[EB/OL].(2008)[2008].http://www.wiznet.co.kr.
[6] 王金明.數字系統設計與Verilog HDL[M].北京:電子工業出版社,2009.
[7] WIZnet Device,Inc.W5100 Layout Guide[EB/OL].(2009)[2009].http://www.wiznet.co.kr.