发新帖本帖赏金 100.00元(功能说明)我要提问
返回列表
打印
[以太网/USB/其他总线]

LAN9252启动问题

[复制链接]
1016|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 wasdzxc123 于 2025-7-15 16:20 编辑

各位大佬, 我这边使用雅特力的单片机AT32F415与LAN9252通过SPI通讯,
do
    {
        delay_ms(5);
   
        temp = SPIReadDWord_test(0x64);
        
        readID_temp1 = temp;
        
    } while (temp!= 0x87654321);
我这边读LAN9252 0x64读不到东西, 从示波器上看单片机一直在发东西, 但是LAN9252始终没有回. LAN9252 的RST引脚一直是高电平. 一开始怀疑是初始化问题, 尝试过拉低复位, 复位后延时等待1s都不行. 也调整过单片机时钟速率, 拉低SPI时钟也没有用. VDDCR电源1.14, 65脚也正常接地, 时钟用的是有源时钟波形也稳定. 原理图下面附上, 不知道是哪里出了问题, 麻烦指导一下

2025.07.10 -- 14:15
发现芯片内部稳压器电源VDDCR去掉负载后输出高1.5低0.92的三角波, 确定65脚已经正常接地.

2025.07.10 -- 14:37
LAN9252 6号引脚VDDCR的输出多并了0.1uf和1uf的电容, 现在空载没有三角波了, 但是SPI通讯还是存在问题, 用示波器抓取发现MISO是有大约100mv极小的波形输出,这个应该就是LAN9252回应单片机MOSI的数据, 目前的问题是为什么这个引脚波形电压这么低.

2025.07.15 -- 08:20
问题解决, SPI可以正常通讯, 网口正常, twincat3可以正常识别设备.
问题:
  1. EEPROM里面没烧录从机描述文件(.xml文件)的话 ESC是不会使能SPI功能, 只有烧录了使能SPI功能的.xml文件, 才能使lan9252和MCU通讯正常
  2. 外部供电的电源存在响应慢, 上电过程存在坡度的问题. 我是用的是ITECH的IT6322给板子直接供的3.3v, 这个电源日期比较老(软件校准日期13年,出厂可能更早), 刚上电过程中存在前20ms电压上升快(上升到2v), 20ms之后呈现非常缓慢的上升过程(400ms从2v上升到3.3v), 这个过程种LAN9252的LDO因为这个坡度导致输出的1.2v呈现阶梯状的抖动, 从而使LAN9252关机或者死机, 内部的PHY不能正常工作, 电脑的网口不能识别设备, 也因此烧录不了EEPROM, 也就不能使能SPI. 更换为其他开关电源, 效果改善, 3.3v启动波形正常, 基本呈一条直线, 1.2v上电曲线正常, PHY也就能能正常工作了.
  我原来板子上的34063方案的24转5v也存在同样问题, 而且因为铺地,布局导致EMC性能较差的问题导致具体现象比直流源直接给板子供电更严重.

微信截图_20250708143102.png (443.04 KB )

微信截图_20250708143102.png

使用特权

评论回复
评论
wasdzxc123 2025-7-14 10:20 回复TA
@dffzh :15042103467, 感谢大佬 
dffzh 2025-7-11 17:09 回复TA
SPI信号线对应关系,我看了一下,确实没错。 
dffzh 2025-7-11 17:05 回复TA
搞定没?没搞定的话,把V信发我,我帮你看下。 
沙发
星空魔法师| | 2025-7-10 11:10 | 只看该作者
看起来像是硬件连接或者配置的问题。首先,确认一下SPI引脚连接是否正确,包括MISO、MOSI、SCK和CS。另外,检查一下LAN9252的供电是否稳定,以及是否满足其工作电压要求。

使用特权

评论回复
板凳
wasdzxc123|  楼主 | 2025-7-10 13:12 | 只看该作者
星空魔法师 发表于 2025-7-10 11:10
看起来像是硬件连接或者配置的问题。首先,确认一下SPI引脚连接是否正确,包括MISO、MOSI、SCK和CS。另外, ...

SPI引脚确认过了都没有问题, 单片机SPI飞线出来连接逻辑分析仪收发都正常. LAN9252我放弃了板子上的电源, 通过外部直流源供电, 确保电流充足电压稳定的情况下也出现了我描述的情况, 有没有可能是LAN9252其他引脚配置的问题呢?我这边反复看过数据手册, 还是没有什么头绪, 麻烦大佬指点一下.

