craftor

【红色飓风Nano二代测评】测试网络-1

0
阅读(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测试代码,敬请期待!