逻辑分析仪的简单使用介绍(附带i2c、串口、spi数据分析)

        本次文章给大家介绍一种便宜好用的协议分析工具,逻辑分析仪,首先声明,小飞哥作这篇介绍文章,不是为了打广告哈,

实在是因为这个小玩意很好用,有些小伙伴还不太清楚该如何使用!!!废话不多说,下图是我目前用的一种,8通道24MHZ,

一般的低速信号分析是足够用了,比较高级的功能也更高级,当然价格也更贵。话不多说,开始对这个小玩意如何使用进行简单的介绍。

图片

实验目标:

1、学会使用逻辑分析仪采集常用协议信号;

2、学会如何分析协议数据;

硬件准备:

1、逻辑分析仪

2、电路板(什么型号无所谓,能正常运行就可以)

 

一、软件安装及界面介绍

购买时候店家会给你资料包,找到上位机软件,直接根据自己电脑系统安装对应的安装包就可以了。
     安装完成之后打开界面如下图,无逻辑分析仪的时候显示Disconnected,左边是8个通道,使用

时候根据硬件连接选择对应通过进行配置,中间部分是显示我们逻辑波形的区域,右边是添加一些

协议数据格式,数据分析区域。

图片

下面先对这几个区域一一进行介绍,懂得自行跳过哈。

图片

       连接上逻辑分析仪可以看到已经显示连接了,接下来,点击标号1处红框,会出现后面的配置项,一般默认是24M,可以不做更改,也

可以选择需要的采样率,主要是跟你通讯速率有关系,要大于你的通讯速率,3处是采集的周期,也就是你要采集多长时间的波形,跟

示波器的储存深度一个意思。

图片

       这个是对每个通道的设置,第一项是波形幅值比例,通道0,1,2我调了不同的比例,效果就是这样,3处的是消除毛刺的,一般就默认

就可以了,这个功能我也没研究过。

图片

这个是触发方式选择,上升沿、下降沿,双边沿,主要跟协议信号有关系,比如串口接收数据,起始位是低电平,配置为下降沿触发就可以。

图片

       点开标号1,下拉菜单中是一些配置选项,2是保存采集到的波形数据,后面在具体介绍,3是显示的数据格式,根据自己的需要选择,4处是用户指南,

伙伴们可以听我啰嗦,也可以查看官网使用说明,英文的,可能不太好打开。

图片

点开Annotations选项,可以增加测量电平时间的组数,此处测量两组,类似示波器测量时间的标线,大家和示波器联系起来就很好理解啦。

图片

点击Analyzers选项,里面包含了很多协议,常用的串口、SPI、IIC、CAN等等,都可以进行测量。

图片

此处是协议解析部分,后面重点会讲,这里不啰嗦,界面的基本介绍就到这里,仅仅是介绍了常用的几种功能,还有些没介绍,如果有说错的大家谅解哈。


二、串口、IIC、SPI数据采集及协议解析


用到STM32F407ZGT6的开发板,主要对IIC,串口、SPI数据解析进行介绍。
1、IIC数据解析
      开始之前,以AT24C02读写为例,先对I2C协议进行一点简介,熟悉的大佬自行跳过哈。

IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线 SDA 和时钟 SCL 构成的串行总线,

可发送和接收数据。在 CPU 与被控 IC 之间、 IC 与 IC 之间进行双向传送, 高速 IIC 总线一般可达 400kbps 以上。
I2C 总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。
开始信号:SCL 为高电平时, SDA 由高电平向低电平跳变,开始传送数据。
结束信号:SCL 为高电平时, SDA 由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应

答信号, CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。


       这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要,I2C总线时序图如下面

图片


       IIC一个主机可以悬挂多个从机,通过地址线A2,A1,A0 可以实行片选的功能,那么WP这个引脚的功能就是当WP悬空或者接地的时候,表示

这时的EEPROM既可以读,也可以写,当WP接电源时,则只可以读而不能写。

 

图片

