TI中文支持网
TI专业的中文技术问题搜集分享网站

570和交换机芯片通信问题

Hi,
这段时间正在整理570底层驱动程序,其中在调试570和选用的一款交换机芯片(KSZ8863RLL)进行通信的时候遇到难题。
发生的现象是,570通过MDIO配置交换机芯片的参数,示波器测量MDC的频率正确,读取交换机ID号正确。
在通过570与交换机RMII接口通讯,并向交换机的另外两端口发数据,此时在570与交换机连接这一端能够通过示波器看到发送的数据线有波形和接收的数据线有波形(接收数据线上的波形质量不是很好,高电平保持时间普遍较短,过冲略大)。尽管能够看到波形但是570接收中断未能进入,同时在PC端的网口检测软件中也未能看到任何570发出来的数据。
不知道软件的配置上有没有什么遗漏的。因为该软件是在官方的DEMO板上调通过的,并且测试的又是基础功能。
帮忙看一下软件中的MAIN里面有没有什么遗漏的配置?或者是其他需要修改注意的建议?
PS:交换机的原理复用的是已经生产的产品,该产品未出现相关错误;PCB加工了两次,分别不同厂家,然而板子反应的结果和问题一致。
gaoyang9992006:

看到波形但是570接收中断未能进入,同时在PC端的网口检测软件中也未能看到任何570发出来的数据。

根据上面这句,楼主主要要解决两个问题,输入波形的中断程序和,跟PC通信的程序。

你先找到中断的例程,单独测试中断的,看看能否中断,还有单独测试跟PC通信的程序,如果都没问题,那么是你的复合代码相关部分未配置正确。

Cyrus CAO:

回复 gaoyang9992006:

使能回环是能够进入接收中断的。自发自收是没问题的,回环直到MAC不到PHY。采用查询的方式不断发,开的接收中断。

关于交换机的配置,首先也是能够在MCU中正确的读取到交换机芯片的ID,通过MDIO走标准协议。

在DEBUG下查看MCU中EMAC部分的寄存器,有个发送GOOD帧,还有广播发送帧的寄存器中都是有数据的。在接收寄存器中有个碎片帧是有数据的,接收GOOD帧等其他接收寄存器都是没有任何数据的。这样推断就是,交换机芯片应该是将数据传输给了MCU,但是在MCU的MAC接口的时候数据包就已经不完整了,不能被识别。感觉这样问题就定位到交换机和MCU直接通讯的接口上。

但是不知道下一步怎么把这个问题具体定位并解决。

Elvin wang:

回复 Cyrus CAO:

    你好,你这个问题解决了吗?我现在调试 OMAPL138的板子和 KSZ8864 交换芯片通信,也遇到跟你一样的问题,EMAC在LOOPBACK模式下,能够进入发送中断和接收中断,正常模式下,能够进入发送中断,但是在PC机上抓包,无法抓到OMAPL138发出的报文。交换机应该是工作正常的,通过SMI接口能够对交换机寄存器进行正常配置,两个PHY的端口,也有报文能正常传输,就是OMAPL138的 EMAC接口和交换机直接,发不出也收不到报文。

    跟楼主的问题现象很像,不知道楼主的问题解决了没有,解决了的话,可否提供些参考建议。

SZ1:

回复 Elvin wang:

Hi Elvin,

关于OMAPL138的问题可以到这款产品相对应的论坛跟TI omap FAE进行交流。

http://www.deyisupport.com/question_answer/dsp_arm/omap_l1x/f/54.aspx 

谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 570和交换机芯片通信问题
分享到: 更多 (0)