逻辑分析仪和协议分析仪的区别
――BJLK
逻辑分析仪是通用的测试仪器,主要用于数字信号的时序和逻辑关系测量。由于其可以提供很多测量通道,因此常用于并行总线测量。一些高端的逻辑分析仪采用插卡式结构,单机箱最多可以配置6个测量模块,每个模块可以有68~102个测量通道,其模块最大状态采样率到2G/s,广泛应用于CPU/Memory/DSP/FPGA 等并行总线和数据的调试。更进一步的,逻辑分析仪也可以通过扩展相应的软件对所抓取的数据进行更高级的分析,即从逻辑时序中解出其代表的数据包的具体含义。如Agilent的逻辑分析仪可以选配B4621A的DDR2/3解码软件实现DDR2/3总线的解码和总线统计分析。对于一些常用的高速串行总线,如PCIe/SATA等,由于其数据速率高达5Gbps,而且是内嵌时钟,逻辑分析仪的采样率和时钟模式都不太适合对这种总线直接采样,因此需要配合相应的分析探头(一台外置的测量模块)把高速的串行总线先解成较低速的并行总线,再连接逻辑分析仪进行采集和总线解码,从而实现相应的协议分析功能。如Agilent的逻辑分析仪可以配合N4219B模块实现SATA/SAS的协议分析。用逻辑分析仪做高速串行总线分析最大的一个障碍是基于数据包的触发功能比较有限,因为一个简单的数据包格式触发设置就可能耗掉逻辑分析仪的所有触发资源,因此很多和逻辑分析仪配合的分析探头如前面提到的做SATA分析的N4219B都内置了基于包的硬件触发功能。而协议分析仪属于专用的测试仪器,主要用于特定总线的协议分析。其内部一般内置相应的硬件解码模块,因此针对特定总线应用来说,其解码速度快、触发和分析功能强大,对于熟悉特定总线协议的工程师来说使用起来相对比较方便。同时有些协议分析仪除了可以分析总线以外,还有训练器模块,即可以主动编辑产生符合相关协议的数据包与被测系统交互,更好地验证数据的交互过程。如Agilent 的E2960B PCIE协议分析仪,可以提供X1~X16的PCIE GEN1/GEN2的协议分析,其可以设置30多种错误触发模式,同时提供PCIE的PTC模块(即进行一致性测试的训练器)和通用的训练器,可以帮助用户快速验证和发现协议的错误。同时,其体积小巧,便于携带。目前E2960B是PCIE协议认可的2种可以做PCIE gen2的协议测试的仪器之一。
总之,逻辑分析仪是通用仪器,其不局限于特定的总线,优点在于其通用性和灵
活性,以及并行总线和底层逻辑分析能力;协议分析仪是专用仪器,优点在于针对特定应用时强大的触发、包分析的功能。两者在某些功能上(如总线解码上)有些重合,但又都有各自独特的地方,做高速总线设计的人员可以根据具体需求灵活配置。
另外,基于2种仪器各有特点,所以有时候还会把2种仪器联合使用。如PCIE 的协议分析仪E2960B就可以通过其P2L gateway的功能实现和逻辑分析仪的连接,可以同时观测PCIE总线上的数据包以及FPGA或内存总线的并行数据。