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.

[参考译文] DP83TC812EVM-MC:如何将 TC -10与不同的 eth 结合使用

Guru**** 2448780 points
Other Parts Discussed in Thread: DP83TC812R-Q1, DP83TC812EVM-MC

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1478568/dp83tc812evm-mc-how-to-use-tc-10-with-different-eth

器件型号:DP83TC812EVM-MC
主题中讨论的其他器件:DP83TC812R-Q1、

工具/软件:

您好:

我可以与 DP83TC812系列的不同芯片通信吗?

我有3个器件;
其中一款有 DP83TC812R-Q1 eth
其中之一是 DP83TC812EVM-MC 卡
其中一个有 BCM89836 eth

通常、我尝试通过 BCM89836 (主器件)在 DP83TC812R (从器件)上进入睡眠模式。 不管用。 然后、我决定使用 DP83TC812EVM 和 BCM89836进行测试。 我使用 BCM89836作为从器件、并使用 DP83TC812EVM-MC 作为主器件。

我通过寄存器0x018C 中的 MDIO 将值0x0002发送到 EVM。 如果 EVM 和 DP83TC812器件相互连接、则两个器件都将进入睡眠模式。 但是、如果您将 DP83TC812EVM 连接到 BCM89836、器件将不会进入睡眠模式。 在这两个测试中、EVM 都是主器件。 (我假设在 EVM 主站用例中测试会更容易。)

我的主要目标是使用 DP83TC812-10从 BCM89836发送睡眠命令并将 TC 置于睡眠状态。

我该怎么做?

此致、

