到目前为止,“逻辑分析仪”这一术语的使用并不十分严格。实际上大多数逻辑分析仪是定时分析仪和状态分析仪的综合体。我们下面将讲述这两种分析仪各自的特殊功能。
定时分析仪基础
时分析仪是逻辑分析仪中类似示波器的部分。我们可以将它们看成是亲密的堂兄堂弟。
定时分析仪用与示波器相同的通用形式显示信息,水平轴代表时间,垂直轴代表电压幅度。由于这两种仪器上的波形与时间相关,因此称为“时域”中的显示。
选择正确的采样方法
定时分析仪通过采样输入波形确定信号是高还是低。定时分析仪只关心用户定义的电压阈值。如果采样时信号高于该阈值,就以高或1显示; 低于阈值的用0或低显示。从这些采样点得到一张由 1 和0组成,代表输入波形 1 bit 图的列表。分析仪只确定波形是高还是低 — 而不认可中间电平。这张表格保存在存储器中,并可用它重建输入波形的1 bit 图,如图 1 所示。
图 1. 定时分析仪采样点
现在我们观察图2上的显示,这里数字示波器和定时分析仪显示实际相同的信号(正弦波)。定时分析仪趋向于把各种信号拉成方波,这似乎会影响到它的可用性,但我们应记住定时分析仪并非是用作参数测量的仪器。如果您要检验信号的上升时间,就不应使用分析仪,而应使用示波器。但如果您需要通过同时观察几条甚至几百条信号线验证信号间的定时关系,那么定时分析仪就是正确选择。
例如,假定我们必须每 2 ms 刷新一次系统中的动态RAM。为保证存储器内的所有内容均在这2 ms内刷新,我们用计数器对RAM的所有行顺序计数并进行刷新。如果要确认在再次开始前计数器已完成对所有行的计数,就可把定时分析仪设置为在计数器开始和显示所有计数时触发。这里并不关心参数 — 我们仅仅要检查计数器从 1 到 N 的计数,然后再次开始。
图 2. 示波器和定时分析仪显示相同的信号
当定时分析仪对输入线进行采样时,得到的是状态高或低。如果信号线在某次采样时为一种状态(高或低),在下一次采样时为相反的状态,分析仪就“知道”输入信号在两次采样间的某个时刻产生跳变。它并不知道跳变究竟发生在何时,因此把跳变点放在下一次采样上,如图3所示。这就造成分析仪对跳变实际产生时刻和显示时刻的不确定性。
这种不确定性的最坏情况是一个采样周期,即在上一采样点后跳变立即产生的情况。
在采用这项技术时,需要对分辨率和总采集时间作适当权衡。应记住每个采样点都要使用一个存储器位置。分辨率越高(采样率越快),采集窗就越短。
图 3. 定时分析仪采样输入线
跳变采样
当我们捕获如图4所示带有数据突发的输入线上的数据时,我们必须把采样率调到高分辨率(例如4 ns),以捕获开始处的快脉冲。这意味着具有4K (4096样本)存储器的定时分析仪在16.4 µs后将停止采集数据,使您不能捕获到第二个数据突发。
应注意在通常的调试工作中,我们采样和捕获了长时间没有活动的数据。它们使用了逻辑分析仪存储器,却不能提供更多的信息。如果我们知道跳变何时产生,是正跳变还是负跳变,就能够解决这一问题。只存储跳变发生时刻的基本信息,可以更有效地使用存储器。
为实现跳变定时,我们可在定时分析仪和计数器的输入处使用“跳变探测器”。现在定时分析仪只保存跳变前的那些样本,以及至上一跳变的流逝时间。采用这种方法,每一跳变就只需使用两个存储器位置,输入无活动时就完全无需存储器。
在我们的例子中,根据每一突发中存在多少脉冲数,现在能捕获到第二、第三、第四和第五个突发。并同时保持达到 4 ns 的高定时分辨率(图 5)。
这里我们谈到了“有效存储器深度”,它等于捕获的总时间数据除以采样周期(4 ns)。
注意: 这是对跳变定时技术的原理性说明。
图 4. 高分辨率的采样
图 5. 使用跳变探测器的采样
毛刺捕获
数字系统中一个令人头痛的问题是“毛刺”。毛刺因为会在最不恰当的时间造成灾难性的后果而声名狼藉。如何捕获36小时才产生一次,并会导致系统崩溃的毛刺呢? 定时分析仪在此可大显身手。Agilent 逻辑
分析仪具有毛刺捕获和触发能力,能容易地跟踪难以捕捉毛刺问题。
毛刺可由电路板走线间的电容性耦合、电源纹波、某些器件要求的高瞬时电流,或其它事件造成。定时分析仪可采样输入数据,保持对采样间所产生任何跳变的跟踪,从而容易地识别毛刺。在分析仪中,把毛刺定义为相邻两次采样间穿越逻辑阈值一次以上的任何跳变(图6)。
正如我们在前面所讨论的,分析仪保持对采样间所有跳变的跟踪。为了识别毛刺,我们要“教”分析仪保持对所有多个跳变的跟踪,并将它们作为毛刺显示。
显示毛刺是一种很有用的功能,它也有助于提供毛刺触发和显示产生于毛刺前数据的能力,从而帮助我们确定毛刺产生的原因。这种能力也能使分析仪只捕获毛刺产生时我们所要的数据。
回顾本节开始时提到的例子。我们有一个系统因毛刺出现在一条信号线上周期性的崩溃。由于周期很长,即使能保存所有数据(假定我们有足够的存储能力),也必须对如此不可思议的巨大信息量分类。另一种方法是使用没有毛刺触发能力的分析仪,按仪器前面板的 run 按钮,直到您看到毛刺。
可惜这两种方法都不实际。如果我们能告诉分析仪在毛刺上触发,它就能在找到毛刺后停止,捕获毛刺出现前的所有数据。我们先让分析仪工作,在系统崩溃时就得到导致错误的数据记录。
图 6. 毛刺
触发定时分析仪
用户非常熟悉的另一个示波器术语是“触发”。它也在逻辑分析仪中使用,但常称为“跟踪点”。与示波器的迹线总是在触发后开始不同,逻辑分析仪连续捕获数据,并在找到跟踪点后停止采集。这样,逻辑分析仪就能显示出被称为负时间的跟踪点前的信息,以及跟踪点后的信息。
码型触发
设置定时分析仪的跟踪特性与设置示波器的触发电平和斜率稍有一点区别。许多分析仪是在跨多条输入线的高和低码型上触发。
注意图7中的菜单。我们已告诉分析仪当“INT4”的通道 0, 2 , 4 , 6为高(逻辑 1),1 , 3 , 5 , 7 通道为低(逻辑0)时开始捕获数据。图8显示得到的结果,中间的垂直线示出了跟踪点。在跟踪点,通道 0 , 2 , 4 , 6均为高,而通道 1 , 3, 5, 7 均为低。
为使某些用户更感方便,绝大多数分析仪的触发点不仅可用二进制(1 和 0),而且可用十六进制,八进制,ASCII或十进制设置。例如在
前面的例子若采用十六进制设置,触发特性即可用55代替 0101 0101。在查看 4, 8, 16, 24, 32 bit 宽的总线时,使用十六进制的触发点会更加方便。想想如果用二进制设置24 bit总线会多麻烦啊!
图 7. INT4 设置在高低码型上触发
图 8. 带有跟踪点的波形
边沿触发
边沿触发对习惯使用示波器的用户是一种很熟悉的概念。在调节示波器的“触发电平”旋钮时,您知道是在设置电压比较器的电平,它告诉示波器在输入电压穿越该电平时触发。定时分析仪的边沿触发与其基本相似,只是触发电平已预设置到逻辑阈值。
为什么在定时分析仪中也包含边沿触发? 许多逻辑器件都与电平相关,这些器件的时钟和控制信号都对边沿敏感。边沿触发使您能与器件时钟同步地捕获数据。
例如,考虑一个不能正确移位数据的边沿触发移位寄存器。这是数据问题还是时钟沿问题呢? 为了检查这一器件,我们需要验证时钟边沿记录的数据(图 9)。
您能告诉分析仪在时钟边沿(上升或下降)捕获数据,并获取移位寄存器的所有输出。当然在这种情况下,我们必须延迟跟踪点,以顾及通过移位寄存器的传播延迟。
图 9. 边沿触发移位寄存器
状态分析仪基础
在本应用指南的第一部分,我们讲述了作为逻辑分析仪两个主要部分之一的定时分析仪。下面我们介绍逻辑分析仪的另一主要部分 —状态分析仪。
如果您从未使用过状态分析仪,您可能认为这是一种极为复杂的仪器,需要花很多时间才能掌握使用方法。您还会问自己: “我为什么要用状态分析仪呢? 我设计的是硬件。”
事实上,许多硬件设计师发现状态分析仪是很有价值的工具,特别是跟踪软件或硬件中的一些小错误时。它可避免产生问题时硬件研制组与软件研制组间的相互指责。况且掌握状态分析仪也并不比定时分析仪困难。
什么时候应使用状态分析仪
如果要了解什么时候应使用状态分析仪,我们首先要知道什么是“状态”。一个逻辑电路的“状态”是数据有效时对总线或信号线的采样样本。
例如,取一个如图10所示的简单“D”触发器。“D”输入端的数据直到时钟上升沿到来时才有效。这样,触发器的状态就是时钟上升沿产生时的状态。
现在,假定我们有8个这样的触发器并联。所有8个触发器都连到同样的时钟信号上(图 11)。
当时钟线上产生正跳变时,所有8个触发器都要捕获各自“D”输入端的数据。这样,每当时钟线上正跳变时就产生一个状态,这8条线类似于微处理器总线。
如果我们把状态分析仪接到这8条线上,并告诉它在时钟线正跳变时收集数据,状态分析仪将照此执行。除非时钟跳到高电平,否则输入的任何活动将不被状态分析仪捕获。
图 10. D 触发器
图 11. 接到相同时钟信号的 8 个并联的 D 触发器
这说明了定时分析仪和状态分析仪的主要区别。定时分析仪有内部时钟控制采样,因此它是对被测系统作异步采样。而状态分析仪从系统得到采样时钟,因此它是对系统同步采样。
作为经验法则,您应记住要用状态分析仪检查总线上发生了“什么”,而用定时分析仪查看“什么时候”发生。因此,状态分析仪通常用列表方式显示数据,而定时分析仪用波形图显示数据。在逻辑分析仪用波形图显示状态数据,或以列表显示定时数据时,我们应非常小心,以避免错误地解释数据。
理解时钟
在定时分析仪中,采样是沿着单一内部时钟的方向进行,从而使事情非常简单。但微处理器系统中往往会有若干个“时钟”,让我们来看一个简单的例子。
假定某个时刻我们要在 RAM中的一个特定地址上触发,并查看所保存的数据。再假定使用的微处理器是 Zilog 80。
为了用状态分析仪从 Z80 捕获地址,我们要在MREQ线为低电平时进行捕获。而为捕获数据,需要在WR线为低(写周期)或RD线为低(读周期)时让分析仪采样。某些微处理器可在同一条线上对数据和地址进行多路转换。分析仪必须能得到来自相同信号线不同时钟的时钟脉冲输入信息。
在读写周期期间,Z80首先把一个地址放在地址总线上。接着设置MREQ,表示该地址对存储器的读或写有效。最后根据现在是读还是写设置RD或WR状态。WR线只有在总线数据有效后才能进行设置。
这样,定时分析仪就作为多路分配器在适当的时间捕获地址,然后在同一信号线上捕获产生的数据。
图 12. RAM 定时波形
触发状态分析仪
像定时分析仪一样,状态分析仪也提供限定所要保存数据的能力。如果我们要寻找地址总线上由高低电平构成的特定码型,可告诉分析仪在找到该模式时开始保存,直到分析仪的存储器完全装满。在下面的例子中,我们把触发点设置为FFF03187(十六进制)(图 13)。在这种情况下我们要找出 FFF03187 位置中的内容,因此把数据触发设置为不予关注(XXXX)态。
这就告诉分析仪对地址FFF03187触发,而不管该点是什么数据。
分析仪捕获地址 FFF03187 和所有其后的状态。应注意地址FFF03187的数据是554103E7(图14),并且所有信息均以十六进制格式显示。当然也可使用二进制格式。但在解码至汇编码时,十六进制可能更为方便。
如果您规定所有总线信息都用十六进制显示,就得到如(图 14)这样的显示。
图 13. 状态分析仪的触发设置
图 14. 状态分析仪捕获的数据
这些十六进制代码是什么意思?在使用处理器时,特定的十六进制字符包含一个处理器指令。如果您很熟悉十六进制代码,就能查看这些类似图 14 所示的十六进制代码表,并知道它们代表的指令。但我们大部分人做不到这一点。因此,绝大多数分析仪制造商设计了称为反汇编器的软件包。这些软件包把十六进制代码转换成易于阅读的汇编码。
例如图 15 中有 0000 41B0 和0000 41B1。我们可以从 Motorola PowerQUICC 手册中查到它们代表存储器写0x00指令。反汇编器可以为我们做这些事情,使我们不需要查找这些代码。请查看图17并注意它们之间的差别。
图 15. 把十六进制码翻译成汇编码
理解序列级
状态分析仪具有帮助触发和存储的“序列级”。序列级使您能比单一触发点更精确地限定要保存的数据。也就是说可使用更精确的数据窗,而不必存储不需要的信息。序列级的一般形式为:
1 find xxxx
else on xxxx go to level x 2
then find xxxx
else on xxxx go to level x 3
trigger on xxxx
在从程序中的特定点进入子程序时,序列级是特别有用的。
节省存储器和时间的选择性保存
序列级使我们有可能调用经选择的保存。选择性的保存意味着可只保存较大整体中的一部分。例如,假定我们有一个计算给定数平方的汇编例程。如果该例程不能正确计算平方,我们就告诉状态分析仪捕获这一例程。具体做法是先让状态分析仪寻找该例程的起始地址。当它找到起始地址时,我们再告诉它寻找终止地址,并保存两者之间的所有信息。当发现例程结束时,我们告诉分析仪停止保存(不保存任何状态)。图16示出选择性保存的工作情况。
图 16. 选择性的保存
使用触发功能
与定义每一序列级相比,更好的方法是使用预定义的触发功能。常用的触发功能库,如“寻找产生的第 N 个沿”和“寻找事件 N 次” 提供把分析仪设置在常见事件和条件上触发的简便方法。状态和定时采集这两种工作模式均可使用这些功能。
您也可把预定义的触发功能作为建立自定义功能的开始点。当您拆分一个功能时,就能使用所有的资源分配字段和分支选项。您也能通过改变这些字段改变触发结构。
您也许需要通过这些工作建立自定义的触发规范,或在您的触发序列中建立循环和跳转。
有效使用数字工具
我们到现在已讨论了示波器,状态和定时分析仪,以及它们的应用。如果您从事数字硬件电路的设计和维修,您可能已经用过上述每一种工具。在这一节里,我们要讨论如何将这些工具一起使用,以更快和更有效地找出系统中的故障。
现象和成因
在您查找数字电路故障时,常常会问自己: “产生这些现象的原因是什么? ”也许能很容易确定故障现象,但排除故障还需找到产生这些问题的原因。在许多情况下,现象和成因处在不同的域。例如,存储器控制线上的毛刺造成存储器的不正确读写。这一现象(错误数据)可以在数据域用状态分析仪和在可疑存储器地址上进行触发找到。但其成因却不能在数据域确定。也可能现象是出现在时域(例如 I/O 线上的不良握手信号),而成因却是在数据域(例如错误的软件 I/O 例程)
图 17. 不同测量域的现象和成因例子
模块间测量
使用多种仪器进行的测量称为“模块间测量”。模块间测量要求把所有的工具集成到一台仪器中,使其能同时捕获数据。图 18示出带有集成示波器显示的 16800 系列逻辑分析仪的系统配置菜单。这一设置提供从状态分析中的错误数据到示波器域毛刺的跟踪能力。
交叉域触发
我们的例子中已谈到针对问题现象的模块触发(状态分析仪,定时分析仪或示波器)。在现象产生时分析仪适当的触发方式立即触发,监视问题产生原因的模块开始捕获数据。这可通过在其它模块触发时授权一个模块实现。作为对完全功能性的要求,每一个模块都应能接收和发送触发信号。传输这些触发信号的总线被称为“模块间总线”,或IMB(图 19)。
图 18. 系统配置菜单和模块间总线
图 19. 设置模块间测量
交叉域时相关
当我们成功触发所有测量模块并结束了数据捕获后,就需要查看捕获的数据。我们都很熟悉示波器的波形显示,并已在前面讨论了状态分析仪或定时分析仪显示捕获的数据。为建立不同测量域间的相关关系,在同一屏幕上显示两个测量域的数据将是很方便的。但我们如何建立不同于跟踪点的状态和定时间的相关呢? 应记住定时分析仪使用与系统异步的内部采样时钟,而状态分析仪则对目标系统作同步采样。如果我们对外部状态样本间的时间计数,就能得到从定时分析仪波形任意点关联到状态分析仪列表相应位置的足够时间信息。
应用例子
您可在图20中看到用状态分析仪在特定存储器入口上的触发。定时分析仪和示波器都由状态分析仪触发,以提供多个通道的定时信息及少数几个通道的参数信息。应注意可使用光标建立时域(示波器和定时分析仪)和数据域(状态分析仪)间的相关关系。
图 20. 交叉域测量
如何接到您的目标系统
我们已经讨论了示波器、定时分析仪和状态分析仪间的区别,在实际使用这些新工具之前,还应讨论另一个主题 ─ 探测系统。
您在使用示波器时可能已经非常熟悉无源探头。示波器探头使其易于触及目标系统,并将信号失真减至最小。由于我们要查看电压电平和上升时间这样的参数信息,所以探头不能明显增加被测电路的负载。典型示波器探头具有1 MΩ阻抗及10 pF的旁路电容,它取决于测量所需要的带宽。
另一方面,逻辑分析仪的探头要能很容易地把大量通道接到目标系统,因此只能适当牺牲被测信号的幅度准确度。应记住逻辑分析仪只区别两个电压电平! 通常逻辑分析仪都使用有源探头接口夹,它带有集成的8个通道的信号检测电路,每个通道的总电容为 16 pF。
电阻性负载 vs.电容性负载
探头阻抗将如何影响测量? 电阻性负载和电容性负载是产生信号失真的两个主要原因。电阻性负载通过电阻分压器效应影响输出幅度。
图 21. 电阻性和电容性负载误差图
电容性负载因造成跳变沿的失真而影响被测信号的定时。电阻性负载的幅度误差不会明显影响多数电路的性能,即使您使用具有10 kΩ负载的1 GHz示波器探头进行探测。
事实上,许多逻辑分析仪都能在10% 幅度误差下正确工作。由于绝大多数数字IC的典型输出阻抗为几百欧姆或更低,因此完全可用探头触针进行几 kΩ 的电阻测量。
随着新设计中时钟速度的继续增加,探头的电容性负载变得更为重要。时钟速度的增加使电路对几ns的定时误差更为敏感。另一方面,基本定时误差抗扰度也受到时钟速率的限制。即使在更高的时钟速率下,CMOS 电路也能驱动给定负载而正确运行,但对该电路使用过大电容性负载探头进行测试时,有可能产生非预期的定时问题。
表 1. 探头电容增加了 CMOS 门延迟
探测解决方案
为进行调试,至数字系统的物理连接必须可靠 、方便,对目标系统的侵扰最小,这样才能使逻辑分析仪得到精确的数据。安捷伦为与目标系统的连接提供众多类型的探头和附件选择。
普通的探测解决方案是每条电缆有 16个通道无源探头。每个通道的两端用 100 kΩ和 8 pF 端接。您可将这种无源探头与示波器探头的电气性能作以比较。无源探头系统除了更小的尺寸和更高的可靠性外,还能把探头端接在与目标系统的连接点上。这就避免了从大的有源探头接口夹到被测电路间大量引线所产生的附加杂散电容。因此您的被测电路就只“看到”8 pF的负载电容,而不再是前述探头系统的 16 pF。
分析探头和其它附件
把状态分析仪接到微处理器系统需要进行机械连接和时钟选择。应记住不管总线上的数据或地址是否有效,我们都需要给状态分析仪施加时钟。某些微处理器可能需要外部电路对一些信号进行解码,才能得到用于状态分析仪的时钟。分析探头不仅能提供与目标系统快速、可靠和正确的机械连接,而且能提供必要的电气适配能力,如为正确捕获系统运行提供的时钟和多路分配器能力。
某些微处理器可从存储器预取可能从不执行的信息。而分析探头则能从执行信息中辨别出预取信息。此外,分析探头通常可与反汇编器一起将十六进制信息解码成微处理器的助记符。
图 22. 分析探头
这篇应用指南说明了逻辑分析仪是什么以及如何工作。由于绝大多数逻辑分析仪都由定时分析仪和状态分析仪这两个主要部分组成,我们也分别予以说明。两种分析仪在一起工作构成数字电路设计师手中的强大工具。
定时分析仪更接近于示波器,它更适于处理多线的总线型结构或应用。它也有能力在信号线上的码型,甚至在毛刺上触发。
状态分析仪常被看成是一种软件工具。但事实上它在硬件方面也很有用。由于它从被测系统得到时钟,因此捕获的数据也就是系统看到的系统时钟上数据。
上一篇:使用一台矢量网络分析仪来控制多台 E5092A 以增加测试端口数
下一篇:何为频谱分析仪以及频谱分析仪的应用领域及工作原理
推荐阅读最新更新时间:2024-11-10 20:48
- MCP1501T-33E/SN 3.300V 负参考电压典型应用电路
- LTM4612EV 演示板,符合 EN55022B 标准的 36V、5A DC/DC 模块稳压器
- LT1317CMS8 单节锂离子电池至 4V/70mA、-4V/10mA 的典型应用电路
- 使用 ROHM Semiconductor 的 BAJ0BC0FP-E2 的参考设计
- PAM8304EVB,基于 PAM8304 单声道无滤波器 D 类放大器的评估板
- STR-PWRNCV8163-R0-GEVK:Strata NCV8163 LDO 稳压器,250 mA,超低压差,超低 Iq,超高 PSRR,超低噪声
- SEN-15269,SparkFun gator:environment - micro:bit 配件板
- 使用 ON Semiconductor 的 KA7805AE 的参考设计
- 用于便携式媒体播放器的 3.3V DC 至 DC 单路输出电源
- 用于工业应用的 C8051F502 MCU 的 C8051F500DK、8051 开发系统