您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子测量仪的设计与实现
基于DSP技术的多功能电子测量仪的设计与实现摘要:结合设计和开发,介绍了利用DSP技术实现多功能电子测量仪的硬件和软件。硬件采用总线技术,数据采集模块可以插件的形式灵活地配置总线上;软件采用平台化的设计技术,整个软件分为支持层、调度操作层和应用层;所设计的网络接口能和计算机连接以实现虚拟仪器功能。实现表明,采用DSP技术和虚拟仪器技术结合的电子测量仪具有较好的扩展功能和开放功能。关键词:电子测量;DSP;总线;虚拟仪器在传统的电子测量中,往往使用万用表、示波器、频谱分析仪、逻辑分析仪等测量等仪器。在综合电子测量中,往往要使用到多种不同精度和不同功能的仪器、仪表,而且测量后的测量数据不能得到很好的处理,需要测试者进行进一步的计算和处理,从而给测量者带来了诸多的不便。本文针对这些问题,介绍应用DSP技术和虚拟仪器技术,设计研制多功能的电子测量仪的主要技术。1基本原理电子测量一般主要测量电压、电流、频率、相位等基本参量,同时将这些参量进行分析和处理,以数据图表或图形的方式显示出来。测量仪器一般可由测量信号采集、测量信号处理、测量数据分析、人机交互、显示等几个部分构成。其基本结构如图1所示。测量信号采集部分主要采集电压或电流信号;测量信号处理部分主要完成信号的滤波、比对、转换等工作;分析部分主要完成信号处理后的分析工作;人机交互部分主要完成需求的设置、量程的调整等工作;显示部分将测量和分析结果以数据、图形等形式显示出来。近年来由于DSP技术的飞速发展[1]和虚拟仪器技术[2]的广泛应用,促使电子测量仪表技术得到快速的发展。高速A/D技术和DSP技术的应用简化了测量信号的采集电路、处理电路;虚拟仪器技术的应用简化了对测量数据的计算和分析,使人机交互变的灵活和容易。1.1耦合耦合电路主要完成被测信号的输入。一般,被测信号不能够直接进行A/D转换,必须将信号变换到A/D的范围内。耦合后,输入信号为:A/D耦合DSP输入f(t)f'(t)f'(n)图1系统基本结构Fig.1ThebasicconstructionofsystemD/A校验信号))(~)(()(tftfktf(1)其中:k:为压缩因子,1k时,对被测信号线性放大,1k时,对被测信号线性缩小。)(~tf:为变换时产生非线性畸变和噪声,应在软件计算时削弱。1.2A/D及D/A电路A/D电路是将经耦合电路变换的被测信号离散化。变换后的信号为:)())(~)(()(snTtnfnfknf(2)其中,Zn,ssfT1,sf为A/D抽样频率。式(2)可表示为:)()(~ˆ)()(ˆ)(ssnTtnfnTtnfnf(3)通过DSP软件处理,削弱(3)式中)()(~ˆsnTtnf。D/A电路的作用主要产生一个校验信号。DSP产生的数字校验信号,经过D/A电路变换成模拟校验信号,对系统进行校验。通过校验调整,量程和产生削弱参数。1.3数字信号处理DSP电路数字信号处理DSP电路是整个系统的核心,通过DSP系统,对输入的被测信号进行滤波处理、谱分析。滤波器采用FIR滤波器,采用雷米兹(Remez)算法[3],谱分析算法采用Gabor变换方法[4],窗函数采用高斯窗函数。处理后的数据放在专门开辟的数据缓冲区内,供显示部分和计算机访问。校验数字信号由DSP部分产生,校验数字信号可通过键盘部分或计算机设置,可设置为正弦波、方波、脉冲、随机信号。1.4键盘及显示考虑到测量仪器可能不和计算机配合使用,而是单独使用,将键盘和显示设计到系统中。键盘和显示是人机交互的界面。通过键盘可设置、调整测量仪器的参数。显示部分显示参数的设置和测量数据,测量曲线。1.5计算机DSP通过接口和计算机互连,计算机通过虚拟仪器软件访问、操作测量仪系统。计算机访问DSP处理的数据,将这些数据进一步处理后,以图形或数据的形式显示在计算机界面上,或存入数据库。2硬件设计根据图1的基本原理,以总线式设计整个硬件电路。信号采样电路,通过数据、控制、选通、状态信号总线和DSP核心电路连接。其硬件结构图图2所示。2.1A/D及D/A总线为了能使硬件系统具有可扩展性和具有一定的开放性,对A/D信号采样部分和D/A模拟信号输出部分采用总线方式设计。主要包括,数据总线,控制总线、选通总线和状态总线。(1)数据总线:数据总线主要是A/D和D/A电路数据的输入输出总线。在控制总线、选通总线的控制下,A/D电路将采样后的数字信号输入到DSP中。同样,通过数据总线将校验数字信号输出到D/A电路中。(2)控制总线:控制总线主要控制A/D和D/A的工作。对于每个A/D或D/A电路,只有在控制信号有效的情况下,该电路才能工作。控制总线需要和选通信号有效的情况下,控制才有效。(3)选通总线:选通总线主要配合控制总线使某个A/D或D/A电路工作。选通总线通过A/D或D/A电路上的译码电路产生的选通信号触发电路工作。(4)状态总线:状态总线主要将A/D或D/A电路的工作状态通知给DSP,DSP通过检测状态总线的数据,得到A/D或D/A的工作状态。状态信号通过状态编码电路,在选通信号的配合下输入到DSP。2.2A/D及D/A电路A/D电路主要用来将输入的被测信号转换为数字信号,而D/A转换主要将TMS320XXDSP扩展ROM100M网卡RJ45口键盘液晶显示数据总线控制总线选通总线状态信号总线扩展RAMA/D信号采样电路A/D信号采样电路D/A耦合电路耦合电路模拟校验信号图2硬件结构框图Fig.2ThehardwareframeworkdiagramDSP通过数据总线输出的数字信号转换为模拟信号。A/D及D/A要和DSP的数据、控制、选通、状态总线接口。其A/D电路基本原理图如图3所示。D/A电路的基本电路原理和A/D电路相似。D/A电路接收数据总线的数字信号,在控制总线信号的控制下,当选通总线的信号经译码后有效时,才能工作。2.3耦合电路(1)交流耦合电路:当测量交流大信号时,通过改变耦合电路的前端的变量器的变比使信号变小。同时通过限幅电路的保护,使A/D电路处于正常的工作范围。其基本电路原理图如图4所示。(2)直流耦合电路:当测量直流大信号时,通过调整直流耦合电路的电阻变比,同时通过限幅电路的保护,使A/D电路处于正常的工作范围。3软件设计为了使系统具有开放性、可扩展性和通用性,采用平台化的设计思想。将整个软件分为底层支持层,中间调度操作层和顶层应用层。软件的基本层次结构如图5所示。A/D芯片差模接口电路接地输入数据总线控制总线译码电路编码电路有效状态状态总线选通总线图3A/D电路基本原理框图Fig.3ThebasicprincipleofA/Dcircuit输入信号接地输出抽头UR+UR-图4交流耦合电路基本原理图Fig.4Thebasicprincipleofcouplingalternatingcircuit3.1支持层支持层主要包括A/D、D/A电路驱动函数,状态检测函数,A/D,D/A转换执行函数。A/D、D/A电路驱动函数,主要对硬件的控制总线进行操作,即操作硬件电路上的控制总线和选通总线。其核心伪代码为:intSet_AD(int,dw,dw){ifSet_flg=0//驱动标志thenP_k=a;//设置控制总线控制字aP_x=b;//设置选通总线控制字bSet_flg=1;returnSet_flg;//返回已设置标志};状态检测函数检测函数主要检测状态总线的状态,其核心伪代码为:DWGet_status(int,dw){ifSet_flg!=0//A/D或D/A电路已驱动thendws=read(P_status);//读状态总线字returns;//返回状态字selsereturnnell;};A/D,D/A转换执行函数主要执行A/D、D/A转换,其核心伪代码为DWEx_AD(intdw){ifSet_flg=0//未驱动Set_AD(int,dw,dw);//驱动电路ifs!=nell;//状态有效dwData_AD=read(Data_bus);returnData_AD;};3.2调度操作层调度操作层主要的任务是,定时检测键盘或计算机虚拟仪器的命令,执行键盘操作、显示、多路A/D数据采集或执行D/A输出。A/D或D/A转换的核心伪代码为:voidOP_ADA(int,int,dw,dw)A/D,D/A电路驱动函数包状态检测,A/D、D/A变换DSP调度操作软件键盘操作,显示PC接口,虚拟仪器数据接口底层支持层中间调度操作层顶层应用层图5软件基本层次结构Fig.5Thebasicstructureofthesoftware{Get_command(*command);Whilecommand_flg!=0fori=num_1:num2//指定的第1通道到最后通道*Data=Ex_AD(i,Data_AD);//A/D采样数据Local_Data(*p_Data,Data);//将数据存放到缓冲区&p++;//缓冲区地址加1end;end;};3.3应用层应用层主要完成键盘操作,显示,PC接口,虚拟仪器虚拟仪器数据接口等功能。主要技术是操作命令缓冲区,数据缓冲区。键盘操作程序的核心伪代码:voidKey_Op{ifTimer_Scan_key!=0//键盘定时扫描时间到Key_value=Get_scan_key(intv);//扫描键盘,得到键盘值dwcommand=Check_table(Key_value);//查命令表Local_command(*p,commamd);//放入命令缓冲区};显示操作程序的核心伪代码:voidDisply(){ifTimer_Disply!=0//定时显示时间到Get_command(*p);//检测显示命令ifDisply_flg!=0//显示命出现Disply_par=Get_Disply_type(*p);//得到显示类型Disply(Disply_par,*p_Data);//调用显示数据显示elseexit;};PC和虚拟仪器的接口是通过网卡进行接口的,计算机通过网卡以TCP/IP的方式访问DSP的数据缓冲区、命令缓冲区。其核心伪代码:voidSacet_DSP(dw,*p_command,*p_Data,int,int){Get_IP_ad(dw);//得到DSP的IP地址Get_D_C_flg(dw,dw);//数据、命令访问缓冲区的标志if(D_A_flg&C_A_flg)!=Lock//缓冲区打开Write(*p_command,*command);//命令写入Read(*p_Data);//读数据};4结语本文所设计的多功能电工测量仪已在实验室实现,通过测试,达到了预期的设计目标。多功能电工测量仪能测量和显示多个直流信号的电压、电流,多个交流信号的幅度、相位、频率。并且能配置不同的A/D采样电路。通过和虚拟仪器系统LabVIEW5.1的接口,能充分发挥该仪器的功能。该仪器在电工实验和电子测量中能代替传统的测量仪器,具有一定的实际意义。
本文标题:电子测量仪的设计与实现
链接地址:https://www.777doc.com/doc-2210810 .html