【红色飓风Nano二代测评】测试网络-1
0赞
发表于 2014/4/11 14:26:30
阅读(2092)
准备测一下FPGA的MAC核,看了一下,板子上的PHY芯片是RTL8201,只支持10M/100Mbps,不支持千兆的,都什么年代了,还用这么老的片子,有点说不过去啊!
不管怎样,先测一下吧。首先要配置PHY芯片的寄存器,是标准的SerialManagement接口,时序图如下:
其实就是类似于IIC的双向总线,一个时钟线,一个数据线。
MAC核有MDIO的控制接口,但是也要写时序,那我觉得还不如自己写一个了。写好的模块接口如下:
module phy_ctrl( input clk, input reset, input phy_read, input phy_write, input [ 4:0] phy_phyaddr, input [ 4:0] phy_regaddr, input [15:0] phy_din, output reg [15:0] phy_dout, output reg phy_busy, output wire mdc, inout mdio );仿真一下读和写,跟芯片手册上完全一样:
然后下载到板子里,用ChipScope抓一下,如下图:
图中是对地址为5'b00000的地址进行了三个操作:读、写、读。手册中地址为0的寄存器说明如下:
从上图中我们可以知道,0地址默认的值为0x3100。所以第一次读出来的值为0x3100,然后我要设置PHY的Loopback,所以我将第14位的值写1,同时第12位的auto negotiation会自动关闭,所以再次读出来的值为0x6100,完全正确。
设置好了需要的寄存器之后,下一步就是写MAC的Loopback测试代码,敬请期待!