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.

[参考译文] DP83849IF:DP83849IF

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/928859/dp83849if-dp83849if

器件型号:DP83849IF

我有一个相当复杂的电路板、其中 DP83849IFVS 用作介质转换器。 在某些电路板上、我对该 IC 有奇怪的行为-严重的数据包丢失。 为了确定哪个端口出现故障(A 或 B)、我需要 MIB 计数器(良好的 RX/TX 数据包计数器)。 我可以告诉大家、该 IC 中没有这样的寄存器。 我是对的吗?  DP83849IFVS 的 A/B 端口是否有任何其他方法可以获取 RX/TX 数据包编号? 谢谢!

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

    尊敬的安德烈:

    您能否提供 DP83849IF 的原理图? DP83849IF 的两个端口之间没有数据包计数器。

    是否已尝试将每个端口置于环回模式? 这将测试每个端口的 RX/TX 路径。  

    此致、
    Justin

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

    感谢您的回答! 我已附上原理图文件。 我还将尝试环回。 我是否可以使用其他一些寄存器进行诊断?   

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

    尊敬的安德烈:

    您能描述一下您在操作中看到的数据包丢失吗? 您是否在两个方向上都看到数据包丢失? 它是否是整个上电过程中数据包的一致速率?

    此致、
    Justin  

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

    感谢你的答复。 数据包丢失似乎发生在 TX 方向上(光纤->dp83849ifvs 作为介质转换器->ksz9477s 交换机)。 是的、  大约有3/4的流量丢失、并且速率是稳定的(我每秒通过电路板发送4000个数据包、原始以太网流、每秒只有~1500个数据包从电路板中流出)。 交换机 MIB 计数器每秒显示~1500个正常的 Rx 数据包、TX 端口上的情况相同(我有六个、所有端口上的情况相同)。  

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

    尊敬的安德烈:

    您是否能够对每个端口执行环回测试以缩小可能引入数据包丢失的范围?

    此致、
    Justin  

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

    是的、我要这么做。

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

    尊敬的安德烈:

    您是否已解决上述问题? 我没有听说过任何更新、如果是、我将关闭该主题。  

    此致、

    Justin  

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

    你(们)好 很抱歉、我迟到了、我一直忙于其他项目... 我还没有解决这个问题、但我读取了 DP83849IFVS 的所有寄存器、发现了一些奇怪的东西。

    BMCR - 0x2100 (自动协商关闭、100Mbps、全双工),因此所有端口都可以

    BMSR - 0x784d (自动协商关闭、100Mbps、全双工)、因此所有端口均可正常工作

    但 PHYSTS - A 端口上为0x100 (铜线模式)、B 端口上为0x14b (光纤模式)。 据我了解、这里显示端口 A 上没有链路、端口 B 上没有10Mbps、两个端口上都有半双工、端口 B 上启用了环回(我没有执行)、端口 B 上有远程故障、两个端口上都有新的链路代码字、同时自动协商关闭。 此外、一些寄存器(如 MICR、RECR 和其他寄存器)不可读- MDIO 驱动程序返回错误。  为什么 PHYSTS 读数如此奇怪?

    此外、我还应该补充     的是、当我们首次为电路板加电时(在一条由 AM335x SoC 控制的 MDIO 总线上有3个 DP83849IFVS 器件和 AR8035器件)、意外地在最初的时候、其中一个 DP83849IFVS 与 AR8035器件具有相同的 PHYAD、因此它们可能已在同时传输。 这会损坏器件吗? 据我所知、所有器件上的 MDIO 引脚应是漏极开路、因此不会发生任何不良情况。 DP83849IFVS 和 AM335x SoC 上的 MDIO 引脚是漏极开路还是推挽式? 非常感谢!

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

    感谢你的答复。 很抱歉、我迟到了、我一直忙于其他项目... 我还没有解决这个问题。 但我读取了 DP83849IFVS 的所有寄存器、并注意到了奇怪的情况:

    所有端口上的 BMCR - 0x2100 -自动协商关闭、强制模式、100Mbps、全双工、环回禁用、 那么、这是可以的

    所有端口上的 BMSR - 0x784d -自动协商关闭、强制模式、100Mbps、全双工、环回禁用、 那么、这是可以的

    但是! PHYSTS -端口 A (铜缆模式)上为0x100、端口 B (光纤模式)上为0x14b、据我了解、表明端口 A 上没有有效链路、端口 B 上为10Mbps 速度、两个端口上为半双工、端口 B 上启用环回(我没有执行)、 端口 B 上的远程故障指示、检测到新的链路代码字(尽管应关闭自动协商)。 为什么读数如此奇怪? 它们与 BMCR 和 BMSR 寄存器不对应。 顺便说一下、所有器件上的读数都是相同的(板上有三个)。 此外、某些寄存器、如 RECR、MICR 等不可读- MDIO 驱动程序返回错误。  

    此外、我还应该补充的是、当我们首次施加电源时、意外地有两个器件具有相同的 PHY 一段时间(在 MDIO 总线上、我们有3个 DP83849IFVS、1个 AR8035 PHY 和 AM335x SoC 充当主器件、 因此、DP83849IFVS 和 AR8035中的一个具有相同的 ID)、因此它们可能同时进行传输。 这是否会损坏其中一个器件?  据我了解、如果 MDIO 引脚为开漏(非推挽)、则不会发生任何不良情况。 DP83849IFVS 和 AM335x 器件上的 MDIO 引脚是开漏还是推挽式? 接下来、我将尝试环回测试。 谢谢!

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

    很抱歉、重复此操作、最初未显示回复。

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

    此外、如果 IC 器件的寄存器仍然可读(但有些寄存器不可读)、这是否意味着器件未损坏并完全正常工作?

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

    尊敬的安德烈:

    您是否将一个1.5k Ω 上拉电阻器连接到 MDIO 引脚?  

    一些寄存器可读、有些寄存器不可读、这表明 MDC/MDIO 通信存在一些问题。 PHY 仍然能够建立链路并反映自协商自举设置、因此它可以正常工作、但我不能说是否发生了损坏。  

    不过、我不希望只有一些寄存器受到器件某些损坏的影响。 您能解释一下如何纠正 PHY ID 问题吗? 您使用什么工具与 PHY 通信? 我怀疑 PHYSTS 寄存器的读取不是寄存器中位的真实值、而是良好读取和不良读取之间的中间值。  

    此致、
    Justin  

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

    大家好、感谢大家的回答。 我已通过更改自举电阻器来设置适当的 PHY ID、从而纠正了 PHY ID 问题:对于三个 DP83849IFVS 为0、1、2、3、8、9、对于 AR8035 PHY 为4。 为了在 MDIO 总线上进行通信、我使用 u-boot 2020.07 (命令 MDIO 读取 ;  MDIO 写入 ;)。 我在 MDIO 引脚上甚至有两个上拉电阻器-一个在电路板上为1.5kOhm 至3.3V2、另一个在 SOM 上为4.7kOhm 至3.3V1、其中安装了 AM335x SoC、用于驱动 MDIO 总线、 3.3V2和3.3V1来自不同的电压源-我认为这是正确的、不会发生任何不良情况。 我是对的、还是应该移除其中一个电阻器? 如果是、那么 哪一个? 通过这种方法、我可以使用示波器分析 MDIO 总线、因此我将尝试在总线上获取 PHYSTS 寄存器、并随时为您发布。 我还应该注意 到、AR8035 PHY (具有4个 PHYID)出于某种原因根本不响应 MDIO 命令、但可能无关紧要。  

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

    尊敬的安德烈:

    您是否通过考虑 u-boot 工具是否使用十六进制或十进制格式来确保访问正确的寄存器? 我提出的原因是 PHYSTS 是寄存器0x10h、这可能是第一种可能出现十六进制和十进制不兼容的情况。

    我还不确定 AR8035寄存器访问权限、但也指出了在读取其他 PHY 上的寄存器时出现的一些问题。  

    此致、
    Justin  

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

    你好 Justin。 当我使用 u-boot MDIO 读/写命令时、我将 数据表中寄存器地址的十六进制格式转换为分贝格式。 因此   ,对于 PHYSTS 寄存器(十六进制地址为0x10h),我将使用">MDIO 读数为0 16"。 顺便说一下,我没有找到要使用的格式的直接指令,但根据">MDIO"输出, 十六进制格式应为0x10,十进制格式应为10。  

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

    我在端口 A 上执行了环回测试(让我回忆一下、我具有以下配置 KSZ9477S <-> DP83849IFVS (端口 A -铜线模式)<-> DP83849IFVS (端口 B -光纤模式)<->光纤瞬态 LM43-A3S-PI-N)。 我打开端口 A 上的环回(因此数据应从光纤传输到 IC、然后立即返回)。 我使用以下命令"MDIO WRITE 0 0x6100"完成了此操作。 回送似乎开始工作。 我得到的是"反射"流量、它已经发生了数据包丢失-在4000pps 原始以太网流中、我得到了~1940pps 的值。 所有端口的数字都相同。 现在、至少我知道问题的开始位置。 光纤收发器电源或 IC 电源出现问题....

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

    电源正常。 3.18V 无纹波。 时钟频率正常-振幅为~3.2V、25.01... MHz、前端非常清晰... 我将研究100BASE-FX 信令。 顺便说一下、它应该是大约的振幅? +-2.5V?  

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

    尊敬的安德烈:

    关于 MDC/MDIO 通信、您的寄存器寻址看起来是正确的、因此我不确定是什么导致某些寄存器读取损坏。  

    执行回送测试时、您需要测试 PMD 回送、因为您要通过铜缆/光纤接口接收数据并将其发送回链路伙伴。 您可以使用寄存器0x17[8]。 请告诉我、在此模式下、您是否能够在环回任一端口中看到无错误数据。  

    此致、
    Justin

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

    您好 Justin、

    我在命令"MDIO write 1 0x17 0x5c1"的帮助下、对端口 B (连接到光纤)执行了 PMD 环回测试。 测试显示错误-相同的数据包丢失-只有~1850数据包从4000个数据包中返回。 IC 和光纤之间的原理图可能有问题、我将附加方案... 同时、我将检查我的电源是否连接到 IC 的所有必要引脚。 谢谢!

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

    顺便说一下、我在 RBIAS 引脚上得到的是4.45kOhm、而不是4.47kOhm。 安全吗? 该电阻器实际上在做什么?

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

    尊敬的安德烈:

    RBIAS 引脚用于设置输出发送器的内部基准节点。 仔细选择该电阻器非常重要。 您可以为 RBIAS 引脚尝试4.47k Ω 1%容差电阻器吗?

    此致、
    Justin  

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

    您好、Justin。

    好的、我将尝试这样做。 此外、执行 BIST 测试也很有用、尽管我没有完全了解它的工作原理及其显示内容。 此测试是否检查 IC 的所有数字节点(模块)? 谢谢。

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

    尊敬的安德烈:

    BIST 测试将测试通过 MAC 接口连接到模拟 PMA 发送器的内部数据路径、然后返回。 在介质转换器模式下、BIST 模式不会覆盖相同的数据块。

    此致、
    Justin  

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

    您好 Justin、

    您说过、通过 MAC 接口到模拟 PMA 发送器的数据路径、包括 PMA 发送器本身?   '在介质转换器模式下、BIST 模式不会覆盖相同的数据块。' 没有得到你的意思…… 能否使用 BIST 测试单独测试端口 A 和端口 B? 非常感谢!

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

    尊敬的安德烈:  

    很抱歉造成混淆。 当我说 BIST 不会覆盖介质转换器模式下的 PHY 时、我错了。 如果您单独测试端口 A 和端口 B、则这将涵盖每个端口。 它的工作方式是通过 PRBS 生成数据包、并通过 PHY 将其循环到 PRBS 校验器。  

    此致、
    Justin