微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于MATLAB仪器控制工具箱的SAW标签阅读器系统设计

基于MATLAB仪器控制工具箱的SAW标签阅读器系统设计

时间:06-24 来源:中电网 点击:

室研究阶段对高速数据采集的要求。为了既节省时间及经费,又能够满足系统实现信号采集和数据处理的要求,结合MATLAB软件的仪器控制工具箱和数字示波器的高速采样能力,快速搭建了一套稳定而准确的高速数据采集和数字处理系统。

MATLAB仪器控制工具箱介绍

MATLAB仪器控制工具箱主要是提供MATLAB软件与各种智能仪器的通讯功能。在MATLAB2009及以后的版本中都支持该工具箱。仪器控制工具箱使我们可以通过MATLAB与各种仪器通讯,比如示波器、函数发生器、分析仪器等。通过工具箱,可以在MATLAB下产生数据并发送到仪器,或从仪器读取数据到MATLAB用于分析和可视化。工具箱提供的一致接口具有硬件协议无关性,无需了解各种通讯接口协议的具体内容。工具箱支持IVI、VXI和MATLAB仪器驱动等,同时提供了GPIB、VISA、TCP/IP和UDP等通信协议。仪器控制工具箱提供多种与仪器通讯的方法,包括仪器驱动程序、通信协议、图形用户接口(GUI)。仪器控制工具箱提供的TMTool图形用户接口不仅能够连接仪器、接收/发送数据,而且可以自动生产M代码文件以加入编写的MATLAB程序中。

示波器与MATLAB软件的连接

本系统采用了Agilent公司的6000系列示波器,输入带宽为300MHz。其支持USB2.0、GPIB和TCP/IP网络传输。系统通过路由器把示波器和PC连接,同时利用路由器的路由功能,实现多台电脑都可访问示波器的功能。特别是在临时现场操作时,通过无线局域网和示波器的连接,避免了连线。MATLAB与示波器的连接具体包括示波器的参数设置、PC端参数设置和MATLAB软件设置。

示波器参数设置主要是根据连接方式来设置对应的参数,比如采用网络连接时,需要设置IP地址、网关、子网掩码、DNS服务器等参数,其过程相当于PC端对网卡的设置。PC端主要是对网卡进行对应的参数设置。以上两项设置好后,就可以实现示波器和PC之间网络物理层以及底层的连接。此时,在MATLAB命令窗口敲入TMTool命令,如图4所示的GUI窗口会显示出来。首页显示了必要的帮助内容。而右侧栏给出了三类连接方式选择:硬件接口、仪器对象和仪器驱动程序。如连接正确,在窗口中点击扫描按钮将显示出已经建立的仪器连接信息。


图4 TMTool工具窗口

在TMTool图形窗口中,可以对仪器进行各项操作,包括控制示波器的显示方式、显示内容、触发方式等,也可以采集所需的数据。在设置好与仪器通讯的各种命令后,通过自动转换就能够把各种操作自动转换为.M文件,从而可以在编写的MATLAB程序中直接实时对外部仪器进行控制和数据采集。

试验

在用TMTool工具与示波器连接并设置好对应的参数后,以下是本系统试验中自动生成的M文件代码:

% Find a VISA-TCPIP object.

obj1=instrfind('Type','visa-tcpip', 'RsrcName', 'TCPIP0::192.168.1.100::inst0::INSTR', 'Tag', '');

% Create the VISA-TCPIP object if it does not exist

% otherwise use the object that was found.

if isempty(obj1)

obj1=visa('AGILENT', 'TCPIP0::192.168.1.100::inst0::INSTR');

else

fclose(obj1);

obj1 = obj1(1);

end

% Configure instrument object, obj1

set(obj1, 'InputBufferSize', 250000);

% Configure instrument object, obj1

set(obj1, 'OutputBufferSize', 512);

% Connect to instrument object, obj1.

fopen(obj1);

% Communicating with instrument object, obj1.

fprintf(obj1, ':WAVeform:FORMat ASCii');

fprintf(obj1, ':WAVeform:SOURce CHANnel1');

CH1data = query(obj1, ':WAVeform:DATa?');

CH1strdat=CH1data(11:end);

temp1=textscan(CH1strdat,'%f,');

CH1dat=temp1{1,1};

%plot(1:size(CH1dat),CH1dat');

fprintf(obj1, ':WAVeform:SOURce CHANnel2');

CH2data = query(obj1, ':WAVeform:DATa?');

CH2strdat=CH2data(11:end);

temp2=textscan(CH2strdat,'%f,');

CH2dat=temp2{1,1};

% Disconnect from instrument object, obj1.

fclose(obj1);

把以上代码加入到MATLAB算法处理文件中,则实现了实时自动采集标签回波信号数据,并进行数据处理以识别标签编码。图5是采用MATLAB编写的用户程序界面,显示了采集数据的曲线以及经过信号处理后得出的编码等信息。图6为在高交会上展示的实际样机。


图 5 SAW标签软件界面


图6 SAW标签系统样机

结论

本文介绍了声

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top