本案例描述了一个由于CPU和PHY之间RGMII时序不满要求导致通信异常问题,最后通过电感材料(磁珠)对信号相位的移位特性来改变信号延时,从而解决RGMII信号延时不够的案例,实验结果通过。 一、问题描述 某单板上某物理层芯片和CPU之间的接口,采用的是RGMII方式。在该单板调试过程中,发现物理层芯片发送给CPU的方向,数据一直不...
接口信号的含义与MII接口一致,此处就不在赘述,注意MII的接收时钟和发送时钟均由PHY芯片输出,而GMII的TX_CLK是由MAC输出给PHY芯片的。此外就是数据位宽由MII的4位变为了8位。 PHY芯片发送数据给MAC的接口时序如下图所示,与MII接口一样,PHY芯片在RX_CLK下降沿输出数据,MAC在上升沿采集数据,但是GMII接口每个时钟周期...
经验总结:遇到RGMII接口调试时,最关键的是要查看PHY芯片的型号,查阅PHY芯片手册,通过MDIO读取PHY芯片寄存器的值,看RGMII接口上数据和时钟是否偏移2ns,再决定FPGA对应管脚约束是否进行偏移! 用VIO方法读取或配置PHY芯片的寄存器 在没有CPU的情况下,对PHY芯片中寄存器在线读取的最好办法使用VIO通过MDIO接口对PHY芯片中的寄...
一般来说,大部分 PHY 芯片默认都是采用正常时序模式,可通过 MDIO 接口设置寄存器,或者芯片特殊功能引脚将其配置为延时模式。 接收端: RXC:接收数据信号和控制信号对应的同步时钟信号( 125M、 25M、 2.5M) RXD[3:0]:接收数据信号,4bit 位宽 RX_CTL:接收控制信号 接收端信号的时序如下图所示。 图8‑21 RGM...
经验总结:遇到RGMII接口调试时,最关键的是要查看PHY芯片的型号,查阅PHY芯片手册,通过MDIO读取PHY芯片寄存器的值,看RGMII接口上数据和时钟是否偏移2ns,再决定FPGA对应管脚约束是否进行偏移! 用VIO方法读取或配置PHY芯片的寄存器 在没有CPU的情况下,对PHY芯片中寄存器在线读取的最好办法使用VIO通过MDIO接口对PHY芯片中的寄...
从上边的时序图分析,数据在时钟的边沿变化。因此如果不做额外处理,接收端无法稳定采样。为了解决这一问题,常见的做法是为时钟信号添加延时,使其边沿对准数据总线的稳定区间。可以在控制器端、PCB走线以及PHY芯片内部添加时钟偏移,本文使用最后一种方式实现。
88E1518 RGMII接收接口时序,该芯片RGMII接收接口默认使用的也是延时模式,由如下寄存器的值决定。 延时模式RGMII接收接口时序关系如下图所示: 4.5 RTL8211 RGMII接口PHY 具体型号以RTL8211FD通过设置引脚为上拉或者下拉来设置延迟,这里需要用户注意的是虽然开发板硬件上没有明确上拉和下拉,但是开发板上RTL8211依然工作在de...
一般的 PHY 芯片都支持两种 RGMII 发送端口的时序关系。一种称为非延时模式,如下图所示: 图8‑19 RGMII发送端非延时模式(来源88E1512datasheet,下同) 即要满足时钟信号 TXC 的边沿对准数据信号 TXD[3:0]和控制信号 TX_CTL 有效窗口中心附近的位置,也就是说 TXC 比其他信号存在 2ns( 90°相位)(2ns来源...
1、rgmii信号中的接收时钟phy_rxclk为单端时钟,如果将此时钟接到FPGA中多功能时钟引脚(MRCC或SRCC)上时,必须从正端(P)输入; 每个PHY芯片的tx和rx信号接在FPGA的同一个bank中,其中tx_clk和rx_clk需要接入bank中时钟专用管脚的P端,且其N端不能够接其它信号; ...
RGMII时钟延迟的控制 如前文所说, 时钟Delay的来源是发送端, PCB走线以及接收端. 因此我们可以从Aurix端, 或者接收端来控制. 对于接收端如果是MAC, 需要查看该MAC是否支持Delay的设置, 对于PHY, 一般也是通过MDC/MDIO来设置. Aurix端有相应的寄存器实现RGMII的Delay控制. 涉及到的寄存器为SKEWCTL寄存器. 对于TXC和...