[讨论] 全面认识逻辑分析仪(上)

wstt   2013-6-26 10:57 楼主

对许多应用来说,现代逻辑分析仪可以比其它仪器在更短的时间内找到造成麻烦的根本原因。


逻辑分析仪是一种多功能工具,可以帮助工程师进行数字硬件调试、设计检验和嵌入式软件调试。然而,许多工程师本应在使用逻辑分析仪时却使用了数字未波器,通常原因是他们更熟悉示波器。但是,逻辑分析仪在过去几年中已经取得了长足进展,对许多应用来说,它们可以比其它仪器在更短的时间内找到造成麻烦的根本原因。


数字示波器与逻辑分析仪比较


示波器和逻辑分析仪有许多类似之处,当然它们也有许多重大差异。为了更好地了解这两台仪器可以怎样满足您的特定需求,我们首先要比较一下各自的功能。


数字示波器是基本的通用信号观察工具。其高采样率和高带宽,使其能够在某个时间跨度内捕获许多数据点,测量信号跳变(边沿)、瞬态事件及小的时间增量。当然,示波器也能像逻辑分析仪一样查看相同的数字信号,但其一般用于模拟测量,如上升时间和下降时间、峰值幅度及边沿之间经过的时间。


示波器一般有最多4条输入通道。但在您需要同时测量5个数字信号时,或者处理同时拥有一条32位数据总线和一条64位地址总线的数字系统时,该怎么办呢?这时,您需要工具拥有多得多的输入。逻辑分析仪一般有34-136条通道。每条通道输入一个数字信号。某些复杂的系统设计要求数千条输入通道。业内也为这些任务提供了相应标度的逻辑分析仪。


与示波器不同,逻辑分析仪不测量模拟细节,而是检测逻辑门限电平。逻辑分析仪只查找两个逻辑电平。在输入高于门限电压(Vth)时,我们把电平称为“高”或“1”。相反,我们把低于Vth的电平称为“低”或“0”。在逻辑分析仪对输入采样时,它存储一个“1”或一个“0”,具体视相对于电压门限的信号电平而定。


逻辑分析仪的波形定时显示与产品技术资料中找到的或仿真器生成的定时图类似。所有信号都时间相关,因此可以观察建立时间和保持时间、脉宽、外来数据或漏掉数据。除高通道数外,逻辑分析仪提供了多种重要功能,支持数字设计检验和调试。


• 完善的触发功能,可以指定逻辑分析仪采集数据的条件。

• 高密度探头和适配器,简化与被测系统(SUT)的连接。

• 分析功能,把捕获的数据转换成处理器指令,并把它与源代码相关。


使用逻辑分析仪的方式与使用其它仪器相似,涉及的主要步骤有4个:连接、设置、采集、分析。


连接SUT


逻辑分析仪采集探头连接到SUT上。在探头的内部比较器上,输入电压与Vth进行对比,做出与信号逻辑状态(1或0)有关的判断。用户设置门限值,从晶体管与晶体管逻辑(TTL)电平到CMOS、发射器耦合逻辑(ECL)及用户自定义门限。逻辑分析仪探头分成多种物理形式。


带有“飞线束”的通用探头处理逐点调试。在电路板上要求专用连接器的高密度多通道探头可以采集高质量信号,而对SUT的影响达到最小。此外,对要求更高信号密度或无连接器探头连接机制的应用,我们推荐使用无连接器探头的高密度压缩探头,以便快速可靠地连接SUT。


逻辑分析仪的探头阻抗(电容、电阻和电感)成为被测电路上整体负载的一部分。所有探头都表现出负载特点。逻辑分析仪探头应给SUT引入的负载最小,同时为逻辑分析仪提供准确的信号。


探头电容一般会“滚降”信号跳变边沿。这种滚降会降慢边沿跳变,下降量是图1中用“t∆”表示的时间量。为什么这一点非常重要呢?较慢的边沿越过逻辑门限的时间比较迟,在SUT中会引入定时误差。在时钟速率提高时,这个问题会变得更加严重。


1.jpg


1. 逻辑分析仪的探头阻抗会影响信号上升时间,可以测量定时关系。

[图示内容:]

Actual risetime: 实际上升时间


Observed risetime (with large capacitive loading): 观察到的上升时间(有大的电容负载)


在高速系统中,探头电容过高可能会阻碍SUT工作。应选择总电容最低的探头,这一点总是至关重要。还要指出的是,探头夹和线束会提高其连接到的电路上的电容负载。应尽可能使用正确补偿的适配器。


设置逻辑分析仪


逻辑分析仪是为从多引脚器件和总线中捕获数据而设计的。“捕获速率”一词指输入被采样的频次。其功能与示波器中的时基相同。注意在描述逻辑分析仪操作时,“采样”、“采集”、“捕获”这三个词经常互换使用。另外,数据采集或时钟模式分成两类。


第一类是定时采集,用来捕获信号定时信息。在这种模式下,逻辑分析仪内部的时钟用来对数据采样。数据采样速度越快,测量的分辨率越高。目标设备和逻辑分析仪采集的数据之间没有固定的定时关系。这种采集模式主要用于SUT信号之间定时关系占首要位置时。


第二类是状态采集,用来采集SUT的“状态”。来自SUT的信号确定样点(什么时候及以什么样的频次采集数据)。用来为采集输入时钟的信号既可以是系统时钟,也可以是总线上的控制信号,还可以是导致SUT改变状态的信号。在活动边沿上采样的数据表示逻辑信号稳定时的SUT条件。在、且只在选择的信号有效时,逻辑分析仪才会采样。


