打印

rtl8201+fpga

[复制链接]
1673|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ahhhhh|  楼主 | 2018-9-4 22:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ahhhhh 于 2018-9-4 22:35 编辑

自己做了一个板子,用altera的fpga芯片模拟了mii接口,连接rtl8201(以太网phy芯片),网络接口用的rj45。这样的板子有好几块做了一下几个测试:

1.向电脑发送arp请求,没有问题。
2.发送udp数据包,可以抓取到。
3.将两个板子互连,一个发送,一个接收。按键按下发送一次信息或者定时发送都可以,测试也是成功的。
4.将两个板子互连,通过软件关掉了自动协商功能,将rtl8201置于强制100M全双工的工作状态下,测试是否能保持100M的速率持续发送信息,应该是并联的4位txd[3:0]以25M的速率持续根据程序变化,接收的rxd[3:0]能持续接收到信息。
   测试的软件部分很简单,将tx_en一直置1(发送数据有效),主要部分我贴一下:
   always@(posedge mii_tx_clk or negedge Rst_n)
        begin
                if(!Rst_n)
                        cnt <= 2'd0;
                else
                        cnt <= cnt + 1'b1;
        end        
        always@(posedge mii_tx_clk or negedge Rst_n)
        begin
                if(!Rst_n)
                        mii_tx_data <= 4'b0000;
                else begin case(cnt)
                        0: begin mii_tx_data <= 4'b1111; end
                        1: begin mii_tx_data <= 4'b0000; end
                        2: begin mii_tx_data <= 4'b0000; end
                        3: begin mii_tx_data <= 4'b0000; end
                         endcase
                        end
        end
这种情况下,发送时钟一直是25M,并且mii_tx_data[3],mii_tx_data[2],mii_tx_data[1],mii_tx_data[0]都是一个时钟的1,3个时钟周期的0:

这是tx_clk,25M:



发送应该是正常的,同时网线和硬件也没有问题,因为向电脑发送是可以的。但是接收板上的mii_rx_data[3:0],一直没有信号,而且rx_dv一直是低电平。也就是接收不到数据。
如果mii_rx_data[3:0]可以正确的接受的话,我可以根据自己的需要来定协议在两个板子之间实现定向通信,这样带宽利用率会比较高。
所以不知道问题在哪,难道RTL8201也要有一定的数据格式才能接收到吗?还是什么原因呢,求解答。


相关帖子

沙发
ahhhhh|  楼主 | 2018-9-5 14:31 | 只看该作者
.....

使用特权

评论回复
板凳
shanxin2012| | 2018-11-1 12:24 | 只看该作者

使用特权

评论回复
地板
drentsi| | 2018-11-1 17:42 | 只看该作者
txen不能一直置1,而且连续置1的时间是有限制的,否则会失去同步

使用特权

评论回复
评论
ahhhhh 2018-11-14 14:05 回复TA
是的,txen需要置0几个时钟再置1。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

44

帖子

1

粉丝