销售热线:0411-39156628

资料与资讯

提供检测仪器相关的技术资料、新品资讯及行业动态等信息;
如果您需要更加专业具体的技术支持,请直接致电 0411-39156628 咨询我们的技术人员。

基于LabVIEW的泰克示波器与计算机的通信

高端示波器在测试技术中的应用日益广泛,示波器与计算机的通信成为常需要解决的问题。为了增强测试功能和提高测试效率,把示波器与计算机结合起来使用成为必然,这样首先就要解决示波器与计算机的通信问题。通信方式有多种,如 RS-232 串行通信、GPIB ...

随着测试技术的发展和测试要求的不断提高,高性能示波器在测试领域中的应用越来越多。例如美国泰克公司生产的多款数字示波器,就是具有波形显示、数据分析、数据存储和打印,以及有通信功能的高性能示波器,在科研和工程中被广泛使用。

然而示波器本身也有很多限制:
① 受体积大小限制,其屏幕不能很大,显示效果不如在计算机宽屏上的效果好;
② 数据处理能力有限, 示波器本身只能做一些简单的数据分析,数据处理能力和速度都远不如计算机;
③ 受内存的限制,示波器本身只能短期存储有限量的数据,而计算机可以永久存储海量的数据, 并且还有个突出的优点就是这些数据可随时方便的被调用、处理, 甚至传输到网络上与其它人共享。

为了增强测试功能和提高测试效率, 把示波器与计算机结合起来使用成为必然。 这样首先就要解决示波器与计算机 的通信问题。通信方式有多种,如 RS-232串行通信、GPIB总线通信等。不同的示波器带有不同的接口, 支持的通信方式也不同。具体应用时,便要根据示波器的支持情况,以及应用的具体需要,选择通信方式及其实现方法。
 

1、泰克示波器

美国泰克示波器由于其功能多、精度高、记录长、抗干扰能力强等优点,在测试领域中被广泛应用。

本设计采用的泰克 TDS3014B 型号数字荧光示波器, 四通道输入,彩屏显示,美观实用。拥有 100M 的带宽,最大 3600波形 /秒的波形捕获速率,并且能够锁定测得波形和储存测得数据。配带的通讯模块上有 3种端口,能够支持多种通信方式。当把示波器与计算机结合起来使用时, 有很多途径可以把泰克示波器测得的数据传输到计算机上进行后期处理, 例如:

(1) 可使用示波器自带的内置软盘存储测试数据, 然后拷贝到计算机上;

(2) TDS3014B 型号示波器配带的通信模块带有 RS-232、 GPIB 和 VGA (视频图形阵列 ) 3个通信接口, 通过这些接口可建立示波器与计算机的通信;

(3) 泰克示波器还带有通信软件 OpenChoice PC Communi-cation Software , 此软件能建立示波器与计算机的无缝联结, 计 算机可方便地获得示波器的拷屏、 设置和波形数据;

(4) 通过内置以太网和使用 e*Scope可把示波器连接到 In-ternet 上,可对示波器进行远程监测;

(5) 新型号示波器还带有 USB 接口,可直接与计算机 USB 接口相连来传输数据。

随着仪器与计算机技术的发展,将会出现更多的方法,便于示波器与计算机联合应用。
 

2、LabVIEW 的优点和应用

LabVIEW 是美国国家仪器公司推出的一种基于图形开 发、 调试和运行程序的集成化环境,是目前国际上应用最广、发展最快、功能最强的编译型图形化编程语言。它以程序流 程图的方式编程而基本上不需要写程序代码,是技术人员们 容易上手的语言。


LabVIEW 囊括了各种仪器通信总线标准的功能函数,不仅提供数百种不同接口测试仪器的驱动程序,还支持 VISA 、 SCPI 和 IVI 等最新的程控软件标准,为用户设计开发不同的 先进测试系统提供了软件支持。本设计中就是应用了 Lab-VIEW 中的 VISA 节点,方便地设计出了串口通信程序。LabVIEW 可特别好地模拟真实仪器的操作面板, 能实现高级仪器测得数据的实时动态图形化显示。LabVIEW 拥有有 强大的分析处理波形数据的功能,可容易得到波形的各种特征参数。这些特性使其与示波器能很好地结合使用,能在计算机上方便地模拟示波器。

LabVIEW 有强大的交互式界面设计功能, 设计的界面美观友好,接近真实,让操作人员乐于接受。

由于以上的优点,LabVIEW 在本设计中被用来编写软件,取得了良好效果。
 

3、RS-232串口通信

RS-232是美国电子工业联盟 (EIA ) 制定的串行数据通信 的接口标准。它被广泛用于计算机串行接口外设连接 [4]。 传统的 RS-232接口标准有 22根线,采用标准 25芯 D 型 插头座。现在的大部分 PC 上使用简化了的 9芯 D 型插座。本设计中的泰克示波器上的接口也是 9芯 D 型插座。

典型地,串口用于 ASCII 码字符的传输。通信使用 3根 线完成:地线、 发送、 接收。 由于串口通信是异步的, 端口能够 在一根线上发送数据同时在另一根线上接收数据。 其它线用于握手, 但不是必须的。 数据的发送流程是这样的:在发送数据之前,发送端要给出请求发送信号 CTS 。接着接收端发出数据终端准备好信号 DTR,发送端的 DSR 接收到对方的 DTR 以后,开始在 TXD 上送出数据。

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: (1) 波特率:衡量通信速度的参数。它表示每秒钟传送的 bit 的个数。

(2) 数据位:衡量通信中实际数据位的参数。当计算机发 送一个信息包,实际的数据不会是 8位的,标准的值是 5、 7和 8位。如何设置取决于传送的信息。比如,标准的 ASCII 码是 0~127(7位 ) 。扩展的 ASCII 码是 0~255(8位 ) 。如果数据使用 简单的文本 (标准 ASCII 码 ) , 那么每个数据包使用 7位数据。 每个包是指一个字节,包括开始 /停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语 “包” 指任 何通信的情况。

