Linux设备驱动开发详解:基于最新的Linux4.0内核
上QQ阅读APP看书,第一时间看更新

2.8.3 逻辑分析仪

逻辑分析仪是利用时钟从测试设备上采集数字信号并进行显示的仪器,其最主要的作用是用于时序的判定。与示波器不同,逻辑分析仪并不具备许多电压等级,通常只显示两个电压(逻辑1和0)。在设定了参考电压之后,逻辑分析仪通过比较器来判定待测试信号,高于参考电压者为1,低于参考电压者为0。

例如,如果以n MHz采样率测量一个信号,逻辑分析仪会以1000/n ns为周期采样信号,当参考电压设定为1.5V时,超过1.5V则判定为1,低于1.5V则为0,将逻辑1和0连接成连续的波形,工程师依据此连续波形可寻找时序问题。

高端逻辑分析仪会安装Windows操作系统并提供非常友善的逻辑分析应用软件,在其中可方便地编辑探针、信号并查看波形。这种逻辑分析仪一般称为传统逻辑分析仪,其功能强大,数据采集、分析和波形显示融于一身,但是价格十分昂贵。有的逻辑分析仪则没有图形界面,但是可以通过USB等接口与PC连接,分析软件则工作在PC上。这种逻辑分析仪一般称为虚拟逻辑分析仪,它是PC技术和测量技术结合的产物,触发和记录功能由虚拟逻辑分析仪硬件完成,波形显示、输入设置等功能由PC完成,因此比较廉价。图2.33给出了两种逻辑分析仪。

图2.33 逻辑分析仪

逻辑分析仪的波形可以显示地址、数据、控制信号及任意外部探头信号的变化轨迹,在使用之前应先编辑每个探头的信号名。之后,根据波形还原出总线的工作时序,图2.34给出了一个I2C的例子。目前,很多逻辑分析仪都自带了协议分析能力,可以自动分析出总线上传输的命令、地址和数据等信息。

图2.34 从逻辑分析仪波形还原I2C总线

逻辑分析仪具有超强的逻辑跟踪分析功能,它可以捕获并记录嵌入式处理器的总线周期,也可以捕获如实时跟踪用的ETM接口的程序执行信息,并对这些记录进行分析、译码且还原出应用程序的执行过程。因此,可使用逻辑分析仪通过触发接口与ICD(在线调试器)协调工作以补充ICD在跟踪功能方面的不足。逻辑分析仪与ICD协作可为工程师提供断点、触发和跟踪调试手段,如图2.35所示。

ICD是一个容易与ICE(在线仿真器)混淆的概念,ICE本身需要完全仿真CPU的行为,可以从物理上完全替代CPU,而ICD则只是与芯片内部的嵌入式ICE单元通过JTAG等接口互通。因此,对ICD的硬件性能要求远低于ICE。目前市面上出现的很多号称为ICE的产品实际上是ICD等,但是人们一般也称它们为ICE。

图2.35 逻辑分析仪与ICD协作