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.

[参考译文] TMS570LC4357:如何使用 Halcogen 为 RMII 配置驱动程序?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1282432/tms570lc4357-how-to-configure-drivers-for-rmii-using-halcogen

器件型号:TMS570LC4357
主题中讨论的其他器件: HALCOGENDP83640、DP83630

您好!

我们使用 TI TMS570LC4357芯片设计了定制电路板。 我正在使用 Halcogen 生成驱动程序、以便外设进行激活。

我已成功配置所有必需的外设的驱动程序、但在使用 RMII 接口配置 UDP 时遇到问题。  

我 使用的是 FreeRTOS、ADC、SPI、UDP 和 I2C。  

我使用 RMII 接口的 UDP 端口无法正常工作。 您能告诉我使用 Halcogen 激活 RMII 驱动程序的正确配置吗?

用于激活 RMII 驱动程序的步骤 I:

1>激活驱动程序,如下所示的 Halcogen -->驱动程序启用选项卡:

2>在 PINMUX 中选择 RMII -->引脚多路复用选项卡:

3> PINMUX -->输入引脚多路复用选项卡:

4>在 PINMUX 中激活 RMII -->特殊引脚复用"选项卡:

5>在 EMAC --> EMAC Global 选项卡中:

6>生成代码。

如上所述和所示、我在 Halcogen 中执行这些配置、然后生成代码以激活 RMII 驱动程序。

 

下面是硬件连接:

您能告诉我以下事项吗?

问题1:这些 Halcogen 配置是否 正确或需要更多配置?

问题2:硬件设置是否正确,特别是 MDIO 和 MDCLK?

问题3:我没有使用 Lwip。 我使用的是 FreeRTOS 函数。 我们有什么例子 ,如何使用 Lwip 库与 RMII 接口,我可以参考?

任何帮助都将是可观的。  

此致

