《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于W5300和FPGA的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
基于W5300和FPGA的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2013年第4期
白佳俊1,,孟祥勇2,,張德平1,,馮 起1,袁乃昌1
1.國(guó)防科學(xué)技術(shù)大學(xué) 電子科學(xué)與工程學(xué)院,,湖南 長(zhǎng)沙410073; 2.齊齊哈爾建華有限公司試驗(yàn)場(chǎng),,黑龍江 齊齊哈爾161000
摘要: 為實(shí)現(xiàn)數(shù)據(jù)采集的實(shí)時(shí)傳輸和遠(yuǎn)程控制,,設(shè)計(jì)并實(shí)現(xiàn)了基于W5300和FPGA的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)。系統(tǒng)選用W5300搭建網(wǎng)絡(luò)模塊,,采用TCP協(xié)議與遠(yuǎn)程上位機(jī)通信,,控制以AD7357為核心的A/D模塊進(jìn)行數(shù)據(jù)采集。通過對(duì)系統(tǒng)穩(wěn)定性和準(zhǔn)確性的反復(fù)測(cè)試,,最終可實(shí)現(xiàn)兩路A/D以1.5 MS/s采樣率對(duì)50 Hz~750 kHz信號(hào)的準(zhǔn)確采樣并向遠(yuǎn)程上位機(jī)實(shí)時(shí)傳輸數(shù)據(jù),。
中圖分類號(hào): TM935.2
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)04-0019-03
Design of data acquisition system based on W5300 and FPGA
Bai Jiajun1,Meng Xiangyong2,,Zhang Deping1,,F(xiàn)eng Qi1,Yuan Naichang1
1.School of Electronic Science and Engineering, National University of Defense Technology,,Changsha 410073,,China; 2.Proving Ground of Jian Hua Company,,Qiqihaer 161000,,China
Abstract: In order to achieve real-time transmission of data acquisition and remote control, this paper designed and implemented the W5300 and FPGA-based real-time data acquisition system. The system chose W5300 to build a network module and communicated with the remote host computer using TCP protocol to control A/D module which based on AD7357 to acqure data.Both channels of AD7357 can accurately sample signal of 50 Hz~500 kHz at 1.5 MS/s rate and transmit the data to the remote host computer real-timely.
Key words : W5300;FPGA,;AD7357,;data acquisition,;real-time transport

    數(shù)據(jù)采集是信號(hào)處理的前提,,大量采樣數(shù)據(jù)的實(shí)時(shí)傳輸十分重要。以太網(wǎng)由于傳輸速度快,、傳輸距離遠(yuǎn),,可以方便地實(shí)現(xiàn)系統(tǒng)的遠(yuǎn)程控制。采用微控制單元和硬件協(xié)議控制芯片實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸在硬件構(gòu)架上比較簡(jiǎn)單,,容易實(shí)現(xiàn)且成本較低[1],。

    本文基于硬件以太網(wǎng)協(xié)議芯片W5300FPGA,設(shè)計(jì)并實(shí)現(xiàn)了一套可以與遠(yuǎn)程上位機(jī)進(jìn)行實(shí)時(shí)通信的數(shù)據(jù)采集系統(tǒng),,可實(shí)現(xiàn)對(duì)信號(hào)的高速采集和實(shí)時(shí)數(shù)據(jù)傳輸,。
1 數(shù)據(jù)采集系統(tǒng)組成結(jié)構(gòu)
    數(shù)據(jù)采集系統(tǒng)采用模塊化設(shè)計(jì),主要由電源模塊,、A/D模塊,、控制模塊和網(wǎng)絡(luò)模塊組成,組成框圖如圖1所示,。

 

 

2 數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.1 硬件設(shè)計(jì)
2.1.1 控制模塊

    本系統(tǒng)中控制模塊采用Xilinx公司Spartan-3系列XC3S400[2]作為主控芯片,,系統(tǒng)時(shí)鐘為50 MHz,。該器件豐富的I/O管腳可以完全滿足系統(tǒng)需要且價(jià)格便宜。剩余的管腳用于控制三態(tài)緩沖芯片74HC245,,可連接紅外感應(yīng)器等器件作為信號(hào)采集的觸發(fā)信號(hào),。控制模塊主要完成A/D模塊時(shí)序生成,、網(wǎng)口模塊初始化和讀寫時(shí)序及與上位機(jī)的實(shí)時(shí)數(shù)據(jù)通信,。
