做网站和app有什么区别,网页制作分工明细,做网站需要哪个系统,如何推广一个品牌英文原文参考#xff1a; https://www.kernel.org/doc/html/latest/networking/phy.html
中文翻译参考#xff1a;有关PHY抽象层的总结 https://blog.csdn.net/eydwyz/article/details/124753313 目录 1 前言2 PHY接口模式3 尽量使用PHY端的延时而不是MAC或PCB4 其他方式实现…英文原文参考 https://www.kernel.org/doc/html/latest/networking/phy.html
中文翻译参考有关PHY抽象层的总结 https://blog.csdn.net/eydwyz/article/details/124753313 目录 1 前言2 PHY接口模式3 尽量使用PHY端的延时而不是MAC或PCB4 其他方式实现的延时5 延时不匹配会怎样6 ZYNQ的MAC可以调整延时吗7 RGMII版本 1 前言
(RG)MII/electrical interface considerations 简化的千兆位媒体独立接口RGMII是一个12引脚电信号接口(RXCLK、RXCTL、RXD[3:0]、TXCLK、TXCTL、TXD[3:0])使用同步125MHz时钟信号和多条数据线。由于此设计决定必须在时钟线RXC或TXC与数据线之间添加1.5ns至2ns的延迟以使PHY时钟接收器具有足够的设置和保持时间来正确采样数据线。
2 PHY接口模式
PHY库提供不同类型的PHY_INTERFACE_MODE_RGMII *值以使PHY驱动程序和可选的MAC驱动程序实现所需的延迟。必须从PHY设备本身的角度理解phy_interface_t的值从而导致以下结果
PHY_INTERFACE_MODE_RGMIIPHY不负责自己插入任何内部延迟它假设以太网MAC如果能够)或PCB走线插入正确的1.5-2ns延迟 PHY_INTERFACE_MODE_RGMII_TXIDPHY应为PHY设备处理的发送数据线TXD [30]插入内部延迟 PHY_INTERFACE_MODE_RGMII_RXID: the PHY should insert an internal delay for the receive data lines (RXD[3:0]) processed by the PHY device PHY_INTERFACE_MODE_RGMII_IDPHY应为PHY设备插入发送和接收数据线的内部延迟
3 尽量使用PHY端的延时而不是MAC或PCB
出于以下原因尽可能使用PHY端RGMII延迟
PHY设备可以提供亚纳秒的粒度以确定它们如何允许指定接收器/发送器侧延迟例如0.5,1.0,1.5ns. 可能需要这种精度来解决PCB走线长度的差异 PHY器件通常适用于大范围的应用工业医疗汽车…并且它们在温度/压力/电压范围内提供恒定且可靠的延迟 PHYLIB中的PHY设备驱动程序本质上是可重用的能够正确配置指定的延迟使具有类似延迟要求的更多设计能够正确运行 对于PHY无法提供此延迟但是以太网MAC驱动程序能够执行此操作的情况正确的phy_interface_t值应为PHY_INTERFACE_MODE_RGMII并且应正确配置以太网MAC驱动程序以提供所需的传输和/或或者从PHY设备的角度接收侧延迟. 相反如果以太网MAC驱动程序查看phy_interface_t值对于除PHY_INTERFACE_MODE_RGMII之外的任何其他模式它应确保禁用MAC级延迟.
4 其他方式实现的延时
如果根据RGMII标准定义的以太网MAC和PHY都不能提供所需的延迟则可以使用以下几个选项
一些SoC可能提供一个引脚焊盘/多路复用器/控制器能够配置一组给定的引脚强度延迟和电压; 并且可能是插入预期的2ns RGMII延迟的合适选项. 修改PCB设计以包括固定延迟例如使用专门设计的蛇形这可能根本不需要软件配置.
5 延时不匹配会怎样
Common problems with RGMII delay mismatch 当以太网MAC和PHY之间存在RGMII延迟不匹配时当PHY或MAC对这些信号进行快照以将其转换为逻辑1或0状态时这很可能导致时钟和数据线信号不稳定并重建正在传输/接收的数据. 典型症状包括
发送/接收部分工作并且观察到频繁或偶然的分组丢失 以太网MAC可能会报告一些或所有因FCS / CRC错误而进入的数据包或者只丢弃它们 切换到较低的速度例如10 / 100Mbits / sec会使问题消失因为在这种情况下有足够的设置/保持时间
6 ZYNQ的MAC可以调整延时吗
参考 https://adaptivesupport.amd.com/s/question/0D52E00006lLh56SAC/can-the-mac-controller-of-zynq7000-adjust-the-clock-and-data-delay?languageen_US
Q: can the mac controller of zynq7000 adjust the clock and data delay? Using the mac controler of zynq7000 to directly connect to the mac of another arm through the RGMII interface, but the mac of the opposite arm requires 1.5ns delay for clk and data. Is the zynq7000’s mac side required for data and clock latency? Or can the delay be adjusted?
A: There is not tap delay or clock delay structure wtih GEM. We just meet timing with setup/hold values in the datasheet. It’s expected to be added by PHY or PCB trace.
7 RGMII版本
参考 UG933 (v1.7.1) August 5, 2014 Zynq-7000 PCB Design Guide, page 65
Ethernet GEM Depending which RGMII specification the external PHY supports, the TX/RX clocks might need to be delayed on the PCB relative to their respective data and control lines:
• PHYs that support RGMII v1.3 Requires clock to be delayed using longer PCB routes by 1.5 ns – 2.0 ns with respect to average delay of DATA[3:0] and CTL Delay skew for DATA[3:0] and CTL should be less than 100 ps including package time
• PHYs that support RGMII v2.0 without internal delays Requires clock to be delayed using longer PCB routes by 1.5 ns – 2.0 ns with respect to average delay of DATA[3:0] and CTL Delay skew for DATA[3:0] and CTL should be less than 100 ps including package time
• PHYs that support RGMII v2.0 with internal delays (RGMII-ID) Delay skew for DATA[3:0] and CTL to clock delay should be less than ±50 ps including package time When using EMIO to connect to the PL, ensure that all clocks (TX and RX) route using clock-capable I/Os.