国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的多路采集與TCP/IP傳輸系統(tǒng)設(shè)計

2019-02-21 08:50余恒松鄧皓文
通信電源技術(shù) 2019年1期
關(guān)鍵詞:模擬信號寄存器上位

余恒松,鄧皓文,伍 春

(1.西南科技大學(xué) 國防科技學(xué)院,四川 綿陽 621000;2.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621000)

0 引 言

在數(shù)據(jù)采集應(yīng)用領(lǐng)域中,為了應(yīng)對環(huán)境復(fù)雜多變的采集應(yīng)用場景和滿足人們對采集精度越來越高的要求,除了采用高精度AD外,采集系統(tǒng)的遠(yuǎn)程可控制和數(shù)據(jù)實(shí)時準(zhǔn)確傳輸?shù)哪芰σ仓陵P(guān)重要[1-3]。以太網(wǎng)是當(dāng)今最通用的局域網(wǎng)通信協(xié)議標(biāo)準(zhǔn),具有通信可靠、傳輸速度快、遠(yuǎn)距離傳輸和適配多種傳輸介質(zhì)等優(yōu)點(diǎn)[4]。而TCP/IP協(xié)議具有開放的協(xié)議標(biāo)準(zhǔn),不依賴固定的硬件或軟件系統(tǒng),可以將TCP/IP協(xié)議集成于不同的網(wǎng)絡(luò)標(biāo)準(zhǔn)中。韓國WIZnet公司推出的W5500是一款集成了TCP/IP協(xié)議棧的全硬件以太網(wǎng)芯片,可以有效解決基于硬件的TCP/IP協(xié)議開發(fā)難度大且周期長的問題[5]。因此,本文設(shè)計了一種基于FPGA+W5500的多路數(shù)據(jù)采集與以太網(wǎng)TCP/IP傳輸系統(tǒng),不僅可以實(shí)現(xiàn)16路模擬信號的并行采集,還可以滿足多路采集系統(tǒng)遠(yuǎn)程可控制和數(shù)據(jù)實(shí)時準(zhǔn)確傳輸?shù)哪芰Α?/p>

1 系統(tǒng)整體結(jié)構(gòu)設(shè)計

本系統(tǒng)主要由信號采集部分和TCP/IP傳輸部分組成,其中信號采集部分由信號調(diào)理模塊和模數(shù)轉(zhuǎn)換器(ADC)組成。TCP/IP傳輸部分的主體為W5500,F(xiàn)PGA作為主控,需對采集和傳輸部分進(jìn)行控制。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。

具體地,16路模擬信號并行進(jìn)入采集系統(tǒng)的信號調(diào)理模塊,經(jīng)過調(diào)理后的信號分成兩組(每組8路)輸入ADC中進(jìn)行轉(zhuǎn)換,再由FPGA實(shí)現(xiàn)16路并行采集,最后由FPGA控制W5500將采集數(shù)據(jù)通過以太網(wǎng)發(fā)往PC機(jī)。

2 信號采集部分設(shè)計

信號采集部分由信號調(diào)理模塊和ADC組成。信號調(diào)理模塊包含低通濾波器和兩級放大器,信號采集部分的結(jié)構(gòu)如圖2所示,信號采集部分則由FPGA進(jìn)行控制。

模擬信號的輸入電壓幅值包含多個檔位,頻率范圍為10 Hz~20 kHz。為保證采集精度,需要采取低通濾波器開關(guān)可選和分級放大的方式,且放大器的增益可調(diào)。系統(tǒng)采用的ADC芯片為AD7609,采集精度為18 bit,支持8通道同步采樣。

圖2 信號采集部分的結(jié)構(gòu)

3 TCP/IP數(shù)據(jù)傳輸系統(tǒng)設(shè)計

W5500支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPoE協(xié)議,支持10/100M以太網(wǎng)通信。FPGA基于SPI協(xié)議對W5500內(nèi)部的寄存器區(qū)和內(nèi)存進(jìn)行讀寫訪問。寄存器區(qū)由通用寄存器區(qū)和8個Socket_n(0≤n≤7)寄存器區(qū)組成。通用寄存器區(qū)用于配置網(wǎng)關(guān)、子網(wǎng)掩碼、源IP和源MAC地址等。Socket_n寄存器區(qū)用于配置Socket端口號、模式、配置命令等,且提供了Socket的狀態(tài)和中斷信息。W5500的內(nèi)存大小為32 kB,分為接收內(nèi)存和發(fā)送內(nèi)存,各占16 kB,分別用于緩存網(wǎng)絡(luò)傳輸中已接收和待發(fā)送的用戶數(shù)據(jù)。

根據(jù)具體的采集應(yīng)用場景,W5500(服務(wù)端)接收上位機(jī)(客戶端)的采集配置命令,并回傳采集數(shù)據(jù)。為簡化設(shè)計,采用狀態(tài)機(jī)控制W5500,狀態(tài)轉(zhuǎn)移圖如圖3所示。

圖3 主狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移

經(jīng)過復(fù)位、寄存器區(qū)配置、建立TCP連接后,用戶可由上位機(jī)下發(fā)采集配置信息,如低通濾波開關(guān)、通道選擇和放大器增益等。FPGA從W5500接收緩存讀取用戶配置信息,然后進(jìn)行命令解析(將配置信息下發(fā)到信號采集部分),并啟動采集。16路數(shù)字信號并行進(jìn)入FPGA,由異步FIFO轉(zhuǎn)換為串行數(shù)據(jù)流寫入W5500的發(fā)送緩沖。待采集結(jié)束后,返回接收數(shù)據(jù)狀態(tài),繼續(xù)等待一下組命令。若TCP連接發(fā)生中斷、超時等異常情況,F(xiàn)PGA將重啟W5500。