那么,对AT24C02进行读写的时序是怎样的呢,下面是从AT24C02手册摘录而来的时序图,进行简要的分析。


下图是SDA线上的时序图,SCL与SDA时序对应关系,写单字节通讯流程为:
1、发送起始信号
2、发送设备地址,高位在前
3、ACK信号,该信号由从机发出,主机接收
4、发送要操作的eeprom地址,即是要写数据到的地址
5、发送要写入的数据
6、接收从机应答信号
7、发送stop信号,通信结束

图片

多字节写入,多字节写入与单字节开始、结束相同,只不过中间多了一些数据。

图片

图片

       单字节读取,与单字节写基本流程相同,有一点不同是stop前不需要回复ack信号,要注意no ack信号是由主机发出的,多字节读取分为两种,一种是任意地址读取,

连续地址读取,任意地址读取的时候,需要先写器件地址,也就是选择从设备,然后在进行读取操作,连续地址就比较简单了,类似于单字节读取数据。

 

图片

图片

       对i2c协议及与AT24c02通讯时序简单介绍完了,如有错误之处,欢迎大家提出,自己注意哈,下面进入正题,通过逻辑分析仪采集数据并解码分析。

逻辑分析仪与电路板接线图:

逻辑分析仪开发板
CH0PB8(SCL)
CH1PB9(SDA)
GNDGND

逻辑分析仪的Analyzers选择I2C,配置I2C通道,通道0是scl信号,通道1是sda信号,接下来就可以截取数据啦。

图片

       输入写入的eeprom,从地址0开始写,写入1230,16进制也就是0x31,0x32,0x33,0x30,根据解码的数据来看,多字节写入,代码采用的

是单字节写入方式,循环调用,跟上面手册提供的有点出入,但也可以实现,接下来对数据进行分析。

图片

       首先是开始信号,接下来是发送器件地址,接收到ack信号,写eeprom地址,接收到从机ack数据,发送要写入的数据,接收到从机ack数据,

停止信号,这就是一个完整的通讯周期,小伙伴们明白了嘛。

图片

然后我们对刚才写入的数据进行读取,向上面分析的一样,读取数据之后+Nack,我们发现数据读取之后,从机并未回复ACK信号,与我们的分析一致。

图片

由于图片比较大,原图会放在网上,大家可以下载下来,对照着分析一下,熟悉协议后是非常简单的,主要工作是要熟悉i2c通讯协议格式。

对于数据波形,我们是可以直接保存为逻辑分析仪软件能够打开的格式的,我们可以进行放大等操作,怎么保存呢,只需要点击下面两步就可以啦,是不是很方便呢。

图片2、串口数据解析

       具体介绍网上相信有很多,本次主要是介绍逻辑分析仪的使用,麻烦伙伴们自行去百度一下哈。

       主要介绍一下波特率是怎么计算的,UART通信协议进行一个字节数据的传输时就是在信号线上产生八个高低电平的组合,数据传送速率用波特率来表示,即每秒钟传送的二进制

位数。例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200字符/秒=1200波特。简单

来说就是,如果你配置的波特率为9600,那么你每一bit时间就是1/9600  = 104us,一会通过逻辑分析仪来看下bit时间。

       那么进入正题吧,先来设置逻辑分析仪,通道是ch0,有了前面的铺垫,现在添加串口伙伴们应该明白了吧,连线OK后就来截取数据吧。

逻辑分析仪开发板
PA9(TXD)CH0
GNDGND

 

图片

配置项跟串口配置保持一致即可,发送的数据为embeded,接下来对单个字节进行分析

图片

图片

开始是数据起始位,中间8bit数据位,最后一字节停止位,比较简单,单bit时间内为8.75us,我们设置的波特率为115200,1/115200 = 8.68us,可能是逻辑分析仪不好有误差,时间是有点误差的。串口数据的分析就结束啦。

图片

3、SPI数据解析

