1简介
2要求
2.1测量
2.2分析
3设置硬件
4设置软件
4.1设置输入通道
4.2设置时基
4.3设置触发器
4.4设置 I 2 C 解码器
5准备测量
6清理脏信号
介绍
I 2 C(内部集成电路)是一种串行总线,用于与低速外设交换数据。I 2 C 使用两条双向线:串行数据 (SDA) 和串行时钟 (SCL)。使用的典型电压为+5 V 或+3.3 V。最常见的I 2 C 总线模式为400 kbit/s 快速模式、100 kbit/s 标准模式和10 kbit/s 低速模式。还提供 3.4 Mbit/s 的高速模式。
I 2 C使用7位或10位地址,具体取决于设备,有16个保留地址,这意味着同一总线上最多可以有1008个节点进行通信。可能有两种类型的节点:主节点和从节点。I 2 C 设备使用专用协议相互通信。
当 I 2 C 总线上的设备无法正常通信时,一定出现了问题,并且必须找到错误。使用示波器可以轻松测量I 2 C 总线中两个信号的电气参数。但是,当电气参数都正常时,必须对信号进行分析,以检查通信协议是否正确执行。
要求
测量
为了测量I 2 C信号,需要具有至少两个通道的测量仪器。I 2 C 总线上的最大频率取决于总线类型,仪器必须在两个通道上以至少总线上最大速度的两倍进行采样,但最好高出五到十倍。对于 100 kbit/s 总线,这意味着两个通道上的最小采样频率至少为 1 MHz。I 2 C 使用 3.3 V 或 5 V,因此仪器应该能够测量 0 到 5 V 之间的电压。由于数据传输可能很长,因此优选使用长记录长度来捕获通信。
WiFiScope WS6 DIFF、 WiFiScope WS6、 WiFiScope WS5、 WiFiScope WS4 DIFF、 Handyscope HS6 DIFF、 Handyscope HS5、 Handyscope HS4 DIFF、 Handyscope HS4和 Handyscope HS3 是测量 I 2 C 信号的合适仪器。
分析
为了检查测量信号中的通信协议,必须检查两个信号上的各种脉冲,并且必须在 I 2 C 命令中转换它们的序列。
TiePie 工程多通道示波器软件能够使用 I 2 C 解码器分析I 2 C通信协议。
在此示例中,使用 Handyscope HS5 测量正在访问的 I 2 C EEPROM 上的 I 2 C 信号。
设置硬件
首先将 Handyscope HS5 连接到计算机并启动多通道示波器软件。
现在将 Ch1 连接到 I 2 C 总线 的串行时钟信号,将 Ch2 连接到 I 2 C 总线的串行数据信号。两个输入通道的接地端子必须连接到与 I 2 C 总线使用的同一地。
设置软件
设置输入通道
我们使用 Ch1 测量串行时钟信号 (SCL),使用 Ch2 测量串行数据信号 (SDA)。为了简化信号的识别,可以给它们一个描述性的名称(别名)。要更改通道的别名,请右键单击对象树中的通道并选择 别名...,然后输入所需的别名。为 Ch1 指定别名“SCL”,为 Ch2 指定别名“SDA”。
I2C 总线上的信号介于 0 V 和 +3.3 V 或 +5 V 之间。因此,将两个通道的通道输入耦合设置为“DC”,并将两个通道的输入灵敏度设置为“8 V”满量程。这样就可以正确测量两个信号电平。
设置时基
我们示例中的I 2 C 信号是在 100 kbit/s 总线上测量的,因此频率最高可达 100 kHz,这意味着所需的最低采样频率必须为 200 kHz。然而,这会导致每个周期只有 2 个样本,勉强足以识别信号,但不足以正确分析信号。因此,将采样频率设置为至少 1 MHz。
由于 I 2 C 通信可能需要几毫秒,因此优选较长的记录长度,以捕获尽可能多的通信。本例中,测量的是相对较短的通信,因此记录长度设置为20000个样本。当预计通信时间较长时,请将记录长度设置为较长的值,例如 100000 个样本。
设置触发器
SCL 和 SDA 在空闲状态下均为高电平。当通信开始时,首先将 SDA 线拉低。因此,选择Ch2作为触发源,将触发模式设置为“下降沿”,并将触发电平设置为信号一半的值,例如1.5 V。将触发迟滞设置为例如0.5 V。当Ch2时,将发生触发测量下降沿,其中信号最初高于 +2 V,然后降至 1.5 V 以下。