This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DP83867E:FPGA-PHY 通信错误

Guru**** 2780705 points

Other Parts Discussed in Thread: DP83867E

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1059742/dp83867e-fpga-phy-communication-error

器件型号:DP83867E

下午好!

我们在电路板上使用的是20个 DP83867E。 我们使用一个 MDC-MDIO 接口控制10个 PHY、使用另一个 MDC MDIO 接口控制5个 PHY、使用另一个 MDC-MDIO 接口控制另外5个 PHY。 它们都由同一 FPGA 进行控制。

这20个 PHY 连接了20个其他板。 我们也有相同的 PHY。  

有时在启动时,一个或多个链路未连接,一旦我们尝试读取 PHY 的 ID,我们就会从 PHY 的 FFFF 读取所有寄存器。 我们尝试禁用并启用无法正常工作的 PHY (使用断电引脚)、我们看到问题仍然存在、 重启通常可以解决问题(我们可以再次从 PHY 读取正确的数据)。  

您能告诉我们哪些可能的情况会阻止 PHY 并导致从 MDIO 读取 FFF 吗?

我们进一步调查此问题、我们有一些意见可能会帮助您向我们提供一些反馈。  

1) 1)我们使用3电源模式、同时启用1V8和2V5电源。 但1V8比2V5运行最小范围(2.375)早约70us 达到 PHY 的运行最小限值(1.71V)。

2) 2)我们不会从 FPGA 对 PHY 进行复位、复位信号通过1V8轨(即 IO 电压电平)上拉。  

3) 3)我还看到有一个断电要求、即 在为 DP83867断电时、1.8V 电源应在2.5V 电源之前关闭。 下降意味着超出运行限制或下降至0V 或其他情况?  

图片是1V8和2V5的上电和断电场景。 如果看不到照片,我可以发送电子邮件

如果您认为其他一些测量可能有助于调查更多信息、请告知我们。

此致、

