调试助手——逻辑分析仪

发布者:Howard_Sun最新更新时间:2015-05-15 来源: ednchina关键字:调试助手  逻辑分析仪 手机看文章 扫描二维码
随时随地手机看文章
单片机开发工程师和电子爱好者,每天都要和各种各样的数字电路打交道。在制作调试电路时会使用万用表、示波器等工具,但是某些电路,用示波器测量起来就有些力不从心了,这是可以借用逻辑分析仪来做测试。那么网友们会问,什么时候应该使用示波器,什么时候应该使用逻辑分析仪呢?下面残弈悟恩简单对两者做一个比较。

10.1 示波器和逻辑分析仪的比较

10.1.1 何时使用示波器?
  • 当您需要看到信号上小的电压变化
  • 当您需要很高的时间间隔精度

一般来说,在需要高垂直或电压分辨率时应使用示波器。即如果您需要看到如图10-1所示的每一微小电压变化,就应使用示波器。许多示波器,包括新一代数字示波器,还能够提供非常高的时间间隔分辨率。也就是能以很高的精度测量两个事件间的时间间隔。总之,当您需要参数信息时,就应使用示波器。

   1.jpg

图10-1

10.1.2 何时使用逻辑分析仪?

  • 当您需要同时看到许多信号
  • 当您需要以与硬件相同的工作方式观察系统中的信号
  • 当您需要在若干信号线的高或低电平上进行码型触发,并观察结果

逻辑分析仪源于示波器。它们用和示波器相同的方式展现数据,水平轴代表时间,垂直轴代表电压幅度。但与示波器提供很高的电压分辨率及时间间隔精度不同,逻辑分析仪能同时捕获和显示数百个信号,这是示波器达不到的。当系统中的信号穿越阈值电平时,逻辑分析仪的反应与您的逻辑电路相同。它能识别信号是低电平还是高电平。它也能在这些信号的高和低电平的码型上触发。一般来说,当您需要观察多于示波器通道数的信号线,并且不需要精密的时间间隔信息时,就应使用逻辑分析仪。如果您需要得到像上升和下降时间这类参数信息时,逻辑分析仪并非好的选择。而在观察总线 — 例如微处理器地址、数据或控制总线上的时间关系或数据时,逻辑分析仪是特别有用的。逻辑分析仪还能解码微处理器总线信息,并以有意义的形式呈现。总之,当您完成了参数设计阶段,开始关注许多信号间的定时关系和需要在逻辑高和低电平码型上触发时,逻辑分析仪就是有利的工具,如图10-2所示。

2.jpg

图10-2 逻辑分析仪采样图

10.2 什么是逻辑分析仪

逻辑分析仪是利用时钟从测试设备上采集和显示数字信号的仪器,最主要的作用在于时序判定。逻辑分析仪与示波器不同,它不能显示连续的模拟量波形,而只显示高低两种电平状态(逻辑1和0)。使用逻辑分析仪,可以方便地设置信号触发条件开始采样,分析多路信号的时序,捕获信号的干扰毛刺,也可以按照规则对电平序列进行解码,完成通信协议分析,如1wire、I2C、UART、SPI、CAN等数据的时候,应用逻辑分析仪解决问题可以达到事半功倍的作用。

10.2.1 逻辑分析仪的工作原理

3.jpg

图10-3 数据采集原理图

在设置了参考电压(阈值)后,逻辑分析仪将采集到的信号与电压比较器比较,高于参考电压的为逻辑1,低于参考电压的为逻辑 0。这样就可以将被测信号以时间顺序显示为连续的高低电平波形,便于使用者进行分析和调试,如图10-3所示,就是以“阈值”作为参考值来采样的数据图形。

10.2.1 逻辑分析仪的分类

逻辑分析仪根据其硬件设备的功能和复杂程度,主要分为独立式(单机型)逻辑分析仪和基于电脑(PC-Base)的虚拟逻辑分析仪两大类。独立式逻辑分析仪是将所有的软件,硬件整合在一台仪器中,使用方便。虚拟逻辑分析仪则需要结合电脑使用,利用PC强大的计算和显示功能,完成数据处理和显示等工作。

