打印

为什么MCU I2C波形中会出现的脉冲毛刺?

[复制链接]
1265|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
I2C的波形中,经常会发现有这样的脉冲毛刺,会被认为是干扰或者器件不正常。
看到这个波形时,可以先数一下出现在第几个clock的位置,如果出现在第9clock的低电平期间,就不是干扰或者器件异常导致。
I2C的协议中,不管是地址匹配阶段还是数据读写阶段,第9clock都是ACKNACK位;
其中NACK为第9SCL上升沿时SDA高电平:
ACK为第9SCL上升沿时SDA低电平:
在地址匹配阶段由从机来回复ACK,在数据收发阶段由接受方来回复ACK
那么I2C是双向半双工通信,SDA引脚通过主机和从机共同控制,ACK回复过程意味着发送方会在通过SDA发送了8bit的数据后释放SDA控制权给接受方,此时如果最后一个波形数据BIT00,那SDA会在SCL下降沿后从拉低状态被释放,由于上拉电阻的作用SDA就会恢复到高电平,但紧接着接受方开始数据建立开启对SDA的控制权,拉低SDA引脚准备回复ACK,于是SDA信号被再次拉低。
由于整个过程是连续的,且都会在SCL9Clock的低电平期间完成,产生的波形就会像一个毛刺被误认为干扰。实际上这个波形的出现不用在意,可以不采取任何措施。
教程由GD32 MCU方案商聚沃科技原创发布,了解更多GD32 MCU教程,关注聚沃科技官网,GD32MCU技术交流群:859440462

使用特权

评论回复
沙发
duo点| | 2024-8-16 15:38 | 只看该作者
支持,原来出现这种毛刺是正常的

使用特权

评论回复
板凳
xionghaoyun| | 2024-8-16 17:40 | 只看该作者
正常的啊 单片机识别出高低电平即可

使用特权

评论回复
地板
丙丁先生| | 2024-8-16 20:54 | 只看该作者
原来如此

使用特权

评论回复
5
田舍郎| | 2024-8-16 21:44 | 只看该作者
解惑贴

使用特权

评论回复
6
GlenX| | 2024-8-17 21:36 | 只看该作者
这个如果IIC器件能正常识别就可以。
如果只是“看起来”不合格,其实有2个方面可以处理:
1.减小IIC上拉电阻
2.改善这根线对地的位置关系,例如PCB布线电容电感等影响,包括示波器接线导致的容性增大。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

170

主题

190

帖子

9

粉丝