使用特权

评论回复
地板
星辰伴梦| | 2025-7-10 17:58 | 只看该作者
看起来你的代码逻辑是正确的,检查一下SPI接口的连接是否正确,包括MOSI、MISO、SCLK和CS。如果这些都没问题,可能需要检查LAN9252的硬件连接,比如是否有短路或者断路的情况。

使用特权

评论回复
5
破晓战神| | 2025-7-10 19:48 | 只看该作者
看起来像是硬件连接或者配置的问题。检查一下你的SPI引脚连接是否正确,包括MISO、MOSI、SCK和CS。另外,确认一下你的SPI配置是否与LAN9252的数据手册中的SPI配置相匹配。

使用特权

评论回复
6
dffzh| | 2025-7-11 17:13 | 只看该作者
你读取的偏移地址0x64是字节顺序测试寄存器,默认值是0x87654321,你现在读不到,先看下MOSI发送的数据对不对,然后有办法确认LAN9252是否启动成功:

使用特权

评论回复
7
魔法森林精灵| | 2025-7-12 10:42 | 只看该作者
看起来你的电路设计和初始化步骤都做得挺到位的,MISO波形电压低可能是由于信号线过长或者阻抗不匹配导致的信号衰减。你可以尝试缩短信号线或者在MISO线上加一个上拉电阻看看是否有改善。

使用特权

评论回复
8
wasdzxc123|  楼主 | 2025-7-12 11:26 | 只看该作者
dffzh 发表于 2025-7-11 17:13
你读取的偏移地址0x64是字节顺序测试寄存器,默认值是0x87654321,你现在读不到,先看下MOSI发送的数据对不 ...

MOSI发送的数据我用示波器和逻辑分析仪抓了是没错的, 而且我这边用飞线的方式将单片机的SPI引脚飞到一个正常的开发板上, 虽然飞线导致信号存在不小的噪声, 但是也是可以正常通讯的. 我这边判断可能不是软件上的问题, 大概率是PCB和芯片配置方面的问题.
但是, 我用示波器抓了上电时LAN9252和EEPROM SDA和SCL的波形, 是有且正常的, 这可能是说明LAN9252是在正常工作但是配置有问题?我搞了一周了也没太搞懂这个芯片, 感谢大佬指点

使用特权

评论回复
9
dffzh| | 2025-7-14 09:01 | 只看该作者
wasdzxc123 发表于 2025-7-12 11:26
MOSI发送的数据我用示波器和逻辑分析仪抓了是没错的, 而且我这边用飞线的方式将单片机的SPI引脚飞到一个 ...

1、开发板也是LAN9252吗?如果不是,确认一下MCU的SPI配置的CPOL和CPHA是什么。
2、MCU和LAN9252的SPI信号线都是直连的?有没有串接限流电阻,有的话,测试一下电阻值,看是不是贴错了?
3、可以用示波器测试一下LAN9252的上电复位时序波形。

使用特权

评论回复

打赏榜单

wasdzxc123 打赏了 100.00 元 2025-07-15
理由:多谢大佬指点

评论
dffzh 2025-7-15 09:33 回复TA
以后遇到LAN9252/LAN9253等类似的PHY芯片问题,就知道大概得排查方向了,轻松拿捏。 
10
wasdzxc123|  楼主 | 2025-7-14 10:31 | 只看该作者
dffzh 发表于 2025-7-14 09:01
1、开发板也是LAN9252吗?如果不是,确认一下MCU的SPI配置的CPOL和CPHA是什么。
2、MCU和LAN9252的SPI信 ...

1.开发板也是LAN9252, 只不过封装不同, 开发板是QFN-64, 我的板子上是TQFP-64.
2.MCU和LAN9252的SPI信号是直连, 没有串接电阻.
3.测试复位时序波形是要复位引脚的时序吗, 下面附图, 先是上电状态, 我切断电源, 电压逐步下降, 接着上电电压上升, 我MCU给复位信号, 电压拉低100ms, 再回升.

微信图片_20250714102948.jpg (789.19 KB )

微信图片_20250714102948.jpg

使用特权

评论回复
发新帖 本帖赏金 100.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