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.

[参考译文] TMS320F28388D:以太网仅在使用 NDK 的10Mbps 模式下工作

Guru**** 2595805 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1106832/tms320f28388d-ethernet-only-works-in-10mbps-mode-using-ndk

器件型号:TMS320F28388D
Thread 中讨论的其他器件:SYSBIOS

您好!  

我们在使用 NDK 时遇到 EMAC 模块的设置和性能问题。

问题是、由于某种原因、NDK 以10Mbps 而非100Mbps 进行通信。 我们通过两种方式验证了这一点:1)使用外部工具监控实际吞吐量;2)检查 MAC_Configuration 寄存器中建议将 EMAC 设置为10Mbps 的位14 (FES) 、如下所示:

我们的测试设置:我们在运行 TI tcpEchoF2838X 示例的 controlCARD-TMDCNCD28388D 上运行测试。 我们将主机与 在 Visual Studio 中运行简单环回代码的千兆位以太网网络芯片结合使用。 我们使用高质量的屏蔽 CAT6e 电缆通过 TMDCNCD28388D 直接连接计算机。 我们已经尝试过多台其他计算机以及其他电缆、但速度仍保持在10Mbps。  我们可以 与您私下共享项目的源代码。

此时、我们非常困惑为什么通信速度设置为10Mbps、我们不知道如何影响 NDK 的低级设置(使用 SYSBIOS RTOS 运行)。

 我们感谢您对本案例的及时响应。

 此致、

Alex

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

    尊敬的 Alex:

    将检查是否有通信速度配置、然后返回给您。

    此致

    Siddharth

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

    您好 Siddharth、

    非常感谢。 我有详细记录的问题测试案例、我可以与您私下分享。 请告诉我、这对您是否有帮助。  

    我非常期待你对此问题的支持。

    最棒的

    Alex  

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

    Alex、  

    查看了 NDK TI 驱动程序的源代码,发现 ethernet.h 中的结构 EMACF2838XLLD_initconfig 中有两个参数“linkSpeed”和“linkMode”。 函数 EMACF2838XLLD_getInitConfig 用于配置此结构。  

    只执行此操作在 ethernet.c 的 EMACF2838XLLD_getInitConfig 函数中将 linkMode 参数配置为"Ethnet_MAC_configuration_DM_full_duplex"。 我找不到针对 linkSpeed 进行的任何初始化、因此它可能采用10MBps 的默认值。  不确定没有配置 linkSpeed 参数的原因,将尝试找出参数并返回给您。  

    Siddharth

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

    Siddharth、

    感谢您的更新。 我之前也查看过 EMACF2838X.c 和 EMACF2838X.h 文件。 这也是我的问题、为什么 NDK 不使用 linkSpeed 参数来设置以太网速度。 因此、我想将此参数添加到初始化函数、然后重新构建 NDK。 但我不确定这是不是正确的方法。 更具体地说、我不确定这是唯一需要配置的参数、用于将以太网速度设置为100Mbps。 为了正确执行此类配置、可能需要将其他参数与 LinkSpeed 一起设置。

    最棒的
    Alex

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

    Alex、  

    我还在尝试弄清楚它、并且不太熟悉 NDK 代码。    由于 NDK 产品不再受支持、因此先前处理 NDK 的团队解散。   看起来它没有配置速度、因此它使用默认值10MBps。  再次浏览代码、看看我是否可以找到它。  

    此致

    Siddharth

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

    非常感谢、Siddharth。 我热切地等待 着您的回复。 这是我方面的一个非常关键的问题。

    此致、

    Alex

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

    Alex、  

    我会告诉您我是否能解决这个问题。

    此致

    Siddharth

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

    您好 Siddharth、

    我只是想跟进您在这个问题上的努力。 您能否随时向我发布您的调查结果? 这对我的结束很有时间敏感性。我非常感谢你 对此的支持。  

    谢谢、

    Alex

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

    Alex、

    由于我对 NDK 代码没有专业知识、因此在这方面没有取得太多进展、除了 NDK、还需要在 PHY 寄存器中进行一些配置。

    最好的雷加尔西

    Sddharth