在用賽靈思的zynq-7000的PL開發千兆以太網,框架是自己寫的協議堆疊+(tri mode eth mac)IP核+RTL8211+RJ45。
硬體除錯時出現問題:PC向FPGA發送arp請求,FPGA協議堆疊可以接收到PC資料,但是FPGA發送arp回復時以及發送arp請求,PC端都接收不到,wireshark抓不到包。
ip地址已經系結成靜態的了,192.168.1.5(FPGA)to192.168.1.3(PC)。試過直接arp -s,也ping不通。
測驗時,inband_link_status ='1';inband_clock_speed = "10";inband_duplex_status = '1'。證明PHY芯片已經完成自協商了,是1000M。
發送的資料的時序也和手冊上1000M的一模一樣;發送資料后,(tri mode eth mac)IP核中tx_statistics_vector(0) = '1'。證明MAC已經完成了發送了的。
我現在是真不知道哪有問題了,為什么不通啊,下一步除錯我不知道從哪下手了。。。求助大神!!
1)PC端的防火墻也已經關了的,是不是還應該在PC端設定什么啊。。。
2)(tri mode eth mac)IP核里的speedis100和speedis10100兩個out正常情況下是什么值?手冊上說對應的MAC Speed Configuration register的[12.13],可暫存器里,12,13位置0了啊,[31.30]才是速率的標識位啊。我的輸出是“00”,是否正確?
3)是我的協議有問題嗎?不管什么協議,wireshark應該都能抓出來報文吧?ip核自帶crc校驗吧?會不會校驗沒過被PC扔掉了?
附抓取的tx_data:


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/268575.html
標籤:驅動開發/核心開發