专业逻辑分析仪,通常具有数量众多的采样通道,超快的采样速度和大容量的存储深度,但昂贵的价格也不是每个穷屌丝所能承受起的。作为工程师手头常备的开发工具,目前有许多入门级的逻辑分析仪设计,整体功能虽然不能和专业高档仪器相比,但是用较低的成本来实现特定的功能,也是非常成功的设计。

另一类的逻辑分析仪,是以低速单片机为基础的。很多爱好者用PIC、AVR等常见单片机设计了自己的作品。但这类基于单片机的逻辑分析仪共同弱点就是采样速度太慢,通常不超过1MHz。

以USB IO芯片为基础的入门级逻辑分析仪现在最为流行。比如Saleae logic(实物如图10-4所示),还有类似的USBee等。这类产品主要采用一个USB IO芯片,例如CYPRESS公司的CY7C68013A,所有的信号触发和处理工作都是电脑上的软件完成的,硬件部分就只是一个数据采集、记录仪。最高采样速度24MHz。它们可以“无限数量”地采样,因为所有的数据都是存储在电脑里的。目前一般最多是8个通道,更多的通道数量会成比例地降低最高采样速度。这类产品构造简单,方便易用,价格便宜,是调试单片机开发工作的好工具。它的缺点主要是采样速度只有24MHz、8个通道,对于分析高速并行总线就不能胜任了。更进一步的设计,需要增加FPGA、SRAM等器件,才能解决速度不够和通道数量不足的问题。

图10-4 Saleae logic Analyzer实物图

10.3 Logic软件的相关概述

上面我们已经提到,这个逻辑分析仪需要借助软件来完成,因此我们首先的安装该上位机软件。[page]

10.3.1 Logic软件的安装

首先安装logic software,软件可以到找我索取,同时也可以到官方网站下载,下载地址是:http://www.saleae.com/downloads。这里有各种系统版本的软件,请网友们按自己电脑的系统、处理器类型选择合适的版本,如图10-5所示,这里残弈悟恩选择“Windows”下的“64 bit”软件(原因1:我用的是Win7系统;原因2:我用的是:64位电脑)。

4.jpg

图10-5 Saleae官网各版本的下载界面图

下载完成之后,直接双击安装应用程序,安装完后,会在桌面出现一个快捷方式 ,双击快捷方式,进入软件,界面如图10-6所示(注意我已经修改过该软件的通道名称了,所以4、5、6通道的名称有别)。

5.jpg

图10-6 Logic1.1.15软件界面图

这个逻辑分析仪软件在没有插入硬件或链接不正常的时候,最上边会显示为如图10-6红色圈内部的“Disconnected”,表明软件还没正确链接,这时当然可以进行模拟运行,即单击绿色圈“Start Simulation”按钮,此时会出现一个模拟的波形,如果你提前设置协议的话(具体如何设置协议,后续自由答案),他还会产生符合你设置的协议波形图!这种波形是为了哄你高兴的,一点都不真实,点鼠标左键放大波形,右键缩小波形,滚动鼠标滑轮也可以放大和缩小波形,模拟波形如图10-7所示。

6.jpg

图10-7 模拟波形图

10.3.2 驱动的安装

软件安装完成后就可以链接硬件了,用我提供的优质USB线链接逻辑分析仪和PC之后,会自动提示发现新硬件,然后出现一个如图10-8所示的对话框,这里直接选择“点自动安装软件(推荐)”则OK,接着单击“下一步”按钮,这样就会自动安装好驱动,此时如图10-6所示的红色圈中的“Disconnected”会变成“Connected”,表明硬件链接无误,可以开始真正的逻辑分析了。

省略

图10-8 驱动安装示意图

10.3.1 采样深度和采样频率

逻辑分析仪中有2个非常重要的参数,分别是采样深度和采样频率,如图10-9所示。第一个就是采样深度,第二个是采样频率,前边那个5M代表我们从开始采集,一共采集到5Mbit个数据他就自动停止了,后边的1M代表我们1s钟可以采集1M个bit位的数据,这样算下来,采集此次数据所用的时间为:5 / 1 = 5s钟时间。

7.jpg

