0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用泰克多域示波器3104解码I²C数据

multisim 来源:multisim 作者:multisim 2020-09-27 11:24 次阅读

项目概况

我将使用泰克多域示波器3104解码I²C数据,并通过顺序轮询所有地址并寻找确认(ACK)信号来确定设备的I²C地址。任何I²C设备都可以。我收到了英飞凌3D霍尔效应传感器的评估套件,并将其用作我的I²C设备。

产品 成本(和产品链接) 其他资讯
infineon3D磁性传感器2 Go套件 $ 28 套件手册 | 传感器手动 | 传感器产品简介
4位标题(0.100英寸) $ 1 数据表
Arduino Uno R3 $ 15 产品信息
双向逻辑电平转换器 三块 数据表
跳线 三块


如上所述,这里可以接受任何与I²C兼容的传感器或显示器。您无需使用电磁传感器2 Go套件。

设置电路

我使用的Arduino板具有5V逻辑。3D2GO评估套件由3.3 V供电。这意味着必须在Arduino的数据线和评估套件之间插入双向逻辑电平转换器(BD-LLC)。

要将BD-LLC插入Arduino和I²C设备之间,请进行以下连接:

从Arduino到BD-LLC上的GND

BD-LLC到3D2GO上GND的GND

从Arduino到BD-LLC上的低压(LV)的3.3V

BD-LLC上的LV至3D2GO上的3.3V

BD-LLC上的Arduino 5V至高压(HV)

Arduino SDA转HV1

Arduino SCL转Hv2

BD-LLC LV1至3D2GO SDA

BD-LLC LV2至3D2GO SCL

设置示波器

接下来,您需要设置示波器。为此,请按照下列步骤操作:

打开示波器,然后等待它完成自检。

将探头插入通道1和通道2。

将探头的接地夹连接到电路中的接地点(如有必要,请使用跨接线)。

将探头1连接到SDA,将探头2连接到SCL(如有必要,请使用跳线)。

现在,您可以打开Arduino IDE,并将以下代码上传到您的开发板上。这是一个I²C扫描器,它将扫描设备的所有地址并查找ACK响应。

//I2C Scanner from Arduino.cc

//Attribution to Krodal, Nick Gammon, Anonymous

#include

void setup()

{

Wire.begin();

Serial.begin(9600);

Serial.println(" I2C Scanner");

}

void loop()

{

byte error, address;

int nDevices;

Serial.println("Scanning...");

nDevices = 0;

for(address = 1; address <= 127; address++)

{

// The i2c_scanner uses the return value of

// Wire.endTransmission to seeIF

// a device acknowLEDged the address.

Wire.beginTransmission(address);

error = Wire.endTransmission();

if (error == 0)

{

Serial.print("I2C device found at address 0x");

if (address<16)

Serial.print("0");

Serial.print(address,HEX);

Serial.println("!");

nDevices++;

}

else if (error==4)

{

Serial.print("Unknown error at address 0x");

if (address<16)

Serial.print("0");

Serial.println(address,HEX);

}

}

if (nDevices == 0)

Serial.println("No I2C devices found ");

else

Serial.println("done ");

delay(5000); // wait 5 seconds for next scan

}

复制代码

现在,每5秒钟,Arduino将轮询I²C地址1-127。如果在被查询的地址处存在设备,则将在发送地址字节后将SDA线拉低,从而向Arduino发送确认信号。

现在,我们可以继续使用示波器对I²C总线进行解码。

对于Tektronix MDO3000或MDO4000系列示波器,请执行以下步骤,并在括号中使用通用说明。

按下通道1按钮(打开示波器通道1)

按“标签”(如果可以,请标记您的输入)

使用通用b向下滚动到“数据”(标签通道1为“数据”)

选择“插入预设标签”

使用“通道1”按钮下方的“垂直刻度旋钮” 设置每格2伏(减小信号的高度,使其占不到屏幕的一半)

使用Channel 1按钮 上方的旋钮将信号移至屏幕的中上部分

按下“向下”箭头移至“通道2”(打开示波器通道2)

使用通用b向下滚动到“ CLK”(标签通道2为“clock”)

选择“插入预设标签”

按菜单关闭按钮

按下频道2按钮

使用“通道2”按钮下方的旋钮设置每格2伏(减小信号的高度,使其不到屏幕的一半)

