如何利用示波器解析I2C数据
  rWLfpslpeeJP 2023年11月02日 34 0


前言

(1)如果有嵌入式企业需要招聘校园大使,湖南区域的日常实习,任何区域的暑假Linux驱动实习岗位,可C站直接私聊,或者邮件:zhangyixu02@gmail.com,此消息至2025年1月1日前均有效
(2)最近做I2C设备移植过程中,出现了一些小问题。为了方便定位到底是硬件问题还是程序有问题,根据师傅的提醒下,打算使用示波器对I2C数据进行解析。

数据解析

示波器配置

(1)关于示波器如何使用,以及如何接线我就不赘述了。因为不同的示波器使用不太一样,具体看示波器的操作手册。不过下面这两个配置基本都是一样的。
<1>设置捕获SDA下降沿(也就是黄色的线)。因为I2C规定,SCL处于高电平时,SDA由高到低变化,这种信号是起始信号。
<2>没记错的话,我设置的捕获宽度为100us,如果宽度太低,最后的结束信号抓不到。这个建议你上机实测,也不一定要100us,看你实测结果。I2C协议规定,SCL处于高电平,SDA由低到高变化,这种信号是停止信号。

如何利用示波器解析I2C数据_数据

数据解析

(1)根据I2C协议规定,当主机发送完起始信号之后,就可以马上发送8bit的数据,然后从机发送1bit的回应信号。这种主从机交互都是8bit数据+1bit回应信号。因此,你们可以看到,我每个数据之间都间隔了1个SCL的高电平。
(2)之后就可以解析数据了,根据I2C协议规定,SCL为高电平时,SDA必须保持稳定,此时的SDA电平即为有效数据。
(3)至于回应信号,I2C规定,0为ACK,1为NACK

如何利用示波器解析I2C数据_数据_02

(4)之后就是体力活了,根据I2C从机设备手册上的协议规范,我们即可成功解析数据。

如何利用示波器解析I2C数据_数据_03

如何利用示波器解析I2C数据_逻辑分析_04

建议

(1)当时我使用示波器解析I2C数据,是因为不知道逻辑分析仪可以自动帮我们解析。。。。
(2)此事还被大佬们狠狠的嘲笑,如果有逻辑分析仪,建议逻辑分析仪,会方便很多。

参考

(1)一文看懂I2C协议
(2)AHT20 技术手册

感谢人员

(1)带我的师傅 — 李工。
(2)肯哥交流群若干大佬们。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
rWLfpslpeeJP