图10-9 采样深度和频率示意图

一、采样频率:每秒钟采集信号的次数。例如Saleae逻辑分析仪的最大采样率是24M,那么也就是说它一秒钟可以采集24M 个样点,即每 1/24 us 采集一个样点,并且高于阈值电压的认定为高电平,低于阈值电压的认定为低电平。加入你的信号是 1M 的频率,你用 24M的采样率去采集,那么一个信号周期我就可以采集 24次,最后用我们小学学过的描点法把采集到的样点连起来,就会还原出信号。根据奈奎斯特定律,采样率必须是信号频率的 2倍以上才能还原出信号,因为逻辑分析仪是数字系统,算法简单,所以最低也是4倍于信号的采样率才可以,为了提高精度,一般选择10倍左右为好。

二、存储深度:我们刚才说了采样率,那采集到的高电平或者低电平信号,我们要有一个存储器存储起来,否则我们到哪里去观察。比如我们用24M的采样率,那么1秒就会产生24M个样点。一款逻辑分析仪能够存储多少个样点数,这是逻辑分析仪很重要的一个指标。如果我们的采样率很高,但是存储的数据量很少,那也没有多大意义,例如我们抢了一火车皮的银子,但是你只拿着一个文具盒,多么可惜?逻辑分析仪可以保存的最大样点数就是一款逻辑分析仪的存储深度。通常情况下,数据采集时间 = 存储深度 / 采样率。

10.4 Saleae逻辑分析仪的使用步骤

接下来我们以一个实例来讲述如何使用逻辑分析仪。当然更具体、更直接的操作方法,还是建议大家去看视频,该视频现以录制了两讲,这里我们以IIC为例来讲述Saleae逻辑分析仪的使用过程。

1、设置协议(标准协议)。如果读者抓取的波形是标准协议,比如UART、I2C、SPI这些类型的协议,逻辑分析仪一般都会配有专门的解码器,可以通过设置解码器,不仅仅像示波器那样把波形显示出来,还可以直接把数据解析出来,以十六进制、二进制、ASCII 码等各种方式显示出来。I2C的设置过程如下。

8.jpg

图10-10 I2C协议设置过程

(1)单击图10-10“Analyzers”右边的“+”,并选择“I2C”选项。

(2)步骤1过后,将出现如图10-11所示的对话框,当然我们可以通过下拉菜单选项来选择通道,但是这里我们选择默认的。之后单击“Save”按钮,此时接着弹出如图10-12所示的对话框,意思是问你是否修改名称,这里选择默认即可,也即将通道0、1分别命名为SDA、SCL,之后单击“Rename”按钮,这时软件的通道名会随之改变,图形也有所变化。[page]

9.jpg

图10-11 I2C设置对话框

10.jpg

图10-12 名称更改对话框

2、连接硬件通道。首先我们要把逻辑分析仪的GND和待测板子的GND连到一起,以保证信号的完整性(有关信号的完整性,我会在后续的PCB章节为大家讲述,当然大家可以提前了解一下,这里为大家推荐一本好书——《EMC电磁兼容设计与测试案例分析》)。然后把逻辑分析仪的通道接到待测引脚上。Saleae逻辑分析仪有两个地,我们都链接到MGMC-V1.0实验板上。

其次,我们需要分别连接通道0、1到MGMC-V1.0实验板的P3.7、P3.6管脚上,这里网友们需要注意,这个顺序不能互换,因为P3.7和P3.6管脚分别为SDA和SCL,必须要和逻辑分析仪一一对应,连接好的硬件如图10-13所示。

11.jpg

如图10-13 Saleae逻辑分析仪与MGMC-V2.0实验板连接图

3、通道数选择。多数情况下,逻辑分析仪有8、16、32通道等。而我们采集信号的时候,往往用不到那么多通道,为了我们更清晰的观察波形,可以把不用的通道隐藏起来。

4、采样率和采样深度设置。首先要对待测信号最高频率有个大概的评估,把采样率设置到它的10倍以上,还要大概判断一下我们要采集的信号的时间长短,在设置采样深度的时候,尽量设置的有一定的余量。采样深度除以采样率,得到的就是我们可以保存信号的时间。

