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.

[参考译文] AM6442:无法在100M 模式下运行 RMII

Guru**** 2482225 points
Other Parts Discussed in Thread: AM6442, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1428793/am6442-unable-to-operate-rmii-in-100m-mode

器件型号:AM6442
主题中讨论的其他器件: SysConfig

工具与软件:

嗨、团队:

我在开发 RMII 接口时遇到问题:无法在100M 模式下运行 RMII。

1) 1) 搜索找不到 RMII_EN、仅 GMII-IN 和 XGMII-EN (AM6442仅支持 RMII RGMII)、这些不在 AM6442 CPSW 的接口支持范围内。
如何确保 RMII 在100M 时工作?

2) CPSW-PN_MAC-Conc-REG_k 寄存器位[8] XGIG 表示 MAC 传输速度取决于 pn-xig;TRM 无法检索 pn_xig 的相关指令? 如何使 RMII 在100模式下工作? (目前、10M 工作正常、但找不到100M 的设置方法)

3)  

我猜是因为这个芯片不支持 RMII 100Mbps 模式。 我迫切希望你能提供一个简单的例子项目全双工100M 速率在 RMII 接口模式,反驳我的观点。
关于 CTL_EN 的说明、我搜索了整个 TRM、找不到寄存器的相应 CTL_EN。 我在 AM6442的开发过程中多次遇到类似的问题、因此我不再对 TRM 有很高的信任。 这也是我怀疑该芯片不支持 RMII 100Mbps 速度的原因之一。
我真的希望你的员工能够用事实来反驳我的观点;与其反复要求我提供日志、这个 CPSW 模块的 RMII 界面的开发对我来说是令人沮丧的(信息很少、上次我问问题时、他们总是简单地要求我提供日志。 我真的希望您可以编写自己的测试演示、我认为您也会遇到与我相同的困境)。

谢谢、此致、