使用“通道2”按钮上方的旋钮将信号移到屏幕的下部中间(这将时钟信号的迹线与数据信号的迹线分开)

按下B1按钮(示波器的总线功能可让您解释和显示串行或并行数据;在这种情况下,我们正在处理I²C数据)

使用通用a在通道2上选择“ SCL”(将CLK通道分配为SCL)

使用通用b在通道1上选择“ SDA”(将DATA通道分配为SDA)

使用通用a和通用b将SDA和SCL上的“阈值”设置为“ 1 V”

将“在地址中包含R / W”设置为“是”

将“ B1标签”设置为“ I2C”(以保持跟踪状态)

将“总线显示”设置为“总线和波形”

设置“十六进制”

按“总线B1”,然后使用通用a选择“ I2C”(告诉示波器需要哪种数据类型)

选择“定义输入”

按下触发菜单按钮

选择“公共汽车”

选择“源B1-I2C”

选择“开始时触发”

按菜单关闭

使用Scale旋钮将时间刻度更改为1.00 ms

按Single捕获单个波形

使用Wave Inspector旋钮放大要更仔细检查的I²C事务的任何部分。在我的情况下,在地址0x5E之后接收到一个ACK,因为那是磁传感器芯片的地址。

以下视频引导您完成解码I²C总线所需的步骤。(在Youtube,需要一定的上网工具支持)

解码I²C总线所需的步骤


如何将数据从示波器保存到计算机解码后的数据存储在事件表中。您可以将其保存到USB驱动器或计算机中。

由于插入USB驱动器是一个简单的例子,因此我们将通过远程控制示波器来做到这一点。以下步骤特定于microsoft Windows以及Tektronix MDO3000和MDO4000系列示波器。
附带说明,我们将要做的是潜在的数据安全风险。在工作之前,请与您的IT部门联系。
我的计算机位于192.168.0.18,示波器位于192.168.0.40。对命令进行适当的调整。

以管理员身份运行CMD.EXE并键入以下内容以创建共享:

mkdir C:示波器

NET SHARE Scope = C: Oscilloscope / remark:“ TEK3104 Data” / grant:domain user,FULL//这将在您的主硬盘上创建一个名为“ Scope”的共享。您可以将其更改为所需的任何位置。确保将domain user更改为计算机连接到的域的名称,或将PC的名称更改为您用来登录Windows的用户名。

ipconfig//注意本地连接ipv4地址。在我的示例中,它是192.168.0.18。

接下来,当仍在CMD.EXE中时,使用PuTTY或telnet连接到示波器:

TELNET -O 192.168.0.40 4000//将192.168.0.40更改为您的示波器的IP,该IP在启动时显示在主屏幕上。

现在,您已通过默认端口4000上的IP地址连接到示波器。键入以下内容:

!d //清除设备。

files:mount:list?//这将显示所有已安装的驱动器。

files:mount:drive“ H:; 192.168.0.18; Scope; user; pass;”//这会在机器上的192.168.0.18处创建一个持久驱动器。

files:mount:list?//这将导致出现一个新的驱动器。

files:mkdir“ H:/ NewArticles”//在计算机上创建一个名为“ New Articles”的目录。

files:cwd“ H:/ NewArticles” //将焦点更改到该目录。

save:eventtable:B1“ eventtable.csv”//(最终)将数据保存到计算机。

结论

在不到15分钟的时间里,我们对I²C总线进行了解码,然后从整个房间将数据保存到计算机中进行分析。
现在已经建立了共享文件夹,以后的工作可以在几分钟之内完成。这种自动解码过程比仅探测信号并尝试手动解释逻辑电平要有效得多。
我使用了本文中显示的范围和过程来解码3D磁传感器2 Go的几种不同模式的I²C总线数据,并确定哪些命令对应于哪些电源模式。

责任编辑:xj

原文标题:如何在示波器上读取I2C总线

文章出处:【微信公众号:multisim】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 示波器
    +关注

    关注

    113

    文章

    6190

    浏览量

    184493
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1481

    浏览量

    123255

原文标题:如何在示波器上读取I2C总线