维韦克

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

    您好、Vivek、

    要在 RMII 接口中操作 PHYTER、请遵循以下两个主题中建议的修改:

    (+) TMS570LC4357:使用 LWIP 进行 MII 和 RMII 设计-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    (+) TMS570LC4357:在网络端口上配置 RMII 模式、不能使用 lwip-1.4.1执行 ping 操作-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --
    谢谢。此致、
    Jagadish。

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

    Jagdish、您好!

    感谢您的及时响应。  

    我已经浏览了您提供的链接。 有道理。

    但在我的应用程序中,Phy (dp83825irmqr )表示我们可以将 DX_CV 用作50MHz 时钟的输出。 因为您认为这将是一个问题并且无法针对 RMII 接口进行配置? 在进行硬件更改以进行测试之前、我只是想再次确保安全。 数据表内容 如下所示:

    我的原理图:  

    请您确认并指导。 还有我可以参考的演示代码吗?

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

    您好、Vivek、

    但在我的应用程序中,phy (dp83825irmqr )指出我们可以使用 DX_CV 作为50MHz 时钟的输出。 因为您认为这将是一个问题并且无法针对 RMII 接口进行配置? 在进行硬件更改以进行测试之前、我只是想再次确保安全。 数据表显示 如下:

    您不能将 DX_CV 用作控制器 EMAC 的输出时钟、 因为按照 PHY 数据表、他们说、仅在 RMII 主模式下、它将在 DX_CV 上生成50MHz 时钟、但在我们的应用中、RMII 主模式将是控制器、RMII 从模式将是 PHY。

    因此、我在此的建议是、根据图12中给出的 RMII 从模式信令进行连接

    因此、使用一个50MHz 振荡器并为 RMII 主从模式使用时钟。

    请您验证并提供指导。 还有任何演示代码可以参考吗?

    很遗憾、我没有任何演示代码、因为即使是 HALCoGen 也不会生成 DP83825的驱动程序。

    因此 、我的建议是为 DP83640选择驱动器并比较寄存器、然后对驱动器进行必要的修改。

    --

    谢谢。此致、
    Jagadish。

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

    因此、根据您的建议、我的理解如下:

    要点1:已按照下面的更新电路原理图。 RMII 接口现在是否正确? 突出显示了修改后的部分。 有任何反馈 吗?

    第2点:我对时钟还有一个疑问。 您在上一条建议中指定了为 PHY 和 MAC 保持50MHz。 我将 PHY 的晶体从25MHz 更改为50MHz。 但 MAC 与 TMS570LC4357芯片配合使用。 所以、要表示我需要同时使用50MHz 更改 TMS570的晶体。  根据 TMS570数据表、50MHz 超出了其建议额定值。  

    我相信,我误解了你的观点。 您能详细说明一下、以便我有效理解这一点吗? 目前我的 TMS570与16MHz 连接。  

    第3点:其他所有 DX_CV 被拉至高电平。 我还在 MDIO 上有上拉电阻器。 是否有任何其他引脚需要上拉?

    第4点:PHY

           4.1:halcogen 文件为 DP83630生成驱动程序。  

           4.2:我认为  DP83630和 DP83825的驱动程序会相同、只是略有改动。  

           4.3: TI 是否提供  DP83825驱动程序?

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

    嗨@jagadish gundavarapu ,

    要使50MHz 从 MAC 到 PHY、 我们可以配置 TMS570LC4357 CHIP EMAC --> ECLK1 (焊球 A12)。

    我使用 Halcogen 配置了它。 您是否可以确认以下 halcogen 配置以在 A12上获得50MHz 输出?

    第1步:  

    步骤2:  

    这两个步骤是否足以在 A12上生成50MHz 输出?

     

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

    您好、Vivek、

    对于响应的延迟、我们深表歉意。

    第2点:我对时钟还有一个疑问。 您在上一条建议中指定了为 PHY 和 MAC 保持50MHz。 我将 PHY 的晶体从25MHz 更改为50MHz。 但 MAC 与 TMS570LC4357芯片配合使用。 所以、要表示我需要同时使用50MHz 更改 TMS570的晶体。  根据 TMS570数据表、50MHz 超出了其建议额定值。  [/报价]

    请勿更改控制器晶体。 我的意思是、我们还应该需要向控制器的 RMII_REFCLK 引脚提供50MHz 时钟。

     在 RMII 模式下、突出显示的引脚也需要50MHz 时钟。  

    Point1:原理图按如下方式进行了更新。 RMII 接口现在是否正确? 突出显示了修改后的部分。  是否有任何反馈?

    请将晶体的50MHz 时钟也路由到控制器的 RMII_REFCLK 引脚。

    如下所示:

    正如您在上面的 pic 中所看到的、这里它们将晶体50MHz 时钟输出路由至控制器引脚的 PHY 和 RMII_REFCLK 也在右侧。

    您可以在以下链接中找到上述原理图:

    TMDX570LC43HDK 开发套件| TI.com

    Point 3:其他 DX_CV 拉高。 我还在 MDIO 上有上拉电阻器。 任何其他引脚需要上拉?

    我认为即使 RX_DV 引脚也不需要上拉电阻。 我在数据表中发现仅 MDIO 引脚需要上拉电阻。

    您可以根据数据表建议对 INTR/PWRDN 使用上拉电阻。

    第4点:PHY

           4.1:halcogen 文件为 DP83630生成驱动程序。  

           4.2:我认为  DP83630和 DP83825的驱动程序会相同、只是略有改动。  

           4.3: TI 是否提供  DP83825驱动程序?

    [/报价]

    驱动器将存在于 HL_phy_dp83640中

    TI 不提供  DP83825驱动程序。 请验证为 DP83640生成的驱动程序。

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的 Jagidsh:

    非常感谢您的答复。 我现在明白你的方法了。

    我的硬件(PCB)具有配置引脚/焊球 A12的配置。

    TMS570LC4357 CHIP EMAC --> ECLK1 (焊球 A12)。

    你认为这会起作用吗? 如果是、您能否确认我在 Halcogen 中为 PHY 的50MHz 输出配置 A12的步骤是否正确?

    屏幕截图附在我之前对 A12的答复中。

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

    您好、Vivek、

    [quote userid="561817" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1282432/tms570lc4357-how-to-configure-drivers-for-rmii-using-halcogen/4871267 #4871267

    TMS570LC4357 CHIP EMAC --> ECLK1 (焊球 A12)。

    你认为这会起作用吗?

    [/报价]

    ECLK (外部时钟)引脚是不同的、它们与控制器的 EMAC 无关。 它们是用于输出时钟的引脚。

    您应该只使用频率为 K19的 RMII_REFCLK。

    --
    谢谢。此致、
    Jagadish。

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

    Jagadish、您好!

    您确定我们可以使用 K19作为来自 MAC 的50MHz 时钟输出吗?  

    TMS570LC4357的技术参考手册仅将其指定为输入引脚(当 PHY 为主时)。 没有关于从器件中的 PHY 和 EMAC 的 K19输出50MHz 的信息。   

      

    此外、如果我们可以通过 EMAC 将其用于输出50MHz、您可以指导如何在 halcogen 中配置它吗? (如果可能、提供一些屏幕截图)。

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

    您好、Vivek、

    您是否确定我们可以使用 K19作为 MAC 的50MHz 时钟输出?  [/报价]

    我不是说我们将通过 K19引脚获得50MHz 输出。 我要说、我们必须将50MHz 振荡器时钟作为基准连接到 K19引脚。 我的意思是、只需将晶体的50MHz 输出路由到控制器 K19和 PHY、如下所示:

    --
    谢谢。此致、
    Jagadish。

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

    感谢您的澄清。  

    不能为 PHY 使用50MHz 晶体吗?

    与将50MHz 晶体与 PHY 相连不同、如果我们从焊球/引脚 A12生成50MHz 并将该50MHz 参考时钟路由到 K19和 PHY X1 (如下图所示)、情况会怎么样? 这样可行吗?

     

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

    您好、Vivek、

    不能为 PHY 使用50MHz 晶体吗?

    与将50MHz 晶体与 PHY 相连不同、如果我们从焊球/引脚 A12生成50MHz 并将该50MHz 参考时钟路由到 K19和 PHY X1 (如下图所示)、情况会怎么样? 这样可行吗?

    [/报价]

    没有明确的文档来总结这个问题、但我发现几个线程、有几个线程说我们可以避免使用外部晶振。

    (13) TMS570 VCLKA4的 EMAC 要求(TMS570LS1227和 TMS570LS3137)-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    (13) CCS/RM48L952:用于 DP83848的 RM48L952-LWIP 设计-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    因此、我在这里的建议是、如果您有原型板、请尝试一下并进行测试。

    --
    谢谢。此致、
    Jagadish。