由于我们程序中是按10us(100KHz)为周期给的时钟脉冲,若采样率按10倍来取,那么我们这里设置采样率为1M。我们计划采样5S的时间,那么存储深度设置为5M即可。

5、设置触发。由于逻辑分析仪有深度限制,不可能无限期的保存数据。当我们使用逻辑分析仪的时候,如果没有采用任何触发设置的话,从点击“开始”按钮的那一刻就会计算时间,一直到存满我们设置的存储深度之后,采样才会停止,这样有一个弊端,所抓取的波形有些是有用的,有些是无用的,有限的存储空间,为何要被无用的信号所浪费了,那有没有解决该问题的方法呢?答案当然是肯定的。

我们前面讲述I2C协议的时候说过,SDA、SCL由于上拉电阻的作用的,在默认情况下两条线都为高电平,在主、从机开始通信的是时候,SDA会由高电平变成低电平,因此,我们在采集数据的时候,可以将SDA设置为下降沿触发(通过单击如图10-14所示的“下降沿”按钮来设置),这样,SDA为高电平时,数据不会开始采集,也即采样时间不会开始计算,直到SDA的下降沿到来,数据开始采集,采集时间开始计算,这样就很的避免了无用信号对存储空间的占有,但是对于PC机来说,一般存储空间很大,不会涉及到该问题。

由图10-14可知,该逻辑分析仪除了下降沿触发以外,还有上升沿、高电平、低电平触发方式,我们可以根据实际应用灵活使用。

省略

图10-14 触发方式设置图

6、抓取波形。逻辑分析仪和示波器不同,示波器是实时显示的,而逻辑分析仪需要点击“开始”按钮来启动,开始抓取波形后,一直采样到存储满了我们所设置的存储深度结束,图10-15为我我们采样到的一帧数据,然后我们就可以慢慢的去分析我们所抓到的信号了。

12.jpg

图10-15 采样到的数据波形图

7、数据分析。和示波器类似,逻辑分析仪也有各种测量标线,可以测量脉冲宽度,测量波形的频率,占空比等信息,通过数据分析,查找我们的波形是否符合我们的要求,从而帮助我们解决一些实际问题。

注意:在分析数据之前,我们还需按图10-16来设置一线数据显示的格式,软件默认为“Global Settings”显示方式,这里我们单击右侧的I2C“设置”(如标号1所示),再选择标号2所示的“Display …”,接着选择标号3所示的“Hexadecimal”来设置为十六进制方式,这只是习惯而已,当然选择为别的方式也是可以的。

13.jpg

图10-16 数据显示格式设置对话框

接下来我们就来简单分析一下这帧数据,如果大家对I2C协议掌握的很好的话,这里一看图就很明了了,绿点表示起始信号,红点表示结束信号,这个也完全符合我们所讲述的I2C协议;再之后就是数据,这里总共发生了5组数据,我们只拿第一组来开刀,为何是0x90,不是别的数据呢?打破砂锅问到底!!

这里我下载的是LM75的温度传感器实验,由它的数据手册(31天环游单片机视频、深入浅出玩转51单片机、单片机那些事儿中都有所讲述)可知,该器件的从地址为1001 A0A1A2 R/W,R/W为读写位,这里是写入数据,那么肯定就为低电平“0”,A0A1A2由其硬件电路方式决定,由《深入浅出玩转51单片机》的226页的图13-4可知,A0、A1、A2全都接地,所以也为低电平,这样,它的从地址就为:0b1001 0000(0x90),剩余的4组就留读者自行研究了,这里不赘。

最后关于他的周期测量、数据存储等,大家可以自行研究,或者直接观看“31天环游单片机”视频。

10.5 Saleae逻辑分析仪的使用问题和注意事项

关于最大24M的采样频率绝大多数情况来说,只要您的电脑速度够快,并且没有其他USB设备干扰的基础上,逻辑分析仪达到24M的采样频率是没有任何问题的。但是如果当前的USB设备正在被其他设备所使用,那么最大采样频率可能会有所下降,比如16M、12M、8M等。

