Microchip
直播中

陈平

7年用户 145经验值
私信 关注
[问答]

LAN9355-SMI无法读取内部PHY寄存器

你好,我有LAN9355 SMI的问题。我可以正确地读取和写入所有直接访问寄存器(0x50-0x2F8)。但是,当我试图通过PMI_ACCESS(0xA8)和PMI_DATA(0xA4)读取PHY寄存器时,我只能从任何地址和寄存器中读取0xffff。我已经尝试对所有的PHY ID(0到31)和所有寄存器(0—31)进行验证。这是我的PHY寄存器读取的代码片段:看起来所有的内部PHY都被禁用或不可用。哪里会有问题?

回帖(5)

李蕊

2020-3-18 08:35:32
用户ANDY123有一个显示间接代码访问的好片段。他在这个线程中显示了LAN9303问题。树=真
举报

申换换

2020-3-18 08:40:32
看起来这个线程对我没有任何用处,我把我的代码和LAN933的Linux驱动程序的片段进行了比较。我发现没有区别——通过PMI_ACCESS和PMI_DATA的PY寄存器的读/写功能是一样的。我想我的问题是硬件或配置。也许PHY PLL被禁用(但是PHY VDD上有1.2V)也许SMI MUX没有复用到PHY(但是MNGT0附加到GND上)我不知道该检查什么,我想我已经尝试了一切。而且,我不能从PMI_DATA读回正确的值(PMI_ACCESS读回是正确的)。正常吗?
举报

杨叶

2020-3-18 08:45:59
嗨,Flubydust,你有没有把你的设计提交给微芯片LANCHECK服务:HTTP://www. MicroPC.COM/LANCHECK?Microchip将回顾您的示意图/布局,并给出一个关于应该改进的报告。
举报

申换换

2020-3-18 08:52:53
你好。今天我发现了有趣的事情:我尝试过I2C访问,一切都很好。因此,我有两种情况:(1)MNGT0管脚连接到GND-SMI模式:所有直接访问寄存器都可以读写(TEST_BYTE,ID和其他)。任何PHY寄存器都不能通过PMI_ACCESS和PMI_DATA读取-结果是0xFFFFFF 2)MNGT0管脚连接到3.3V-I2C模式:All direct访问寄存器可以读写(TEST_BYTE,ID等)。所有PHY寄存器都可以通过PMI_ACCESS和PMI_DATA读写。只有一个硬件和软件差异——MNGT0引脚。没有别的了。但我不知道它如何影响到PHY层的可访问性。最可能的事情是在内部芯片多路复用的SMI和I2C模式的一些差异。数据表中有一些复用图,但我不知道它们如何帮助我。有人对此有想法吗?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分