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.

AWR2944: 使用LAN8720 PHY无法通过回环测试

Part Number: AWR2944

您好,

    我们想用LAN8720 PHY(RMII接口,最高支持全双工100M)构建AWR2944网口通信的功能,但是无法通过Mac回环测试与PHY回环测试。
    我们已按照TI文档中给出的方式修改了PHY的驱动,目前已有的测试与现象是:

1. Mac回环测试不通过,该部分目前没发现是哪里出现问题;

2. PHY回环测试不通过,具体现象是:PHY的时钟是正常的;PHY可以正常驱动,即可正常读取寄存器的值,并且可以有效的修改寄存器的值;在PHY回环测试中可以发送与接收数据,但是有概率(可能20%)出现MAC给PHY发送数据有错误的情况,造成回环不通过,下图是我们在MAC与PHY连接部分抓取的波形,三个通道从上到下依次是:txen,tx1,tx0:

发送10包数据的正常波形

相同代码下发送10包数据的不正常波形

3. 在保持上述回环测试中phy的驱动不改变的情况下测试TCP server示例,发现该实例可正常运行,即雷达连接到路由器后可正常分配到IP,并且与其余设备建立TCP连接并通信。但是通信中感觉有延迟,并且延迟有时长有时短。

请问我们这种现象有可能是什么原因造成的?期待您的帮助。

  • 我们最近测试发现,在选用RMII接口后,2944雷达会在REFCLK端口输出50M的时钟,而我们将PHY也设置成在REFCLK端口输出50M的时钟,导致时钟混乱,进而出现上述不正常的发送波形。目前通过将PHY的时钟设置为接收雷达的时钟后输出的波形是正常得了。但是此时PHY回环仍然无法通过。

  • 在解决时钟问题后,目前抓取RMII接口的TXEN、TX0与RX0波形是正常的。但是目前出现的问题是:给雷达烧录固件后,在不断电重启的情况下通过取消短接SOP2并且硬复位来让雷达运行回环代码,此时可以正常通过PHY回环测试;但是给雷达断电重新上电后,在只进行硬复位的情况下,PHY回环总是在固定包的最后两位数据出现错误,当给雷达断电重新上电后,会变成另一个固定包的最后两维数据出现错误。

  • 同时,在给雷达上电前先短接SOP2,然后给雷达上电,再拔掉SOP2短接帽并给雷达硬复位,此时仍然会出现上述最后两位数据错误的问题。请问,雷达短接SOP2的情况下,烧录代码前与烧录代码后2944雷达自身有什么变化吗(除了代码更新外)?

  • 你好,

    你的代码在上电后SOP2(T17)的功能是什么?

    Thanks,

    Chris

  • 您好,我使用的就是官方提供的Enet CPSW Loopback Example这个示例来测试PHY回环的。短接SOP2只是为了给雷达烧录固件,在代码中并没有检测相关引脚变化的地方。

  • 你好,

    RBL会根据不同的SOP状态运行不同的分支代码,SOP=101,烧写,SOP=001从flash上读取image运行。

    Thanks,

    Chris

  • 您好,从目前现象看,phy是正常驱动起来了,您感觉我们测试PHY回环中遇到这种问题可能是什么原因造成的呢?