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.

[参考译文] DP83TD510E:MII 接口时序

Guru**** 2551110 points
Other Parts Discussed in Thread: DP83TD510E, USB-2-MDIO

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1106869/dp83td510e-mii-interface-timing

器件型号:DP83TD510E
主题中讨论的其他器件: USB-2-MDIO

您好!

我使用 MII 接口将 DP83TD510E 连接到 LAN9500A (USB 以太网桥接器)。  它可以正常工作、但接收端的吞吐量(数据流从510E 到 LAN9500A)较低(1.5Mbps)。  在查看芯片上的时序信息时、510E 在 RxDx 线路上放置数据似乎需要100-300ns (这是否甚至符合 IEEE 规范?)。  当我在示波器上测量它时、它看起来大约为200ns、因为我看到数据在时钟的下降沿(2.5MHz)发生转换。  LAN9500A 到时钟上升沿的设置和保持时间约为8-9ns。  基于此、我根本不知道它为什么起作用!  PHY 的时钟似乎需要延迟至少300ns (根据规范)、以确保数据在 LAN9500A 的时钟上升沿(或大概是任何 MAC)可用。  为什么这个 PHY 采用这种设计方式?  您建议的接口解决方案是什么?

我已附上我在电路板上观察到的 TX 和 RX 时序的示波器截图。

