逻辑分析仪原理及应用
·定时分析仪的触发
逻辑分析仪连续捕获数据,并在找到跟踪点后停止采集。这样,逻辑分析仪就能显示出被称为负时间的跟踪点前的信息,以及跟踪点后的信息。
码型触发
设置定时分析仪的跟踪特性与设置示波器的触发电平和斜率稍有一点区别。许多分析仪是在跨多条输入线的高和低码型上触发。为使某些用户更感方便,绝大多数分析仪的触发点不仅可用二进制( 1 和 0),而且可用十六进制、八进制、ASCII或十进制设置。在查看4、 8、16、24、32bit宽的总线时,使用十六进制的触发点会更加方便。设想如果用二进制设置24bit总线就会麻烦得多。
边沿触发
在调节示波器的触发电平旋钮时,您知道是在设置电压比较器的电平,这个电平将告诉示波器在输入电压穿越该电平时触发。定时分析仪的边沿触发与其基本相似,但触发电平已预设置到逻辑阈值。大部分逻辑器件都与电平相关,这些器件的时钟和控制信号通常都对边沿敏感。边沿触发使您能与器件时钟同步地捕获数据。您能告诉分析仪在时钟边沿产生(上升或下降)时捕获数据,并获取移位寄存器的所有输出。当然在这种情况下,必须延迟跟踪点,以顾及通过移位寄存器的传播延迟。
状态分析仪基础
如果您从未使用过状态分析仪,您可能认为这是一种极为复杂的仪器,需要花很多时间才能掌握使用方法。事实上,许多硬件设计师发现状态分析仪中有许多极有价值的工具。
一个逻辑电路的“状态”是数据有效时对总线或信号线的采样样本。例如,取一个简单的“D”触发器。“D”输入端的数据直到时钟正沿到来时才有效。这样,触发器的状态就是正时钟沿产生时的状态。
现在,假定我们有8个这样的触发器并联。所有8个触发器都连到同样的时钟信号上。当时钟线上产生正跳变时,所有8个触发器都要捕获各自“D”输入的数据。这样,每当时钟线上正跳变时就产生一个状态,这8条线类似于微处理器总线。如果我们把状态分析仪接到这8条线上,并告诉它在时钟线正跳变时收集数据,状态分析仪将照此执行。除非时钟跳到高电平,否则输入的任何活动将不被状态分析仪捕获。
定时分析仪由内部时钟控制采样,因此它是对被测系统作异步采样。而状态分析仪从系统得到采样时钟,因此它是对系统同步采样。状态分析仪通常用列表方式显示数据,而定时分析仪用波形图显示数据。
理解时钟
在定时分析仪中,采样是沿着单一内部时钟的方向进行,从而使事情非常简单。但微处理器系统中往往会有若干个“时钟”。假定某个时刻我们要在RAM中的一个特定地址上触发,并查看所保存的数据;再假定使用的微处理器是Zilog公司的 Z80。
为了用状态分析仪从Z80捕获地址,我们要在MREQ线为低时进行捕获。而为了捕获数据,需要在WR线为低(写周期)或RD线为低(读周期)时让分析仪采样。某些微处理器可在同一条线上对数据和地址进行多路转换。分析仪必须能让时钟信息来自相同的信号线,而非来自不同的时钟线。
图 4 RAM 定时波形图
在读写周期期间,Z80首先把一个地址放在地址总线上。接着设定MREQ线在该地址对存储器的读或写有效。最后根据现在是读还是写对RD或WR线断言。WR线只有在总线数据有效后才被设定。这样,定时分析仪就作为多路分配器在适当的时间捕获地址,然后在同一信号线上捕获产生的数据。
触发状态分析
像定时分析仪一样,状态分析仪也提供限定所要保存数据的功能。如果我们要寻找地址总线上由高低电平构成的特定码型,可告诉分析仪在找到该模式时开始保存,直到分析仪的存储器完全装满。
这些信息可以用十六进制或二进制格式显示。但在解码至汇编码时,十六进制可能更为方便。在使用处理器时,应把这些特定的十六进制字符与处理器指令相比较。大多数分析仪制造商设计了称为反汇编器的软件包,这些软件包把十六进制代码翻译成易于阅读的汇编码。
图 5 把十六进制码翻译成汇编码
序列级和选择性保存
状态分析仪具有帮助触发和存储的“序列级”数据。序列级使您能比单一触发点更精确地限定要保存的数据。也就是说可使用更精确的数据窗,而不必存储不需要的信息。
选择性的保存意味着可只保存较大整体中的一部分。例如,假定我们有一个计算给定数平方的汇编例程。如果该例程不能正确计算平方,我们就告诉状态分析仪捕获这一例程。具体做法是先让状态分析仪寻找该例程的起点。当它找到起始地址时,我们再告诉它寻找终止地址,并保存两者之间的所有信息。当发现例程结束时,我们告诉分析仪停止状态保存。
探测解决方案
为进行调试,向数字系统施加的物理连接必须方便可靠,对被调试的目
评论