TCP連接建立、數(shù)據(jù)接收和數(shù)據(jù)發(fā)送,是整個W5500控制狀態(tài)機(jī)的核心。選取Socket_0作為與上位機(jī)程序進(jìn)行數(shù)據(jù)通信的端口。

(a)TCP連接建立的流程如圖4(a)所示。FPGA向Socke_0的配置寄存器Sn_CR[7∶0]寫入“OPEN”和“LISTEN”命令,分別將Socket_0端口初始化和配置為TCP服務(wù)器,通過檢查狀態(tài)寄存器Sn_SR[7∶0],判斷命令是否生效。配置完成的TCP服務(wù)器將一直監(jiān)聽信道,等待客戶端的連接請求。

(b)TCP數(shù)據(jù)接收的流程如圖4(b)所示。中斷寄存器Sn_IR[7∶0]提供了Socket_0的中斷信息,當(dāng)Sn_IR[2]為“1”時,表示W(wǎng)5500收到數(shù)據(jù)。Sn_RX_RD[15∶0]為接收讀指針寄存器,Sn_RX_WR[15∶0]為接收寫指針寄存器,分別提供了數(shù)據(jù)在接收內(nèi)存中存儲的首地址和末地址,兩地址相減可得接收數(shù)據(jù)的長度。數(shù)據(jù)接收完成后,需將Sn_RX_RD[15∶0]的值更新為之前獲取的末地址值。

(c)TCP數(shù)據(jù)發(fā)送的流程如圖4(c)所示。發(fā)送寫指針寄存器Sn_TX_WR[15∶0]提供了發(fā)送內(nèi)存中的首地址,F(xiàn)PGA需從這個首地址開始將數(shù)據(jù)寫入發(fā)送內(nèi)存中,并將Sn_TX_WR[15∶0]更新為“首地址+數(shù)據(jù)長度”的值。發(fā)送“SEND”命令后,可輪詢檢查中斷寄存器的Sn_IR[4],若為“1”,表示數(shù)據(jù)發(fā)送完畢。

4 模擬信號采集實(shí)驗(yàn)

4.1 TCP/IP傳輸實(shí)驗(yàn)

在進(jìn)行TCP/IP協(xié)議通信測試時,將采集系統(tǒng)配置為服務(wù)器(IP:192.168.1.168,端口號:10000),上位機(jī)為客戶端(IP地址192.168.1.100,端口號為4326),采集系統(tǒng)與上位機(jī)的TCP/IP通信流量統(tǒng)計的結(jié)果如圖5所示。

圖5給出了TCP建立連接的“三次握手”、數(shù)據(jù)發(fā)送與回復(fù)ACK確認(rèn)的過程,說明TCP/IP通信傳輸正常。

4.2 信號采集實(shí)驗(yàn)

為了驗(yàn)證數(shù)據(jù)采集系統(tǒng)的功能,選擇對一組小信號進(jìn)行采集。使用FLUKE 5522A高精度校準(zhǔn)儀產(chǎn)生一組正弦波模擬信號,信號幅度的有效值和頻率為15.91 mV、1 kHz。系統(tǒng)以200 kHz的采樣率進(jìn)行采集,并經(jīng)W5500上傳到上位機(jī)進(jìn)行解析和顯示。

采集該信號時,F(xiàn)PGA需配置放大器的增益為200倍(第一級放大2倍,第二級放大100倍),放大后的峰值電壓為±4.5 V,上位機(jī)顯示采集信號的時域和頻域的波形如圖6所示,所采信號的增益精度滿足±0.1%的需求。

圖4 TCP建立和數(shù)據(jù)接收發(fā)送流程

圖5 TCP流量統(tǒng)計結(jié)果

圖6 采集信號的時域和頻域結(jié)果

5 結(jié) 論

本文設(shè)計了一種基于FPGA的多路采集與TCP/IP傳輸系統(tǒng),采用FPGA+W5500架構(gòu),可以實(shí)現(xiàn)基于硬件的TCP/IP協(xié)議通信,并詳細(xì)介紹了系統(tǒng)的信號采集部分和TCP/IP數(shù)據(jù)傳輸部分的設(shè)計方法。經(jīng)實(shí)驗(yàn)表明,系統(tǒng)可以實(shí)現(xiàn)多路模擬信號的采集和可靠傳輸,且系統(tǒng)穩(wěn)定可靠,具有一定的實(shí)用價值。

猜你喜歡
模擬信號寄存器上位
基于CAN總線的車身控制模擬信號采集程序設(shè)計
Lite寄存器模型的設(shè)計與實(shí)現(xiàn)
一種基于ADG426多路模擬開關(guān)的模擬信號輸入接口設(shè)計
二進(jìn)制翻譯中動靜結(jié)合的寄存器分配優(yōu)化方法
特斯拉 風(fēng)云之老阿姨上位
移位寄存器及算術(shù)運(yùn)算應(yīng)用
模擬信號的三種調(diào)制方法比較研究
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
基于數(shù)字電路對模擬信號的轉(zhuǎn)化研究
Lx5280模擬器移植設(shè)計及實(shí)施
如东县| 比如县| 秀山| 咸阳市| 盐津县| 六盘水市| 安岳县| 东方市| 茶陵县| 永定县| 玉树县| 如东县| 钟祥市| 东方市| 股票| 大洼县| 枞阳县| 安溪县| 商河县| 郓城县| 招远市| 定襄县| 平利县| 荥经县| 商丘市| 集安市| 鸡泽县| 南江县| 太仓市| 长白| 通河县| 石渠县| 五常市| 且末县| 南溪县| 芮城县| 桂阳县| 峨眉山市| 永平县| 宕昌县| 廊坊市|