初探逻辑分析仪
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码、二进制、十进制、十六进制等等,方便直观。
在模拟时代,示波器有着不可替代的优势,但是步入数字世界,逻辑分析仪拥有更强大的功能,可以称之为分析数字通信的利器。
逻辑分析仪的常见使用场景
1、观察波形
观察测量波形中是否存在毛刺、干扰,频率是否正确等;
2、时序测量
对被测量信号进行时序分析,排除操作冲突、时序协调等问题;
3、辅助分析
使用逻辑分析仪完善的分析功能对总线信号或高级协议进行分析,加快开发进度;
4、排除错误
使用逻辑分析仪强大的触发功能来进行错误捕获,排除隐藏在系统的错误,增加产品的可靠性。
0x03 逻辑分析仪的使用
下面就以梦源逻辑分析仪为例简述逻辑分析仪的使用步骤:
使用逻辑分析仪与数字信号相连、捕获数字信号并进行分析,一般有以下4个步骤:
1.用逻辑探头与被测系统(DUT)相连
2.设置时钟模式和触发条件
3.捕获被测信号
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参考链接
https://zh.m.wikipedia.org/zh/%E9%80%BB%E8%BE%91%E5%88%86%E6%9E%90%E4%BB%AA
https://www.pianshen.com/article/1040719934/
https://www.eefocus.com/test-measurement/423995
E
N
D
关
于
我
们
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。
团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室,近三年来在网络安全技术方面开展研发项目60余项,获得各类自主知识产权30余项,省市级科技项目立项20余项,研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。对安全感兴趣的小伙伴可以加入或关注我们。
微信扫码关注该文公众号作者