2.1.2 A/D模塊
    A/D模塊采用ADI公司的AD7357,該芯片為差分輸入,、雙通道,、4.2 MS/s、14位SAR型ADC[3],。為實(shí)現(xiàn)差分驅(qū)動(dòng),,采用低失真差分ADC驅(qū)動(dòng)器AD8138實(shí)現(xiàn)信號(hào)的單端轉(zhuǎn)差分放大。該芯片可產(chǎn)生兩個(gè)幅值相等,、相位相差180°且以共模電壓為中心的差分信號(hào)同時(shí)驅(qū)動(dòng)ADC的VIN+和VIN-管腳[4],。共模電壓由AD7357內(nèi)部2.048 V基準(zhǔn)電壓通過分壓提供。首先通過高精度,、低噪聲,、低溫漂運(yùn)算放大器AD8628對(duì)REFA/B管腳的基準(zhǔn)電壓進(jìn)行緩沖,以提高驅(qū)動(dòng)能力,。A/D采樣電路如圖2所示,。

2.1.3 網(wǎng)絡(luò)模塊
    為實(shí)現(xiàn)采樣數(shù)據(jù)的實(shí)時(shí)傳輸并與上位機(jī)進(jìn)行實(shí)時(shí)通信,選用Winzet公司的硬件以太網(wǎng)協(xié)議芯片W5300搭建網(wǎng)絡(luò)模塊,。該芯片內(nèi)部集成10/100 M以太網(wǎng)控制器,、MAC和TCP/IP協(xié)議棧,支持8個(gè)獨(dú)立端口同時(shí)連接,,通信速率最高可達(dá)到80 Mb/s,;與主機(jī)接口支持8/16 bit數(shù)據(jù)總線,支持2種主機(jī)接口模式,;內(nèi)部有128 KB TX/RX存儲(chǔ)器,,可根據(jù)端口通信數(shù)據(jù)吞吐量動(dòng)態(tài)調(diào)整其分配[5]。
    由于AD7357為14位SAR型ADC,,故將BIT16EN管腳拉高,,采用16 bit數(shù)據(jù)總線模式;地址總線采用直接地址模式,;同時(shí)將W5300芯片的管腳TEST-MODE[3:0]接地,,選擇內(nèi)部PHY模式,;OP-MODE[2:0]接地,,選擇全功能自動(dòng)握手模式;RJ-45接頭選用集成網(wǎng)絡(luò)變壓器的13F-60。網(wǎng)絡(luò)模塊電路如圖3所示,。

2.2 軟件設(shè)計(jì)
      由于W5300不支持上電復(fù)位,,故系統(tǒng)上電后首先通過延時(shí)產(chǎn)生5 ?滋s低電平復(fù)位信號(hào),。為使W5300鎖相環(huán)邏輯穩(wěn)定,,復(fù)位信號(hào)恢復(fù)高電平后繼續(xù)等待20 ms。復(fù)位結(jié)束后系統(tǒng)對(duì)W5300進(jìn)行初始化,,包括主機(jī)接口設(shè)置,、網(wǎng)絡(luò)信息設(shè)置和內(nèi)部TX/RX存儲(chǔ)器的分配[5]。
    本系統(tǒng)中利用狀態(tài)機(jī)依次對(duì)MAC地址,、子網(wǎng)掩碼,、本機(jī)IP地址、本機(jī)端口號(hào)等8個(gè)寄存器進(jìn)行配置,,其余寄存器采用默認(rèn)配置,。初始化結(jié)束后系統(tǒng)打開端口0,并設(shè)置為服務(wù)器模式,,選用TCP/IP協(xié)議傳輸,,進(jìn)入監(jiān)聽狀態(tài),當(dāng)檢測(cè)到上位機(jī)的握手命令時(shí)建立連接,。
    建立連接后,,查詢W5300接收寄存器是否有來(lái)自上位機(jī)的數(shù)據(jù)。如果有,,則接收數(shù)據(jù),,處理完畢后繼續(xù)查詢;如果沒有,,則系統(tǒng)檢測(cè)是否有外部觸發(fā)信號(hào)或上位機(jī)命令,,當(dāng)檢測(cè)到時(shí),A/D模塊開始工作,,通過調(diào)整A/D模塊的工作時(shí)鐘可實(shí)現(xiàn)采樣率0.5 MS/s~4 MS/s的變化,。為實(shí)現(xiàn)數(shù)據(jù)的連續(xù)傳輸,,在FPGA內(nèi)部建立二級(jí)FIFO緩沖,。在數(shù)據(jù)采集過程中,如果收到上位機(jī)結(jié)束命令或者網(wǎng)絡(luò)異常中斷,,則W5300關(guān)閉端口,,然后重新打開進(jìn)行監(jiān)聽,等待下一次連接,。整個(gè)程序的流程圖如圖4所示,。

    FPGA程序開發(fā)采用Verilog語(yǔ)言[6],在集成開發(fā)環(huán)境ISE13.2下進(jìn)行調(diào)試和編譯,通過JTAG接口將程序下載到FPGA器件中,。程序的主要功能是完成對(duì)W5300寄存器的讀寫控制,、FIFO緩沖的讀寫控制、TCP傳輸協(xié)議的實(shí)現(xiàn)以及AD7357采樣時(shí)序的生成,。由于實(shí)時(shí)傳輸數(shù)據(jù)量較大,,各模塊對(duì)時(shí)序要求非常嚴(yán)格,若時(shí)序不正常,,則會(huì)導(dǎo)致數(shù)據(jù)的錯(cuò)誤或丟失,。以W5300的讀寄存器時(shí)序?yàn)槔仨殱M足的幾個(gè)要求是:芯片使能信號(hào)CS拉低時(shí)間大于65 ns,,且再次拉低間隔時(shí)間大于28 ns,;讀使能信號(hào)RD拉低時(shí)間大于65 ns;讀使能信號(hào)拉高后數(shù)據(jù)保持時(shí)間tD小于7 ns,。為滿足此時(shí)序要求,,在該模塊中,系統(tǒng)時(shí)鐘采用50 MHz,,一個(gè)時(shí)鐘周期為20 ns,,利用狀態(tài)機(jī)產(chǎn)生讀時(shí)序,一個(gè)讀寄存器周期為120 ns,,即6個(gè)時(shí)鐘周期,。圖5[5]為讀寄存器時(shí)序要求。

