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.
您好!
我们使用 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驱动程序?
要使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 也在右侧。
您可以在以下链接中找到上述原理图:
Point 3:其他 DX_CV 拉高。 我还在 MDIO 上有上拉电阻器。 任何其他引脚需要上拉?我认为即使 RX_DV 引脚也不需要上拉电阻。 我在数据表中发现仅 MDIO 引脚需要上拉电阻。
您可以根据数据表建议对 INTR/PWRDN 使用上拉电阻。
[/quote]第4点:PHY
4.1:halcogen 文件为 DP83630生成驱动程序。
4.2:我认为 DP83630和 DP83825的驱动程序会相同、只是略有改动。
4.3: TI 是否提供 DP83825驱动程序?
[/报价]驱动器将存在于 HL_phy_dp83640中
TI 不提供 DP83825驱动程序。 请验证为 DP83640生成的驱动程序。
--
谢谢。此致、
Jagadish。
尊敬的 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 #4871267TMS570LC4357 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。