Jiahui

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

    嗨、团队:

    此问题是一个相关问题。 因为原始问题已锁定。 具体情况就是原来的问题。
    原问题 已提交英文论坛:e2e.ti.com/.../am6442-configure-ent1-port-to-100mbps 我已经检查过了。
    以下是补充说明:

    ① AM6442 CPSW 模块的 RMII 接口输出为10M 波特率、不是通过 PHY 转换为10M 波特率。
    ② RMII_REF_CK 是由外部时钟源提供的50MHz 时钟、而不是5MHz。
    我测量的引脚如下图所示。 我迫切希望解决 AM6442 CPSW 模块的 RMII 接口无法输出100M 波特率时序的问题、而不是将问题扩展到 PHY 的配置(我仅输出 RMII 并直接在 MCU 引脚上测试;我认为这与 PHY 无关)

    希望 TI 工程师可以注意寄存器 CPSW-PN_MAC-Conc-REG_k 的相关字段、如下:也许会有所帮助。

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

     

    感谢您的咨询和耐心等待。

    我会检查一下、然后回复给您。

    此致

    Ashwani

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

    嗨  Ashwani、

    任何更新?

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

    嗨  Ashwani、

    任何更新?

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

     

    我在度假。 因此无法对此进行检查。

    我们下周同一时间再见。

    此致

    Ashwani

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

    同时、您可以参考以下相关讨论

    (+) CPSW-AM243X:RMII 模式不适用于 AM234x (仅 RGMII)-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI MCU-PLUS-SDK 支持论坛

    您使用的是定制电路板还是 AM64-EVM 本身?

    此致

    Ashwani

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

    你(们)好

    1. 该电路板为定制型、采用 AM6442、选用的 RMII 引脚组合如上文所述。

    2. TI AM64X-EVM 电路板中已完成 CPSW RGMII 的开发。

    几乎所有与 CPSW 相关的驱动程序都是使用基于寄存器的方法开发的、这些方法已经过全面测试和验证。 这足以表明独立寄存器开发有能力这样做。 然后在定制电路板中、我会将相应的寄存器配置修改为 RMII 模式。 我发现关于 RMII 寄存器的描述很少、甚至错误(如上一篇文章中所述)。

    3. 出于保密方面的考虑,我无法向您提供注册配置。 但我认为、TRM 针对 CPSW 的 RMII 相关寄存器描述缺失或不正确。 例如、上一帖子中提到的寄存器0x08022330。

    希望大家能仔细阅读这篇文章、回答相应的问题。

    4. 我已经通过以下方法确认所选的端口是 RMII 接口。

    SoC_controlModuleUnlockMMR (SOC_DOMAIN_ID_MAIN、1);  
    *(vuint32_t*)(0x43004044)= 1;//cpsw0-port1 2选择RGMII 1选择RMII
     *(vuint32_t*)(0x43004048)= 1;//cpsw0-port2 2选择RGMII 1选择RMII
    SoC_controlModuleLockMMR (SOC_DOMAIN_ID_MAIN、1);

    5. 在 SDK C 中:在\ ti \ mcu_plus_stk_am64x_09_02/00_50 \ examples \ networking \ enet_layer_2cpsw 例程中、我曾尝试将此示例修改为 RMII 接口、但很遗憾、它甚至在10M 模式下不起作用。

    TI 是否充分验证了 RMII 接口? 您能否为 CPSW 提供 RMII 接口例程。 如果可能的话、我认为我应该能够独立解决 RMII 仅在10M 时工作、无法在100M 时通信的问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该电路板为定制版、采用 AM6442;上面的帖子中提到了使用的 RMII 引脚组合。

    我想建议您让 TI-HW 团队审阅您的原理图、以避免任何硬件问题?

    TI 是否已全面验证 RMII 接口?

    我们的测试设置仅为每个版本测试 CPSW-RGMII 模式。

    在 SDK C 中:在\ ti \ mcu_plus_stk_am64x_09_02/00_50 \ examples \ networking \ enet_layer_2cpsw routine 中、我曾尝试将此示例修改为 RMII 接口、但很遗憾、它甚至在10M 模式下都无法正常工作。[/10M]

    您是否还尝试过最新版本并确认问题、因为我可以更快地在最新基准上重现问题?

    由于保密问题、我无法向您提供寄存器配置。 但我认为、TRM 针对 CPSW 的 RMII 相关寄存器描述缺失或不正确。 例如、上一篇文章中提到的寄存器0x08022330。

    您能否让 TI 已归档的团队(FAE)(如果您与他人有联系)发出有关这方面的电子邮件?

    此致

    Ashwani

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但很遗憾、它甚至无法在10M 模式下工作。

    是否确定 PHY 配置正确?

    此致

    Ashwani

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

    嗨  Ashwani、

    您能否向 TRM 的相关工程师报告缺失 RMII 寄存器描述的问题? (我的帖子中提到了具体的遗漏和错误)

    1. 我们会和 FAE 一起做硬件设计检查

    2、 本演示不是最新的,但 SDK 版本可以从文件索引中找到,这是非常新的。 从自行开发 AM6442开始、我们从 TI 官方网站下载了不少于4个 SDK 版本。 我刚刚查看了最新的 SDK 版本说明、RMII 尚未进行测试和验证、因此不想继续更新 SDK 版本进行测试。

    3. 在其他项目中使用与 PHY 相同的电路和软件配置是正常的。
    其次、从 AM6442的 RMII-TD0 RMII-TD1 RMII-ten 信号中、波形被示波器捕获、显示为以10M 的频率运行。 我无法使它在100米处运行
    最后、我尝试将 PHY 配置为10M 模式、数据传输和接收正确无误。 这表明在我的 CPSW RMII 配置中不应出现太多错误。
    唯一的问题是、为什么 PHY 配置为100M 模式、为什么 CPSW 的 RMII 接口模式不自动调节为100M? 由于无法实现自动调整、为什么不提供寄存器配置来修改 RMII 接口时序? 我认为这应该足以表明10M 问题的来源不是 PHY 配置。

    在定制电路板中、PHY 为 AM6442的 RMII_REF_CLK 引脚提供50M 计时。 在 TRM 说明中、50MHz 时钟输入实际上可以使 RMII 以10Mbps 的速率运行、如下图所示

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    唯一问题是为什么 PHY 配置为100M 模式、为什么 CPSW 的 RMII 接口模式不自动调节为100M?

    根据我的理解、PHY 将与外部世界协商并协商工作链路速度。 MAC 将仅从 PHY 读取链路速度。

    注意
    Ashwani

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

    我已经确认将 PHY 配置为100M。 此问题也可以通过 PC 计算机进行验证。 如下图所示:

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

    经与 PC 计算机协商、我确定定制电路板内的 PHY 会在100M 模式下工作、然而、AM6442 RMII_EN RMII_TD0 RMII_TD1的时序输出处于10M 模式。 这是非常不合理的。
    我进行了测试:禁用 PHY 的100M 功能、仅保留10M 功能;其余代码保持完全不变。 AM6442 RMII_EN RMII_TD0 RMII_TD1的时序输出 仍处于10M 模式。 如下图所示:  

    PC 捕获与写入的数据一致的网络数据包。

    如果贵公司尚未对 AM6442系列的 CPSW RMII 进行任何接口测试、请进行相应的测试。 这对我来说非常重要。 我强烈怀疑 AM6442 CPSW RMII 仅支持10M 模式。

    如果有相应的测试表明 AM6442 CPSW RMII 支持100M 模式、请尽快更新到 SDK 包或发布单独的样片。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="630953" url="~/support/processors-group/processors/f/processors-forum/1428793/am6442-unable-to-operate-rmii-in-100m-mode/5513052 #5513052"]AM6442 RMII_EN RMII_TD0 RMII_TD1处于10M 模式。 这是非常不合理的。

    PHY 处于主模式。 正确吗?

    下面是一个要参考的相关主题。

    (99+) AM2432:am2432的网络故障(phy dp83822)-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    此致

    Ashwani

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

    PHY 处于主模式、具体情况如下。

    定制电路板中使用的 PHY 引脚连接如下图所示:


    如上图所示、PHY 使用 LAN8720A。 CPSW MAC (RMII)和 LAN8720A 之间的 REF_CLK 连接如下图所示:

    我已经审核了您分享的帖子。 但似乎没有什么帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我强烈怀疑 AM6442 CPSW RMII 仅支持10M 模式。

    情况并非如此、我们的客户在 AM64x/AM243x 上使用 CPSW-RMII 模式。

    如果有相应的测试表明 AM6442 CPSW RMII 支持100M 模式

    我同意、这是我们测试覆盖范围中的一个缺口。 我已将此分类为关注团队、跟踪号为 SITSW-5832

    您能否检查是否从 SysConfig 为 RMII 生成了正确的引脚多路复用?

    此致

    Ashwani

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

    大家好、我借用了 SYSCFG RMII 的相关配置进行引脚重用、如下图所示。

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

    我认为解决此问题的核心可能是 CPSW-PN_MAC-Conc-REG_k 寄存器的 XGIG 字段。 根据该字段、速率由 pn_Xgig 决定。 但在搜索 TRM 时找不到任何相关说明。

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

    您好!

    我们正在研究此 跟踪号: SITSW-5832

    但是、它不会成为 SDK 10.1的一部分、因为我们没有对其进行测试的 EVM。

    此致

    Ashwani