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.

XAM3359使用LAN8710A输出断线问题

Other Parts Discussed in Thread: AM3359

做了两套开发板:

一套使用XAM3359仿照BeagleBone使用LAN8710A工作于MII状态;

另一套使用XAM3359使用LAN8710A工作于RMII状态(外部50MHz晶振工作,RMII1_REFERENCE_CLK为INPUT)。

使用BeagleBone Starterware的Enet_echo例程调试,MDIO识别PHY正常,静态动态获取IP地址也都正常。

MII状态PING通无漏包,RMII模式PING通,偶有漏包,但两块开发板均有一个相同的毛病,网络连接正常后过5分钟左右就会自动断线。

而使用BeagleBone在相同例程下调试,连接正常,始终不会有掉线情况产生,电路和配置与我工作于MII的开发板一模一样,唯一区别是我使用的是样片XAM3359。

请TI的工程师帮忙解答一下这是何种问题,这个问题都困扰我大半个月了。

非常感谢!

 

  • 1. 到底是RMII还是MII模式?

    2. 你做了几块板子?都有问题么?

  • 我们做了两套板子:

    一套是LAN8710A工作在MII模式的

    另一套是LAN8710A工作在RMII模式的

    现在两套板子有一个共性的问题是:使用beaglebone的Starterware中的Enet_echo例程跑,连接PC机的网口,会在连接成功5分钟左右后自动断线,无法再连上.

    仿真环境为Windows下的CCS5.2.1.00018配合XDS100V2

  • 1. 你两个板子的现象都一样么?

    2. beagleone上没有这个现象么?

    MII和RMII的连线方式不一样,这个你们确定下分别是对的么?

  • 两个板子现象一致

    MII的连线完全仿照BeagleBone,

    RMII按照AM335x Silicon Errata的要求连的,

    两个板子的现象一致,都是例程开始跑后,用PC机PING,都能PING通,但是过几分钟就断开了,板子上的TXP\TXN不再有信号。

    两个板子的核心板是一样的,与骨头的区别是使用了Micron的LPDDR400,但是内存已经完全配置好了,测试都正常的。

    看到例程enet_echo.c里面有一段MMU设置:

    #define START_ADDR_DDR                     (0x80000000)
    #define START_ADDR_DEV                     (0x44000000)
    #define START_ADDR_OCMC                    (0x40300000)
    #define NUM_SECTIONS_DDR                   (512)
    #define NUM_SECTIONS_DEV                   (960)
    #define NUM_SECTIONS_OCMC                  (1)

        REGION regionDdr = {
                            MMU_PGTYPE_SECTION, START_ADDR_DDR, NUM_SECTIONS_DDR,
                            MMU_MEMTYPE_NORMAL_SHAREABLE(MMU_CACHE_WT_NOWA,
                                                         MMU_CACHE_WB_WA),
                            MMU_REGION_NON_SECURE, MMU_AP_PRV_RW_USR_RW,
                            (unsigned int*)pageTable
                           };

    这一段似乎是针对512MB内存的,不知道对我有没有影响

    我后来改成了#define NUM_SECTIONS_DDR                   (128)

    断线问题任然存在。

  • 是Micron的128MB LPDDRF400

  • 您看看这个http://circuitco.com/support/index.php?title=BeagleBone#Ehternet_unable_to_obtain_a_lease.5BA4_Only.5D

  • 已经确认过上下拉电阻,与BeagleBone A6的接法一致,MII断线问题任然存在。

  • 如果和beaglebone一样的软件和硬件,还是有问题,看能不能找LAN8710A的支持工程师也看看,看看具体在什么地方挂了

  • 问题已解决,是50M晶振的使用问题,现在改成50M有源晶振直接传导给RMII_REF_CLK就都正常了。

    不知道AM3359的PG2.0啥时候出样片,我现在RMII状态无法从EMAC启动,据说2.0彻底解决了这个问题。

  • 谢谢分享。你可以选择合适的phy来搞定RMII的启动,可以参考errata,我们GP EVM的phy就可以支持网卡启动