LOTO示波器软件功能演示之——I2C解码
本文演示I2C通信解码的测试,我们会用这个设备做一个I2C的控制发送数据,然后同时I2C跟一个I2C的芯片通信同时用示波器。我们用的是A02的这个设备。其他的设备示波器是类似的,软件都相同。
用两个通道,通道A连接到SCL时钟线,通道B连接到SDA数据线。当然还需要连接接地线。我们测试的I2C模块是3.3v电平逻辑,因此都使用X1齿轮作为探针。我们可能不清楚SCL和SDA之间的区别,并且可以反向连接,但这并不重要。我们只需要在解码时交换探针即可。我们已经连接了所需的测试环境之后,再次检查一下。
我们可以预先打开I2C解码功能。当然,也可以在采集波形后打开解码功能。我们检查解码设置是否正确 A通道为SCL, B通道为SDA。LOTO示波器的触发位于通道A上,因此我们打开通道A的触发功能。我们选择单个触发,这方便我们在捕获一组数据进行分析和解码后停止。现在示波器正在等待满足触发电平条件的信号进入。这是I2C模块的主机软件,我们用它发送一组数据,以下是已发送数据的内容 0X22 0X34 X056 0X78 …停止设备时 我们可以浏览缓冲区中波形数据的完整图片。
对于相同的I2C数据,如果选择不合适的时间标度,例如过大的时间标度,即使使用时间轴的缩放,也无法在合理的状态下缩放。所以遇到解码失败应该打更小的时间档位。比如再发一组,多放一些数据,跟前面的做区别。会发现它既捕捉, 解码也成功了,因为是合适的,就是档位和I2C的速率是合适的。一个准则就是人眼能看清高低电平,刚刚发的65 现在44 55 66 77 88 99 98,这些都发了。
现在使用的是100k HZ的工作频率,I2C的工作频率换成400k,升高I2C的速度。那我们现在再单次触发,然后发送同样的数据,然后你可以看到捕捉到了。还是这样子。
数据400k 捕捉到的0IC2地址。如图所示,121A 3 4 5 6 7 8 9 0,然后我们现在升高到800K,最高到800k的。同样把相应的时间档位升高、调小,这样能看到更高的频率。我们先不调小先看一下不调的话,会是怎么样子。这是800k hz的工作频率,看一下,它的数据也是对的,已经抓到并且解码出来了。
假如说接反了,SCl其实你接的是B通道。那你这样子看是解码不出来的,就是它的数据刚好相反,这种情况下是解码不出来的。
详情参考b站视频:
https://www.bilibili.com/video/BV18A411v7hy?from=search&seid=4581274521243909248
|