最近做了UDP,FPGA端回環,PC端除錯助手發送并接收。
1、千兆測驗完成正常。
2、接下來測驗百兆,起初沒有在除錯助手發送資料沒有接收到,懷疑是協議有bug;
3、用fpga端抓資料,可以觀測到資料的請求和應答,但是,一直在應答給PC,在除錯助手端依舊沒有資料;
4、打開wireshark,抓取資料可以看到pc的請求,fpga的應答,資料的發送和接收;檢查ARP和UDP各個欄位資料均正常;
5、除錯助手可以接收到資料,資料正常;
6、再次關閉wireshark后,除錯助手資料丟失;
7、查詢過網上一些相關問題,檢查了幾個部分:
1、防火墻:關閉和開啟無影響;
2、網卡的校驗:選擇以太網網卡的速率100,ipv4校驗關閉開啟,UDP校驗開啟,均無改善;
3、wireshark開啟了混雜模式:將wireshark的混雜模式關閉,wireshark和除錯助手都不能接收到資料;
結論:
結論目前下起來比較矛盾,梳理一下:
a、混雜模式:可能是mac或者ip地址等資料有誤,但是抓取到了應答包和資料中的各個協議欄位是正確的;

b、如果是協議問題,千兆也應該會出現同樣的問題才對;
c、如果是時序問題,開啟wireshark應該不影響fpga的時序和資料;
接下來懷疑程式的問題,修改了txc的時鐘(使用vivado的mac core),情況有變化:在不開啟wireshark時,除錯助手有資料接收,但是資料并不是全部都能接收到,打開wireshark后,資料恢復正常接收。
難道是時序問題?

uj5u.com熱心網友回復:
資料接收完整一幀,但是不是每一幀都能接收到。中間間隔不等。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256947.html
標籤:驅動開發/核心開發
上一篇:小白求助!!!
下一篇:VIENNA整流電路
