我用了两块fpga开发板 用网线相连。每一块都有发送接收模块,按下一次按键发送一次。
用signaltap分别抓取发送板上的数据和接收板上的数据,发现一个问题(因为两个板子所以要分开用signaltap抓取):
发送板上抓取的波形:(mii_tx_data为发送数据线的波形)
可以看到mii_tx_data发送前导码(55),也就是7个0x55,再加上帧开始符0xD5中的5,一共15个上升沿会发送数据5。
接收板上抓取的波形:(mii_rx_data为接收数据线的波形)
可以看到在mii_rx_dv变为高电平,也就是接收信号有效,在mii_rx_data上,上升沿会收到17个5,也就是比发送的多了两个。
首先我的板子不会有问题,而且后面的接收部分数据都没有问题。
我想问的是:是不是mii_rx_dv有效之后,要等两个时钟周期才开始读数据,不然我不知道怎么解释多出来的两个5。
求解答
|