Matlab与TDS系列数字示波器的通信过程

2015-07-06 11:26:45   来源:dzsc   

关键字: Matlab  TDS系列  数字示波器  通信过程

  Tektronix公司的TDS系列数字实时示波器在国内已经得到广泛的应用,与其配套的扩展模块TDS2CM和TDS2MM模块具有与外部设备双向通讯的能力,可直接与打印机、微机连接,使波形的存储打印等工作变得十分方面,其中TDS2MM还具有FFT功能,可以对波形进行实时的频谱分析。同机配送的Wavestar软件提供了PC机与示波器双向通讯的功能,具有良好的用户界面,其其数据处理功能却是很少,仅能对波形的幅值、频率、周期、上升和下降时间等进行测量,并且大多数用户出于价格考虑而配置TDS2CM模块,它不具备TDS2MM模块的频谱分析功能,这就限制了示波器的进一步开发利用。Mathworks公司的着名数值计算软件Matlab具有强大的数值计算功能,它的Instrument Control Toolbox提供了强大的外设控制功能,可以对GPIB、RS-232、VXI、Centronics端口进行控制。用Matlab与TDS2CM模块配合可以实现示波器与微机之间的数据通讯,利用Matlab强大的数值处理、矩阵运算功能可对示波器记录的波形数据进行分析和处理。

  数字示波器是数据采集,A/D转换,软件编程等一系列的技术制造出来的高性能示波器。数字示波器一般支持多级菜单,能提供给用户多种选择,多种分析功能。还有一些示波器可以提供存储,实现对波形的保存和处理。 目前高端数字示波器主要依靠美国技术,对于300MHz带宽之内的示波器,目前国内品牌的示波器在性能上已经可以和国外品牌抗衡,且具有明显的性价比优势。数字示波器因具有波形触发、存储、显示、测量、波形数据分析处理等独特优点,其使用日益普及。由于数字示波器与模拟示波器之间存在较大的性能差异,如果使用不当,会产生较大的测量误差,从而影响测试任务。

  1 通信原理

  MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。    MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连  matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

  Matlab中的Instrument Control Toolbox包括两大部件:M文件函数和接口驱动适配器。这两部件提供了Matlab与外设的通讯功能,其与串行通讯端口的通讯原理如图1所示。

  由图1可见,Matlab的两大部件提供了一条外设与Matlab之间的交互通道,使用户与外设之间进行信息获取和传送。同许多高级语言一样,Matlab通过调用M文件函数来创建设备对象,得到设备的文件句柄,而设备驱动程序作为操作系统中直接控制硬件的模块,是链接操作系统内核与系统外部设备I/O操作的关键模块。它将具体的硬件细节隐藏实现对外设操作的透明,因此Matlab可以象操作文件一样实现对外设的读、写操作。读写时的数据传输格式、输入输出缓冲区大小以及读写溢出时间等由图1中的属性值定义,其根据为具体的通讯端口和通讯方式以及数据大小。示波器所产生的事件和状态被示波器保存在标准事件状态寄存器(SESR)状态字节寄存器(SBR)和事件队列中,供(Matlab)回调函数读取。同时用户可以通过设置设备事件状态使能寄存器(DESER)以及事件状态能寄存器(ESER)、服务请求使能寄存器(SRER)这三个使能寄存器来控制何种事件或状态被保存在保存在状态寄存器和事件队列中。Matlab对示波器的设置询问命令由fprintf函数以字符串的形式输出。设置和询问命令由具体的示波器厂商定义,其格式为:Header Arguments,多个参数之间由逗号相隔。当以二进制格式对示波器的波形进行数据读写时,读写数据与示波器实际数据换算由下式给出:

  Xn=Xzero+Xincr·n

 

  Yn=Yzero+Ymult(yn-Yoff)    (1)

  其中,yn为输入、输出缓冲区中的数据,n为数据个数,Xn、Yn为示波器中实际采样时间与信号幅值。

  2 数据传输

  在通信领域内,有两种数据通信方式:并行通信和串行通信。随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备,如终端、打印机和磁盘等设备之间的传输。串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。

[1] [2]
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
编辑:什么鱼
本文引用地址: http://www.eeworld.com.cn/Test_and_measurement/2015/0706/article_12230.html
[发表评论]
[加入收藏]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
每日新闻
最热点击
本周热门资源推荐
EEWORLD独家
论坛精华
精选博文