在线客服
首页 > 技术文章 >
技术文章
技术文章

如何用HS6系列虚拟示波器测量和分析 I2C 信号?

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 MHzI 2 C 使用 3.3 V 5 V,因此仪器应该能够测量 0 5 V 之间的电压。由于数据传输可能很长,因此优选使用长记录长度来捕获通信。

 

WiFiScope WS6 DIFFWiFiScope WS6WiFiScope WS5WiFiScope WS4 DIFFHandyscope HS6 DIFFHandyscope HS5Handyscope HS4 DIFFHandyscope HS4Handyscope 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 以下。

 

 

设置 I 2 C 解码器

为了分析 I 2 C 信号,使用I 2 C 解码器 I/O 。通过单击对象树中的I/Os然后Decode来创建一个。

 

I2C解码器需要连接两个源,连接的第一个源被视为 SCL,第二个信号被视为 SDA 。首先将 Ch1 拖动到 I 2 C 解码器上,然后将 Ch2 拖动到 I 2 C 解码器上。

 

通过双击 I 2 C 解码器 I/O 打开的 I 2 C 解码器设置窗口现在将显示哪个源连接到解码器的 SCL 输入以及哪个源连接到解码器的 SDA 输入。

 

 

当输入连接到错误的源时,单击  交换输入按钮将交换输入。

 

I 2 C 解码器可以分析 3.3 VI 2 C 总线和 5 VI 2 C 总线。所有高于Level的信号电平均被视为逻辑“1”,所有低于Level - Hysteresis 的信号电平均 被视为逻辑“0”。解码器可以根据测量的数据单独检测两个信号的电平和迟滞,或者用户可以设置将用作电平和迟滞的电压。通常,自动电平和迟滞就可以了,因此启用自动检测电平/迟滞。

 

为了显示解码的 I 2 C 消息,使用了表接收器。通过单击对象树中的“Sinks” ,然后单击“Table”来创建一个。通过将I 2 C 解码器拖动到对象树中的表接收器上,将其连接到表接收器。

 

准备测量

现在输入通道和 I 2 C 解码器均已配置,可以执行和分析测量。

 

上面屏幕截图中显示的I 2 C 信号来自与 EEPROM 的通信。它们被 I 2 C 解码器转换为以下命令:

 

 

要清除表格以进行新的测量,请按  清除按钮。

 

I 2 C 解码器可以在默认情况下未启用的表格列中显示更多信息。单击 列选择按钮以启用或禁用表中的列。

 

当通信块比表格长时,不可能看到附加的所有文本。该表格具有自动滚动功能,始终确保底线可见。要切换此功能,请单击 自动滚动按钮。

 

要将表的内容保存到文件中,请按  “保存”按钮。

 清理脏信号

在工业环境中,测量的信号可能非常“脏”,导致串行解码器无法正确解码通信。 清理信号可以提高串行解码器正确解码信号的能力。

北京迪阳世纪科技有限责任公司 版权所有 © 2008 - 2018 著作权声明
010-62156134 62169728 13301007825 节假日:13901042484 微信号:sun62169728
地址:北京市西城阜外百万庄扣钟北里7号公寓
E_mail:sales@pc17.com.cn 传真: 010-68328400
京ICP备17023194号-1 公备110108007750