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.

[参考译文] LAUNCHXL2-RM57L:EMAC 和 MDIO 设置

Guru**** 2941480 points

Other Parts Discussed in Thread: HALCOGEN, DP83640

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/972768/launchxl2-rm57l-emac-and-mdio-settings

器件型号:LAUNCHXL2-RM57L
主题中讨论的其他器件:HALCOGENDP83640

您好!

我正在尝试在2Nos XL2RM57 Launchpad 之间建立通信、并且在建立链路时遇到问题。 我已经通过 HALCOGEN 选择了 MII 模式来生成代码。

Launchpad1配置为始终发送、Launchpad2配置为始终接收数据包。

我对需要遵循的初始化过程有一些疑问:

1)是否应为源(Launchpad1)和目标(Launchpad2)设置不同的 MAC 地址? (目前我已为 launchpad1和 launchpad2设置相同的 MacAddress)。

2) MACAddr 寄存器(MACAddrLo、MACAddrHi 和 MACIndex)在调试模式期间不更新。 请参阅下面随附的屏幕截图、并建议问题可能出在哪里?  

3) 3)链路寄存器(MDIO)的状态为0x0000、不与接收器建立链路。  

4) 4)我已将 MII 配置为100Mbps 速度、当前状态指示其为10Mbps。 如何更改此配置?

5) 5) MII_Tx_Clk 和 MII_RxClk 是否对 MII 的速度(10/100Mbps)有任何影响? (对于2.5MHz 和25MHz、我的速度相同、为10Mbps)

6) 6)我无法读取 launchpad1和 launchpad2的 MDIO 寄存器(PHY 状态)。 请进一步建议。

我已经为您的 reference.e2e.ti.com/.../EMACx.zip 添加了代码和 HALCOGEN 文件

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

    您好 Joel、

    请先参阅活动的 Web 服务器示例代码。 示例代码包含 PHY 配置。

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

    您好!

    1)是否应为源(Launchpad1)和目标(Launchpad2)设置不同的 MAC 地址? (目前我已为 launchpad1和 launchpad2设置相同的 MacAddress)。

    QJW>是的、两个板应使用不同的 MAC 地址。  

    2) MACAddr 寄存器(MACAddrLo、MACAddrHi 和 MACIndex)在调试模式期间不更新。 请参阅下面随附的屏幕截图、并建议问题可能出在哪里?  

    QJW>请使用此 API 将 Mac 地址分配给 EMAC 寄存器:

         void EMACMACAddrSet (uint32 emacBase、uint32通道、uint8 macaddr[6]、uint32 matchFilt)

    3) 3)链路寄存器(MDIO)的状态为0x0000、不与接收器建立链路。  

    QJW>请使用 MDIOPhyLinkStatusGet (mdioBaseAddr)读取 PHY 链路状态寄存器。  mdioBaseAddr 是 MDIO 模块寄存器的基址。

    4) 4)我已将 MII 配置为100Mbps 速度、当前状态指示其为10Mbps。 如何更改此配置?

    QJW>是否使用此函数对 PHY 自动协商寄存器进行编程? Dp83640自动协商(mdioBaseAddr、phyAddr、DP83640_100BTX | DP83640_100BTX_FD)。

    5) 5) MII_Tx_Clk 和 MII_RxClk 是否对 MII 的速度(10/100Mbps)有任何影响? (对于2.5MHz 和25MHz、我的速度相同、为10Mbps)

    QJW> 发送和接收时钟以2.5MHz 的频率运行以支持10Mb/s 运行模式、或以25MHz 的频率运行以支持100Mb/s 运行模式。

    6) 6)我无法读取 launchpad1和 launchpad2的 MDIO 寄存器(PHY 状态)。 请进一步建议。

    QJW>请使用 HALCoGen 生成的函数:  MDIOPhyLinkStatusGet ()

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

    您好 QJ、

    我正在尝试从 HALCOGEN 示例中执行回送程序,并以这种格式连接 RJ45连接器:Tx+到 Rx+,Tx-到 Rx-。

    程序在执行 MDIOPhyRegRead 函数时进入无限循环、并且未建立链接。 我已附上我的设置和代码供您参考。 请进一步建议。

    此致、
    Joele2e.ti.com/.../emacloopback.zip

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

    您好、Joel、

    您是否已解决读取以太网 PHY 寄存器的问题?