一、Saleae 逻辑分析仪使用的是USB2.0的标准,在这种标准下,理论上最大的平均带宽可达24M,但是逻辑分析仪的优先级比较低,这样就意味着有可能“撞”到其他USB设备的通信。

二、Saleae 逻辑分析仪拥有4个512字节的缓冲区,在这4个缓冲区在被填满之前,USB必须将部分数据读出,也就是说,4个缓冲区不可以同时装满,否则数据就无法进入,逻辑分析仪也会直接报错。这就意味着,如果工作在24M的情况下,USB设备不仅要给出24M的通信速率,而且必须在4个缓冲区被填满之前,保证其他设备不占用USB资源。基于这些原因,逻辑分析仪不能够长时间一直工作在24M的采样频率下,具体取决于计算机性能,USB带宽的可用性和延迟等情况。

关键字:调试助手  逻辑分析仪 引用地址:调试助手——逻辑分析仪

上一篇:是德科技边界扫描分析仪全面提升测试效率和功能
下一篇:Pico采集卡在质谱仪器中的应用

推荐阅读最新更新时间:2024-03-30 22:58

逻辑分析仪的使用方法(教程)
逻辑分析仪是一种类似于示波器的波形测试设备,它可以监测硬件电路工作时的逻辑电平(高或低),并加以存储,用图形的方式直观地表达出来,便于用户检测,分析电路设计(硬件设计和软件设计) 中的错误,逻辑分析仪是设计中不可缺少的设备,通过它,可以迅速地定位错误,解决问题,达到事半功倍的效果。 逻辑分析仪的作用 逻辑分析仪是利用时钟从测试设备上采集和显示数字信号的仪器,最主要作用在于时序判定。由于逻辑分析仪不像示波器那样有许多电压等级,通常只显示两个电压(逻辑1和0),因此设定了参考电压后,逻辑分析仪将被测信号通过比较器进行判定,高于参考电压者为High,低于参考电压者为Low,在High与Low之间形成数字波形。例如:一个待测信号使用
[测试测量]
<font color='red'>逻辑分析仪</font>的使用方法(教程)
逻辑分析仪主要参数
逻辑分析仪有三个重要参数:阈值电压、采样率和采样深度。    阈值电压:(越宽越好) 区分高低电平的间隔。逻辑分析仪和单片机都是数字电路,它在读取外部信号的时候,多高电压识别成高电平,多高电压识别成低电平是有一定限制的。比如一款逻辑分析仪,阈值电压是:0.7~1.4V,那么当它采集外部的数字电路信号的时候,高于1.4V识别为高电平,低于0.7V识别为低电平。 采样率:(越高越好) 每秒钟采集信号的次数。比如一个逻辑分析仪的最大采样率是100M,那么也就是说他一秒钟可以采集100M个样点,即每10ns采集一个样点,并且高于阈值电压的认定为高电平,低于阈值电压的认定为低电平。我们前边学UART通信的时候学过每一位都会读取16次,而
[测试测量]
逻辑分析仪在数字电路测试中的触发选择
1 引 言 随着数字技术的日新月异,在数字系统,特别是在计算机系统的研制、调试和故障诊断过程中,由模拟系统的时域和频域分析发展起来的传统测试方法与测试仪器往往难以奏效,于是新的数据域测试的理论、方法和相应的测试仪器不断涌现。逻辑分析仪作为数据域测试仪器中最有用、最有代表性的一种仪器,性能与功能日益完善,已成为调试与研制复杂数字系统,尤其是汁算机系统的强有力工具。 在逻辑分析仪中,利用触发字或触发事件的序列来控制对数据的存储和显示,以便住数据流中挑选一个恰当的观察窗口。触发能力是逻辑分析仪最重要的指标,特别是在用逻辑状态分析仪跟踪复杂程序时,强的触发功能以及合理的触发条件设置可以使仪器在庞大而复杂的程序流中迅速找到要跟踪的目标,
[测试测量]
利用逻辑分析仪和DSO解决信号完整性问题
随着目前对通信和计算机系统速度与带宽的需求不断上升,系统设计师正面临着严峻的考验。按时序进行测试的并行总线结构已接近其能力的极限,总线宽度现达到 64位以上,致使电路布局异常复杂。此外,宽平行总线内的大量信号同步起来也非常麻烦,尤其是这些信号还会受到诸如噪声和串扰等随机因素的影响。 并行总线宽度经多年不断增长之后,如今出现了另一种朝着相反方向发展的总线技术趋势,即窄串行总线开始取代宽并行结构。例如128位并行连接将变成一个四线串行总线,当然这些变少的物理连线仍然必须传输与宽并行总线同样的数据,甚至还要更多。 串行总线一般以打包的形式传送数据,分包传输通过物理层技术完成,然后在协议层上实现。 串行总线设计好处很多,如打包数据适
[测试测量]
雷达系统的数字基带和射频域集成挑战
可重新配置的雷达系统采用FPGA和DSP制式的数字技术。数字技术与射频技术结合可以实现极高的灵活度,适应当前雷达应用对不同波形和配置的严苛需求。因此,基带工程师团队一直应用与射频团队不同的设计方法和测试工具。不同技术的结合为系统集成测试带来了重大挑战。 本文将介绍一个应用单一测量平台应对上述挑战的方法。该平台能够帮助雷达系统集成商方便地验证和调试其设计。该方法支持在雷达发射机或接收机路径中进行矢量信号分析仪(VSA)测量,以及结合逻辑分析仪测量FPGA硬件、结合示波器测量模拟中频或射频电平、结合信号(频谱)分析仪测量射频激励器和接收机链路。三种仪器都可以导出捕获的信号并输入通用分析环境,以帮助设计人员查明混合信号链路任意点可能
[测试测量]
雷达系统的数字基带和射频域集成挑战
STM32学习记录之cubemx配置IIC+逻辑分析仪的学习
首先 这里用的开发板是原子的STM32F429,就是通过CUBEMX配置IIC的总线,话不多说,上图 因为原子429的板子的IIC的数据线和时钟线是PH4和PH5,而I2C2的默认并不是这个引脚,大家要根据手上实际的电路图来呀。 这些都是初始化配置,没有需要修改的,就这样默认就好了,至于系统时钟的配置,选用的是外部时钟,只要不超出范围就好了。然后就是生成工程。 下面是主要的程序 #define ADDR_AT24C02_Write 0xA0 #define ADDR_AT24C02_Read 0xA1 uint8_t I2C_Buffer_Write ; uint8_t I2C_Buffer_Read ;
[单片机]
STM32学习记录之cubemx配置IIC+<font color='red'>逻辑分析仪</font>的学习
基于虚拟仪器技术的电子测量工作站设计与实现
现代工业和国防工业的迅速发展,使电子测量技术进入广泛使用、综合测量阶段,大型设备、系统的现场监控和测试设备是一个方兴未艾的新市场。综合测试设备的核心由多类别、高性能的电子测量仪器集群和计算机构成,重视用户接口信号的适用范围和设备适应恶劣工作环境的能力。随着大规模综合测试在设备、系统中的广泛使用,对大规模现场测试设备的需求将日益成长。电子测量工作站的出现恰好弥补了这一空缺,可有效解决设备应急抢修的问题。电子测量工作站运用虚拟仪器技术把计算机、仪器硬件、计算机软件等结合起来,除了传承传统仪器的已有功能之外,还增加了很多传统仪器不能及的先进功能,具有高度灵活性,突破了在数据处理、传送及存储方面的限制。USB接口已成为PC机的标准配置,
[测试测量]
基于虚拟仪器技术的电子测量工作站设计与实现
利用VSPD、串口调试助手、Keil做串口调试
下面详细介绍下如何用虚拟串口调试串口发送接收程序。 需要用到三个软件:KEIL、VSPD XP5(virtual serial ports driver xp5.1虚拟串口软件)、串口调试助手(个人感觉2.1比较好用)。 1、首先在KEIL里编译写好的程序。 2、打开VSPD,界面如下图所示: 左边栏最上面的是电脑自带的物理串口。点右边的add pair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。 3、接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL绑定。在KEIL中进入DEBUG模式。在最下面的C
[单片机]
利用VSPD、串口<font color='red'>调试</font><font color='red'>助手</font>、Keil做串口<font color='red'>调试</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved