[STM32F0] I2C设备在高频下偶发NACK,逻辑分析仪抓不到异常波形

[复制链接]
121|10
童雨竹 发表于 2025-11-10 07:25 | 显示全部楼层 |阅读模式
I2C速率开到400kHz后,偶尔读写设备会返回NACK,但波形看起来干净。感觉像是MCU和从设备“没对上拍子”,不知道是时序问题还是拉电阻选得不对。
Clyde011 发表于 2025-11-10 07:30 | 显示全部楼层
降回100kHz稳定的话,基本就能确定是时序问题。
公羊子丹 发表于 2025-11-10 07:31 | 显示全部楼层
我觉得可能是拉电阻太大,导致上升沿过慢。
周半梅 发表于 2025-11-10 07:32 | 显示全部楼层
你换个短一点的线看看?I2C线太长容易反射。
帛灿灿 发表于 2025-11-10 07:33 | 显示全部楼层
不同设备对时序容忍度不一样,可能要降速。
 楼主| 童雨竹 发表于 2025-11-10 07:34 | 显示全部楼层
我碰过一次类似问题,是因为从设备没准备好数据。
万图 发表于 2025-11-10 07:35 | 显示全部楼层
要不你在发送前加个延时试试,缓一缓。
Wordsworth 发表于 2025-11-10 07:36 | 显示全部楼层
400kHz时要注意电容效应,板上布局也影响挺大。
Bblythe 发表于 2025-11-10 07:37 | 显示全部楼层
可以用示波器看下SDA的上升沿时间,分析一下。
Pulitzer 发表于 2025-11-10 07:38 | 显示全部楼层
有些I2C器件内部会掉入低功耗,导致NACK。
Uriah 发表于 2025-11-10 07:41 | 显示全部楼层
我之前解决这个问题是加了中断保护,效果不错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

198

主题

6554

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部