电子百科
例如:一个待测信号使用200MHz采样率的逻辑分析仪,当参考电压设定为1.5V时,在测量时逻辑分析仪就会平均每5ns采取一个点,超过1.5V者为High(逻辑1),低于1.5V者为Low(逻辑0),而后的逻辑1和0可连接成一个简单波形,工程师便可在此连续波形中找出异常错误(bug)之处。整体而言,逻辑分析仪测量被测信号时,并不会显示出电压值,只是High跟Low的差别;如果要测量电压就一定需要使用示波器。除了电压值的显示不同外,逻辑分析仪与示波器的另一个差别在于通道数量。一般的示波器只有2个通道或4个通道,而逻辑分析仪可以拥有从16个通道、32个通道、64个通道和上百个通道数不等,因此逻辑分析仪具备同时进行多通道测试的优势。
根据硬件设备设计上的差异,目前市面上逻辑分析仪大致上可分为独立式(或单机型)逻辑分析仪和需结合电脑的PC-based卡式虚拟逻辑分析仪。独立式逻辑分析仪是将所有的测试软件、运算管理元件以及整合在一台仪器之中;卡式虚拟逻辑分析仪则需要搭配电脑一起使用,显示屏也与主机分开。就整体规格而言,独立式逻辑分析仪已发展到相当高标准的产品,例如采样率可达8GHz、通道数可扩充到300个通道以上,存储深度相对也高,独立式逻辑分析仪以往价格昂贵,从几万到数十万人民币不等,一般用户很少用得起。最近台湾OItek科技有限公司推出的OLA2032BTM独立台式EasyDebugTM逻辑分析仪,不超过2万元人民币经济性价格让每个工程师都用得起。尤其在数字电路教学中,改变了以往老师为了降低成本使用虚拟逻辑分析仪进而产生的不直观、麻烦等问题,在同一个价格上,我们可以把台式独立逻辑分析仪很轻松地拎起来。基于计算机接口的卡式虚拟逻辑分析仪,以较小的成本提供了相应的性能,但是卡式虚拟逻辑分析仪也有很大缺点,它需要配备电脑才能使用,尤其数字测试中,工程师往往会陷入一堆PCB板中,采用旋转按钮的仪器要比在屏幕上移动鼠标更加方便。技术的发展也逐渐把示波器和逻辑分析仪的功能融合在一起,成为混合式的仪器(MSO),也称混合信号测试仪器。
逻辑分析仪与示波器相同,是通过采集指定的信号,并通过图形化的方式展示给开发人员,开发人员根据这些图形化信号按照协议分析出是否出错。尽管图形化的显示已经给开发人员带来不少的方便,但是人工将一串串信号分析出来不仅麻烦而且极易出错。
在这个科技高速发展的社会,一切都在追求高效率。自动化、智能化已经成为协议分析的发展方向。在这个思想的指引下各种测试仪器的协议分析功能出现并发展起来。目前大多数开发人员通过逻辑分析仪等测试工具的协议分析功能可以很轻松的发现错误、调试硬件、加快开发进度,为高速度、高质量完成工程提供保障。
关于这个问题广州致远电子有限公司的开发人员提出了一个全新的回答:协议分析是在某个应用领域充分利用逻辑分析仪资源的统一体。逻辑分析仪无论采样频率,存储空间,触发深度等资源都是有限的,我们只有充分组合协议相关的组件才能发挥其最大的效用。
协议解码是协议分析的基础,只有解码正确的协议分析才能够被别人接受,只有正确的解码才能提供更多的错误信息。
协议触发能够充分利用有限的触发深度和存储空间,同时提供更多更可靠的触发,为快速发现和定位错误提供了一种高效的工具。
错误识别是逻辑分析仪的主要作用,它建立在协议解码和协议触发之上的,只有协议触发功能强大才能采集到错误,只有协议解码正确才能发现错误。
信息提示能够充分利用颜色与视图等资源,有效表达协议解码的结果,使得用户能够快速找到需要的信息。当然信息提示也能够合理调节处理资源,节省用户时间。
逻辑分析仪的作用是利用便于观察的形式显示出数字系统的运行情况,对数字系统进行分析和故障判断。其主要特点如下:
有足够多的输入通道
具有多种灵活的触发方式,确保对被观察的数据流准确定位(对软件而言可以跟踪系统运行中的任意程序段,对硬件而言可以检测并显示系统中存在的毛刺干扰)。
具有记忆功能,可以观测单次及非周期性数据信息,并可诊断随机性故障。
具有延迟能力,用以分析故障产生的原因。
具有限定功能,实现对欲获取的数据进行挑选,并删除无关数据。
具有多种显示方式,可用字符、助记符、汇变语言显示程序,用二进制、八进制、十进制、十六进制等显示数据,用定时图显示信息之间的时序关系。
具有驱动时域仪器的能力,以便复显待测信号的真实波形及有利于故障定位。
具有可靠的毛刺检测能力。
逻辑分析仪分为两大类:逻辑状态分析仪(Logic State Analyzer,简称LSA)和逻辑定时分析仪(Logic Timing Analyzer)。这两类分析仪的基本结构是相似的,主要区别表现在显示方式和定时方式上。
逻辑状态分析仪用字符0、1或助记符显示被检测的逻辑状态,显示直观,可以从大量数码中迅速发现错码,便于进行功能分析。逻辑状态分析仪用来对系统进行实时状态分析,检查在系统时钟作用下总线上的信息状态。它的内部没有时钟发生器,用被测系统时钟来控制记录,与被测系统同步工作,主要用来分析数字系统的软件,是跟踪、调试程序、分析软件故障的有力工具。
逻辑定时分析仪用来考察两个系统时钟之间的数字信号的传输情况和时间关系,它的内部装有时钟发生器。在内时钟控制下记录数据,与被测系统异步工作,主要用于数字设备硬件的分析、调试和维修。
逻辑分析仪的工作过程就是数据采集、存储、触发、显示的过程,由于它采用数字存储技术,可将数据采集工作和显示工作分开进行,也可同时进行,必要时,对存储的数据可以反复进行显示,以利于对问题的分析和研究。
将被测系统接入逻辑分析仪,使用逻辑分析仪的探头(逻辑分析仪的探头是将若干个探极集中起来,其触针细小,以便于探测高密度集成电路)监测被测系统的数据流,形成并行数据送至比较器,输入信号在比较器中与外部设定的门限电平进行比较,大于门限电平值的信号在相应的线上输出高电平,反之输出低电平时对输入波形进行整形。经比较整形后的信号送至采样器,在时钟脉冲控制下进行采样。被采样的信号按顺序存储在存储器中。采样信息以“先进先出”的原则组织在存储器中,得到显示命令后,按照先后顺序逐一读出信息,按设定的显示方式进行被测量的显示。
逻辑分析仪将被测数据信号用数字形式写入存储器后,可以根据需要通过控制电路将内存中的全部或部分数据稳定的显示在屏幕上。通常有以下几种显示方式。
1、定时显示
定时显示是以逻辑电平表示的波形图的形式将存储器中的内容显示在屏幕上,显示的是一串经过整形后类似方波的波形,高电平代表“1”,低电平代表“0”。由于显示的波形不是实际波形,所以也称“伪波形”。
2、状态表显示
状态表显示是以各种数值如二进制、八进制、十进制、十六进制的形式将存储器中内容显示在屏幕上。
3、图解显示
图解显示是将屏幕的X方向作为时间轴,将Y方向作为数据轴进行显示的一种方式。将欲显示的数字量通过D/A变换器转变成模拟量,将此模拟量按照存储器中取出的数字量的先后顺序显示在屏幕上形成一个图像的点阵。
4、映像显示
映像显示是将存储器中的全部内容以点图形式一次显示出来。它将每个存储器字分为高位和低位两部分,分别经X,Y方向D/A变换器变换为模拟量,送入显示器的X与Y通道,则每个存储器字点亮屏幕上的一个点。
如前所述,绝大多数逻辑分析仪是两种仪器的合成,第一部分是定时分析仪,第二部分是状态分析仪。
1. 定时分析
定时分析是逻辑分析仪中类似示波器的部分,它与示波器显示信息的方式相同,水平轴代表时间,垂直轴代表电压幅度。定时分析首先对输入波形的采样,然后使用用户定义的电压 逻辑分析仪
阈值,确定信号的高低电平。定时分析只能确定波形是高还是低,不存在中间电平。所以定时分析就像一台只有 1 位垂直分辨率的数字示波器。但是,定时分析并不能用于测试参量,如果你用定时分析测量信号的上升时间,那你就用错了仪器。如果你要检验几条线上的信号的定时关系,定时分析就是合理的选择。如果定时分析前一次采样的信号是一种状态,这一次采样的信号是另一种状态,那么它就知道在两次采样之间的某个时刻输入信号发生了跳变,但是,定时分析却不知道精确的时刻。最坏的情况下,不确定度是一个采样周期。
2. 跳变定时
如果我们要对一个长时间没有变化的采样并保存数据,跳变定时能有效地利用存储器。使用跳变定时,定时分析只保存信号跳变后采集的样本,以及与上次跳变的时间。
3. 毛刺捕获
数字系统中毛刺是令人头疼的问题,某些定时分析仪具有毛刺捕获和触发能力,可以很容易的跟踪难以预料的毛刺。定时分析可以对输入数据进行有效地采样,跟踪采样间产生的任何跳变,从而容易识别毛刺。在定时分析中,毛刺的定义是:采样间穿越逻辑阈值多次的任何跳变。显示毛刺是一种很有用的功能,有助于对毛刺触发和显示毛刺产生前的数据,从而帮助我们确定毛刺产生的原因。
4. 状态分析
逻辑电路的状态是:数据有效时,对总线或信号线采样的样本。定时分析与状态分析的主要区别是:定时分析由内部时钟控制采样,采样与被测系统是异步的;状态分析由被测系统时钟控制采样,采样与被测系统是同步的。用定时分析查看事件 “ 什么时候 ” 发生,用状态分析检查发生了“ 什么 ”事件。定时分析通常用波形显示数据,状态分析通常用列表显示数据。
1、逻辑分析仪的通道数
在需要逻辑分析仪的地方,要对一个系统进行全面地分析,就应当把所有应当观测的信号全部引入逻辑分析仪当中,这样逻辑分析仪的通道数至少应当是:被测系统的字长(数据总线数)+被测系统的控制总线数+时钟线数。这样对于一个 8 位机系统,就至少需要 34 个通道。现在几个厂家的主流产品的通道数也高达 340 通道,例 Tektronix 等,市面上主流的产品是 34 通道的逻辑分析仪,用它来分析最常见的 8 位系统,像北京海洋最新推出的 OLA 系列逻辑分析仪就是 34 通道的。
2、足够的定时分辨率
定时采样速率
在定时采样分析时,要有足够的定时分辨率,就应当有足够高的定时分析采样速率,但是并不是只有高速系统才需要高的采样速率,现在的主流产品的采样速率高达 2GS/s ,在这个速率下,我们可以看到 0.5ns 时间上的细节。
3、状态分析速率
在状态分析时,逻辑分析仪采样基准时钟就用被测试对象的工作时钟(逻辑分析仪的外部时钟)这个时钟的最高速率就是逻辑分析仪的高状态分析速率。也就是说,该逻辑分析仪可以分析的系统最快的工作频率。现在的主流产品的定时分析速率在 300MHz ,最高可高达 500MHz 甚至更高。
4、逻辑分析仪的每通道的记录长度
逻辑分析仪的内存是用于存储它所采样的数据,以用于对比、分析、转换(譬如将其所捕捉到的信号转换成非二进制信号)。
5、逻辑分析仪的测试夹具
逻辑分析仪通过探头与被测器件连接,测试夹具起着很重要的作用,测试夹具有很多种,如飞行头和苍蝇头等。
逻辑分析仪主要是用于定位系统运行出错时的特定波形数据,通过观察该波形数据来推断该系统出错的原因,从而有针对性地找出解决该错误的方案。
运用逻辑分析仪定位出错波形数据的方法主要有两种方式,一种是通过抓取运行过程中大量的数据,然后在这些数据中通过其他方法来查找出错误点的位置,该方法费时费力,而且受制于逻辑分析仪存储容量,并不一定每次都可以捕捉到目标波形数据;另一种是通过触发的方式在特定波形数据到来时开始捕捉数据,从而精准地定位目标波形数据。
触发的概念最初出现在模拟示波器上,示波器在设置的特定波形的信号到来时停止采集,并将波形绘制在屏幕上。逻辑分析仪用于分析数字系统时沿用了该概念。
数字系统在运行过程中,大多数情况下数据是连续不断的,逻辑分析仪要显示观测的数据必需被存储下来,而逻辑分析仪的储存深度毕竟有限,这相当于在传输带上抽取一定的数据,抽取的数据量取决于逻辑分析仪的存储深度。通过触发的方式,在特定波形数据信号产生的条件下,观测与其相关的信号在该条件产生的前或(和)后时刻的状态。直观表现就是触发位置的设置。如果触发位置设置为跟踪触发开始,则存储器在触发事件发生时开始储存采集到的数据,直到存储器满;如果选择跟踪触发结束,则触发事件发生前存储器一直存储采集到的连续数据,直到触发时停止存储,当存储器满而触发事件尚未发生时新数据将自动覆盖最早存储的数据。
一、逻辑分析仪的发展
自20世纪70 年代初研制成微处理器,出现4位和8位总线,传统示波器的双通道输入无法满足8位字节的观察。微处理器和存储器的测试需要不同于时域和频域仪器。数域测试仪器应运而生。HP公司推出状态分析仪和Biomation公司推出定时分析仪(两者最初很不相同)之后不久,用户开始接受这种数域测试仪器作为最终解决数字电路测试的手段,不久状态分析仪与定时分析仪合并成逻辑分析仪。
20世纪80 年代后期,逻辑分析仪变得更加复杂,当然使用起来也就更加困难。例如,引入多电平树形触发,以应付条件语句如IF、THEN、ELSE等复杂事件。这类组合触发必然更加灵活,同时对大多数用户来说就不是那样容易掌握了。 逻辑分析仪的探头日益显得重要。需用夹子夹住穿孔式元件上的16根引脚和双列直插式元件上的只有0.1″间隙的引脚时,就出现探头问题。今天的逻辑分析仪提供几百个工作在200MHz频率上的通道信号连接就是个现实问题。适配器、夹子和辅助爪钩等多种多样,但是最好的办法的是设计一种廉价的测试夹具,逻辑分析仪直接连接到夹具上,形成可靠和紧凑的接触。
今天的发展趋势
逻辑分析仪的基本取向近年来在计算机与仪器的不断融合中找到了解决的办法。Tektronix公司TLA600系列逻辑分析仪着重解决导向和发展能力,亦即仪器如何动作和如何构建有特色的结构。导向采用微软的Windows接口,它非常容易驱动。改进信号发现能力必然涉及到仪器结构的变动。在所有要处理的数据中着重处理与时间有关联的数据,不同类型的信息采用多窗口显示。例如,对于微处理器来说,最好能同时观察定时和状态以及反汇编源码,而且各窗口上的光标彼此跟踪相连。
关于触发,总是传统逻辑分析仪中的难题。TLA600系列逻辑分析仪为用户提供触发库,使复杂触发事件的设置简单化,保证你精力集中解决测试问题上,而不必花时间去调整逻辑分析仪的触发设置。该库中包含有许多易于掌握的触发设置,可以作为通常需要修改的触发起始点。需要特殊的触发能力只是问题的一部分。除了由错误事件直接触发外,用户还希望从过去的时段去观察信号,找出造成错误的根源和它前后的关系。精细的触发和深存储器可提高超前触发能力。
在PC机平台上使用Windows,除了为广大用户提供了许多熟知的好处之外,只要给定正确的软件和相关工具,即可通过互联网进行远程控制,从目标文件格式中提取源码和符号,支持微软公司的CMO/DCOM标准,而且处理器可运行各种控制操作。
二、逻辑分析仪的选择
如果数字电路出现故障,我们一般优先就考虑使用逻辑分析仪来检查数字电路的完整性,不难发现存在的故障;但是在其他情况下你是否考虑到使用逻辑分析仪呢?譬如说:第一点如何观察测试系统在执行我们事先编制好的程序时,是不是真正地在按照我们设计好的程序来执行呢?如果我们向系统写入的是(MOV A,B)而系统则是执行的(ADD A,B),那会造成什么样的后果?第二点:怎么样真正地监测软件系统的实际工作状态,而不是用DEBUG等方式进行设置断点后,查看预先设定的某些变量或内存中的数据是我们预先想得到的值。在这里我们有第三、第四等等很多问题有待解决。
通常我们将数字系统分成硬件部分和软件部分,在研发设计这些系统时,我们有很多事情要做,譬如硬件电路的初步设计、软件的方案制定和初步编制、硬件电路的调试、 软件的调试、以及最终的系统的定型等等工作,在这些工作中几乎每一步工作都要逻辑分析仪的帮助,但是鉴于每个单位的经济实力和人员状况不同,并且在很多系统的使用中都不是要把以上的每个部分都进行一 遍,这样我们就把逻辑分析仪的使用分成以下几个层次:
第一个层次:只要查看硬件系统的一些常见的故障,例如时钟信号和其他信号的波形、信号中是否存在严重影响系统的毛刺信号等故障;
第二个层次:要对硬件系统的各个信号的时序进行很好的分析,以便最好地利用系统资源,消除由定时分析能够分析出的一些故障;
第三个层次:要对硬件对软件的执行情况的分析,以确保写入的程序被硬件系统完整地执行;
第四个层次:需要实时地监测软件的执行情况,对软件进行实时地调试。
第五个层次:需要进行现有客户系统的软件和硬件系统性的解剖分析,达到我们对现有客户系统的软件和硬件系统全面透彻地了解和掌握的功能。
对以上的几个层次的要求,我们可以看出,他们并不都需要很高档的逻辑分析仪,对于第一层次的使用者,他们甚至用一台功能比较好的示波器就可以解决问题,针对以上的几个使用层次,在选择仪器时可以选用相应的仪器。实际上逻辑分析仪也有几个层次,他们有:
1、 普通2~4通道的数字存储器,例如TDS3000系列(加上TDS3TRG高级触发模块),利用它的一些高级触发功能(例如脉冲宽度触发、欠幅脉冲触发、各个通道之间的一定的与、或、与或、异或关系的触发)就可以找到我们希望看到的信号,发现并排除一些故障,况且示波器的功能还可以作为其他使用,在这里我们只不过用了一台示波器的附加功能,可以说这种方式是最节省的方式。
2、当示波器的通道数不够时,也可以选用一些带有简单的定时分析功能的多通道定时分析仪器,如早期的逻辑分析仪和现在市面上还有的混合信号示波器,如Agilent的546××D示波器。
3、一些功能比较简单,速度不是特别快的的计算机插卡 式,基于Windows、绝大部分功能都由软件来完成的虚拟仪器,这类产品在国内的很多厂家都有生产。
4、采样速率、触发功能、分析功能都很强大的不可扩展的固定式整机。例TLA600系列。
5、功能更强扩展性更好的模块化插卡式整机;对不同的用户,可以针对需要,选择不同档次的仪器。
逻辑分析仪是数字设计验证与调试过程中公认最出色的工具,它能够检验数字电路是否正常工作,并帮助用户查找并排除故障。它每次可捕获并显示多个信号,分析这些信号的时间关系和逻辑关系;对于调试难以捕获的、间断性故障,某些逻辑分析仪可以检测低频瞬态干扰,以及是否违反建立、保持时间。在软硬件系统集成中,逻辑分析仪可以跟踪嵌入软件的执行情况,并分析程序执行的效率,便于系统最后的优化。另外,某些逻辑分析仪可将源代码与设计中的特定硬件活动相互关联。逻辑分析仪可将源代码与设计中的特定硬件活动相互关联。
当您需要完成下列工作时,请使用逻辑分析仪:
·调试并检验数字系统的运行;
·同时跟踪并使多个数字信号相关联;
·检验并分析总线中违反时限的操作以及瞬变状态;
·跟踪嵌入软件的执行情况。