Onur Kusakoglu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Onur、

    您能否检查 RX_CLK 信号并报告是否存在工作和非工作(需要复位)情况?

    此外,您以何种速度运行 SMI? 是否可以将此频率降至1kHz、因为总线上似乎有很多器件。

    同样、减少总线上的 PHY 数量是否会提高效率?

    关于问题3、断电至0V。

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    早上好、

    感谢快速响应、

    根据数据表信息、断电至0V。

    您尚未对我的问题1和问题2中的加电顺序和复位问题进行评论。  

    我将在 RX 时钟工作时和不工作时检查它。  

    MDC 时钟速率为2.5MHz、10Phy 链或5 Phy 链不会产生任何明显的差异。 我们有时会在一个问题上看到问题、有时在另一个问题上看到问题。  

    这是1Gbps 应用、10个 PHY 具有 RGMII 接口、10个 PHY 具有 SGMII 接口。 但 有时(偶尔一次)、我们在启动时读取 PHY 寄存器时遇到问题、只有启用 PHY 的解决方案是下电上电。 (默认情况下、PHY 使用下拉电阻器处于断电模式)

    如果您有其他问题、请告诉我。  

    此致、

    Onur

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我不知道你的问题2是什么意思。  您在复位时会问什么?

    关于问题1、最好在数据表中遵循表136。  

    如果您移除1.8V 电源、因为上电 PHY 是2电源模式、这种行为是否仍然可见?

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的杰罗姆:

    首先,我想快速回应一下,其次,我想补充一点,以节省你的时间。

    目前、我们的设计使用 FPGA 来控制 PHY 和 MDIO/MDC 的 PDWN 引脚。

    电路板的当前上电顺序包括:

    -2.5V 和1.8V 向上。

    -在 FPGA 启动时、MDC 将为所有 PHY 切换。

    - PWDN 被置为有效。

    加电后,我们至少等待300毫秒,FPGA 将执行以下操作:

    -使 PWDN 无效。

    -等待300毫秒。

    -读取 PHY。

    现在我的问题是,我希望大家能回答,因为 MDC 在上电序列期间切换,是否可能会导致 PHY 被阻止?

    目前、当问题发生时、我们从 MDIO FFFF 读取。  

    您是否建议我们在上电序列期间(如数据表中所述、至少200ms)将 MDC 保持在高电平或低电平

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    团队中有关此问题的当前假设是、由于线路上的许多 PHY 可能会将 SMI 时序推向超出规格、因此可能存在太大的电容。 这就是为什么我们建议查看情况是否以更慢的速度得到改善、因为寄生效应不会涉及到这一点。

    此外、您能否尝试运行另一个实验、其中在 MDC/MDIO 总线线路上只有一个 PHY (从线路上断开其他 PHY)、并检查故障特征是否仍然存在。 如果没有、则逐一添加一个 PHY、检查是否在将 X 个 PHY 添加回线路后出现签名。

    此外、您能否在总线上使用所有 PHY 以及在总线上何时使用一个 PHY 来示波 MDC 和 MDIO 线路? 我们将查看上升/下降时间以及信号之间的延迟。

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gerome、

    感谢您的回复、我们认为是这样、我们已经对 MDC/MDIO 进行了限定、我们看到设置时有40ns 的保持时间和360ns 的时间。

    我们已经将 MDC 降低到了2.5MHz。

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我忘了说、我们有10个 PHY 作为 RGMI 正常工作、我们只有5个 PHY 配置为 SGMI 并共享 MDC/MDIO 存在问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    只需确认、唯一的故障行为是 PHY 没有响应 SMI?

    此外、较慢的速度是否起作用(1kHz 而不是2.5MHz)? 如果您要在 RGMII 和 SGMII 之间分离该总线、SGMII 的所有工作是否都是独立的?

    此外、在不起作用的情况下、重置 PHY 是否有帮助?

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    目前我们有5个 PHY,它们配置为具有地址0x01、x02.... 它们共享 MDC/MDIO、我们可以看到、在上电后 、我们尝试从 PHY 读取数据、我们始终得到 FF、 这就是为什么我怀疑故障 PHY 被配置为默认地址0x00的原因、这也是我们读取 FF 的原因、因为我们没有任何具有此地址的 PHY。

    为了解决这个问题、我尝试使用硬件复位(停止 MDC、将 RESET 置为有效等待2us、将 RESET 置为无效等待2us 使能时钟等待100ms (超过32个时钟周期)读取 PHY、但仍然得到 FF。

    解决此问题的唯一方法是对电路板进行下电上电。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否尝试探测自举引脚的地址以确保在 POR 和复位期间、它被绑定到适当的电压?

    此外、为了确认 PHY 在不同的地址捆绑、您能否尝试在地址范围内搜索 PHY、直到 PHY 弹出?

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下午好!

    电压正常。

    PHY 应该位于地址1、我们检查了地址0 (默认值)地址1和2、但无法访问该地址。  

    我们对 RESET_n 引脚(10us)进行了硬复位以重新配置 PHY、但它也不起作用。  

     

    释放复位后、MDC 被禁用200ms 以上。

      复位信号和 MDC 的上电信号行为。

    你看到什么问题了吗?

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    有32 (0-31)个不同的地址。 您能否检查所有这些问题以确认 PHY 是否绑定到其他地址?

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我们可以检查地址、如果我们在不同的地址看到它会发生什么情况? 我们已经将重点放在该自举电阻器的锁存上、并进行了上述测量。 您能告诉我们这些测量结果是否正常吗?

    此致、

    Onur

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Onur、

    这是为了确认 PHY 是跳转地址作为故障签名、而不是实际位于同一地址、而是使其脱机。 将回顾有关示波器捕获的信息。

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gerome、  

    您可能知道、我们有5个 PHY 共享相同的 MDC/MDIO、我们使用自举设置每个 PHY 的地址。

    我们的配置通常将此 PHY 设置为地址1、2、3、4和5。  

    今天我们进行了一些调查、在上电后、我们启用 MDC、并尝试访问所有可能地址(0至31)的寄存器 MBCR (0x00)。 我们发现、有时我们从现有 PHY 地址读取0xFFFF、还发现我们可以从其他地址读取正确的值、而在我们的配置中、这些地址通常不具有自举。

    此外、在读取所有可能的 PHY 后、我们会应用硬件复位(停止 MDC、使每个 PHY 的复位有效时间超过1us、使复位无效并等待210us、启用时钟并等待2ms) 再次从所有可能的 PHY 读取 MBCR、但遗憾的是、有时复位不能解决问题、因为我们在复位之前从一些正在工作的 PHY 读取 FFFF、反之亦然。

    此致。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    因此、这确实确认 PHY 被绑定到不同的地址。 在复位期间、您能否进行探测以确保在复位和上电时 RX_D0和 RX_D2上没有通信? 这一点非常重要、因为唯一应驱动该节点的电压是在复位和上电时来自分压器的电压。 如果在此期间节点上有通信、则可能会导致 PHY 设置为不同的地址值。 这些引脚用于 SGMII、因此很可能会导致您的问题。

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gerome、

    我们控制 PWDN、RESET_N、MDC 和 MDIO 购买 FPGA、您能告诉我哪个信号应置位(高电平或低电平)、以确保 RX_D0和 RX_D2在复位序列期间没有任何流量吗?

    BTW、我们还有10个 PHY 作为 RGMII、加电后、我们也从它们读取 FFFF。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brahim、

    我认为流量必须从较高层次(即 MAC)停止。 PHY 只需将提供给它们的任何内容从 PHY (链路伙伴)传递到 MAC、反之亦然。 这也适用于 RGMII、因为它们使用这些引脚。  

    您还应检查自举寄存器0x6E、0x6f、以查看在正常运行期间以及 PHY 跳转地址时是否有任何其他变化。

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gerome、

    首先、非常感谢您的快速回复。

    RX_D0和 RX_D2仅连接到自举电阻器。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢您杰罗姆、  

    正如 Onur 提到的、RX-D0和 RX-D2仅连接自举时、我们也会看到在没有连接伙伴时出现的问题、这意味着 PHY 永远不会接收到来自其他伙伴的数据、并意味着线路中没有通信?

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brahim、

    我想退一步、重新澄清问题说明是符合我的理解的:

    PHY 是跳转地址。 这在客户未在预期地址看到 PHY、然后搜索所有31个其他可能的地址以找到 PHY 的问题情况下已经得到了证实。 这可以在 RGMII 和 SGMII 电路板上看到。 复位有时在两个电路板上都有帮助、但下电上电是解决问题的唯一可靠方法。

    这看起来是准确的吗? 或者我是否缺少更多详细信息? 如果是、请澄清。

    您指的是合作伙伴、您指的是 MDI 链路合作伙伴还是 MII MAC?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    合作伙伴的意思是我们不连接 RJ45电缆、我们也看到有时我们需要对电路板进行电源循环以解决问题。

    但我们想知道问题的根本原因是什么。

    例如、上电后、我们能够使用 PHY 的正确地址读取 MBCR 寄存器、但在应用复位硬件时、我们读取0xFFFF、这意味着 PHY 未正确设置配置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gerome、

    今天、我们检查 RX_D0自举、我们看到当复位处于活动状态时、电压大约处于正确模式、但释放复位后、RD_D0在40ns 后变为零 (据我了解,现在 PHY 将引脚切换至输出),但根据数据表,RX-D0通常保持输入至少为120ns (T2 )+64ns (T3)。

    RX-D0在如此短的时间(40ns)内进入输出配置是否正常?

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    这似乎是正常的、因为它是一个标称测量值。

     您能否报告复位时自举引脚上的电压是多少?它绑定到正确的地址与复位时的电压是多少?它绑定到不需要的地址?

    此外、在正确和错误的模式下、您能否报告0x6E 和0x6f 寄存器值? 确保 S 和 R 器件在复位时没有网络流量、以确保器件不会在分压器电路之外的节点上看到意外电压。

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gerome、

    感谢您的快速回答、我明天将进行测试、我将更新结果的出结果

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gerome、  

    我们仍会看到错误的地址在一段时间内锁存一次。 这是我们所读内容的屏幕截图。  

    我们无法捕获不起作用的锁存引脚、但这里也展示了从示波器到设置地址10的锁存电压复位关系。

    如果您需要任何其他信息、请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Onur、

    这些读数是否为十六进制? 如果它们是十进制的、我是否可以将它们转换为十六进制以实现更好的调试。

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,杰罗姆,

    实际上、它们是十进制的、在这张图片中、它们是正确设置的、但 PHY 没有正确绑定、我将读取 FFFF、这是有道理的、因为我将尝试使用不存在的地址读取 PHY。

    我从我的同事那里听说、由于 GTX_CLK 可能会增加一些串话、从而使 PHY 产生错误的自举。

    是建议在复位序列期间停止 GTX_CLK、还是不需要。  

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brahim、

    建议在复位序列期间停止来自 MAC 的任何流量、以避免捆绑问题。

    此致、

    Gerome

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gerome、

    我们禁用整个流量、自那时以来、我们没有发现任何寻址问题。 我们将在圣诞假期后进行回归测试。  

    感谢您的帮助、祝您圣诞节愉快。

    Onur