欢迎访问www.autooo.net
延迟触发分为时钟延迟和事件延迟两种。
时钟延迟是在触发字被辨认后,延迟所设定的时钟数后再触发。他最常用于下列两种情况:
(1) 被跟踪的程序较长而逻辑分析仪内存容量有限,则可在不改变触发字的情况下通过改变延迟量进行所谓“多趟”跟踪,分段跟踪程序。
(2) 用来调整触发字在数据窗口中的位置,特别是对没有中心触发和触发开始跟踪的逻辑分析仪,用延迟触发与触发终止跟踪配合,可以产生这两种功能。
事件延迟的一个重要用途就是分析循环嵌套一类的程序。特别是软件延时程序,其循环量非常大,在用逻辑分析仪实时跟踪程序的执行过程时,往往没有必要重复跟踪这些循环,这时可用事件延迟把他跳过去。
2.3 多种触发功能的应用
除了简单地利用触发字进行触发以外,现代逻辑分析仪还具有丰富的其他触发功能。利用这些功能及其组合,能大大加强逻辑分析仪从数据流中挑选数据窗口的能力。
2.3.1 “与 ”、“或”、“非”触发
利用信号或搜索区间和触发条件相“与”的关系,能对触发条件进行约束,使触发点更准确地指向欲观测的数据窗口。实际上一个触发字包含了多个信号,也可以看成这些信号是相“与”的关系。例如,利用某存储器地址作触发字,但只想在该地址写入内容时触发,则可把控制信号也作为触发字的一部分,在触发字中使存储器请求和写信号均有效。触发限定也是一种常用的相“与”关系,只有满足了限定条件,所设定的触发字或触发事件序列才能进行触发。在一些智能逻辑分析仪中还可以设置触发窗口,规定只在某确定的起点和终点之间寻找触发条件,这也是一种相“与”的关系。当程序有可能从几种不同的路径进入触发点时,利用相“与”的关系往往可以选择一条惟一的路径,增加对触发点的选择性。
逻辑分析仪在采用“或”触发功能时,设置多个触发字或触发条件,只要其中一个满足即产生触发。当所跟踪的程序有几种可能的流向时,如果对几种可能的情况都想观察,则可以把每种人口处的地址设置成一个触发字,利用“或”触发功能来跟踪。这样不管程序实际上流向什么方向都可以及时捕获有关数据。
如果在一定条件下检测不到某个数据就产生触发并进入跟踪状态,这种功能叫做“非”触发功能。在这种触发方式下,通常要设置两个触发字,前一个触发字用来确定
后一个触发字在数据流中的位置。只有当两者不相同时,逻辑分析仪才开始触发跟踪,否则将不进行跟踪。“非”触发对于诊断随机性故障更为有效。
“与”、“或”、“非”触发功能可以混合使用,也可以与其他触发功能相互配合、共同应用,这给触发点的选择增加了很大灵活性。
2.3.2 序列触发
如果说单独用一个触发字或用外加触发信号进行触发是最简单的触发方式,那么序列触发就是能适应多种触发要求的复杂触发方式。通常可以把一个触发字或一种经过“与”、“或”、“非”操作的触发条件作为一级触发事件。各触发事件可以直接相连构成事件序列,也可以在各触发事件问加入一定的时钟延迟或事件延迟,构成带延迟的事件序列。用这种事件序列进行触发,能跟踪各种复杂的程序,对分析程序的分支、跳转、嵌套和循环都带来很多方便。
序列触发可以和计数、计时功能配合应用,完成对事件的计数统计和对多种响应时间、程序执行时间等的计时功能。
序列触发还常和复位功能配合,以便在某种情况下对触发条件的搜索复位,并重新开始辨认触发事件序列。复位条件可以是执行到或未执行到某一程序地址,也可以是时间或计数值超过了某给定数值。序列触发与复位功能配合,可进一步增加对触发点的选择性。
欢迎访问www.autooo.net