本帖最后由 wasdzxc123 于 2025-7-10 14:41 编辑
各位大佬, 我这边使用雅特力的单片机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的数据, 目前的问题是为什么这个引脚波形电压这么低.
|
SPI信号线对应关系,我看了一下,确实没错。
搞定没?没搞定的话,把V信发我,我帮你看下。