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.

[参考译文] DP83869HM:非托管1000M 介质转换器应用

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1395672/dp83869hm-unmanaged-1000m-media-converter-application

器件型号:DP83869HM
主题中讨论的其他器件: DP83869DP83869EVM

工具与软件:

你(们)好

我正在设计一个需要1000BASE-SX 接口的产品。

我必须使用的计算机主板具有10/100/1000/2500MB 铜缆以太网接口。

因此、我打算 在 1000M 介质转换器应用模式下使用 DP83869HM。

我的预期设置如下:

10/100/1000/2500MBit 铜缆-> 1000M 介质转换器模式下的 DP83869HM -> 1000BASE-SX SFP ->外部链路伙伴(在测试过程中、我将使用带 SFP 端口的以太网交换机(托管型)模拟 LP)。

我的目标是  在非托管模式下运行 DP83869HM。 我不计划将 MCU 控制器用于该产品。

我想强制 计算机端的 MAC 以固定的1000Mbps 速率运行。 光纤 SFP 收发器将以1000Mbps 的速率运行。

您能否确认以下方法有效? 如果有任何缺失或错误、请告知我。

搭接

PHY ADDR 设置为0 (总线上的单个 PHY)-> PHY_AD[3]:PHY_AD[0]全部设置为0

运行模式:1000M 介质转换器-> OPMODE_2 = 1、OPMODE_1 = 0和 OPMODE_0 = 0 ->在 EVM 上: OPMODE_2 = PU (J19短接)、OPMODE_1 = PD (J10开路  )、OPMODE_0 = PD (J11开路)。

ANEG_DIS 设置为1可禁用光纤侧的自动协商并强制设置为1000Mbps -> 在 EVM 上:J2 = PU (J2跳线放置在引脚2和3之间)

ANEGSEL_1和 ANEGSEL_0都设置为1以强制 DP83869HM 和 PC 以太网 MAC 之间的速率为1000Mbps (在自动协商期间)->在 EVM 上:J4 = PU (J4跳线置于 引脚2和3之间)和 J7 = PU (J4跳线置于引脚2和3之间)。

禁用 MIRROR_EN -> 在 EVM 上:MIRROR_EN = PD (J8 打开)

Link_loss 直通模式启用->在 EVM 上:LINK_Loss = PD (J6开路)

但是、应用手册 SNLA318中第8页提到了以下情况:

注意:重要提示:1000Mbps 介质转换器模式所需的寄存器配置:-写入
向寄存器0x01EC 写入0x1FFC (将位[0]设置为0)

在我看来、要求寄存器写入与非托管模式是相反的。

我已尝试测试上述 EVM 上的搭接、并使用 USB 转 MDIO 工具读取以下内容:

如果我短接 EVM 上的 J6、我读出以下内容:

这会更改寄存器的值、但不会更改位0。 而是会将位3写入0。

我应该如何进行? LINK_Loss strap 配置是否连接到  寄存器0x01EC (CFG_NO_LINK_LOSS_EN)中的位0?

数据表指定 LINK_Loss strap 配置的默认值为0、即启用、因此我认为应该将引脚 RX_CLK 下拉(通过内部下拉)作为默认值。

我应该在 EVM 上读取哪些寄存器?

读取寄存器0x0C00给出了0x0140、我将其解码为禁用光纤自动协商和强制速度1000Mbit。

我应该读取任何其他寄存器?

此外、应用手册 SNLA305还规定1000Base-X 应用可能需要寄存器写入。

请提供建议。

此致

