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:lwIP 问题:无法使用 MDIO 接口读取 PHY 寄存器

Guru**** 2463330 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/652584/tms570lc4357-lwip-problem-unable-to-read-phy-registers-using-mdio-interface

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

您好!

我正在使用 Hercules TMS570LC43x 开发套件。 尝试使 lwIP 演示正常工作。

根据演示页( processors.wiki.ti.com/.../HALCoGen_Ethernet_Driver_and_lwIP_Integration_Demonstration )中的指南,我已经按照 TMS570LC43x 指令配置了 Halcogen 项目。

从 Halcogen 生成代码后、我使用了 lwIP 源代码和演示架构中给出的示例。

我还启用了板上的 DIP 开关以启用以太网。

在压缩应用并将其加载到电路板后、应用会在 HL_MDIO.c、MDIOPhyRegRead 函数上的以下行挂起:

while ((HWREG (baseAddr + MDIO_USERACCESS0)& MDIO_USERACCESS0_GO)== MDIO_USERACCESS0_GO)
{
}//等待*/

baseAddr 信息如下:

名称: baseAddr
   默认值:4244080896
   十六进制:0xFCF78900

下面是 MDIO_USERACCESS0上寄存器信息的屏幕截图:



我在论坛中查找了几十个类似问题、但无法解决这个问题。

问题可能出在哪呢?

Halcogen 版本:04.06.00

Code Composer Studio 版本:7.3.0.00019


谢谢、
Erkan

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

    在 HALCoGen 引脚多路复用中、请检查"备用终端"列。 "默认终端"用于 Launchpad、"备用终端"用于 HDK。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    正如我在帖子中提到的、我已经应用了演示项目的所有说明(我想您正在提及下面的项目符号6)。 我是否应该更改其他任何部分?

    对于 TMS570LC43x 和 RM57x 器件:
    
    1.在‘Driver Enable’(启用驱动程序)选项卡下,启用 EMAC Driver 和 SCI1 Driver (EMAC 驱动程序和 SCI1驱动程序)。
    2.在‘VIM RAM’下添加 EMAC 发送和接收中断的 ISR 名称(分别为通道77和79)。
    3.在‘VIM 通道64-95’选项卡下启用这些中断。
    4.在‘PLL’选项卡下,将两个 PLL 的乘法器更改为150,这样两种情况下的输出频率都为300.00 MHz。
    5.在‘GCM’选项卡下,将 VCLK1、VCLK2和 VCLK3除法器的值更改为1,将 VCLKA4除法器更改为2,使 VCLKA4_DIV 的输出为37.50MHz。
    6.在‘PINMUX’选项卡下,在引脚复用下启用 RMII/MII。 在输入复用下、启用 MDIO (G3)、MII_COL (F3)、MII_CRS (B4)、MII_RX_DV (B11)、 MII_RX_ER (N19)、MII_RXCLK (K19)、MII_RXD[0]、MII_RXD[1]、MII_RXD[2]、 MII_RXD[3]、MII_TX_CLK。
    7.在‘EMAC’(EMAC)选项卡下,将 EMAC 地址更改为正确的地址(示例中的默认地址如上所述)。 默认情况下、物理地址为1。
    8.生成系统初始化和 HAL 代码。 

    谢谢、

    Erkan

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

    好的、我发现问题是缺少引脚复用指令。 请更新演示页面以了解缺失的说明。

    在"引脚复用"选项卡下、应按如下方式选择 MDIO 和 MDCLK:

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

    在引脚复用页面上、选中"MII"将为 MDIO 选择 G3、为 MDCLK 选择 V5。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不、不是、不是在 Halcogen v04.06.00中。

    此外、我在您的视频之一(training.ti.com/hercules-how-tutorial-ethernet)中看到了这些信息

    "下一步是导航到 PINMUX 选项卡。 我们需要将引脚功能分配给 MII 模块。 然后、我们向下滚动到引脚 G3、然后选择 MDIO。 然后到达 v5引脚并选择 MD 时钟。 PINMUX 选择现已完成。 "

    您能否检查它是否是 Halcogen 中的错误。 如果没有、请将此信息添加到演示页面。

    谢谢、
    Erkan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已经使用 Halcogen v04.07.00进行检查、并且检查 PINMUX 中的 MII 是否未启用 G3-MDIO 和 V5-MDCLK 引脚。

    请修复 Halcogen 中的错误(如果是错误)、或更新 Halcogen lwIP 演示页面上的说明。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Erkan、

    我在 HACoGen 4.07中仔细检查了 PINMUX。 在 MII 被检查后、G3-MDIO 和 V5-MDCLK 也被选择。 谢谢