中南大学学报(自然科学版)

GDS-820数字存储示波器控制软件的开发

 王福亮,韩 雷,钟 掘

(中南大学 机电工程学院,湖南 长沙,410083)

摘要: 针对应用数字存储示波器采集超声引线键合机换能器驱动信号时,遇到的大量数据难以浏览、难以方便传输到计算机中的问题,在研究了示波器通信协议(SCPI协议)基础上,提出了一种数据拼装的方法。根据该方法,在VB6.0的软件开发平台上,采用Cwserial控件,对计算机串口进行编程,开发了示波器控制软件,扩展了其数据通信的功能。实验结果表明:该方法可完整、方便、准确地将示波器中存储的数据传输到计算机中,解决了研究中所遇到的数据采集问题,提高了换能器系统驱动信号数据采集的速度和效率,为后续的超声引线键合机理的研究提供了便利。
关键词: 数字存储示波器; 串口通信; 程序设计; 引线键合
中图分类号:TP311.52 文献标识码:A 文章编号: 1672-7207(2005)02-0262-05

Development of Control Software for GDS-820 Digital Storage Oscilloscope

WANG Fu-liang, HAN Lei, ZHONG Jue

(School of Mechanical and Electrical Engineering, Central South University, Changsha 410083, China)

Abstract: It is difficult to explore and transfer mass data from digital storage oscilloscope (DSO) to computer when DSO was used to acquire the driving signal of ultrasonic wire bonder transducer system. Based on the study of the DSO communication protocol—standard commands for programmable instruments (SCPI), a datum splitting and spelling method was presented. According to this method, a serial port communication software was developed on the VB6.0 platform with Cwserial control. With this software, the communication function of DSO was expanded. The experiment results show that this method is complete, feasible and accurate in transmitting data from DSO to computer and the software system can work well for further bonding studies.
Key words: digital storage oscilloscope; serial port communication; programming; wire bonding
-

   数字存储示波器(简称示波器)可高速存储、采集数据,并通过串口、GPIB等将数据传输到计算机进行深层分析[1-3]。在超声引线键合机理研究中,将GDS-820数字存储示波器用于换能器系统驱动信号的采集,发现它与计算机进行数据通信时存在以下问题:

a. 大量数据难以方便地传输到计算机中;

b. 在示波器中浏览数据波形不方便。

因示波器1屏只能显示250个采样点,1次只能向计算机传输500个采样点,而实验中1次产生多达500000个采样点,且实验次数多达千次。

