我正在尝试调试100Mbit以太网板,并且遇到了无法解决的问题。
这是发射对的眼图。接收对非常相似。它是一个LAN8700 PHY,并且我已有效禁用MII接口,因此PHY正在传输IDLE码序列。根据数据表,它被强制为100Mbit / FDX。100Mbit / HDX是相同的。
纠正:设计使用的是LAN8700的内部1.8V电源为其VDD_CORE网络供电。在前面的描述中,我一定已经把1.8V逻辑电源与VDD_CORE电源混淆了。在我看来,电源噪声的可能性不大,因为高电平,零电平和低电平实际上相当不错。也就是说,眼睛不会被“压扁”。违反行为看起来都非常好,只是及时“偏斜”,这一事实使我认为问题出在PHY的晶体或晶体驱动器/ PLL的电源上。
如果我让眼图运行(大约15分钟),则遮罩中的违规将“填充”,以使您在图片中看到的白色违规在蓝色遮罩的右侧变为白色V形(>)形状。这将告诉我,时序误差或多或少是随机分布的,而不是某种使时序偏离精确量的离散噪声。
PHY使用的晶体具有30ppm的规格,这完全在100ppm 802.3规格之内,甚至在PHY指定的50ppm推荐规格之内。我使用的负载电容器与晶体所需的电容器相匹配,并且非常接近LAN8700指定的标称电容。
在禁用MII接口之前,我会看到成帧错误(如我的Linux的ifconfig程序所报告)。如果我将链接强制为10Mbit,则没有错误。
我注意到的一件很奇怪的事情是,如果我将示波器设置为触发从PHY到MAC的RX_ER(接收错误)信号,即使帧错误累积在MAC报告中,它也永远不会发出错误信号。现在,通过阅读PHY的数据表,很明显,实际上只有极少数情况下RX_ER会断言,但是我发现很难相信像我所看到的那样的眼图实际上是PHY与MAC。
我确实了解眼图的基础知识,但是我希望找一些更有经验的海报,希望他们能够分享他们在将特定的眼图模板违规转化为可能的来源方面的经验。
(编辑:添加了原理图,更正了VDD_CORE电源)