Lars

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

    进一步读取寄存器可获得额外信息:

    这些读取是在没有任何铜或光纤连接到 EVM 的情况下执行的、只有 USB 为电路板供电以及进行 USB 转 MDIO 访问。

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

    尊敬的 Lars:

    感谢您分享这些信息。 IEEE 不支持1000Base-T 的强制模式、因此我们强烈建议不要使用强制1000Mbps 模式。

    根据您的寄存器读取、PHY 似乎没有在1000Base-T 铜缆模式下建立链路。  

    如果您只想在1000BASE-T 上工作、我们建议通过写入寄存器0x0004 = 0001和寄存器0x0009 = 0300来取消广播10Mbps 和100Mbps。

    启用连接方自协商

    ——

    此致、

    Hillman Lin

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

    感谢您的答复。 我是弄错了、或者将 ANEGSEL_0和  ANEGSEL_1的搭接设置是否未完全实现您所提议的效果、即仅在 DP83869HM 的铜侧广播1000Mbit/s? 在自动协商过程中、只有广播1000Mbit 应始终为1000Mbit (假设连接方支持1000Mbit)。

    在设计过程中、我可以轻松读取和设置寄存器、但由于我的目标是没有控制器的设计、因此我希望仅使用搭接将 DP83869HM 设置为非托管模式。 这是可行的吗?

    请注意、上一篇文章中提供的寄存器读取是在 EVM 上进行的、未连接铜缆和光纤、仅 USB 用于寄存器读取/写入。

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

    尊敬的 Lars:

    只是想知道您是在寻找1000Base-X (光纤)转1000Base-T 还是 SGMII 接口转1000Base-T/100Base-TX/10Base-T 根据您之前的配置(strap)、看起来您配置为 SGMII 模式。 如果您要在光纤模式下配置、请遵循以下搭接设置:

    • OPMODE[2]= 1
    • OPMODE[1]= 0
    • OPMODE[0]= 0

    如果可能、您能否为我提供您设计的方框图?

    ——

    此致、

    Hillman Lin

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

    我的目标是1000BASE-T 到1000BASE-X、即1Gbit 介质转换器。

    我的设置如下:

    受管交换机设置为对 DP83869HM 光纤链路伙伴强制执行1000Mb 速度、即光纤端无自动协商。

    我不确定您 提到 SGMII 模式的原因。 我在之前的帖子中提到的 strap 正是您所说的、即 OPMODE[2]= 1和 OPMODE[1]和 OPMODE[0]= 0。

    如上所示连接测试设置后、 我拍摄了 EVM 的照片。

    这些签带如下所示:

    OPMODE[2]=短接(即模式1)、 OPMODE[1]= 开路(即模式0)、 OPMODE[0]=开路(  即模式0) 。

    LED_0:引脚1和2短接= 1 (即光纤强制模式)

    LED_1和 LED_2:引脚1和2短接= 1 (即铜缆自动协商(广播1000)、自动 MDIX)。 这根据 SNLA318中的表10和11进行了说明。

    mirror_EN = CLOSED (即 Copper : Mirror Enable)(我 发现这是在铜侧获得链接所必需的)。

    LINK_Loss = 闭路 (即链路损耗直通被禁用)(使用此带进行测试表明、当光纤连接器断开连接时、铜线侧没有链路损耗)。

    Link_loss = 开路 (即 链路损耗直通已启用)(使用此 strap 配置进行测试时显示光纤连接器断开时铜侧的链路损耗)。

    如图中所示、LED_0 和 LED_1 亮起(不会持续闪烁)、铜缆和光纤端均可实现链路。

     在此设置中、我可以将从一台 PC ping 到另一台 PC、这似乎解决了我的问题。

    但是、我观察到一些意外的寄存器读取、我希望您对此进行评论。

    我在捆绑时执行了寄存器读取、如上所述以及图片中所示。

    当我更改 LED_1和 LED_2搭接以连接引脚2和3并移除 LINK_Loss 跳线时、我得到以下寄存器读数:

    首先、我不明白这种捆绑为什么会导致寄存器01DF 为0x0004而不是0x0044? 数据表指定0x0044作为1000Mbit 介质转换器的值、但似乎只有三个 LSB 表示该模式。 0x0004是否正常?

    第二、为什么将 LINK_Loss 高电平更改寄存器0x01EC 设置为0x1FF5? 我希望该寄存器更改为0x1FFC (切换 LSB)。 与此相关、本文档规定寄存器0x01EC 必须写入数据0x1FFC 。 这是否可以通过专用自举实现?

    是否这是由于错误、勘误或其他原因造成的? 我不明白、因此、希望您能够对此做出一些说明。

    此致

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

    尊敬的 Lars:

    对于1000Mbps 的介质转换器模式、寄存器0x01DF = 0004应该可以使用

    遗憾的是、这是一个勘误表。 链路中断功能只能通过寄存器设置进行调优。

    ——

    此致、

    Hillman Lin

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

    根据我今天的测试、我观察到以下情况:

    在下拉链路损耗配置(EVM 上的跳线打开)的情况下、我从 EVM 上断开了 SFP 模块。 这会导致 EVM 上的铜缆和光纤链路 LED 关闭、以太网交换机指示链路断开(光纤)、连接到 EVM 的 PC 中的以太网接口也指示链路断开、即使 CAT6电缆仍然连接也是如此。

    在链路损耗带拉至高电平 (跳线 在 EVM 上短接)的情况下、I 从 EVM 断开了 SFP 模块。 这仅导致 EVM 上的光纤链路 LED 关闭(铜链路 LED 保持亮起)、以太网交换机指示链路断开(光纤)、但 连接到 EVM Keat 的 PC 中的以太网接口指示链路 接通、CAT6电缆仍保持连接。

    这些观察结果向我表明、LINK_Loss strap 配置控制 DP83869HM 的链路中断传递功能。 是这样吗? 如果是、为什么必须 更改0x01EC 寄存器?

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

    尊敬的 Lars:

    我将与团队讨论并在稍后为您提供回复。

    ——

    此致、

    Hillman Lin

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

    感谢你的评分

    配置(strap)状态寄存器地址0x006E 在禁用链路 中断时读取0x380E、启用链路中断时读取0x180E、供您参考。

    我的测试显示:

    从连接到 DP83869HM 的 PC 发出的 ping 命令是对连接到交换机的 PC 发出的 ping 命令。 Ping 正常。

    当在 EVM 上禁用链路中断 时、我观察到连接到铜缆的 PC 上的链路保持不变、ping 显然会失败。

    当 在 EVM 上启用链路中断  时、我观察到当光纤断开时、连接到铜缆的 PC 上的链路中断、再次 ping 显然会失败、但现在对 DP83869HM 的铜缆以太网链路伙伴可以看到链路中断。

    我在网上还读到、DP83869HM 有两个器件版本。 寄存器0x003F 在我的 EVM 上读取为0x0000。

    如果您需要任何进一步的寄存器读取或任何其他内容、请告诉我。

    此致

    Lars

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

    尊敬的 Lars:

    很抱歉多次询问。 我想问一下、您试图在系统中实现的主要目标是什么?  您想查找哪种功能?  

    据我所知、当禁用链路中断时、您能够在介质转换器模式(1000Mbps 和1000Base-X)下看到链路接通。 这不是您要找的吗?  

    ——
    此致、

    Hillman Lin  

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

    没关系、一定要确保。

    在当前设置中、可以看到我要查找的功能。 我能够将1000BASE-T 接口转换为1000BASE-X、并且可以通过 ping 连接。 根据链路中断配置(strap)、我还能够启用或禁用 LLPT。 该功能符合我的要求。 我的主要问题是、我读取的寄存器为什么与数据表和应用手册中的预期值不匹配。 此外、我不理解为什么应用手册将需要的寄存器写入0x01EC (切换位0)。

    我的测试似乎显示了期望的结果、无需任何寄存器写入、但由于这似乎违反了 IC 的文档、我想问我是否正在监督任何内容、或者我是否可以忽略指定的寄存器写入。

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

    尊敬的 Lars:

    我懂了。 我将就此与团队讨论。

    ——

    此致、

    Hillman Lin

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

    尊敬的 Lars:

    感谢您的澄清。

    我与团队确认。 新修订版的 DP83869器件不需要此配置。

    读取寄存器0x0003、能够知道您当前正在使用的芯片是旧版本还是新版本。 DP83869EVM 应采用新的修订版本。

    感谢您的耐心。

    ——
    此致、

    Hillman Lin

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

    感谢您提供的信息。 对于旧版本和新版本、预计将从寄存器0x0003中读取什么数据?

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

    尊敬的 Lars:

    当您看到寄存器0x0003到 a0f3时、这应该是新修订版。

    ——

    此致、

    Hillman Lin

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

    好的。 我今天早些时候在 EVM 上读取了寄存器0x003、它返回0x0000。 这是旧版本的预期值吗?

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

    尊敬的 Lars:

    很抱歉混淆。 对于新修订版、此值应为 a0f3

    您不应该读取0x0000。 您的 MDIO 访问似乎出错了。

    ——

    此致、

    Hillman Lin

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

    我可以轻松读取其他寄存器、如我之前帖子的多个中所示。 旧版本是否需要数据0x0000、还是应该读取另一个值?

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

    尊敬的 Lars:

    寄存器0x0003 = a0f1是较旧版本

    寄存器0x0003 = a0f3是较新的修订版

    ——

    此致、

    Hillman Lin

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

    谢谢你。

    我已再次尝试读取0x0003寄存器、下电上电后、现在读取0xA0F3。

     所有内容似乎都值得一看。

    我将关闭该主题、因为我的预期设计现在正在开发 EVM。

    此致

    Lars