0x01 前言
前段时间采购了个逻辑分析仪,之前对数字信号、芯⽚间通信等接触也不多,近几日恶补了一下,现以文字记录下来以便后续查阅。
0x02 什么是逻辑分析仪
逻辑分析仪简介
逻辑分析仪是利用时钟从测试设备上采集和显示数字信号的仪器,最主要作用在于时序判定。由于逻辑分析仪不像示波器那样有许多电压等级,通常只显示两个电压(逻辑1和0),因此设定了参考电压后,逻辑分析仪将被测信号通过比较器进行判定,高于参考电压者为High,低于参考电压者为Low,在High与
Low之间形成数字波形。
逻辑分析仪是一种采集和显示数字电路信号的仪器。逻辑分析仪的最主要作用在于时序判定。逻辑分析仪不像示波器那样有许多电压等级,只显示两个电压,逻辑1和逻辑0,以及不确定x。
设定了两个参考电压后,逻辑分析仪将被测信号通过比较器进行判定,高于第一个较高的参考电压者为逻辑1,低于第二个较低的参考电压者为逻辑0,低于第一个参考电压而高于第二个参考电压的为不确定x。
逻辑分析仪的工作原理
逻辑分析仪的测量原理是采用一定的频率,对输入信号与设定的门限电压进行比较,当输入电平大于门槛电压时为逻辑1,当输入电平低于门槛电压时为逻辑0。
逻辑分析仪的工作过程就是数据采集、存储、触发、显示的过程,由于它采用数字存储技术,可将数据采集工作和显示工作分开进行,也可同时进行,必要时,对存储的数据可以反复进行显示,以利于对问题的分析和研究。
将被测系统接入逻辑分析仪,使用逻辑分析仪的探头(逻辑分析仪的探头是将若干个探极集中起来,其触针细小,以便于探测高密度集成电路)监测被测系统的数据流,形成并行数据送至比较器,输入信号在比较器中与外部设定的门限电平进行比较,大于门限电平值的信号在相应的线上输出高电平,反之输出低电平时对输入波形进行整形。
经比较整形后的信号送至采样器,在时钟脉冲控制下进行采样。被采样的信号按顺序存储在存储器中。采样信息以“先进先出”的原则组织在存储器中,得到显示命令后,按照先后顺序逐一读出信息,按设定的显示方式进行被测量的显示。
逻辑分析仪的优势
在电子测试领域,示波器是最早的测试设备,起源于雷达扫描原理,对信号波形的采集和再现,源于传统的模拟信号和模拟电路的测试基础。
1、测量数字信号时,示波器通常可以用来观察有没有信号或者是信号的质量如何,逻辑分析仪主要用来分析信号高低电平时序时间,以及通信的是什么数据。
2、逻辑分析仪有足够多的输入通道,示波器常见有单通道、双通道和四通道。而逻辑分析仪常见有8通道、16通道、32通道或者更多,测量多个信号运行状态,尤其是并行数据,通道最够多才能把所有的通道测量分析出来。
3、具有延迟能力,可以保存更长时间的数据。示波器是实时显示的,实际上他只能显示其中一小段数据,可以实现快速刷新,带来的缺点就是存储深度很低。而逻辑分析仪有较大的存储深度,可以保存大量的数据,而后一点点进行分析。
4、具有多种灵活的触发功能,可以实现对欲获取的数据进行挑选,对系统运行中的程序段进行调试。示波器通常只有上升沿、下降沿和电压设置的触发,而逻辑分析仪不仅仅有上升沿和下降沿触发,还可以设置并行数据等更复杂的触发。
5、具备强大的数据解析能力。对于一些复杂的协议,示波器显示的是波形,而逻辑分析仪可以直接把十六进制数据解析出来。可以方便的显示出解析的数据,并且解析出来的数据可以显示成为ASCII码、二进制、十进制、十六进制等等,方便直观。
在模拟时代,示波器有着不可替代的优势,但是步入数字世界,逻辑分析仪拥有更强大的功能,可以称之为分析数字通信的利器。
逻辑分析仪的常见使用场景
0x03 逻辑分析仪的使用
下面就以梦源逻辑分析仪为例简述逻辑分析仪的使用步骤:
使用逻辑分析仪与数字信号相连、捕获数字信号并进行分析,一般有以下4个步骤:
1.打开梦源DSView软件
选择DSLogic Plus设备。
2、硬件通道连接
把逻辑分析仪的GND连接URAT串口连接GND,以保证信号的完整性。然后把逻辑分析仪的通道接到待测引脚上(RX/TX )。
3、采集选项:
运行模式
运行模式:DSView中逻辑分析仪抓取信号的运行模式有stream和buffer模式。stream模式下不同通道数有不同的采样率,而buffer模式下采样率是固定的。
由于我们只使用3个通道,选择stream模式即可。
电压阈值
DSView的电压阈值可以设置的范围是0~5V之间。通常的3.3V数字系统,设置阈值电压为1.0V就可以,如果设置太低或者太高会导致信号不准确
选择通道
该逻辑分析仪有16通道,为了我们更好的观察波形,只使用3个通道即可。
3、采集时长、采样率:
关于采样率和采样时长,我们需要明白的一点是他们都和存储深度有关,存储深度=采样率*窗口显示时长。
采样率速率设置为1MHz就行,采样时间5s。
4、触发设置
由于逻辑分析仪有深度限制,。如果没有采用任何触发设置的话,一直到存满我们设置
的存储深度后,抓取就停止。在实际信号采集过程中,开始抓取的一段信号可能是无用信号,但是无用信号还占据了我们的存储空间。在这种情况下,我们就可以通过设置触发来提高存储深度的利用率。
简单触发只需要通过设置某个通道的触发条件就可以实现信号的抓取。所示我们设置触发条件为当通道1产生双边沿信号,当通道1产生上升沿或者下降沿的时候就会触发信号采集。
比如我们如果想抓取UART串口信号,而串口信号平时没有数据的时候是高电平,因此我们可以设置一个下降沿触发。从点击开始抓取,逻辑分析仪不会把抓到的信号保存到我们的存储器中,而是会等待触发信号采集条件,才开始进行真正的信号采集,并且把采集到的信号存储到存储器中
我们使用串口调试助手发送tidesec数据测试进行测试,串口选择UART连接的COM口,波特率选择9600
点击发送后触发信号采集条件,开始信号采集,并且把采集到的信号存储到存储器中
5、抓取波形
逻辑分析仪和示波器不同,示波器是实时显示的,而逻辑分析仪需要点击开始,开始抓取波形,一直到存储满了我们所设置的存储深度结束。
6、设置协议解析(解码器)
如果你抓取的波形是标准协议,比如UART、I2C等协议,逻辑分析仪会配有专门的解码器。
设置解码器,可以直接把数据解析出来,以十六进制、二进制、ASCII码等各种形式显示出来。
解码成功,显示的字符我们测试串口调试助手发送的测试数据tidesec
0x04参考链接