如果要捕获邻近的长定时细节记录,那么定时采集及内部(或异步)时钟是适当的选择。您可能想像SUT看到的那样采集数据。在这种情况下,您应选择状态(同步)采集。在状态采集中,SUT的每种连续状态都在列表窗口中顺序显示。状态采集使用的外部时钟信息可以是任何相关信号。


触发是使逻辑分析仪与示波器区分开来的另一种功能。示波器有触发,但对二进制条件响应的能力相对有限。相比之下,它可以评估各种逻辑(布尔)条件,确定逻辑分析仪分析什么时候触发。触发的目的是选择逻辑分析仪捕获哪些数据。逻辑分析仪可以追踪SUT逻辑状态,在SUT中发生用户自定义事件时触发。


在讨论逻辑分析仪时,非常重要的一点是理解“事件”一词,它有几层含义。它可以是一条信号线上的简单跳变,可以是人为事件或其它事件。如果您正在查找毛刺,那么这就是关心的“事件”。事件也可以是定义的逻辑条件,源自整个总线中多个信号跳变组合。但注意在所有情况下,事件都是信号从一个周期变到下一个周期时出现的某件事情。


采集状态数据和定时数据


在硬件和软件调试(系统集成)过程中,最好拥有相关的状态信息和定时信息。一开始时检测到的问题可能会表现为总线上无效的状态。这可能是由建立时间和保持时间违规之类的问题引起的。如果逻辑分析仪不能同时捕获定时数据和状态数据,那么隔离问题会变得非常困难,耗时非常长。


某些逻辑分析仪要求连接单独的定时探头,以采集定时信息,使用单独的采集硬件。这些仪器要求一次把两种探头连接到SUT上(图2)。第一只探头把SUT连接到定时模块上,第二只探头把相同的测试点连接到状态模块上,这称为“双重探测”。这种方式会损害信号的阻抗环境。一次使用两只探头会使信号负担过重,劣化SUT的上升时间和下降时间、幅度和噪声性能。


2.jpg

2. 双重探测要求每个测试点上有两只探头,这会降低测量的质量。

[图示内容:]

State probes: 状态探头

Timing probes: 定时探头


最好同时采集定时数据和状态数据,通过同一只探头同时进行采集(图3)。一条连接、一个设置、一次采集,同时提供定时数据和状态数据。这简化了探头的机械连接,减少了问题。一只探头对电路的影响较低,保证测量更加准确,对电路运行的影响更小。


3.jpg

3. 同时探测通过同一只探头提供状态采集和定时采集,提供了更简单、更干净的测量环境。

[图示内容:]

Timing/state probes: 定时/状态探头


逻辑分析仪的探测系统、触发系统和时钟系统共存,把数据传送到实时采集内存中。这个内存是仪器的心脏,是从SUT中采样的所有数据的目的地,也是所有仪器分析和显示的来源。


逻辑分析仪拥有内存,能够以仪器的采样率存储数据。这个内存可以想象成一个拥有通道宽度和存储深度的矩阵(图4)。仪器累积所有信号活动记录,直到触发事件或用户告诉它停止。结果是采集数据,本质上是一个多通道波形显示,让您以非常高的定时精度查看您已经采集的所有信号的交互情况。


4.jpg


4.逻辑分析仪在深内存中存储采集数据,使用一条全深度通道支持每个数字输入。

[图示内容:]

Memory depth: 存储深度

Input: 输入

Number of channels: 通道数量


采集更多的样点(时间)提高了同时捕获错误及导致错误的问题的机会。逻辑分析仪持续对数据采样,填充实时采集内存,根据先进先出的原则丢掉溢出的数据。这样,实时数据一直流经内存。在触发事件发生时,“挂起”流程会启动,把数据保存在内存中。


触发在内存中的位置非常灵活,可以捕获和考察触发事件发生前、发生后及周围的事件。这是一种重要的调试功能。如果您触发了一个问题症状 – 通常是某类错误,您可以设置逻辑分析仪,存储触发前的数据(预触发数据),捕获导致这一症状的问题。逻辑分析仪还可以设置成存储触发后一定数量的数据(后触发数据),查看错误可能产生的后续影响。


逻辑分析仪的主采集内存存储着一条完善的长信号活动记录。当今部分逻辑分析仪可以在几百条通道内以几千兆赫兹的速率捕获数据,在长记录长度中累积结果。显示的每个信号跳变被视为发生在活动时钟速率定义的采样间隔内的某个位置上。捕获的边沿可能发生在前一个样点几皮秒后,或发生在后续样点前几皮秒,或发生在两者之间。所以,采样间隔决定着仪器的分辨率。


不断演变的高速计算总线和通信设备正推动着对逻辑分析仪更高定时分辨率的需求。解决这一挑战的方式是高速缓冲内存,在触发点周围更高的间隔上捕获信息。在这里,在内存填满时,也是不断用新样点代替最老的样点。每条通道都有自己的缓冲内存。这类采集保存着跳变和事件的动态高分辨率记录,而这些跳变和事件在主内存采集下的分辨率时可能是看不到的。

《MCU工程师炼成记》作者之一

回复评论 (2)

顶一下。。。
我的博客
点赞  2013-6-26 13:26
了解逻辑分析仪的好文章,,顶
点赞  2013-7-5 15:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复