文章出处:【微信号:A1411464185,微信公众号:multisim】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    示波器故障记录怎么看

    在电子工程师的日常工作中,示波器是一款常用的测试仪器。然而,当示波器出现故障时,如何查看故障记录就成为了解决问题的关键。本文将为你详细介绍
    的头像 发表于 09-03 13:49 207次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>故障记录怎么看

    MDO4034C混合示波器耦合方式设置指南

    在现代电子测量中,MDO4034C混合示波器因其强大的功能和易用性而受到广泛欢迎。为了充分利用这款
    的头像 发表于 09-03 13:48 461次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b>MDO4034<b class='flag-5'>C</b>混合<b class='flag-5'>域</b><b class='flag-5'>示波器</b>耦合方式设置指南

    示波器如何调光标

    示波器是比较常见的一种示波器,今天安泰测试科技给大家讲讲
    的头像 发表于 06-06 17:25 1296次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>如何调光标

    示波器如何存储CSV文件?

    示波器可以用于各种信号的测量和分析。在实际测试中,我们经常需要将示波器采集到的波形数据保存下来,以便后续的处理和分析。
    的头像 发表于 05-07 15:10 788次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>如何存储CSV文件?

    示波器如何测量时延?

    示波器(Tektronix Oscilloscope)是一种用于测量和显示电信号的仪器。它可以通过观察电信号的波形来提供有关信号的各种信息,包括幅度、频率和时延。时延是指信号到达示波器
    的头像 发表于 05-07 15:06 519次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>如何测量时延?

    如何使用示波器测量波长?

    示波器是一种非常常用的仪器,用于测量和分析各种类型的电信号。测量波长是示波器的一项重要功
    的头像 发表于 05-07 15:06 606次阅读
    如何使用<b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>测量波长?

    示波器怎么样?

    一、示波器品牌介绍 (Tektronix)是全球领先的测量仪器制造商之一,成立于1946年,总部位于美国俄勒冈州。作为电子测量领域的
    的头像 发表于 04-28 11:27 656次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>怎么样?

    示波器保存波形csv

    一、示波器简介 示波器是电子测量领域中广泛使用的一种重要仪器设备。它可以捕捉和显示电路中
    的头像 发表于 04-28 11:26 677次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>保存波形csv

    示波器如何实时显示波形?

    示波器是一种常见的电子测量仪器,广泛应用于电子工程、通信工程、医疗设备等领域。它的主要功能是实时显示电信号的波形,从而帮助工程师和技术人员分析和调试电路。
    的头像 发表于 04-28 10:21 515次阅读

    科技全新CAN XL协议解码软件上线

    使用CAN XL帧在CAN网络中传输的数据包信号,可在当前的4、5、6系列MSO示波器上运行。该解码软件还提供错误检测、时序和协议头部分析与调试等重要功能。此外,4、5和6系列MSO也具有直观的用户界面,能够帮助客户加速CAN
    发表于 03-27 10:30 456次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b>科技全新CAN XL协议<b class='flag-5'>解码</b>软件上线

    TBS1072C示波器应用领域及参数特点介绍

    在电子测试和测量领域,示波器是不可或缺的工具。TBS1072C示波器作为业内领先的示波器之一
    的头像 发表于 01-18 10:41 372次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b>TBS1072<b class='flag-5'>C</b><b class='flag-5'>示波器</b>应用领域及参数特点介绍

    TBS1052C示波器的综合应用

    在电子测量领域,示波器是不可或缺的工具。它可以帮助工程师直观地观察电信号的波形,从而对电路和系统的性能进行深入分析。作为业内知名品牌,公司生产的TBS1052C
    的头像 发表于 01-18 10:25 284次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b>TBS1052<b class='flag-5'>C</b><b class='flag-5'>示波器</b>的综合应用

    示波器校准方法

    示波器是电子工程中不可或缺的仪器,用于测量和显示电信号的波形。示波器是一种常见的示波器品牌,确保其准确性和可靠性至关重要。
    的头像 发表于 01-08 17:46 864次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>校准方法

    示波器探头校准的重要性及步骤详解

    示波器探头校准的重要性及步骤详解 示波器探头是电子测量中常用的测试工具,用于从电路中获取
    的头像 发表于 01-08 13:50 1046次阅读

    示波器维修DPO7354C开机黑屏故障

    近日某院校送修示波器DPO7354C,客户反馈开机黑屏,对仪器进行初步检测,确定与客户描述故障基本一致。本期将为大家分享本维修案例。 下面就是
    的头像 发表于 12-15 17:16 540次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>克</b><b class='flag-5'>示波器</b>维修DPO7354<b class='flag-5'>C</b>开机黑屏故障