使用逻辑分析仪调试时序问题
在今天的数字世界,嵌入式系统比以往任何时候都更为复杂。使用速度更快、功耗更低的设备和功能更强大的电路,工程师需要考虑信号完整性问题。在调试和验证过程中,大部分数字电路失效可以追溯到信号完整性问题。本文将讨论如何使用逻辑分析仪的特性和功能来解决这些和时序相关的问题,以快速、方便地找到设计问题的根源。
探测的考虑
在你的设计电路中布置合适的探测点对于后期的调试工作具有至关重要的作用。有了合适的探测点,你可以把不同位置的信号时序问题关联起来,查看总线的运行情况,并分析硬件和软件接口。因此寻找问题根源的第一步就是信号的探测。
确定好测试点后,下一步就是挑选探头,探头的特性对于测量非常重要,总电容负载偏高的探头可以改变系统性能并带来(或隐藏)时序问题。尤其在高速系统,偏高的探头电容负载可能导致被测系统(SUT)无法正常运行。因此,尽可能选择较小的总电容负载探头。
探头电容一般会拉长信号边沿时间,如图1所示。该边沿的转换速度变慢,时间大约为tΔ,而较慢的边沿经过逻辑电路后,将在被测系统中引入时序问题。随着时钟频率增加,这个问题变得更加严重。
图1 逻辑分析仪探头的阻抗影响信号的上升时间和时序测量
逻辑分析仪的性能考虑
逻辑分析仪的性能对于系统调试,寻找问题源起了重要作用。而要正确选择逻辑分析仪来满足测试需求,首先需要了解逻辑分析仪的基本功能。逻辑分析仪的最基本的功能是利用采集的数据绘出时序分析图。如果被测系统工作正常,并且逻辑分析仪的采集设置正确,逻辑分析仪的时序显示应该与设计仿真或规格书上的数据完全相同,但在实际情况下,这还与逻辑分析仪的分辨率(即采样率)密切相关。逻辑分析仪的采样时钟与输入信号是异步的,采样率越高,就越可能准确检测到信号的异常事件(如毛刺)。为了分析更快的信号,逻辑分析仪通常提供更高的分辨率采集模式,在触发点周围采集更多的数据。泰克TLA系列逻辑分析仪的MagniVu高分辨率采集模式能够在所有通道提供高达50GHz的采样。其他功能还包括可调节的MagniVu采样率、可调节的触发位置、一个独立于主触发器的MagniVu触发。所有这些功能为捕获各种各样的时序问题提供了更多的灵活性。
什么是毛刺
如果设备出现故障,要进行系统调试,一种方法是先查找毛刺。毛刺是非常窄的脉冲,毛刺在系统中可能导致、也可能不导致逻辑出错。毛刺对系统运行的影响是无法预测的。毛刺可以是多种设备故障(包括竞争情况、端接错误、驱动器错误、时序违规和串扰)的最初迹象。
毛刺定位
由于毛刺造成的问题通常是间歇性的,因此解决起来可能十分困难。一种可靠的方法是,将传统的“自上而下”故障排除法与测试仪器的特定优势相结合。先对设备运行情况有宏观的了解,然后聚焦于存在的问题。在不超过4个通道同时进行定位毛刺时,数字荧光示波器(DPO)是强大和简单易用的毛刺定位工具。DPO有较高的分析信号行为的能力,它能实时存储和分析复杂信号,同时能将信号信息以三维方式显示(即幅度、时间和信号出现的概率),是业界捕获难以捉摸的故障信号和间歇性事件非常有效的工具。
但如果需要同时进行4个以上通道,甚至上百个通道的毛刺定位,就需要用到逻辑分析仪。逻辑分析仪会检查每一个信号以寻找毛刺。总线时序图中的红色标记代表毛刺出现的位置,以便进一步分析。然后,再使用示波器揭示毛刺的实际形状,以进一步分析该问题。TLA系列逻辑分析仪提供了iView测量功能,可以将逻辑分析仪和示波器联合到一个系统,逐步“放大”问题,使用非常方便。下面将通过四个步骤来确定两种不同的毛刺及其可能的来源。
步骤I:检查总线
先重点观察系统运行情况,并从整体上寻找故障。逻辑分析仪的总线时序分析将标记出现的所有毛刺。需要寻找间歇性事件(如毛刺)时,最好使用具有较长记录长度的逻辑分析仪。逻辑分析仪在任何一个信号线中监测到毛刺,则会标记总线和时间位置。在图2中,顶部的波形显示了代表逻辑分析仪的深存储定时取样速率的取样点序列。下面两个信号是总线波形——4位控制总线和8位地址总线。出现在这两个总线波形中的红色毛刺标记说明在这些位置上的取样点之间有多次跳变。
图2 取样点序列,控制总线和地址总线显示红色毛刺标记
步骤II:检查信号线
现在来查找问题的来源。使用逻辑分析仪的时序信号波形显示总线的各个信号线,并标记毛刺发生的位置。在图3中,逻辑分析仪已将控制总线扩展为四个单独的信号,并将地址总线扩展为八个单独的信号。图3中总线波形上的红色毛刺标记,现在显示为信号线Control(3)和Control(0)上的毛刺标记,以及信号线Address(0)上的两处毛刺。
图3 扩展的4位控制总线和8位地址总线。在单个信号上显示红色毛刺标记
步骤III:了解故障细节
接下来使用高分辨率时序图详细检查故障。了解事件点与其他事件点之间的关系。泰克TLA系列逻辑分析仪的MagniVu功能能在最大16Kb的存储深度下为每个通道提供高达50GHz的数字采样率,并可与普通采样率深记录长度的时序分析功能同时运行。这样,一个逻辑分析仪无须更换探头,同时实现了深度时序逻辑分析仪和高分辨率时序逻辑分析仪两个功能。在本例中,似乎有两个不同的问题导致了毛刺的发生。首先,重点观察Control(3)信号线,并打开Control(3)信号的MagniVu波形。图4表明,由于MagniVu波形具有较高的分辨率,因此可揭示毛刺只出现在一个数字脉冲的末端而非前端或中间。这是找出故障原因的一个很重要的线索。进行到步骤IV时,将发现可能的原因。
图4 毛刺Control(3)的MagniVu波形显示
现在重点检查其余两个标有毛刺的信号线:Control(0)和Address(0)。在图5上,借助MagniVu 20ps的高分辨率成功捕获这两个信号线上的毛刺。请注意,在这两个信号线上毛刺和脉冲是同时发生的。这通常表明两个信号之间发生了串扰,但是,需要从另一个角度仔细观察以进行确认。进行到步骤IV时,可以发现更多信息。
图5 Control(0)和Address(0)信号线,其中MagniVu显示了由于串扰造成的毛刺
步骤IV:观察模拟波形
为了了解毛刺的真实形状,需要同时使用示波器和逻辑分析仪以观察信号的数字和模拟特性。TLA系列逻辑分析仪对此做了优化,提供可选的模拟信号复用器,实现了从逻辑分析仪探头获取的信号同时驱动逻辑分析仪和示波器。这样就不需要使用示波器的探头,从而减少了探头负载对信号的影响。
一旦示波器和逻辑分析仪连在一起同时采集信号,对两台仪器进行同步是最为关键的。泰克的逻辑分析仪利用iView功能,帮助逻辑分析仪在准确的时间触发示波器以捕获毛刺,还可以在显示屏上同时显示时间相关的模拟波形和数字波形。图6上展示了信号线Control(3)上毛刺的模拟信号。
图6 iView示波器显示,显示Control(3)信号的模拟形式
很明显,脉冲的上升沿和下降沿都出现了失真情况。上升沿的下垂程度不足以触发一个逻辑跳变,因此未显示为毛刺。然而,下降边沿的回d高度足以超过逻辑阀值,有时会引起逻辑跳变。尽管总线时钟的频率不是很高,但电路使用的LVPECL逻辑系列仍可引入快速边沿。脉冲边沿的反d表明电路板终端存在问题,该问题由于逻辑电路对于快速边沿的灵敏度较高而被放大。
对前面的Control(0)和Address(0)中的串扰假设进行测试,图7表明,对于其中一个信号的每个前沿,在另一个信号上都有一个相应的正电压脉冲。这表明Control(0)和Address(0)之间确实发生了串扰。在相应结构接口中,相邻的运行信号或引脚处很容易发生串扰。与低频信号相比,高频信号和时钟边沿更易受串扰影响。这意味着在较高的频率下,过去适用于较低频率的设计方案也可能导致故障。这两个示例中的总线带宽较窄,逻辑分析仪可对上百个信号的总线使用逻辑分析仪毛刺触发功能,检查每个信号线以寻找毛刺。如果它标记了毛刺,你可以利用前面讨论的这些功能来确定毛刺的来源。
图7 使用iView测量功能显示的Control(0)与Address(0)之间的串扰
小结
时序问题对于许多嵌入式设计来说是相当常见的,故障排除可能是一个耗时的任务。使用正确的逻辑分析仪将简化和加快这一进程。对比指标时,许多逻辑分析仪似乎有相同的性能,但为了确保逻辑分析仪能够正确地采集信号,快速地找到问题,你不能只看指标,还需要考虑到逻辑分析仪的结构和功能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)