2.3 整體電路實(shí)現(xiàn)
    在進(jìn)行電路設(shè)計(jì)時(shí),,需要將模擬供電與數(shù)字供電分開,,且模擬地與數(shù)字地隔離或用磁珠相連,以降低數(shù)字電路和模擬電路之間的干擾,;將網(wǎng)口模塊RXIP/RXIN,、TXOP/TXON信號(hào)對(duì)按差分信號(hào)布線,長(zhǎng)度一致且盡量靠近[7],;信號(hào)輸入采用同軸接頭,,為縮小體積,元器件全部采用縮小體積表面封裝,。
3 測(cè)試結(jié)果
    程序下載完畢后,,首先利用ISE自帶的Chipscope軟件觀察各模塊時(shí)序是否滿足要求。調(diào)試正常后,,選用安捷倫公司的波形發(fā)生器輸出50 Hz~1 MHz正弦信號(hào)和方波信號(hào),,峰峰值為1 V。通過簡(jiǎn)易的上位機(jī)軟件控制網(wǎng)絡(luò)的連接和斷開,、數(shù)據(jù)采集的開始和結(jié)束及采樣數(shù)據(jù)的存儲(chǔ),。隨后利用Matlab進(jìn)行數(shù)據(jù)的分析處理,,繪制時(shí)域波形和頻譜分析。經(jīng)過反復(fù)測(cè)試,,系統(tǒng)正常工作時(shí)可實(shí)現(xiàn)兩路A/D以1.5 MS/s采樣率對(duì)50 Hz~750 kHz信號(hào)的準(zhǔn)確采樣和穩(wěn)定傳輸,。圖6為750 kHz正弦信號(hào)的局部采樣結(jié)果。

    本系統(tǒng)利用W5300搭建網(wǎng)絡(luò)模塊,,實(shí)現(xiàn)了A/D采樣數(shù)據(jù)的實(shí)時(shí)傳輸,。若接入以太網(wǎng),則可實(shí)現(xiàn)系統(tǒng)的遠(yuǎn)程控制,。實(shí)驗(yàn)結(jié)果表明,,系統(tǒng)工作穩(wěn)定。目前,,本系統(tǒng)已應(yīng)用于某型號(hào)測(cè)速雷達(dá),,代替了以往的PCI采集卡,降低了設(shè)備成本,,提高了設(shè)備的通用性,。為了進(jìn)一步提高系統(tǒng)性能,可加入外掛RAM代替FPGA內(nèi)部FIFO,,同時(shí)W5300采用DMA模式傳輸可進(jìn)一步提高傳輸速率,,最高可達(dá)80 Mb/s。在此前提下,,可選用有效位數(shù)更多,、采樣率更高的A/D芯片,以拓寬系統(tǒng)的適用范圍,。
參考文獻(xiàn)
[1] 王婕,,王健.基于ToE技術(shù)的嵌入式以太網(wǎng)接口設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置,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] 王金明.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL[M].北京:電子工業(yè)出版社,,2009.
[7] WIZnet Device,,Inc.W5100 Layout Guide[EB/OL].(2009)[2009].http://www.wiznet.co.kr.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。