問(wèn)題情景:為了得到連續(xù)時(shí)間內(nèi)ADC采集的數(shù)據(jù),并在PC上對(duì)數(shù)據(jù)進(jìn)行分析,需要搭建鏈路實(shí)現(xiàn)FPGA到PC的數(shù)據(jù)傳輸??紤]到ADC采樣頻率較高(10M-100Mb/s),串口通信的速率遠(yuǎn)遠(yuǎn)達(dá)不到要求,考慮使用以太網(wǎng)來(lái)實(shí)現(xiàn)信息傳輸。
物理鏈路:14位ADC;開(kāi)發(fā)板使用Xilinx Spartan-6 黑金開(kāi)發(fā)板AX545;超五類或六類網(wǎng)線;由于程序只支持千兆以太網(wǎng)傳輸,并且考慮到部分筆記本不攜帶網(wǎng)口,因此使用了USB3.0-千兆網(wǎng)口的網(wǎng)卡;裝有wireshark的電腦。
FPGA部分:采用存儲(chǔ)轉(zhuǎn)發(fā)的思想,即先對(duì)ADC采集的數(shù)據(jù)進(jìn)行緩存,等到采集的數(shù)據(jù)滿足一幀的數(shù)據(jù)長(zhǎng)度,再對(duì)數(shù)據(jù)包封裝成幀發(fā)送,采用UDP格式進(jìn)行發(fā)送??紤]到ADC時(shí)鐘與UDP時(shí)鐘不同步,因此先對(duì)ADC采集的數(shù)據(jù)進(jìn)行一級(jí)緩存;由于以太網(wǎng)每次只能發(fā)送8位數(shù)據(jù),而ADC采集的數(shù)據(jù)為14位,因此還需要對(duì)ADC緩存數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換得到的數(shù)據(jù)進(jìn)行二級(jí)緩存;等到二級(jí)緩存達(dá)到發(fā)送數(shù)據(jù)的長(zhǎng)度,使能UDP傳輸,加入幀頭后發(fā)送。
PC端接收:PC端數(shù)據(jù)接收采用wireshark實(shí)現(xiàn),使用wireshark捕獲UDP包。由于傳輸速率過(guò)快,連續(xù)時(shí)間接收的UDP包過(guò)多,因此完成采集后先對(duì)采集的數(shù)據(jù)進(jìn)行存儲(chǔ),存為pcap格式為后續(xù)處理做準(zhǔn)備。存儲(chǔ)的文件較大,達(dá)到百兆到G級(jí)別。
數(shù)據(jù)恢復(fù)(未找到很好的實(shí)現(xiàn)方法):數(shù)據(jù)保存在UDP包的數(shù)據(jù)幀部分,格式為十六進(jìn)制或二進(jìn)制,需要將數(shù)據(jù)部分和其他幀結(jié)構(gòu)分離。方法一:利用網(wǎng)絡(luò)調(diào)試助手(上位機(jī)),在wireshark接收UDP包的同時(shí)打開(kāi)上位機(jī),就可以得到不含幀頭部的數(shù)據(jù)流,而且可以進(jìn)行保存(此處使用的NetAssist),一個(gè)致命的問(wèn)題是,當(dāng)數(shù)據(jù)傳輸速率過(guò)快時(shí),利用上位機(jī)保存下來(lái)的幀并不是連續(xù)的,會(huì)導(dǎo)致恢復(fù)的波形不連續(xù)。方法二:wireshark提供追蹤UDP流的功能,可以將所有幀中的數(shù)據(jù)流進(jìn)行打印,但問(wèn)題是得到的pcap文件中幀數(shù)據(jù)量過(guò)大,處理非常慢(嚴(yán)重影響使用)。方法三(考慮但未實(shí)現(xiàn)):利用MATLAB直接讀取pcap文件,下載pcap2matlab開(kāi)源文件,利用這一文件解析pcap文件;利用python dpkt包解析pcap文件。如果有合適的解決方法,歡迎交流!
原文標(biāo)題:FPGA-PC以太網(wǎng)通信
文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
FPGA
+關(guān)注
關(guān)注
1643文章
21923瀏覽量
612389 -
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5551瀏覽量
174301
原文標(biāo)題:FPGA-PC以太網(wǎng)通信
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
MPU數(shù)據(jù)傳輸協(xié)議詳解
為什么MPLS仍是以太網(wǎng)傳輸技術(shù)的首選

LORA模塊的數(shù)據(jù)傳輸速率
網(wǎng)絡(luò)數(shù)據(jù)傳輸速率的單位是什么
以太網(wǎng)交換模式有哪幾種
以太網(wǎng)的傳輸介質(zhì)和工作模式
以太網(wǎng)數(shù)據(jù)采集網(wǎng)關(guān):數(shù)據(jù)匯聚與傳輸的關(guān)鍵橋梁


高速串行總線,數(shù)據(jù)鏈傳輸離不開(kāi)它!#高速串行總線 #電路知識(shí) #數(shù)據(jù)傳輸
以太網(wǎng)端口的類型和特性
速銳得解碼汽車以太網(wǎng)技術(shù)特點(diǎn)接口定義數(shù)據(jù)傳輸及應(yīng)用

以太網(wǎng)接口的數(shù)據(jù)傳輸原理詳解
TIDA-010076-通過(guò)單對(duì)以太網(wǎng) (T1) 實(shí)現(xiàn)菊花鏈?zhǔn)诫娫春?b class='flag-5'>數(shù)據(jù)傳輸的PCB layout 設(shè)計(jì)


GMSL技術(shù) 實(shí)現(xiàn)高帶寬、低延遲和高可靠性數(shù)據(jù)傳輸# ADI# GMSL# 汽車# 數(shù)據(jù)傳輸
CAN轉(zhuǎn)以太網(wǎng)模塊數(shù)據(jù)傳輸時(shí)有時(shí)無(wú)的問(wèn)題如何解決?
利用自定義數(shù)據(jù)傳輸在機(jī)智云上實(shí)現(xiàn)GPS定位數(shù)據(jù)的傳輸

評(píng)論