Mike.e2e.ti.com/.../MII-Interface-timing.pdf

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

    尊敬的 Mike:

    您能否仔细检查 RX 时钟和 TX 时钟的频率?

    最棒的

    Alon

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

    从我随帖子发送的示波器捕获中可以很清楚地看出、RX 和 TX 时钟为2.5MHz (400ns)。

    Mike。

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

    尊敬的 Mike:

    很抱歉造成混淆。 让我在这个问题上与团队保持一致、并在星期一返回给您。  

    最棒的  

    Alon

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

    尊敬的 Mike:

    我理解我认为的问题、您在接收端看到的速率非常低、您为什么认为它与 clk 规格有关?

    就您提供的示波器截图和信息而言、它仍然符合数据表中概述的规格、因此我不认为存在问题。  

    最棒的

    Alon

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

    为了回答您的问题、我们已将510E 连接到正在工作的标准 PHY -尽管我们确实必须延迟时钟才能使数据在一个方向上工作(它使用 RGMII 而不是 MII)。  重点是、连接到510E 的 APL 接口已在另一个设计中得到验证。  因此、这会将接口保留到 LAN9500A、或将某个接口保留到 LAN9500A 本身(因为 USB 接口非常简单)。  我还将与 Microchip 讨论这一点...

    我同意510E 似乎在按照数据表的要求工作。  但是、您没有回答我关于如何将其连接到正常 MAC 的问题。  在正常 MAC 上、Rx 线路上可用数据的长时间延迟应该是一个问题、该 MAC 在时钟的上升沿计时数据!  请回答此问题。

    Mike。

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

    尊敬的 Mike:

    我想知道您是否可以为您的系统提供方框图。 10BASE-T1L 与标准以太网不兼容、因此我想知道这是如何实现的。  

    我还想、如果您可以执行反向回送测试、我们可以确定问题不是 MAC 接口端问题、前提是链路伙伴的传入吞吐量是否良好。  

    要启用环回模式、请将寄存器0x0016 (BOSCH)寄存器设置为0x0110、然后检查链路伙伴端的传入吞吐量。  

    最棒的

    Alon

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

    "现有设计"已通过背对背连接两个单元进行验证。  我们在两个方向上都得到大约10Mbps 的速率。  但是、根据上图、当数据流向 LAN9500A 时、仅约为1.5Mbps。  实际上、我使用的是510E 评估板、而不是现有设计。  两种设计中的 APL 接口基本上是相同的、因此我不认为这是问题所在。

    写入 PHY 并不容易、因为电路板上没有微控制器-只有 LAN9500A 连接到 APL PHY。  我将必须查看是否有方法从 LAN9500写入 PHY (它们之间确实连接了 MDC 和 MDIO)-使用 PC 和一些软件。

    Mike。

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

    尊敬的 Mike:  

    好的、我将与团队保持一致、如果您设法写入 PHY、请告诉我。

    我们在内部使用 MSP430 LaunchPad: https://www.ti.com/tool/MSP-EXP430F5529LP

    以及我们的内部软件"USB-2-MDIO": https://www.ti.com/tool/ETHERNET-SW

    以便在没有板载 MCU 的情况下对 PHY 执行寄存器写入。 我想知道您是否有办法将 USB2MDIO 与 LAN9500A 连接、尽管我尚未看到这样做、因此我不知道这是否可行。  

    最棒的

    Alon

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

    Microchip 有一个可通过 LAN9500A 写入 PHY 的实用程序。  我能够读取两个 PHY 寄存器以验证我获得了正确的值。  然后、我按照您的建议写入 PHY、将其置于 MII 环回模式、正如预期的那样、我通过 PHY 失去了与所连接网络的连接。  现在、我无法确定用于执行回送测试的程序。  我需要能够拥有在 PC 上运行的软件、并向同一网络端口发送和接收数据包。  我尝试在我的计算机上设置 Jperf 的两个实例-一个客户端和一个服务器、但它只是在我的计算机中循环、而不会退出以太网(USB)端口。  有什么想法吗?

    Mike。

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

    尊敬的 Mike:

    我不熟悉 Jperf VM、我看到在线 Iperf VM、理论上、通过 USB 以太网适配器通过 VM 运行此测试不会出现问题、让我向团队提出、看看是否有人更熟悉您的应用。

    最棒的

    Alon

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

    JPERF 只是一个运行 Iperf 的 GUI、因此您不必确定命令行参数。  我也可以使用 Iperf。  问题在于、您只有一个通过 USB 电缆从 DUT 连接、该电缆在 PC 上枚举为网络端口。  如果您在一个窗口中设置 Iperf 服务器、在计算机的另一个窗口中设置 Iperf 客户端、则它"正常工作"、但数据从不会从端口(全部在 PC 内部)输出、因此您将获得4Gbps!  我不知道如何设置 Iperf 通过一个网络端口执行回送...

    Mike。

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

    尊敬的 Mike:

    您在 LAN9500A 和 PC 之间使用什么 MAC 接口?

    这很难从远处进行调试、但我们需要确定问题是 VM 和数据包发送的设置方式、还是系统设计问题、  

    [引用 userid="129221" url="~/support/interface-group/interface/f/interface-forum/1106869/dp83td510e-MII-interface-timing/4110161#4110161"]

    t

    [/报价]

    在此原理图中、您尝试在何处触发环回、在哪个 PHY 上? 正在使用哪种 MAC 接口? 我们如何知道我们正在建立链路?

    最棒的

    Alon

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

    Alon、

    LAN9500是 MAC。  它是一个桥接芯片-连接到 PC 的 USB、该 USB 通过它们提供的驱动程序枚举为以太网端口。  因此、在 LAN9500内部有一个 MAC 地址。  它支持内部或外部 Phy -我们已将其设置为外部 phy (这是自举设置)、因此它具有连接 T1L PHY 的 MII 接口。

    在我的图中、我将按照您的建议设置回送(将寄存器0x0016 (BOSCH)寄存器设置为0x0110)-因此在 T1L PHY 中设置回送。  我使用 Microchip 提供的 PC 上的实用程序、该程序允许我通过 LAN9500和 T1L PHY 之间的 MDIO 接口进行读取和写入。  我可以从 PHY 读取几个寄存器、并验证它们是否获得了预期的复位值。  然后、我向 PHY 写入数据、以设置回送模式、如我在上面所述。  此时、由于回送、我会按预期失去与办公室网络的通信。  我只是不知道在 PC 上运行什么软件(以及如何配置它)来通过 PC 上的单个以太网端口执行环回测试(这通常不是您对 Iperf 执行的操作。

    Mike。

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

    尊敬的 Mike:  

    在这里、我不熟悉您设置它的方式、因为我们在内部使用一个称为 SmartBits 的器件。 当然、我知道这是不可能的。  

    我已联系您的查询。

    我们建议您采用这种方法、方法是通过套接字将数据包作为原始数据发送、然后添加逻辑以接收数据、此时您可以将接收到的内容与发送的内容进行比较。  

    最棒的

    Alon

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

    实际上是有可能的。  我们还有一个 SmartBits。  由于 LAN9500A 需要驱动程序才能枚举为以太网端口、因此我们无法将其直接连接到 SmartBits。  但是、我们可以将其连接到 PC、将 PC RJ45连接到 SmartBits、并在 PC 中将两个以太网端口桥接在一起(Windows 支持此操作)。  只要 SmartBits 支持在单个以太网连接上进行环回测试、它就可以工作。  是这样吗?  我没有使用过它、但同事使用过它(但不能作为单个以太网端口上的环回)。

    Mike。

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

    尊敬的 Mike:

    如果您有 SmartBits、为什么不在系统的末尾连接它们

    然后在第一个510 PHY 上启用反向回送、然后在 SmartBits 监视器中读取您看到的接收和发送数据速率。  

    如果我们看到正常速率、那么我可以确定低数据速率问题是在 LAN9500侧。  

    你怎么看?

    此外、您还可以通过系统在 PC 和 SmartBits 之间发送数据包、然后在两侧查看数据速率。  

    最棒的

    Alon

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

    Alon、

    我确实在最左侧510 PHY 处设置了具有反向回送的 SmartBits、并看到了正常数据速率。  因此问题出在 LAN9500A 和510 PHY 之间的 USB、LAN9500A 或 MII 接口。   

    我无法使 SmartBits 在 LAN9500A 的左侧工作。  原因是 LAN9500A 必须具有驱动程序(在 PC 中)才能将 USB 枚举为网络接口-因此必须连接到 PC -即使我们有 USB 端口卡、也无法直接连接到 SmartBits。  我尝试将 LAN9500网络接口桥接至 PC 中的 RJ45以太网端口、但不会通过该端口获取流量。  我认为网桥正在根据 IP 地址过滤数据包。  不确定如何解决该问题-或其他方法可能起作用。

    Mike。

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

    Alon、

    我刚刚进行了另一项测试。  我在 PC 上执行了 Speedtest、同时让 Wireshark 查看计算机上 LAN9500A 使用的 USB 端口上的数据。  我没有看到 USB 错误。  这似乎指向 MII 接口。  当我发布此帖子时、我觉得 MII 接口是问题所在、但您从未解决过这一问题。  请参阅原始文章、其中我包含了 MII 信号的示波器捕获。  这就是为什么我认为存在一个问题(事实上我想知道为什么它起作用):

    让我们仅关注 RX 线(从 PHY 到 LAN9500A 的数据)。  RXCLK 由 PHY 生成。  510E 数据表指出、数据在时钟的上升沿之后100-300ns 有效。  为什么这需要这么长的时间?  我知道您现在不能更改它、但它确实会给我们将 MAC 连接到它造成问题!  从我的示波器捕获中、我们可以看到 RXD3在时钟的下降沿发生变化-因此在上升沿之后200ns。  这属于您芯片的规格范围、但我认为当时钟和数据线直接连接到 LAN9500A 时、我们会遇到问题。  从 LAN9500A 数据表中、数据预计在时钟上升沿前8ns 有效、并在时钟上升沿后保持9ns。  如果我错了、请纠正我的问题、但看起来根本不应该这样做。  我的问题是: 您同意吗?  我应该怎么做?  似乎我需要将 RXCLK 从510E 延迟至少308ns、以满足 PHY 和 LAN9500A 的要求。  这并不容易。  我可以反转时钟、这会延迟200ns、但这真的不够。  无论要做什么、都需要在设计中添加器件-需要以最小且具有成本效益的方式进行此操作。

    Mike。