Faruk

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

    尊敬的 Faruk:

    有几种方法可以解决此问题:

    此致、

    Nick

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

    您好、Nick、

    DP83TC812x 系列是否支持与 Broadcom 89836配合使用? 您能否得到对此的确认?

    我们知道这两款产品都支持 TC-10。 我只是想知道它们之间是否存在不兼容性。

    此致、

    Faruk

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

    尊敬的 Faruk:

    我们没有 Broadcom 89836的特定信息、但 DP83TC81x 系列通过了 UNH 根据 IEEE 执行的互操作性测试。

    此致、

    Nick

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

    尊敬的 Faruk:

    一次更新、抱歉出错了、但互操作性测试是由 C&S 执行的、而不是由 UNH 执行的。

    您能否尝试 使用 TI PHY 将 BRCM 器件置于睡眠状态?

    此致、

    Nick

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

    您好、Nick、

    我继续进行 Broadcom 和 TI 评估板之间的测试、并按如下方式配置寄存器;

    - 0x040B 值写入0x018B 寄存器地址、0x0009值写入0x0180寄存器地址。 我们阻止 TI 在协商期间发生链路中断的情况下切换到正常模式、因此我们将尝试为其提供睡眠确认所需的时间。

    我注意到这种情况;

    -当以这种方式从 Broadcom 向 TI 发送请求时、Broadcom 会提供 SLEEP_FAIL。 当我们查看 TI 时、它不会提供 SLEEP_FAIL、也不会睡眠。 它的作用就好像没有任何请求来、不理解传入或不来。 但是、我认为 TI 收到了睡眠请求、因为链路 LED 闪烁。
    -这样、当从 TI 向 Broadcom 发送请求时、TI 会提供 SLEEP_FAIL。 Broadcom 进入睡眠/待机状态、而不提供 SLEEP_FAIL。 Broadcom 了解 TI 并进入睡眠或待机状态。 在这种情况下、TI 评估板仍然无法从 Broadcom 获取所需内容、或者似乎看不到。

    注意:
    1 -当在0x0180寄存器地址中写入0x0009以外的值时、Broadcom 侧会失败并进入 STANDBY/SLEEP 状态(对于 SLEEP/STANDBY 状态和 SLEEP_FAIL、都返回"1")
    Broadcom 主器件、TI 从器件

    除了上述测试之外、我们也做了很多尝试、不幸的是、我们无法在这两个设备之间实现 TC -10睡眠、我们认为这两个卡可能彼此不兼容、可能无法正常工作。 您能给我们一个关于这一点的想法吗? 我们如何了解这两款器件的兼容性、或者您建议我们在这方面遵循哪种方法?

    此外、如何查找芯片版本?

    对于我上面提到的主题、您是否有任何测试建议?

    此致、

    Faruk

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

    尊敬的 Faruk:

    也许两个 PHY 不兼容、但有一个测试可以执行。 我注意到 sleep_req_timer_SEL 值为4ms。 我们的互操作报告表明、对于其他 PHY、4ms 并不足以让 LPS 符号从 LP PHY 到达。   您可以检查 LPS_INT (reg<0x0018>[0])以验证 TI PHY 是否接收 LPS 符号、并 在需要时调整 SLEEP_REQ_TIMER_SEL 值。

    此致、

    Nick

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

    您好、Nick、

    我们尝试了写入0x001B (我们尝试使用最大时间。) 0x0180寄存器的位、但结果不变。 我始终将 LPS_INT (reg<0x0018>[0])读取为1。 我从未被此寄存器读为0 (或者我没有更改此值)。
    是否有办法检查这些 phy (BCM89836和 DP83TC812系列)的兼容性?
    此外、如何查看 DP83TC812 Phy 版本? 我们需要此信息来向 Broadcom 询问此问题。

    谢谢你。

    此致、
    Faruk

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

    尊敬的 Faruk:

    是的、如果您想看到 LPS_INT、您需要在0x0018[0]处启用中断、然后、如果 PHY 检测到 LPS 符号、0x0018[8]将变为高电平。

    我不知道。 我会检查一下。

    PHY 版本是什么意思?  

    此致、

    Nick

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

    我不记得0x0018[8]位的设置如此之高、但我想请同事确认这一点。  那么我该如何解释呢? 是因为 TI 没有接收 LPS 符号、还是因为 BCM 没有发送这些符号? 当 BCM 发送睡眠请求时、我看到链路 LED 闪烁。 这有什么意义吗?

    好的。 我正在等待这方面的任何信息。

    我的意思是、是否有不同版本的 PHY (如 v1 v2)或所有现有 DP83TC812芯片都是相同的? 我们认为不同的版本可能会导致兼容性问题。 我们想提出问题并进行确认。

    此致、

    Faruk

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

    尊敬的 Faruk:

    您可以尝试设置寄存器0x0189 = 0x0018。 这减少了设置 LPS_recv 所需的 LPS 符号数量。 请告诉我这是否有任何影响。

    所有 DP83TC812芯片都是相同版本。  

    谢谢、

    David

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

    您好、David、

    好的。 我将测试结果并告知结果。

    我不知道这些;

    1-即使 TI 和 Broadcom 之间存在不匹配(时序、握手结构等)、仍然可以检测到来自 Broadcom 的 LPS 符号吗?

    2- 由于 Broadcom 和 TI 之间不兼容、我们无法在寄存器(0x0018[8])中检测到 LPS 符号的原因是什么?

    这些问题与上一个测试有关。 我会尝试您对所需的 LPS seymbol 的建议。

    感谢您的帮助。

    此致、

    Faruk

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

    尊敬的 Faruk:

    默认情况下、Broadcom 发送的 LPS 符号可能少于 TI 预期的符号。 降低寄存器0x189的值可以解决此问题。 请尝试注册、如果结果有任何变化、请告知我。

    谢谢、

    David  

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

    您好、David、

    根据您的建议、我在下面分享了关于此问题的一些测试结果;

    1. 评估板寄存器:0x0189 --> 0x0018。 Broadcom 以太网 PHY 发送命令。  结果:寄存器:0x0018=0x7325 (LPS 检测和睡眠失败)
    2. 评估板寄存器:0x0189 --> 0x0018、寄存器:0x0180 --> 0x001b.BCM  评估 PHY 发送的睡眠命令。 结果 TI 评估板已关闭并打开(在1秒内)  
    3. 评估板寄存器:0x0189 --> 0x0018、寄存器:0x0180 --> 0x001b。 可以看到、在链路存在时、评估板已关闭并再次打开。 只有当链路存在而没有进行任何数据交换时、才看到此函数(并且我已设置寄存器0x0189和0x0180)。 在这种情况下、由于端口已中断、无法发送任何数据。 我只在将 TI 和 BCM 连接在一起时看到了这种情况、我连接了 TI 和 TI PHY 并进行了测试、但我没有看到这样的情况。
    4. 评估板寄存器:0x0189 --> 0x0018、寄存器:0x0180 --> 0x001b。  当没有链路时、TI 向 TC 发送了睡眠请求0x018c -> 0x0002 (BCM-10睡眠请求)、然后链路已连接。 结果 :TI 评估板关闭并再次打开、BCM 先返回睡眠失败、然后返回正常模式。
    5. 写入的评估板寄存器:0x0189 --> 0x0018、寄存器:0x0180 --> 0x001b、寄存器:0x018B -> 0x1c09 (如果 req 来自 TC -10、则进入待机模式)。 当没有链路时、从 TI 将0x018c -> 0x0002写入 BCM、并发送睡眠状态、同时连接了链路。 结果 :TI 卡没有断电。 BCM 未给出错误并保持正常模式。
    6. 评估板寄存器:0x0189 --> 0x0018、寄存器:0x0180 --> 0x001b、寄存器:0x018B -> 0x1c09。 当没有链路时、从 BCM 发送睡眠请求、然后连接链路。 结果 :TI 板上没有断电。 当 BCM 处于正常模式时、一段时间后链路连接断开。
    7. 评估板寄存器:0x0189 --> 0x0018、寄存器:0x0180 --> 0x001b。 链路断开时、从 BCM 发送睡眠请求、然后连接链路。 结果 :TI 板关闭 并打开、返回 BCM 睡眠错误、然后进入正常模式。

    我将 TI 评估卡打开和关闭的那一刻解释为进入和退出睡眠模式。 这种情况会在1-2秒内发生。 此外、在此测试中、TI 是从器件、BCM 是主模式。

    此致、

    Faruk

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

    尊敬的 Faruk:

    听起来该器件正在进入睡眠模式、然后再次被唤醒。 请确认 TI PHY 和 BCM PHY 上的 WAKE 引脚均为低电平。  

    请注意、您可能还需要设置0x18B[11]= 0。 这样可以避免在 MDI 或 MAC 接口上存在活动时停止睡眠协商。  

    谢谢、

    David  

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

    您好、David、

    我尝试设置0x018B[11]=0、然后 TI 评估板进入睡眠模式并保持在该模式、但存在奇怪的情况。

    如果在链路存在时按顺序写入寄存器(0x0180->0x001B、0x018B->0x140b、0x0189->0x0018)、则 TI 评估板在连接到 BCM 时直接进入睡眠状态(TI 评估板不会等待从 BCM 进入睡眠模式的睡眠请求)。 当我在 TI Phy 和 TI Phy 之间尝试相同情况时、我没有遇到类似的情况。

    如果我在链路未连接时设置寄存器并等待一段时间、然后连接链路、则此 TI 评估板在链路连接后进入睡眠状态。

    这两者之间有什么区别吗?

    此致、

    Faruk

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

    尊敬的 Faruk:

    大卫不在办公室。  我希望他能在下周初更详细地跟进。

    我想知道 BCM 是否以某种方式发送 LPS 符号、因为一旦建立链路、TI EVM 就会处于睡眠状态。

    是否可以设置 0x0018[0]=1并监控 0x0018[8]来检测 LPS 符号?  或者、可以监测 INT 引脚。

    谢谢、

    Drew

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

    您好、Drew、

    在之前的测试中、我检查了0x0018[8]并看到来自 BCM 的 LPS 信号、但我没有检查 INT 引脚。 但在上一次测试中、由于 TI 直接进入睡眠模式、端口连接丢失、无法读取寄存器。  

    顺便说一句,我认为这项工作将不再需要。 由于主题持续时间过长、我用不同的方法解决了问题。 以便我们结束主题。 感谢您以前提供的有用信息。

    此致、

    Faruk

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

    尊敬的 Faruk:

    您是如何解决问题的?

    -Nick

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

    尊敬的 Faruk:  

    立即关闭此主题。

    此致、

    Nick