一、简介
电子产品开发过程中我们最常用的是示波器,但随着微处理器的出现,电子工程师们越来越发现传统的双通道或四通道示波器不能满足微处理器电路在设计开发工程中的需要。于是具有多通道输入的逻辑分析仪就应运而生,逻辑分析仪不但解决了示波器输入通道不足的问题,还提供了更加强大的触发功能和分析功能,对于数字电路开发系统来说,逻辑分析仪无疑是一个很好的测试分析工具。
二、逻辑分析仪与示波器的区别
示波器是电子工程师使用最多的仪器,示波器主要用来观察信号的模拟特性,如边沿时间、电压幅度、是否有寄生干扰等。而逻辑分析仪主要测量数字电路,因为数字电路固有的特性,逻辑分析仪对电压的具体值和被测信号的一些模拟特性都不进行测量,而是专门针对信号的电平进行测量。如图1.1所示测量的信号为数字信号的下降沿。
通过示波器可以测量电平下降沿的下降时间、电平幅度、下降过程及寄生纹波等特性。当使用逻辑分析仪对下降沿进行测量时,其结果如图1.2所示。
逻辑分析仪的测量原理是采用一定的频率,对输入信号与设定的门限电压进行比较,当输入电平大于门槛电压时为逻辑1,当输入电平低于门槛电压时为逻辑0。图1.3为示波器与逻辑分析仪的测量结果比较。
虽然示波器同样可以观测数字信号,但一般的示波器都仅有2个通道或4个通道,对于观测5个以上的信号就无能为力了,尤其在微处理器开发过程中通常需要观测数据总线等信号。逻辑分析仪一般都有16个通道以上,甚至多的可以达到300个通道以上。与示波器相比逻辑分析仪具有以下优点:
● 同时监测多路输入
● 完善的触发功能
● 强大的分析功能
逻辑分析仪在中可以分为4个层次:
1、观察波形
观察测量波形中是否存在毛刺、干扰,频率是否正确等。
2、时序测量
对被测量信号进行时序分析,排除操作冲突、时序协调等问题。
3、辅助分析
使用逻辑分析仪完善的分析功能对总线信号或高级协议进行分析,加快开发进度。
4、排除错误
使用逻辑分析仪强大的触发功能来进行错误捕获,排除隐藏在系统的错误,增加产品的可靠性。
三、逻辑分析仪的应用实例
1、多输入测量
一般的示波器只有两路通道输入,对于需要多个通道输入的测量(如常用的SPI、SSI、Microwire等)就显得无能为力了,但逻辑分析仪一般都有16个通道以上的输入,可以轻松应付多通道输入的测量。SPI通讯通常由CS,SCK,SI,SO四个信号组成,SPI接口的芯片应用广泛,有E2PROM,I/O扩展,复位芯片,USB接口等,在日常电子产品设计中使用非常广泛。图1.4为使用逻辑分析仪对SPI总线进行测量的结果。
从图1.4中可以十分明了的观测SPI通讯中收发数据与时钟及片选的关系。不但在测量中可以使用逻辑分析仪对多个输入信号进行测量,平时可以用来当做多输入逻辑示波器使用,对输入的电平随时观察。
2、总线时序测量
对于一个微处理器系统的开发,很多时候难免需要外扩一些器件(如RAM,Flash,USB接口芯片等)以增加功能。在开发中经常都遇到这样一个问题,为了获取更高的性能让微处理器跑在比较高的时钟上,但当微处理器时钟上去以后常常会出现一些莫名其妙的问题,其中很大的一部分问题都是出在数据总线的建立和保持时间是否满足器件的时序要求。以下以PHILIPS LPC22XX系列操作总线来说明逻辑分析仪在总线时序测量上的使用。当使用LPC22xx外扩SST39VF160-90的flash芯片时,如何才能使微处理器获得最好的性能。图 1.5为SST39VF160-90芯片的读时序要求,其动态特性参数表1所示。
表1.1 SST39VF160动态特性
从表1.1中可以得出TRC、TCE、TAA、TCHZ(TOHZ)对正常读取数据起着关键作用。当TRC、TCE、TAA不能满足时序要求时,读取的数据就会出错。当TCHZ(TOHZ)操作不满足时序要求时,就会引起总线的冲突,不但会造成数据出错,同时也会给硬件带来损害。因为在ARM架构中OE和CE是一起输出,所以TOE就可以忽略了。图 1.6所示为LPC22xx读取外部Flash的实际时序。可以十分容易的测量出微控制器操作flash的时序是否符合要求。其中TRC读取周期为 130ns,满足flash器件的最小要求为 90ns。TCHZ(TOHZ)为40ns也满足了flash的要求。这样就保证了程序的可靠运行了,同时也知道微控制器读取flash的速度还可以配置得更快一些,从而可以加快系统的运行速度。
当使用总线方式外扩功能芯片时,时序的配合的问题就显得更加突出,使用逻辑分析仪对总线时序进行分析就显得更加重要了,同时也是系统正常运行的有力保证。
3、触发功能
功能完善的触发设置是逻辑分析仪的一大特色,与示波器只能触发电平和边沿的触发相比,逻辑分析仪设置的触发方式可以说是五花八门、多种多样。一个完善的逻辑分析仪应具备以下的触发设置,如表 1.2所示。
表1.2 逻辑分析仪常用触发方式
利用上述的触发方式,可以很轻松的把隐藏在大量的信息中的bug查找出来。以上的触发方式是常为使用的逻辑分析仪触发方式,对于一些难以用上述触发方式来描述的触发功能,在高档的逻辑分析仪中还提供如可视触发、语言描述等触发控制方式。
4、分析功能
示波器的分析功能只是针对输入通道进行频率、占空比、峰峰值等单一的通道进行测量。而逻辑分析仪则可以针对一个或多个输入通道进行时序和状态的分析。对于单片机UART发出的数据,使用示波器和逻辑分析仪都可以对其进行测量,如图 1.7为示波器测量的结果,可以观测到UART的高低电平时间,但数据是什么就无从而知了。
对一个信号使用逻辑分析仪进行测量比较,如图1.8所示。逻辑分析仪除了可以测量出UART的高低电平时间外,还可以通过插件的形式对数据进行分析。只要输入UART的参数,逻辑分析仪即可对UART传输数据进行分析,并把结果显示出来,让开发工程师可以更加直观的知道传输的数据。
UART测量只是在应用逻辑分析仪中一个很小的例子,功能强大的逻辑分析仪除了能够针对总线电平传输(如UART、I2C、SPI、SSI、Microwire、1-wire等)进行串并转换分析外,更应具有协议分析和辅助开发的功能。高级的逻辑分析仪除了能对总线电平传输进行分析外,还可以对一些高级的协议进行分析,如SD/MMC卡SPI模式协议分析、CF卡TrueIDE模式协议分析、MODBus协议分析等。在开发的工程中可以更加直观的对协议进行观测。如图1.9为SD卡传输的协议分析。
图1.9中CS、SCK、MOSI、MISO为原通讯数据,DataIn、DataOut为进行SPI总线分析的结果,InCmd、OutCmd为进行协议分析的结果。
5、查错功能
利用逻辑分析仪强大的触发功能来进行错误捕获。例如,以80C51单片机为例子,当程序跑到非用户程序区时,单片机使用PSEN对外部程序进行取指,使用逻辑分析仪可以设置触发条件,当使用PSEN对外部程序进行取指时进行记录,把出错情况前后的状态记录下来进行分析,查找出错原因。如80C51的取指范围正确为0x0000~0x3fff,则当对0x3fff以上地址进行取指时为程序跑飞。利用逻辑分析仪高级触发功能,设置的条件为地址总线>0x3fff和PSEN下降沿。当单片机对0x3fff以上地址取指时,逻辑分析仪就开始记录出错状态了,北京海洋兴业科技股份有限公司整理。