什么是逻辑分析仪?
逻辑分析仪是分析数字系统逻辑关系的仪器。逻辑分析仪是属于数据域测试[2]仪器中的一种总线分析仪,即以总线(多线)概念为基础,同时对多条数据线上的数据流进行观察和测试的仪器,这种仪器对复杂的数字系统的测试和分析十分有效。逻辑分析仪是利用时钟从测试设备上采集和显示数字信号的仪器,最主要作用在于时序判定。由于逻辑分析仪不像示波器那样有许多电压等级,通常只显示两个电压(逻辑1和0),因此设定了参考电压后,逻辑分析仪将被测信号通过比较器进行判定,高于参考电压者为High,低于参考电压者为Low,在High与 Low之间形成数字波形。
逻辑分析仪的使用方法:
单片机开发工程师和电子爱好者,每天都要和各种各样的数字电路打交道。在制作调试电路时除了使用万用表、示波器等工具,逻辑分析仪也是必不可少的。
逻辑分析仪是利用时钟从测试设备上采集和显示数字信号的仪器,最主要的作用在于时序判定。逻辑分析仪与示波器不同,它不能显示连续的模拟量波形,而只显示高低两种电平状态(逻辑1和0)。在设置了参考电压后,逻辑分析仪将采集到的信号与电压比较器比较,高于参考电压的为逻辑1,低于参考电压的为逻辑 0。这样就可以将被测信号以时间顺序显示为连续的高低电平波形,便于使用者进行分析和调试。使用逻辑分析仪,可以方便地设置信号触发条件开始采样,分析多路信号的时序,捕获信号的干扰毛刺,也可以按照规则对电平序列进行解码,完成通信协议分析。
逻辑分析仪根据其硬件设备的功能和复杂程度,主要分为独立式(单机型)逻辑分析仪和基于电脑(PC-Base)的虚拟逻辑分析仪两大类。独立式逻辑分析仪是将所有的软件,硬件整合在一台仪器中,使用方便。虚拟逻辑分析仪则需要结合电脑使用,利用PC强大的计算和显示功能,完成数据处理和显示等工作。
专业逻辑分析仪,通常具有数量众多的采样通道,超快的采样速度和大容量的存储深度,但昂贵的价格也不是个人所能承受的。作为工程师手头常备的开发工具,目前有许多入门级的逻辑分析仪设计,整体功能虽然不能和专业高档仪器相比,但是用较低的成本来实现特定的功能,也是非常成功的设计。本文以下讨论的逻辑分析仪,主要是指这类入门级设计。
基于电脑并口的逻辑分析仪曾是主流,但是近年来电脑系统逐步不再配置并口,这类设计已经成为明日黄花,仅仅还具有原理学习的价值。
另一类的逻辑分析仪,是以低速单片机为基础的。很多爱好者用PIC、AVR等常见单片机设计了自己的作品。但这类单片机逻辑分析仪的共同弱点就是采样速度太慢,通常不超过1MHz。
以USB IO芯片为基础的入门级逻辑分析仪现在最为流行。比如Saleae logic,还有类似的USBee等。这类产品主要采用一个USB IO芯片,例如CYPRESS公司的CY7C68013A-56PVXC,所有的信号触发和处理工作都是电脑上的软件完成的,硬件部分就只是一个数据记录仪。最高采样速度为24MHz。它们可以“无限数量”地采样,因为所有的数据都是存储在电脑里的。目前一般最多是8个通道,更多的通道数量会成比例地降低最高采样速度。这类产品构造简单,方便易用,价格便宜,是调试单片机开发工作的好工具。它的缺点主要是采样速度只有24MHz、8个通道,对于分析高速并行总线就不能胜任了。更进一步的设计,需要增加FPGA、SRAM等器件,才能解决速度不够和通道数量不足的问题。
下面就以Saleae逻辑分析仪为例,通过采样分析I2C总线波形和PWM波形,简单介绍它的特点和使用方法。
先介绍用逻辑分析仪采样单片机对I2C器件AT24C16的写数据过程。
硬件连接
1.先将逻辑分析仪的GND与目标板的GND连接,让二者共地。
2.选择需要采样的信号,这里就是AT24C16的SDA和SCL,将SDA接入逻辑分析仪的通道1(Input 1),SCL接入通道1(Input 2)。
3.将逻辑分析仪和电脑USB口连接,windows会识别该设备,并在屏幕右下角显示USB设备标识。
软件使用
1.运行Saleae软件,此时逻辑分析仪的硬件已经与电脑相连,软件会显示[Connected]。
2.设置采样数量和速度,I2C为低速通信,所以速度设置不必太高,这里设置为20M Samples @ 4M Hz的速度,也就是能持续采样5秒钟。
3.设置协议,点右上角的“OpTIons”按钮,找到analyzer1,设置为I2C协议,详见图1。
4.按“Start”按钮,开始采样。
数据分析
采样结束后,可以看到波形,见图2。由于我们设置了是I2C分析,因此不光显示出波形,还有根据I2C协议解码显示的字节内容。单片机对 AT24C16进行写入操作,在0x00地址处写入10000等数字。波形起始是“start”信号,然后依次是AT24C16的标识0xA2,写入地址 0x00,数据 0x10,0x27等。由于写入以字节为单位,因此0x2710 = 10000,表明采样成功。
将鼠标放在波形上,点击左键,实现zoom in功能。结果见图3,在“start”条件后,在SCL的8个连续脉冲的高电平处,SDA对应的信号为10100010,即0xA2,第9个脉冲高电平处为0,是ACK标志。
以上简单介绍了用逻辑分析仪进行I2C分析的过程,可以看到操作起来非常简单。
下面再介绍利用逻辑分析仪采样三相交流电机驱动器的6路PWM波形。
硬件连接
1.先将逻辑分析仪的GND与目标板的GND连接,让二者共地,见图5。
2.选择需要采样的信号,这里就是单片机6路PWM波形的输出引脚,将其接入逻辑分析仪的通道1(Input 1)至通道6(Input 6),并且把通道的名字改为Utop、Ubottom、Vtop、Vbottom、Wtop、WBottom,分别代表三路输出的上下桥臂。
3.将逻辑分析仪和电脑USB口连接,windows会识别该设备,并在屏幕右下角显示USB设备标识。
软件使用
1.运行Saleae软件,此时逻辑分析仪的硬件已经与电脑相连,软件会显示[Connected]。
2.设置采样数量和速度,PWM的频率为15kHz,这里设置为2M Samples @ 4MHz的速度。
3.设置触发条件,默认“----”就可以了。
4.按“start”按钮,开始采样。
数据分析
采样结束后,可以看到波形,见图6。典型的三相电机驱动PWM是互补型的,即一组信号的上下两个波形的状态是相反的,分别控制这组桥臂上下两个开关管的状态,避免同时导通造成短路,见图7。
将鼠标放在波形上,连续点击左键,实现zoom in功能。见图8。在UBottom的下降沿和UTop的上升沿放置标记线,在右下角的显示框中,可以看到T2-T1=2.25μs,这就是先关断后打开的时间差,专业上称为“死区时间”(DeadTIme)。另外,还可以看到PWM的宽度45.5μs,周期66.6μs,占空比31.6%,频率 15.0376kHz等信息。这就是一个典型的三相电机变频器的SVPWM波形。
以上两个例子,简单介绍了逻辑分析仪的使用,希望能对广大爱好者有所帮助和启发。
逻辑分析仪主要应用在哪些场合:
逻辑分析仪一般用于较专业的数字逻辑分析,一般在如下四种场合较多
(1)调试并检验数字系统的运行;
(2)同时跟踪并使多个数字信号相关联;
(3)检验并分析总线中违反时限的操作以及瞬变状态;
(4)跟踪嵌入软件的执行情况。
逻辑分析仪中重视的参数主要采样频率、通道数、存储深度、支持协议分析种类等。
逻辑分析仪和示波器的区别:
从电压等级显示来看,逻辑分析仪只能观察信号的高低电平(逻辑电平),而示波器能观察到信号的具体电压大小;
从输入通道数来看,逻辑分析仪可轻易实现多通道(16或个呢更多)同时测量,方便对并行信号进行分析。而示波器最多也就实现4通道同时测量;
相对来说,逻辑分析仪的应用更偏向于数字电路的时序逻辑分析,并不关注信号本身的波形结构;而示波器虽能测量整个信号的波形,从中分析出信号的异常和干扰,但无法长时间、多通道记录信号的时序逻辑,在分析时序逻辑方面能力较弱。
虽然目前逻辑分析仪和示波器在测试原理上还是差别较大的,但随着电子技术的飞速发展,这两者的功能将会渐渐重合,直至两者合二为一变成一种仪器。