同样的,我们以SPI读写flash作为实验,来对SPI数据协议进行介绍。

       SPI 是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是 Motorola首先在其 MC68HCXX 系列处理器上定义的。SPI 接口主要应用在 EEPROM, FLASH,实时时钟,

AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PCB 的布局上节省

空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

图片

以下介绍摘自:https://www.cnblogs.com/deng-tao/p/6004280.html,作者讲得很好,伙伴们可以移步去看看。
       SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。

 (1)SDO/MOSI – 主设备数据输出,从设备数据输入;
 (2)SDI/MISO – 主设备数据输入,从设备数据输出;
 (3)SCLK – 时钟信号,由主设备产生;
 (4)CS/SS – 从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设    备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低或者是拉高。

图片

       我们SPI通信有4种不同的模式,不同的从设备可能在出厂是就是配置为某种模式,这是不能改变的;但我们的通信双方必须是工作在同一模式下,所以我们可以对我们的主设备的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来控制我们主设备的通信模式,具体如下:
Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1

时钟极性CPOL是用来配置SCLK的电平出于哪种状态时是空闲态或者有效态,时钟相位CPHA是用来配置数据采样是在第几个边沿:
CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时
CPOL=1,表示当SCLK=1时处于空闲态,所以有效状态就是SCLK处于低电平时
CPHA=0,表示数据采样是在第1个边沿,数据发送在第2个边沿
CPHA=1,表示数据采样是在第2个边沿,数据发送在第1个边沿

例如:
CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。

CPOL=0,CPHA=1:此时空闲态时,SCLK处于低电平,数据发送是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。

CPOL=1,CPHA=0:此时空闲态时,SCLK处于高电平,数据采集是在第1个边沿,也就是SCLK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送是在上升沿。

CPOL=1,CPHA=1:此时空闲态时,SCLK处于高电平,数据发送是在第1个边沿,也就是SCLK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。

图片       图片

       需要注意的是:我们的主设备能够控制时钟,因为我们的SPI通信并不像UART或者IIC通信那样有专门的通信周期,有专门的通信起始信号,有专门的通信结束信号;所以我们的SPI协议能够通过

控制时钟信号线,当没有数据交流的时候我们的时钟线要么是保持高电平要么是保持低电平。

介绍到此结束,下面进行逻辑分析仪的数据分析

硬件连接:

图片

开发板与逻辑分析仪接线图

开发板逻辑分析仪
PB3(CLK)CH0
PB4(MISO)CH1
PB5(MOSI)CH2
PB14(CS)CH3
GNDGND

配置也是一样的,跟代码配置保持一致

图片

主要对读取flash内容进行分析,flash手册给出的时序如下图,cs引脚拉低使能,发送03H,在发送24bit也即是3字节地址数据,然后数据由MISO引脚输出。

图片

       结合时序图对截取到的数据进行分析,可以看到数据正如手册描述的一样,主机发送读取指令03H,接下来发送3字节地址信息,再进行数据的读取,读取数据截图,读出的数据是1234560,

也是非常的简单啦。另外,可以看出空闲时间,clk引脚是高电平,至于写数据,也是一样的分析方法,就不再赘述啦。

图片

 

       本次要分享的内容就要结束啦,做的也比较粗糙,希望对大家对于逻辑分析仪的使用有个大概的了解,不足之处,大家多多指教哈。

如果你觉得对自己有帮助的话,给个赞,点个关注,点个在看,感谢前进的道路上有你的陪伴!
 

图片欢迎大家关注 Embeded小飞哥  ,我是小飞哥,让我快点遇到优秀的你,然后一起变得更加优秀,加油!!!

小飞哥微信号:w974762670,加好友进群一起交流呀!

公众号:

  • 27
    点赞
  • 240
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
【RT-Thread作品秀】设备运行数据分析预警系统作者:林宏华 概述我们在工厂里,特别是生产重型机械的工厂里工作过的人都知道,当我们需要吊起几百斤到到几十吨的重物时,一般都会用到起重机,常见起重机又分为桥式起重机、门式起重机等,都具有自身运行轨道的起重机设备,他们的运行轨道一般根据车间的长度来安装和车间的宽度来设计制造,相当于每台起重设备都是定制的。常见的起重机有双梁和单梁,一般10吨以下多以单梁和小型双梁为主,10吨到20吨以小型双梁为主,20吨以上以双梁为主,同时还配有司机室。 由于轨道很长,所以是由多根轨道拼接而成,连接处会有缝隙,如果缝隙过大会造成起重机运行过程出现剧烈抖动,如果轨道不平,起重机运行时就会有上坡下坡的情况。设备会增加自身负载而影响运行安全。为了实时监测设备运行状态,需要一个小巧跟随设备运行的数据分析仪。可以方便安装在需要监测的部位,当超过设定相关参数的阈值时就会发出报警信息,配合这样测量的数据更加真实可靠。除了用于起重机,还可以用于船舶,游乐设施等。 开发环境本项目采用到硬件方案是:通过ART-Pi STM32H750主板上的I2C引脚和UART以及一个普通IO口就可以实现与STEVAL-MKI197V1(LSM6DSOX)六轴传感器和STEVAL-MKI192V1(LPS22HH)气压传感器的I2C通信,与广和通L610-CN-00 Cat1模块实现串口通信连接物联网平台。 除了以上的外扩硬件外,还使用到了ART-PI板载的资源,如WIFI模块的WIFI和蓝牙功能实现小程序进行蓝牙配网后启动TCP服务器,等待其他客户端连接并进行相关控制。 软件方案是: 开发源码基础:ART-PI SDK1.0,主要使用到出厂案例中的蓝牙配网 STM32CubeMX:主要用于生成相关硬件驱动 开发工具及版本:MDK5.31.0.0 ENV工具:通过menuconfig配置L610组件到工程 物联网可视化软件Node-Red:人机交互页面 阿里云物联网开发平台,其中阿里云和Node-Red是作为数据采集显示运动曲线的上位机,方便对采集的数据进行分析。 手机APP:具有TCP/IP协议,实现连接开发板WIFI。 RT-Thread使用情况概述总的来讲,RT_Thread大部分功能都用到了,因为我是基于出厂代码来添加自己的应用代码的,这里只介绍自己添加了哪些功能代码。 内核部分:使用了任务创建、任务休眠 组件部分:使用了WIFI框架来实现,网络接口驱动、轻量级的TCP/IP协议、AT指令框架、MQTT组件 软件包:使用了广和通L610模组驱动,连接阿里云软件包。 硬件框架 框架如图所示:主要用到ART-PI主板、广和通L610 cat1模组、六轴传感器和气压计。 利用ART-PI板载的WIFI/BT(AP6212A)模组实现TCP服务器,首先通过手机的微信小程序让开发板连接到无线路由器,然后创建TCP服务器。通过局域网手机软件或网络助手软件都可以连接TCP服务器。 六轴传感器和气压计是用于测量设备运行的状态,如姿态、方向、高度、温度等,通过HAL库的I2C实现数据读取。 LSM6DSOX 是小尺寸低噪声低功耗的加速度计陀螺仪二合一芯片 . 具有数字I²C、SPI 和MIPI I3CSM 串口标准输出. 是手持便携式应用的理想选择,如物联网(IoT)连接设备,穿戴,等其他应用。可利用硬件识别出的自由落体事件、6D 方向、单击和双击感应、活动或不活动、唤醒事件,来生成中断信号。可单独设定最多16 个嵌入式有限状态机,用于运动检测或手势识别,例如查看、绝对手腕倾斜、摇晃、连续两次摇晃或拿起。LSM6DSOX 还嵌入了机器学习内核逻辑,可以识别数据模式与用户定义的类别集是否匹配。应用的典型示例有跑步、行走和驾车等活动检测。 LSM6DSOX EVB提供完整的LSM6DSOX信号输出,并在VDD/VDDIO上提供所需的去耦电容,用户基于它可以快速设计自己的系统原型和设备,直接调试评估芯片的功能和性能参数。 LPS22HH 是一款高精度气压传感器,可用作数字输出气压计,具有数字I²C / MIPI I3CSM / SPI 串行接口标准输出。工作压力范围为260 hPa 至1260 hPa,器件能够以最高200 Hz 的输出数据率测量压力值。绝对精度是0.5hPa.LPM下功耗只有4uA.可以用于测量海拔高度,楼层定位,无人机定高,吸尘器吸力大小判断等应用。 LPS22HH EVB提供完整的气压计LPS22HH信号输出,并在VDD/VDDIO上提供所需的去耦电容,用户基于它可以快速设计自己的系统原型和设备,直接调试评估芯片的功能和性能参数。 广和通LTE Cat 1模组L610技术规格: (1)、L610是LTE-Cat1制式;(2)、
### 回答1: LA2016逻辑分析仪软件是一款功能强大的软件,用于分析数字电路的信号。该软件具有简单易用的用户界面,并支持多种不同的操作系统,包括Windows和Linux。它可以与多种不同的逻辑分析仪设备配合使用,如Tektronix、Agilent和LeCroy。LA2016逻辑分析仪软件可以捕捉和显示数字信号的状态,帮助用户追踪和分析数字电路中的问题。用户可以使用该软件对很多不同的参数进行配置,包括扫描速率、数据宽度和触发条件等。此外,LA2016逻辑分析仪软件还支持多种不同的分析选项,包括波形过滤、统计和图形显示等。用户可以使用这些分析工具来识别电路中的问题,加速调试和验证过程,从而提高电路的可靠性和性能。总之,LA2016逻辑分析仪软件是一款非常有用的工具,可用于分析和优化数字电路。 ### 回答2: la2016逻辑分析仪软件是一款针对数字电路设计、测试分析和调试的软件。该软件拥有强大的逻辑分析功能,可以对多种数字信号进行高速采集和分析,为用户提供全面的逻辑分析结果。 la2016逻辑分析仪软件采用了先进的图形化界面设计,让用户能够便捷地进行各种操作。同时,软件支持多种信号协议,包括SPII2C、RS232、CAN等,满足了不同用户的需求。 使用la2016逻辑分析仪软件,用户可以进行信号采集、波形分析、信号解码等操作,便捷地完成数字电路的测试和分析。同时,软件支持多种数据导出格式,用户可以将测试结果导出为txt、csv、vcd等格式,便于用户进行数据处理和存储。 总之,la2016逻辑分析仪软件拥有强大的逻辑分析功能和友好的图形界面设计,为用户提供了高效、便捷、准确的数字电路测试和分析方案。 ### 回答3: LA2016逻辑分析仪软件是一个高效、可靠的测试工具,主要用于数字电路的逻辑测试和分析。它可以对原始的高速信号进行批量采集和处理,同时提供多种数据显示和分析的方式,以帮助用户快速定位故障点、优化系统设计。 LA2016逻辑分析仪软件具有易于使用和强大的功能,支持多种接口标准,如USB、PCI和GPIB等,可以与多种型号的逻辑分析仪设备配合使用。该软件不仅可以对数字信号进行捕捉和分析,还具有强大的协议解析功能,支持多种通信协议,如I2CSPI、UART等常见的串行总线协议,以及USB、Ethernet等高速数据传输协议,方便用户进行系统级分析和调试。 此外,LA2016逻辑分析仪软件还提供多种实用工具和功能,如状态机分析、波形编辑、时序图绘制等,使用户更加容易地了解系统的运作原理和调试过程。特别是在硬件设计、系统集成、软件调试等领域,该软件可以有效增强工作效率和测试可靠性。 总之,LA2016逻辑分析仪软件是一款先进的测试工具,它具有强大的测试功能和易用性,适用于广泛的电子工程领域,在现代制造业和科学研究中发挥了越来越大的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小飞哥玩嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值