1 引 言
随着数字技术的日新月异,在数字系统,特别是在计算机系统的研制、调试和故障诊断过程中,由模拟系统的时域和频域分析发展起来的传统测试方法与测试仪器往往难以奏效,于是新的数据域测试的理论、方法和相应的测试仪器不断涌现。分析仪">逻辑分析仪作为数据域测试仪器中最有用、最有代表性的一种仪器,性能与功能日益完善,已成为调试与研制复杂数字系统,尤其是汁算机系统的强有力工具。
在逻辑分析仪中,利用触发字或触发事件的序列来控制对数据的存储和显示,以便住数据流中挑选一个恰当的观察窗口。触发能力是逻辑分析仪最重要的指标,特别是在用逻辑状态分析仪跟踪复杂程序时,强的触发功能以及合理的触发条件设置可以使仪器在庞大而复杂的程序流中迅速找到要跟踪的目标,分析发生故障、错误的部位及性质,这将大大缩短软件和硬件的开发、调试周期,产生良好的经济效益。
2 逻辑状态分析仪的触发选择
2.1 触发字的选择
用逻辑分析仪观察大量数据的方法是设置特定的观察起点、终点或与被分析数据有一定关系的某一个参考点,这个特定的点在数据流中一旦出现,便形成一次触发事件,相应地把数据存入存储器,这个过程称 为触发。这个特定的参考点并不是一个模拟信号参数,而是一个数据字,也可能是字或事件的序列,总之是一个多通道的逻辑组合,这个数据字称为触发字。由字或事件序列构成的触发称为序列触发。简言之,触发字是一个用于选择数据窗口的数据字。
利用触发字进行触发,是逻辑分析仪最简单、最基本的触发方式,也是复杂触发方式中的重要内容。由于逻辑状态分析仪常用来分析软件,因此往往选计算机地址线或数据线上特定的数据字作为触发字。有时也利用一些控制信号与地址或数据共同组成触发字。例如,在观测某程序时,把M,MREQ和RD均有效与某存储器地址组合作触发字,说明是在取指周期中对该地址中存的指令机器码取指时,触发字有效。与上述情况不同,在逻辑定时分析仪中常用控制信号、I/O信号、外部设备口地址或与外设有关的信号及其组合作为触发字,不一定用地址、数据等完整的数据字来触发。
触发字的选择是确定显示窗口位置的基础。如果选择不当,显示内容可能不说明问题甚至没有显示。恰当的触发字可以显示欲观测的内容或很快逼近待分析的故障点。在有故障的计算机中,由于程序不能正常运行,触发字的设置有时会感到困难。为捕捉到程序在何处运行,有时把触发字的各位均设置为任意项,用连续跟踪方式或从多个单次跟踪的显示结果中寻找感兴趣的内容,还可以从这种内容中挑选触发字进一步分析。
在触发字设定以后,必须保证逻辑分析仪能采集到他才能触发。但是被跟踪的程序往往是非重复性的,因此通常应在逻辑分析仪跟踪后再启动被跟踪的程序。在被测系统中按一下复位键或重新上电后再启动,都能保证在程序第一次经过触发字时立即被识别。如果先启动程序,后令逻辑分析仪跟踪,则可能触发字所在程序己经运行过了,逻辑分析仪就会没有显示,智能逻辑分析仪大多还会提示“未找到触发字”。
2.2 触发位置的选择和延迟触发
逻辑分析仪触发位置的选择,有触发开始跟踪、中心触发和触发终止跟踪。在没有延迟的情况下,他们使触发点分别处于数据窗口的开始、中心和结尾部分,具体的选择总是保证欲观测的数据处于显示窗口之内。例如,要观测触发以后的数据,则可在不加延迟的情况下使用触发开始跟踪。但是即使在这种情况下,有时还是希望观测少量触发以前的数据,所以不少内存容量较大的逻辑分析仪在触发开始跟踪的情况下,也要存储、显示触发前的一些数据。当然,这时大量的数据是处在触发点后面的。与此类似,在触发终止跟踪的情况下,即使不加延迟,有些逻辑分析仪也要存储和显示触发点后面的一些数据。
延迟触发分为时钟延迟和事件延迟两种。
时钟延迟是在触发字被辨认后,延迟所设定的时钟数后再触发。他最常用于下列两种情况:
(1) 被跟踪的程序较长而逻辑分析仪内存容量有限,则可在不改变触发字的情况下通过改变延迟量进行所谓“多趟”跟踪,分段跟踪程序。
(2) 用来调整触发字在数据窗口中的位置,特别是对没有中心触发和触发开始跟踪的逻辑分析仪,用延迟触发与触发终止跟踪配合,可以产生这两种功能。
事件延迟的一个重要用途就是分析循环嵌套一类的程序。特别是软件延时程序,其循环量非常大,在用逻辑分析仪实时跟踪程序的执行过程时,往往没有必要重复跟踪这些循环,这时可用事件延迟把他跳过去。
2.3 多种触发功能的应用
除了简单地利用触发字进行触发以外,现代逻辑分析仪还具有丰富的其他触发功能。利用这些功能及其组合,能大大加强逻辑分析仪从数据流中挑选数据窗口的能力。
2.3.1 “与”、“或”、“非”触发
利用信号或搜索区间和触发条件相“与”的关系,能对触发条件进行约束,使触发点更准确地指向欲观测的数据窗口。实际上一个触发字包含了多个信号,也可以看成这些信号是相“与”的关系。例如,利用某存储器地址作触发字,但只想在该地址写入内容时触发,则可把控制信号也作为触发字的一部分,在触发字中使存储器请求和写信号均有效。触发限定也是一种常用的相“与”关系,只有满足了限定条件,所设定的触发字或触发事件序列才能进行触发。在一些智能逻辑分析仪中还可以设置触发窗口,规定只在某确定的起点和终点之间寻找触发条件,这也是一种相“与”的关系。当程序有可能从几种不同的路径进入触发点时,利用相“与”的关系往往可以选择一条惟一的路径,增加对触发点的选择性。
逻辑分析仪在采用“或”触发功能时,设置多个触发字或触发条件,只要其中一个满足即产生触发。当所跟踪的程序有几种可能的流向时,如果对几种可能的情况都想观察,则可以把每种人口处的地址设置成一个触发字,利用“或”触发功能来跟踪。这样不管程序实际上流向什么方向都可以及时捕获有关数据。
如果在一定条件下检测不到某个数据就产生触发并进入跟踪状态,这种功能叫做“非”触发功能。在这种触发方式下,通常要设置两个触发字,前一个触发字用来确定 后一个触发字在数据流中的位置。只有当两者不相同时,逻辑分析仪才开始触发跟踪,否则将不进行跟踪。“非”触发对于诊断随机性故障更为有效。
“与”、“或”、“非”触发功能可以混合使用,也可以与其他触发功能相互配合、共同应用,这给触发点的选择增加了很大灵活性。
2.3.2 序列触发
如果说单独用一个触发字或用外加触发信号进行触发是最简单的触发方式,那么序列触发就是能适应多种触发要求的复杂触发方式。通常可以把一个触发字或一种经过“与”、“或”、“非”操作的触发条件作为一级触发事件。各触发事件可以直接相连构成事件序列,也可以在各触发事件问加入一定的时钟延迟或事件延迟,构成带延迟的事件序列。用这种事件序列进行触发,能跟踪各种复杂的程序,对分析程序的分支、跳转、嵌套和循环都带来很多方便。
序列触发可以和计数、计时功能配合应用,完成对事件的计数统计和对多种响应时间、程序执行时间等的计时功能。
序列触发还常和复位功能配合,以便在某种情况下对触发条件的搜索复位,并重新开始辨认触发事件序列。复位条件可以是执行到或未执行到某一程序地址,也可以是时间或计数值超过了某给定数值。序列触发与复位功能配合,可进一步增加对触发点的选择性。
图1为用序列触发分析复杂分支程序的例子。本例所示是要求只有在一个通路(即通道2)里顺序满足a,b,c,d条件之后,逻辑分析仪才在e点进行触发跟踪程序运行情况。在复杂分支程序中,多次执行不同通路有时也能满足序列触发要求。例如在图1中,第一次沿着通路1执行,满足了触发条件a和b,第二次沿着通路3执行,又满足了触发条件c,c,e。尽管两次执行结果也是按顺序满足a,b,c,d,e五个条件,但若此时进行跟踪便会产生错误的结果。为避免出现这类问题,可以在通路出口处f点设置序列返回。如果在一个通路中没有按顺序找到所有触发字,只要出现返回点f,就返回到起始状态重新开始搜索触发字,以前已满足的触发字无效。其工作过程如图2所示。对于复杂程序的分析,序列触发是必不可少的功能。
3 逻辑定时分析仪的触发选择
逻辑定时分析仪的触发与逻辑状态分析仪有很多相似之处。例如,逻辑定时分析仪也常用触发字触发,可以对触发字进行限定或对触发条件进行“与”、“或”、“非”运算,亦可使用外触发。定时仪同样可以使用序列触发,在触发字之后或者序列事件之间也允许使用时钟延迟或事件延迟。因为触发只影响窗口在数据流中的位置,并不影响触发以后定时仪按等时间间隔采集和存储数据,所以和逻辑状态分析仪一样,他的触发条件是很灵活的。甚至在延迟触发中允许选用不等间隔出现的外时钟做延迟时钟,一旦触发后再用等时间间隔的内时钟进行采样,依然可以保证采样次数与时间成比例。
逻辑定时分析仪和逻辑状态分析仪在触发方面的不同,主要表现在两个方面,这就是毛刺触发和触发滤波。
3.1 毛刺触发
逻辑定时分析仪经常用来分析硬件,而毛刺往往是造成硬件故障的重要原因。由于毛刺的出现时间往往难以预料,利用毛刺触发功能捕获毛刺出现前后的情况,就成为逻辑定时分析仪的重要功能。
毛刺触发可以单独使用,也可以与其他触发条件共同使用。设置毛刺触发通常是按通道进行,即指定的若干个通道中任何一个出现了毛刺都进行触发。在与其他触发条件共同使用时,存在毛刺与其他条件之间往往是相“与”的关系。
3.2 触发滤波
触发滤波时间又称为异步持续时间。逻辑定时分析仪由于工作在异步状态,不可能对数据要求建立时间和保持时间。但是,有时由于一些瞬态现象、器件延时的微小差别,或者信号中存在毛刺等原因,均可能导致瞬间满足触发条件,产生误触发。这时,对应惟一的触发条件,几次触发获取的数据有可能不同。
利用触发滤波可以调节异步持续时间的大小,使触发条件必须达到规定的时间才能产生触发,这样就可以避免某些误触发。对于工作速度低、时延大的系统,异步持续时间可选得大一些。
当对应惟一的触发条件,各次触发得到的显示波形不同时,应该考虑选择恰当的异步持续时间来消除一些不希望的触发。
4 结 语
在电子测量领域,数据域测量技术越来越显示出其重要性,适时、合理地使用逻辑分析仪,能迅速有效地解决在数字电路系统方面遇到的一系列问题。本文仅从捕获数据的关键一触发条件设置方面进行了阐述,还有其他多方面的因素影响到数据的获取与分析,如:采样频率、存储方式、显示方式等。只有结合所使用逻辑分析仪的本身特性,将以上各方面综合考虑,合理设置条件和参数,才能快速捕捉有用信息,解决数字电路硬件及软件的分析问题。