TI论坛
直播中

席毖庸

7年用户 1037经验值
擅长:596874
私信 关注
[问答]

LMK04821 SPI通信不了是怎么回事?如何解决?



  • 在通过SPI配置LMK04821时,发现SDIO的管脚不能正常的拉高或者拉低,导致MCU与LMK04821通信失败,SDIO的幅值一直在1.5V左右。请教一下如何处理。SDIO管脚外部上拉4.7K
    地址1f1f 数据ff

回帖(4)

李恬恬

2024-11-9 14:49:59
你是否检查了供电电压正常?SDIO作为输入操作正常吗?可以读寄存器值吗?你配置SDIO为push-pull 接口也是这种现象吗?
举报

王玲

2024-11-9 14:50:04
 你可以附上MCU与LMK04821的接线图吗?SPI 走线多长?MCU与LMK04821 SPI 接口电平兼容吗?是否共地?
举报

刘浩

2024-11-9 14:50:22
 SPI 总线上有几个主控端?SPI 走线是否经过了connector?如果有的话,断开与LMK04821 的连接,主控端输出 SPI波形是怎样的?
SPI 驱动接口是push-pull的吗? 
举报

石胜厚

2024-11-9 17:28:08
根据您的描述,LMK04821的SPI通信出现问题,SDIO管脚不能正常拉高或拉低,导致MCU与LMK04821通信失败。以下是一些建议和解决方案:

1. 检查硬件连接:
确保LMK04821与MCU之间的SPI连接正确,包括时钟线(SCK)、数据线(SDI/SDO)、片选线(CS)和电源线(VDD、VSS)。检查是否有短路、断路或接触不良的问题。

2. 检查电源供应:
确保LMK04821的电源供应稳定,VDD和VSS之间的电压在规定的范围内。如果电源不稳定,可能导致SDIO管脚的电压不稳定。

3. 检查上拉电阻:
您提到SDIO管脚外部上拉4.7K,但SDIO管脚的幅值一直在1.5V左右。这可能是因为上拉电阻值不合适。可以尝试更换上拉电阻的值,例如使用10K或22K的电阻,以确保SDIO管脚在空闲时能够稳定地保持高电平。

4. 检查SPI配置:
确保MCU的SPI配置正确,包括时钟频率、CPOL、CPHA等参数。错误的SPI配置可能导致通信失败。

5. 检查代码:
检查您的代码,确保SPI通信的初始化和读写操作正确。可以尝试使用简单的测试代码,例如发送一个已知的数据字节,然后读取LMK04821的响应,以验证通信是否正常。

6. 检查LMK04821的配置:
确保LMK04821的配置正确,包括寄存器设置和工作模式。错误的配置可能导致通信失败。

7. 检查MCU的SPI驱动:
确保MCU的SPI驱动正常工作,可以尝试使用其他SPI设备进行测试,以排除MCU SPI驱动的问题。

8. 检查LMK04821的硬件:
如果以上方法都无法解决问题,可能是LMK04821硬件本身存在问题。可以尝试更换一个新的LMK04821进行测试。

通过以上步骤,您应该能够找到问题的原因并解决SPI通信问题。希望这些建议对您有所帮助。
举报

更多回帖

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