(3) 停止位:表示单个包的最后一位。 典型的值为 1、 1.5和 2位。由于数据是在传输线上定时的,并且每一个设备有其自 己的时钟,很可能在通信中两台设备间出现了小小的不同步。 因此停止位不仅仅是表示传输的结束,并且提供计算机校正 时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

(4) 奇偶校验位:串口通信中一种简单的检错方式。有 4种检错方式:偶、 奇、 高和低。当然没有校验位也是可以的。 对于偶和奇校验的情况,串口会设置校验位 (数据位后面的一 位 ) ,用一个值确保传输的数据有偶个或者奇个逻辑高位。例如, 如果数据是 011,那么对于偶校验, 校验位为 0,保证逻辑 高的位数是偶数个。如果是奇校验, 校验位位 1,这样就有 3个逻辑高位。高位和低位不真正的检查数据, 简单置位逻辑 高或者逻辑低校验。 这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收 数据是否不同步。

由于 RS-232应用广泛,硬件编程要求比较简单,价格便宜,而且大多设备中已经内置了这种接口,故本设计也采用了 RS-232通信。
 

4、示波器的设置

在用 RS-232串口线把装有通信模块的示波器和计算机连起来后,要对示波器的 I/O进行设置。其设置要根据硬件连 接情况,并与其后程序中的设置相一致。

着重指出的是 Flagging (流控制 ) 的设置。当设为缺省值 Hard (硬件流控制 ) 时,则必须将通讯两端的 RTS 、 CTS 线对应相连。在编程时根据接收端缓冲区大小设置一个高位标志 (可 为缓冲区大小的 75%) 和一个低位标志 (可为缓冲区大小的 25%) , 当缓冲区内数据量达到高位时,我们在接收端将 CTS 线 置低电平 (送逻辑 0) , 当发送端的程序检测到 CTS 为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将 CTS 置高电平。RTS 则用来标明接收设备有没有准备好接收数据 。硬件流控制对硬件和软件都有要求,增加了复杂度,在 计算机处理速度远高于仪器的情况下,传输可以不用流控制 或采用简便的软件流控制。可通过 XON/XOFF来实现软件流 控制。其方法是:当接收端的输入缓冲区内数据量超过设定 的高位时,就向数据发送端发出 XOFF 字符 (十六进制的 13) , 发送端收到 XOFF 字符后就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时, 就向数据发送端发出 XON 字符 (十六进制的 11) ,发送端收到 XON 字符后就立即开始发送数据。波特率设为 9600bit/s。标志设为无。行结束设为默认值的换行。调试功能关闭,设置完毕后,可通过通信软件 OpenChoice 或自编小程序进行测试及调试。本设计测试结果通信顺利。
 

5、程 序

5.1串口设置

LabVIEW 中的 VISA 节点用于串口通信。其中的函数可 实现串口初始化、串口写、串口读、检测和清空缓存、串口关闭 等功能。当硬件连接好、示波器设置好了,程序中的设置要 保持相一致,才能正确地通信。本设计中示波器连接的是计 算机的 COM2口,所以串口名为 COM2。终止符与示波器的行结束设置一致, 为换行, 换行的 ASCII 码为 LF , 十六进制码 为 0A 。为了在数据传输过程中,不遗漏不混叠数据和易于检测错误, 设置输入缓存区和超时,缓存区为 1024个字节,超时为 1000ms 。波特率与示波器设置一致为 9600bit/s, 8位数据 位,停止位为 1,奇偶校验和流控制为无。

5.2写命令
通过程序给示波器发送命令, 以便得到波形数据和相关 参数。最终要有波形显示,必须要获得横轴上的时间和竖轴 上的电压值。命令是以字符串形式在程序中输入,其具体命令在示波器编程手册中可查得。注意的是从示波器输出到计 算机的也是字符串,要把其中的有效数据提取出来,并把它们 转化成十进制数字。输出的字符串会附带输入命令的开始部分,要把这些不需要的字符剔除掉。利用节点 Decimal String To Number 便可实现所需的字符串到十进制数的转换。另外一个需要注意的是要对直接得到的数据进行运算处理,才能得到需要的波形数据。对于太小的时间标度,如纳秒级的时间,可以乘以一个转换常数使之成为易于显示的时间。对于电压值, 由运算公式决定。

5.3获取波形
每次传输的最大数据量有限 (如最多 1000个数据每次 ) ,根据每次获取数据量和需要的总数据量,设定循环次数。得 到的数据依次存入波形数组,并由 Waveform Graph 显示出来。其中要对得到的字符串进行转换,才能得到波形数据,以便显示。另外还要根据高压探头的设定,最后的波形数据要乘以探头衰减指数方可得到实际的电压波形。 

5.4运行结果
综合以上的程序,便可得到通信的总程序。示波器实时采集的信号波形和采集后锁存的信号波形,都可在程序运行后传到计算机上,进行进一步处理。
 

6、结束语

本文系统总结了泰克示波器与计算机的通信,提出并解决了其中的疑难问题,给出了详细的应用程序。实验结果表明,通信安全可靠,计算机最终得到了正确而完整的示波器测得的波形。程序对波形的后期处理功能强大,程序界面美观友好,能满足众多测试场合下的要求。不足之处是传输速度不是很高,传输距离不能太远,这是由于串行通信本身所限制。本研究示波器支持的串口传输速度最高为 38400位 /秒。若要提高速度,可采取其它高速通信方式。本研究中的实现方法,可类推到其它类型示波器及其它通信方式中。