对计算机与示波器的串口通信研究较多[4-7],但都是解决少量数据的传输问题。在此,作者设计了示波器控制软件,扩充其串口通信功能,在实现计算机与示波器可靠串口通信基础上,提出一种数[CM(22] 据拼装方法,即通过计算机向示波器发送命令,连续改变其时基,逐段传输数据;然后在计算机中,按时基顺序,对数据进行拼装,从而解决示波器不能一次传输大量数据的问题。

1 软件总体结构

1.1 GDS-820数据存储示波器简介及SCPI协议

GDS-820数字存储示波器是一种双通道数字存储示波器;具有150 MHz频宽,每一通道每秒可采100 M个样本,可侦测到10 ns的短时脉冲;2个输入通道都具有125000个采样点的记录长度;具有内置RS-232串口通信接口,可与计算机通信,将存储在示波器中的数据传输到计算机中,然而1次只能传送500个采样点。GDS-820与计算机通信采用SCPI(standard commands for programmable instruments)协议,这是一种与IEEE 488.2兼容的仪器控制协议。因此,解决问题的关键在于理解通信协议,在此基础上才能扩展其通信功能,实现大量数据的传输和其他功能。

SCPI协议是一种由“国际主要测试和测量仪器制造商联盟”制定的标准,其目的是用一种符合IEEE 488.2协议语法格式的命令来实现各种可编程设备的各种功能。SCPI的语法和结构可参考文献[8]。
1.2 控制软件的总体结构

控制软件的总体结构可分成以下3部分。

a. 可靠的通信连接。这是控制软件的基础,主要是实现计算机和示波器间的通信,为数据和命令传输提供通道,确保计算机能够发送命令到示波器;同时,计算机可接收来自示波器的反馈(如命令执行标志、返回数据等)。它包括计算机与示波器间的串口通信连接;对SCPI协议的支持。

b. 数据分段和拼装。这是控制软件的主要功能,也是软件开发的主要目标。它主要是准确地设置示波器时基,将数据恰当分段;并对传输到计算机中的数据帧进行解析、校正,按其分段前的顺序拼接在一起。它包括:示波器时基设置;数据分段传输;数据帧解析与拼接。

c. 其他功能。在完成上述功能基础上,实现采集前示波器波形浏览功能;设置待传输数据段起点和终点;自动完成传输并保存结果到文件中。

控制软件3部分间的关系为:a.部分为b.和c.部分提供基础,使得命令和数据传输无误;b.部分实现分段数据的传输和拼接;c.部分对b.部分进行了必要的补充,方便软件使用,确保数据能够按要求传输并存储在计算机中,供后续的超声引线键合机理研究使用。

2 软件的实现

对于计算机和示波器的串口通信,一般采用Matlab,VB,Delphi或VC等编程语言来实现[4,6]。考虑到软件开发速度、界面友好程度及对编程语言的熟悉程度,这里采用VB6.0。
2.1 可靠通信的实现

示波器与计算机采用RS232串口通信[9-12]。通过对RS232端口编程,计算机可控制数字存储示波器,对其进行读写操作。采用VB6.0对计算机串口编程的方法有许多种,如API编程、通用串口通信控件编程(如MSCOMM,SPCOMM等)、其他的专用控件编程等[13-15]。这里采用NI公司的专用仪器串口通信控件Cwserial,它支持SCPI协议,有强大的数据解析能力。通过它可方便地控制数字存储示波器,其编程较简单,只要按照数字存储示波器的通信参数和SCPI协议格式,对控件进行正确设置,即可实现可靠通信连接。当计算机向数字存储示波器发送命令“*IDN ?”进行设备查询时,数字存储示波器将返回字符串:GW, GDS-820, P920130, V.2.01。表明可靠的通信连接已实现。
2.2 数据的分段与拼装示波器1次只能向计算机传输2屏共500个采样点。这2屏数据的确定是以示波器当前时基为准的,它们之间的关系如图1所示。

图 1   数据的分段
Fig. 1   Separation of data

因此,恰当改变时基,使相邻2个时基间隔恰好是500个采样点所采样时间的长度,就可将示波器中大量的数据分解成以2屏(500个采样点)为单位的小块,分别传输。这样的分段传输使得传输后再拼接的数据不会重叠或有间隙,保证数据完整无间断。

其次,要了解数据传输时帧的格式。根据SCPI协议,数据帧格式定义如下所示[8]:

其中,#表示数据帧开始;Data size digit表示数据长度(1 digits);Data size表示数据帧的总长度(4 digits);Sample rate表示数据帧数据的采样频率(4 bytes);Channel indicator表示数据帧数据的来源通道;Waveform size表示数据帧中数据的长度(4 bytes);Waveform表示有效的500个采样点的数据(1000 bytes)。

由SCPI定义可知:数据帧总长为1014字节。示波器1次向计算机传送一帧数据,其中前14字节是帧信息,后1000字节是500个采样点的波形数据。其中每个采样点用2个字节(16位二进制补码)表示,高8位在前,低8位在后。数据帧的解析过程如图2所示。

图 2   采样点数据的合成过程
Fig. 2   Joint process of sample points data

按上述方法,数据便可分段传输到计算机中,经解析后按其原有的顺序进行无缝拼接,实现了控制软件的主要功能。
2.3 其他功能的实现

上述设计基本实现了控制软件的功能,通过它可将数字存储示波器中任意位置的数据准确无误地传输到计算机中,然而仍不完美,使用并不方便,有必要增加其他功能。

首先,是数据传输前的浏览功能。在数据传输前,有必要对数据进行全面浏览,以确定信号波形是否有效、要传输数据部分的起点和终点等。数据浏览功能的实现是通过定时改变数字存储示波器时基来实现,其过程如图3所示。

图 3   数据浏览的实现
Fig. 3   Reality of data explore

其中,浏览速度可通过改变延迟时间来实现。

其次是自动传输功能。即在数据传输过程中,加入对传输是否结束的判断,可通过比较当前时基于终点时基来实现;另外是数据保存功能。数据在传输过程中要及时保存,否则,数据都放在内存中,占用了大量的内存,将导致传输速度变慢。

3 软件的应用

根据上述思路,采用VB6.0可开发出示波器控制软件,如图4所示。

由图4可知,软件界面友好。用该软件控制示波器获取的超声引线键合机换能器系统的驱动电流和电压信号如图5所示。

图 4   控制软件的用户界面
Fig. 4   User interface of control software


图 5   控制软件获得的换能器系统驱动电压和电流曲线
Fig. 5   Voltage and current curves of transducer system got by control software

由图5可知,通过数字存储示波器控制软件所获取的数据是准确完整的。

4 结 论

a. 针对超声引线键合机理研究中遇到的数字存储示波器数据采集传输问题,在研究了示波器通信协议(SCPI协议)基础上,提出了一种数据拼装的方法。根据该方法,在VB6.0的软件开发平台上,采用Cwserial控件,对计算机串口进行编程,开发了示波器控制软件,扩展了其数据通信功能。

b. 该方法可完整、方便、准确地将示波器中存储的数据传输到计算机中,解决了研究中所遇到的数据采集问题,提高了换能器系统驱动信号数据采集的速度和效率,方便了后续的超声引线键合机理研究。同时,控制软件具有数据传输速度快、界面友好、使用简单的特点。

参考文献:

[1]武莉,李济顺,张洛平. 基于USB接口的数据采集系统[J]. 河南科技大学学报(自然科学版),2003,24(2):66-68.
WU Li, LI Ji-shun, ZHANG Luo-ping. Data Acquisition System Based on USB[J]. Journal of Henan University of Science and Technology (Natural Science), 2003,24(2):66-68.
[2]孙文斌,喻其山,杨小平,等. 通过GPIB接口实现数字存储示波器与微机之间通讯[J].安徽师范大学学报(自然科学版),1998,21(3):255-259.
SUN Wen-bin, YU Qi-shan, YANG Xiao-ping, et al. Communication between Digital Storage Oscilloscope and Microcomputer via GPIB Interface[J]. Journal of Anhui Normal University (Natural Science), 1998,21(3):255-259.
[3]杨俊林,田秋,徐广智. 通过RS-232接口实现数字存储示波器与微机486间的数据传输[J].分析仪器,1995, (1):30-32.
YANG Jun-lin, TIAN Qiu, Xu Guang-zhi. Data Transmission between Digital Storage Oscilloscope and Microcomputer-486 via RS-232 Interface[J]. Analysis Instrument, 1995,(1):30-32.
[4]全必胜,李斌.基于声卡和MATLAB的数据采集与分析系统[J].计算机仿真,2003,20(8): 148-150.
QUAN Bi-sheng,LI Bin. Data Acquisition and Analyse System Based on Soundcard and MATLAB[J]. Computer Simulation, 2003,20(8): 148-150.
[5]李继宇,董浩斌,汤峰.数字示波器在高频信号采集中的应用[J].现代电子技术, 2003,(13):41-43.
LI Ji-yu, DONG Hao-bin, TANG Feng. Application of Digital Oscillograph in High Frequency Signal Collection[J]. Modern Electronic Technology, 2003,(13):41-43.
[6]熊杰明,张丽萍.水泵性能计算机数据采集系统程序设计[J].计算机与应用化学,2002,19(5):629-631.
XIONG Jie-ming, ZHANG Li-ping. Programming for a Computer-aided Data Acquisition System of Pump Performance[J]. Computers and Applied Chemistry. 2002,19(5):629-631.
[7]李国治,徐春华,余岳辉,等.Matlab与数字示波器的通信[J].电子技术应用, 2002, (6):58-60.
LI Guo-zhi, XU Chun-hua, YU Yue-hui, et al. The Communication between Matlab and Digital Oscilloscope[J]. Application of Electronic Technology, 2002, (6):58-60.
[8]Good Will Instrument Co Ltd. GDS-820&840 Series Programming Manual[M]. Taibei: Good Will Instrument Co Ltd, 2004.
[9]李郁峰,朱金陵.牵引试验车数据采集及处理系统设计与实现[J].铁路计算机应用,2003,12(11):4-6.
LI Yu-feng, ZHU Jin-ling. Design and Implementation of Data Acquisition and Processing System for Traction Test Vehicle[J]. Railway Computer Application, 2003,12(11):4-6.
[10]孟进,刘立柱,金俊利.在Win32环境下实现高效的串行通信[J],计算机应用研究,2003,12(11):146-148.
MENG Jin, LIU Li-zhu, JIN Jun-li. Implementation of High Efficiency Serial Communication under Win32[J]. Computer Application Research, 2003,12(11):146-148.
[11]张玉强,白少民.串口通信编程分析及其VB编程实例[J].延安大学学报(自然科学版) 2003, 22(3):38-40.
ZHANG Yu-qiang, BAI Shao-ming. Serial Port Communication Programming and Its VB Instantiation[J]. Journal of Yan′an University (Natural Science), 2003, 22(3):38-40.
[12]袁唯才,程向民,王辉,等.多线程技术及其在VC++串口通信程序中的应用[J].计算机与现代化,2003,15(8):33-35.
YUAN Wei-cai, CHENG Xiang-min, WANG Hui, et al. Multithreading and Its Application in VC++ Serial Communication Program[J]. Computer and Modernization, 2003,15 (8):33-35.
[13]郇义鹏, 虞水俊.利用API拦截技术实现串口通信数据拦截[J].计算机应用,2003,23(11):144-146.
HUAN Yi-peng, YU Shui-jun. The Interception of Serial Communication Using API Intercept Technique[J]. Computer Applications, 2003,23(11):144-146.
[14]陈朝旭.用Delphi 5.0实现仪器串口通信功能[J].机电工程技术,2002,31(7):101-102.
CHEN Chao-xu. Realize of Instrument Serial Port Communication Function in Delphi 5.0[J]. Mechanical and Electrical Engineering Technology, 2002,31(7):101-102.
[15]贾广雷,刘培玉,耿长欣.多线程技术及其在串口通信中的应用[J].计算机工程,2003,29(1):247-249.
JIA Guang-lei, LIU Pei-yu, GENG Chang-xin. Multithread Technology and Its Application on Serial[J]. Communication Computer Engineering,2003,29(1):247-249.

收稿日期:2004-06-17

基金项目:国家自然科学基金资助项目(50390064); 国家重点基础研究发展计划项目(2003CB716202)

作者简介:王福亮(1979-),男,湖南宜章人,博士研究生,从事微电子封装技术与装备研究

论文联系人: 王福亮,男,博士研究生;电话:0731-8836499(O); E-mail: csuwfl@sohu.com