KSZ8863RLL 在MCU平台上的调试记录
前言
最近做了一个提成本的网关,双网口,PHY芯片选择的KSZ8863RLL,双口,两个PHY,内部有MAC控制器,是一个SW芯片。
提示:以下是本篇文章正文内容,下面案例可供参考
一、遇到的问题
问题就是PING不通。但是能收到广播的MAC帧。查看硬件发现,TXEN给串了个10K的电阻,改成22R,ping通了。
二、注意事项
1.硬件部分
优快云上其他的博客有说这个芯片不支持MII管理接口的,还有说什么STM32不支持的,也有用SPI/I2C进行SW芯片管理的。我这里是使用的MII接口,MDIO和MDC进行控制,确实是可已进行管理,PHY通讯是没啥问题的。这个芯片的硬件需要对这应用手册仔细进行分析研究,是作为MAC用还是作为PHY用。
下图是确定没问题的硬件电路,本人整理了大约两天的时间,对着DataSheet和AP Note 一一比较,准确无误,可以使用外部25M晶振,MII管理。PS:伸手党就直接自觉的走开就行,有手自己画。除非你没有。
2.调试PING不通时候的踩坑
当发现PING不通但是能收到广播MAC帧的时候,我进行了PHY的寄存器级别的调试,发现各个寄存器的数据都正常。
两个网口的PHY的地址分别为1,和2,可以完成自适应10/100M,
LINK/DOWN都识别正常。
PHY地址为3 的时候,相当于连接的是内部一个隐藏的PHY,无法进行10M/100M自适应,LINK一直为UP的状态。但是可以收发数据,因为这个是SW芯片,内部有SW和MAC表。
总结
这个芯片比较好用,能在MCU上实现扩展网口,并且每个RJ45的端口的状态都是可以获取的,包括LINK状态,自适应状态,
单网口也是可以直接使用的,和正常的PHY没区别。就是发热有点大,这个也算正常。