前言
在科技时代里越来越多的电子装置出现,也越来越多的装置电子化,而在这些许许多多的装置就会需要相互沟通与控制以及传递讯息与数据等,因此这些装置成了相互关系或是主从关系。所以这些装置之间就会有传递数据或互相控制的需求,那就必须有一相同的通讯协议,才能确保数据传输的正确性。为了让通讯协议简单化以及快速化,也因为串行式讯号传输才可以达到简单化以及快速化的目的,通讯协议的演进几乎都朝串行式的通讯协议来发展。例如传统的硬盘或光盘的传输界面都是以P-ATA(ParallelATA)为传输界面,现今大部分都已经改用S-ATA(SerialATA)。又如计算机界面卡的PCI界面,也开始会进入PCIExpress。
而不同类型的装置也衍生出不同的通讯协议(Protocol)。在PC与外围的应用,常见的有USB、PS2、1394、UART…。在其它电路之间的则有I2C、SPI…。车用常见的有CANBus及LINBus。这些许许多多的通讯协议也会衍生出一些变异的通讯协议出来。然而这么多的通讯协议在开发与测试维修的时候最大的问题是什么呢?是如何正确的撷取想要观看的波形以及将波形转换成较为人性化的表示方式。
我们先谈谈什么叫做较为人性化的表示方式呢?我们以RS232波形为例,使用示波器或逻辑分析仪等通用仪器量测到的波形如图1a,1b。
当您使用示波器或逻辑分析仪量测到上面这些波形时,对您的开发或是维修其实帮不了什么忙。因此开发者或是维修人员必须借助特殊通讯协议的分析仪,例如RS232分析仪、USB分析仪、CANBus分析仪…等等,来分析通讯协议的内容,这些通讯协议内容才会包含对使用者有帮助的讯息。但是这些专属的通讯协议分析仪通常市价不蜚,且通常只能分析单一种通讯协议,因此示波器与逻辑分析仪开始陆陆续续出现许多串行通讯协议的分析能力。
通用仪器的演进
早期的示波器与逻辑分析仪的内部不是没有操作系统,就是自行开发的一套操作系统,所以使用者界面的开发的难度就比较高,一台仪器的研发过程都是相当久。如今PC-Based的仪器已经相当普遍,连StandAlone的仪器内部也渐渐使用工业计算机(IPC)来取代,使用操作系统不是Windows就是Linux。所以这些仪器的使用者界面的开发变得非常简单,就好像在写PC上的软件一般,没有两样。而且因为PC的运算功能强大,这类仪器也会把需要大量运算或储存的事情交给PC来做,真正仪器的部份就只要处理仪器该做的事情,复杂与琐碎的事通通交给PC来处理。PC-Based的仪器或是使用IPC的仪器就可以将其采集到的波形传送到PC,再由PC上的软件加以分析,所有这些常用的通讯协议就可以一一的被分析出来显示在画面上,让使用者容易阅读。因此这类运用PC的仪器不再只是单纯的显示波形的仪器而已。举凡通讯协议分析、频域分析(FFT)、电源分析、温度分析、影像分析等等数不完的分析,都可经由PC上的软件得到解决。以往客户必须依照业者提供的二次开发界面(SDK)来取得波形,再自行开发一套软件来分析这些波形数据。如今只要是市场被大量运用的技术,很快就有业者将分析程序给写出来,使用者就不需要再花费时间来撰写这些分析程序。因此传统的示波器及逻辑分析仪不再只是一般的波形显示仪器,而是功能越来越强大的分析仪器。
逻辑分析仪的趋势
逻辑分析仪一直以来让人觉得陌生或实用性不高的刻板印象,主要是因为逻辑分析仪的高价位与使用复杂度。所以一般的工程师在除错时,大部分都仰赖示波器来解决问题。如今逻辑分析仪越来越普及,价格越来越低,且操作环境也拜PC之赐变得更简单,因此使用率也越来越高。况且在这数字化的时代里,数字电路不再是示波器就可以解决一切问题。因为数字电路通常都是有相当多的测试点需要同时量测,光靠示波器是不够用的,逻辑分析仪的多信道特性正好可以解决这个问题。
前面几节提到的通讯协议分析或其它分析,我们统称为波形资料后处理,而这节我们要提到的是通讯协议的触发功能。以往逻辑分析仪总是在强调采样率、通道数与储存深度等问题,然而在串行讯号挂帅的环境里,逻辑分析仪也开始强调提供通讯协议触发的功能,藉以提升逻辑分析仪的价值与实用性。
通讯协议分析与通讯协议触发两者之间有何不同呢?前面提到通讯协议分析就是所谓的通讯协议的后处理,也就是将逻辑分析仪采集到所有波形数据加以转换成通讯协议的数据。换句话说,你可能任意采集一段电路运作时的波形,或是利用触发设定来采集该触发讯号发生的同时所产生的波形。但是这样采集到的波形通常都不是你除错时真正想要看到的波形。如果能使用通讯协议的触发,将通讯协议的数值设定成触发参数,逻辑分析仪就可以非常准确的采集到真正事件发生当时的波形,再配合后处理将数值显示出来,才能达到事半功倍的效果。因此有通讯协议后处理的逻辑分析仪,最好能有通讯协议触发设定的功能。
逻辑分析仪串行分析实例
接下来我们来实作一个案例。假设我们设计了一个电路,他是使用I2C通讯协议来控制某些装置,然而每次这个I2C控制信号在送出一串数据为”ABCDE”字符串后,就会造成电路工作不正常。首先我们可以将逻辑分析仪的某两个通道接到I2C的SCK与SDA的接脚上,再接上一些需要观测的控制讯号上。再来我们将I2C这两个信道的显示方式由波形方式改成I2CBus的通讯协议分析方式。最后,我们再设定I2C的触发参数”ABCDE”字符串。这样就可以采集到真正的问题点了。
结论
由市场上的产品来看,不管是示波器、逻辑分析仪或甚至是二合一的混合仪器,在功能方面不断的根据应用领域需求而改进,新产品的推出也越来越快,对使用者来说当然是一大福音。但是应用领域不断的在变化的同时,能够选择一个软件(通讯协议分析)可升级,硬件(通讯协议触发)也可升级的仪器,或许是一个比较好的方案。