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.

[参考译文] DP83TC812R-Q1:以太网交换机问题-按照 Open Alliance 标准进行配置

Guru**** 2451970 points
Other Parts Discussed in Thread: AM2634, DP83TC812R-Q1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1497177/dp83tc812r-q1-ethernet-switch-issues---configuring-for-open-alliance-specification

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

工具/软件:

上下文:将2个 DP83TC812R-Q1 PHY 与配置为 CPSW 的 TI AM2634 Sitara 芯片配合使用。 在设置主/从配置时、我们遵循 μ`应用手册进行操作
DP83TC812、DP83TC813和 DP83TC814:根据 Open Alliance 规范合规性进行配置(修订版 E)`文档、用于提高互操作性。

问题:按照文档所述配置互操作性后、菊花链中有几个单元无法与主以太网交换机通信(Marvell 88Q5192)。 如果我们删除最后几个寄存器配置、问题就会消失。 它具有很好的重现性。 我已经概述了以下配置流程:

对于从器件(REGISTER_ADDRESS、值):

////根据 Open Alliance 规范实现的其他从器件特定配置
0x08620x0330
0x086E0x1868
0x08120x00F4
0x08160x0300
0x08730x0021
0x08960x22FF
0x089E0x0000
0x04110x3F09

//降低 MAC 接口 IO 驱动器的转换率
0x4560x21

////提高射频抗扰度性能
0x85A0x3000
0x85B0x3000

//配置 TC10互操作性
0x01890x0018
0x018B0x144B

//注意(dharak):以下寄存器在使用 CPSW 时会导致 Marvell 开关出现问题
// 0x041C、0x8802
// os_.delay(std::chrono::milliseconds(2));
// 0x041C、0x0000
// os_.delay(std::chrono::milliseconds(2));
// 0x0514、0x0640
// 0x0514、0x0600
对于主器件(REGISTER_ADDRESS、值):
//////满足 Open Alliance 规范的其他特定于主设备的配置
0x081C0x0FE2
0x08730x0021
0x089E0x0010
0x08740x6866
0x08750x6868
0x08120x00F2
0x08160x0300
0x08060x293A
0x08070x3348
0x08080x3D56
0x083E0x045F
0x08340x8000
0x08430x4639
0x08620x0330
0x08960x32CB
0x003E0x0009
0x08300x0143
0x08200x03AA
0x08260x1407
0x083D0x0047
0x080A0x0015
0x08310x0703
0x08560x0600
0x08570x0500
0x08580x0500
0x08590x0500
0x04110x3F09

//降低 MAC 接口 IO 驱动器的压摆率
0x4560x21

////提高射频抗扰度性能
0x85A0x3000
0x85B0x3000

//配置 TC10互操作性
0x01890x0018
0x018B0x144B

//注意(dharak):以下寄存器在使用 CPSW 时会导致 Marvell 开关出现问题
// 0x041C、0x8802
// os_.delay(std::chrono::milliseconds(2));
// 0x041C、0x0000
// os_.delay(std::chrono::milliseconds(2));
// 0x0514、0x0640
// 0x0514、0x0600
如果这是已知问题、或者您建议执行任何调试步骤、请告知我并帮您进行测试。 谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    FYI 如果你能得到相关团队的人来帮助我们,这将是非常感激.

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

    其他信息:在 Sitara 上、我可以看到 PHY 已正确设置为主器件/从器件、链路建立成功、两个端口上的 SQI 为7、CPSW 和 LWIP 统计信息指示正在发送/接收消息。

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

    尊敬的 Dharak:

    SNLA389修订版 B 是否有任何问题?  使用此配置时没有问题。

    有趣的是、链路状态为 up、SQI 较高。 是否触发了任何中断(寄存器0x12、0x13、0x18)? 根据  Marvell 88Q5192、链路状态是什么?

    每次下电上电时是否都会出现此问题? 重置是否可以解决问题?  

    您提到的消息是根据 Sitara 发送和接收的。 如果无法与88Q5192通信、收到的消息将来自哪里? 某些环回模式是否意外启用(PHY 寄存器0x16)? Sitara/PHY 是否显示数据包错误?

    您还能与我分享您的原理图吗? 我想回顾一下。

    谢谢、

    David

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

    您好、David:

    您能给我链接或者给我发送版本 B 的 pdf 吗? 我只能在 TI 网站上获得修订版 E。  

    每次下电上电/ Sitara 复位尝试时都会发生此问题。 重置 Marvell 开关也不能解决问题。 我尝试使用 SNLA389文档中的所有适用寄存器、只有删除我的帖子中提到的寄存器似乎才能解决该问题。  

    本周我将查看中断寄存器的状态、然后返回给您。 还将仔细检查 Marvell 交换机上的链路状态。

    接收到的消息可以来自 Marvell 交换机和网络中的另一个 Sitara。 否则它是一个封闭的网络。 当我通过 Marvell 交换机 Ping Sitara 时、我能够看到 Sitara 端的相关 LWIP 统计数据增加、即使 Marvell 端从未收到 ICMP。

    您会特别感兴趣原理图的哪个部分? 我可能会通过电子邮件共享它、但不会在这个公共论坛中共享。

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

    尊敬的 Dharak:

    请查看随附的 SNLA389B。 如果没有问题、请继续使用此脚本。

    如果您能通过电子邮件分享原理图、那就很好了。 我想看看您使用的 MAC 接口、晶体/振荡器电路和 MDI 元件、并对原理图进行一般性检查。 我想您可能已经有了我的电子邮件地址、如果没有、我将通过私人消息共享它。

    谢谢、

    David

    e2e.ti.com/.../snla389b.pdf