位置:51电子网 » 技术资料 » 传感与控制

Matlab与数字示波器的通信

发布时间:2008/5/26 0:00:00 访问次数:845

        作者:武汉华中科技大学电子科学与技术系(430074)李国治

     徐春华 余岳辉 彭昭廉

     来源:《电子技术应用》

     摘要:windows环境下matlab与tds系列数字示波器的通信过程,给出了相关的通信程序,并在matlab中对示波器读取的波形数据进行了频域处理。从而表明它们之间的通信在数字信号处理方面具有重要的实际意义。

    

    

     关键词:matlab

     串行通信 示波器 数字信号处理

     tektronix公司的tds系列数字实时示波器在国内已经得到广泛的应用,与其配套的扩展模块tds2cm和tds2mm模块具有与外部设备双向通讯的能力,可直接与打印机、微机连接,使波形的存储打印等工作变得十分方面,其中tds2mm还具有fft功能,可以对波形进行实时的频谱分析。同机配送的wavestar软件提供了pc机与示波器双向通讯的功能,具有良好的用户界面,其其数据处理功能却是很少,仅能对波形的幅值、频率、周期、上升和下降时间等进行测量,并且大多数用户出于价格考虑而配置tds2cm模块,它不具备tds2mm模块的频谱分析功能,这就限制了示波器的进一步开发利用。mathworks公司的著名数值计算软件matlab具有强大的数值计算功能,它的instrument

     control toolbox提供了强大的外设控制功能,可以对gpib、rs-232、vxi、centronics端口进行控制。用matlab与tds2cm模块配合可以实现示波器与微机之间的数据通讯,利用matlab强大的数值处理、矩阵运算功能可对示波器记录的波形数据进行分析和处理。

     1 通信原理

     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 数据传输

     rs-232串行通信接口被广泛应用于近距离的计算机和终端之间的相互通信当中,tds210示波器也配接有db9型插件的rs-232接口。当采用硬件握手方式进行通信控制时,示波器使用cd(carrier

     detect)、cts(clear to send)、ri(ring indicator)三个控制信号表明其当前状态,而matlab使用rts(request

     to send)信号请求数据发送。由于采用异步通信协议对通信双方的时钟同步要求不太严格,由数据的起始位作为双方通信的同步信号,因此matlab与示波器之间采用异步通信,编制的从

        作者:武汉华中科技大学电子科学与技术系(430074)李国治

     徐春华 余岳辉 彭昭廉

     来源:《电子技术应用》

     摘要:windows环境下matlab与tds系列数字示波器的通信过程,给出了相关的通信程序,并在matlab中对示波器读取的波形数据进行了频域处理。从而表明它们之间的通信在数字信号处理方面具有重要的实际意义。

    

    

     关键词:matlab

     串行通信 示波器 数字信号处理

     tektronix公司的tds系列数字实时示波器在国内已经得到广泛的应用,与其配套的扩展模块tds2cm和tds2mm模块具有与外部设备双向通讯的能力,可直接与打印机、微机连接,使波形的存储打印等工作变得十分方面,其中tds2mm还具有fft功能,可以对波形进行实时的频谱分析。同机配送的wavestar软件提供了pc机与示波器双向通讯的功能,具有良好的用户界面,其其数据处理功能却是很少,仅能对波形的幅值、频率、周期、上升和下降时间等进行测量,并且大多数用户出于价格考虑而配置tds2cm模块,它不具备tds2mm模块的频谱分析功能,这就限制了示波器的进一步开发利用。mathworks公司的著名数值计算软件matlab具有强大的数值计算功能,它的instrument

     control toolbox提供了强大的外设控制功能,可以对gpib、rs-232、vxi、centronics端口进行控制。用matlab与tds2cm模块配合可以实现示波器与微机之间的数据通讯,利用matlab强大的数值处理、矩阵运算功能可对示波器记录的波形数据进行分析和处理。

     1 通信原理

     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 数据传输

     rs-232串行通信接口被广泛应用于近距离的计算机和终端之间的相互通信当中,tds210示波器也配接有db9型插件的rs-232接口。当采用硬件握手方式进行通信控制时,示波器使用cd(carrier

     detect)、cts(clear to send)、ri(ring indicator)三个控制信号表明其当前状态,而matlab使用rts(request

     to send)信号请求数据发送。由于采用异步通信协议对通信双方的时钟同步要求不太严格,由数据的起始位作为双方通信的同步信号,因此matlab与示波器之间采用异步通信,编制的从

相关IC型号

热门点击

 

推荐技术资料

滑雪绕桩机器人
   本例是一款非常有趣,同时又有一定调试难度的玩法。EDE2116AB... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!