基于双DSP及VI技术的无线测控系统设计
扫描二维码
随时随地手机看文章
0 引言
现代化的测控系统中,对可靠性、测量精度、速度以及系统设计的微型化和轻型化的要求愈来愈高,传统的模拟式测量仪表已很难满足这些要求,必须实现参数采集系统以及整个系统的数字化和智能化。随着计算机技术和虚拟仪器(VIrtual Instrument,VI)技术的发展,用户只能使用制造商提供的仪器功能的传统观念正在改变。基于Web的虚拟仪器就是虚拟仪器技术的延伸与扩展。把DSP技术应用到虚拟仪器中将弥补虚拟仪器与传统硬件仪器在实时性与精确性方面的差距。
同时,为了提高测控系统的可靠性和数据处理速度及效率,将双DSP引入测控系统,提出并行FFT算法,并对其运算效率进行了分析。
在有线通信系统中,不论是基于RS 232/RS 485,还是基于现场总线结构,其潜在的缺陷是必须进行布线工作和通信线路的维护,通信线路容易损坏工程周期的增长,而且在电磁干扰(EMI)严重的工业环境中,将会不可避免地造成传输数据的丢失和错误。在此种情况下,采取通过无线链路进行通信的系统,因其高频部分超出了EMI的频率范围,故能有效地解决上述难题。
将基于Web的VI技术与DSP测试及无线通信理论和ODBC数据库技术相结合的新型测控系统在工业测控领域必将有着强大的生命力,对其关键技术的研究具有重要的意义。
1 系统构成
如图1所示,双DSP作为下位机实现双余度A/D采样转换,并可提高数据处理效率。通过RS 485通信接口标准以无线通信方式与上位机进行通信,上位机基于VI技术和可编程数据库SQL Server技术,实现信号的进一步分析处理或故障诊断、控制功能等,并可进一步扩展测控系统,将虚拟仪器技术和面向Internet的Web技术有机结合起来,可以满足监测系统的互联和资源共享的需求。
2 系统硬件测试关键技术
2.1 系统关键硬件电路设计
系统下位机中的一个DSP用于实现A/D采样,其无线通信的硬件电路如图2所示。微处理器TMS320LF2407A芯片用于完成现场多传感器信号采集及A/D转换、数据的初步处理及与上位机通信的功能。MAX485芯片完成TTL电平向RS 485电平的转换,而后送到无线数传设备SRWF-1进行调制发射。上位机通信电路图如图3所示,通过SRWF-1可直接与RS 232串口连接,根据约定协议接收及发送数据。
2.2 DSP的A/D及SCI接口无线通信设计关键技术
在无线通信设计中,考虑现场一般的工业接口标准及要求和RS 485特点,采取基于RS 485无线通信的方案。
因DSP的SCI端口输出的是TTL电平,与RS 485电平不匹配,因此选择MAX485芯片将DSP的TTL电平转换为RS 485电平。MAX485是用于RS485通信的低功耗收发器。如图2所示,其引脚1,2,3,4分别为RO,,DE,DI。R0为接收器输出;为接收器输出使能;DE为驱动器输出使能;DI为驱动器输入。DI和RO分别接DSP的SCITXD和SCIRXD引脚,通过DSP的I/O端口来使能RO和DI。无线通信模块选择SRWF-1可提供ISM频段的工作频率,无需申请频点,且基于FSK调制,采用高效无线通信协议,标准配置可提供8个信道。提供2个串口,3种接口方式,支持有无校验两种数据结构。
在软件设计时的初始化及主程序中,需对SRWF-1的SLEEP,RESET和MAX485的和DE引脚进行相应配置,控制引脚电平,消除系统中发送部分存在的总线悬浮现象,控制数传模块的工作状态。
3 系统软件设计关键技术
系统软件设计的关键技术包括对下位机DSP的A/D采样和无线串口通信协议的制定;虚拟仪器与SQL Server数据库的接口设计和基于Web的虚拟仪器的实现。
3.1 通信协议
在无线发送和接收通信中,通信协议是上下位机进行准确通信的有效保证。在DSP实现的双余度下位机和上位机通信中,如何根据下位机所设置波特率设定数据帧传输格式,上位机如何识别信息来源,如何控制双DSP及根据A/D转换精度如何正确传输数据,这些是要解决的关键问题。
双DSP采用并行工作模式,定义一DSP的ID为00,另一DSP的ID为01,定义每个DSP的通道ID为0000~1111,又由于TMS320LF2407系列DSP的A/D转换精度为10位,因此定义通信协议如下:
每个A/D转换的采样数据由两个数据帧发送,这样具有ID号的数据被上位机接收后即可判别数据来自于哪个DSP的哪个通道。同样,上位机控制DSP的控制信号也通过ID号反馈到下位机中需要控制的DSP。
3.2 DSP软件设计
DSP2407包括串行通信(SCI)模块,支持CPU与其他使用标准格式的异步外设之间数据通信。SCI模块有两个外部引脚,即发送数据引脚SCITXD和接收数据引脚SCIRXD。通过一个16位的波特率选择寄存器(SCIHBAUD和SCILBAUD)可设置串口通信波特率。
SCI异步波特率=SYSCLK/[(BRR+1)×8],DSP系统时钟为20 MHz,若希望设置波特率为9 600 b/s,则BRR=20×106/(9 600×8)-1=259 ≈103H,所以SClHBAUD与SCILBAUD寄存器分别写入01H与03H。
基于DSP功能模块化的特点,其程序中有关串行通信的是:初始化设置时钟源模块,得到所需的CPU-CLK和SYSCLK;设置SCI模块,初始化各SCI控制寄存器;编写串行通信中断服务子程序,即可完成DSP与PC之间的串行通信。其中,时钟源设置和SCI控制寄存器设置都在主程序的初始化部分完成。SCI中断服务子程序流程图如图4所示。
3.3 上位机软件设计
3.3.1 LabVIEW与数据库接口的设计
以数据库为中心,构建基于数据库的虚拟仪器系统已成为现代测试测量系统的发展趋势。
SQL工具包是利用开放数据库互连(Open Database ConnecTIvity,ODBC)接口访问数据库的。0DBC是微软公司开放服务结构(Windows Open Services Architecture,WOSA)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准应用程序编程接口(Application Program InteRFace,API)函数,这些API函数利用SQL语言来完成其大部分任务。利用SQL工具包中的动态SQL语句执行工具,实现了数据库的访问。用LabVIEW实现数据库的访问一般包括7个环节,如数据库联接、SQL准备、参数个数获取、参数类型设置、SQL语句执行、执行完毕、断开联接。图5示出将一个浮点数据插入数据库的功能程序,说明了LabVIEW中开发SQL Server数据库的方法。
3.3.2 基于Web的虚拟仪器软件技术
一般解决方法是在客户端的浏览器上运行某种插件,如ActiveX或Java的Applet,利用网上传输过来的现场数据重现现场的虚拟仪器,这种方法将需要大量的网络编程工作量。为此,采用NI的DataSocket技术解决网络编程问题。DataSocket建立在TCP/IP协议的基础之上,可以通过计算机网络向多个远端的终端同时广播现场数据。
National Instruments DataSocket包括两个组件DataSocket Server Manager和DataSocket Server。利用DS(DataSocket Server)技术传输数据则必须在发布数据的机器上打开DataSocket Server,发布数据的程序通过它进行数据传输,输入数据的程序找到它接收数据。
DS函数与DS服务器的通讯采用自己的传输协议DSTP(DataSocket Transfer Protocol)。使用这个协议时用与WWW浏览器相似的统一资源定位符URL(Uniform Resotlrce Loeator)连接数据资源,这些数据资源可以是位于DS,HTTP和FTP服务器中的数据文件,或是本机的数据文件。
如对图6所示曲线数据进行传输,其DataSocketConnection设置如图7所示。
运行服务器程序和客户端程序可看到,随着服务器波形数据的变化,客户端界面的波形数据也随之变化。同样地将客户端的控制按钮值赋予服务器的控制按钮,则可以控制服务器采集工作的进行。图8即为图6数据曲线在远程浏览器上显示的结果。
利用网络技术将分散在不同地理位置的虚拟测量分析仪器相联系,使测量、分析数据在网络内得以共享,减少了设备重复投资,提高了效率。重要的数据实行多机备份,提高了系统的可靠性。
4 双DSP的FFT并行算法
在数字信号处理领域中,高效的时一频域变换关键是快速傅里叶算法(FFT算法)。FFT算法是进行高速卷积、数字滤波、相关处理、功率谱运算的核心算法,许多复杂算法都基于FFT算法。尽管现代的DSP处理器的核心运算单元支持单周期的乘加运算,可以快速实现FFT运算,但在许多实时性要求高,精度高,运算数据长度长的应用场合,单个DSP处理器己经不能满足要求,因此根据需要提出采用两个DSP进行并行FFT运算。
一维离散时间序列的傅里叶变换为:
式中:yk,xk均属长度为N的复杂序列;为旋转因子。如果进行直接运算,运算量为0(N2),任务量非常繁重。
FFT算法大大减小了离散傅里叶变换的运算量,如基2FFT算法,运算分log2N=n步完成,每个运算步进行N/2个蝶形运算,则运算量降低为O(nN/2)。
当在单个处理器上进行FFT运算时,设每个蝶形运算的时间为tcomp,则N长度FFT运算的时间为:
当在2个处理器上进行并行FFT运算,采用循环分配方式把N个数据分配到这两个处理器上,即先把2个数据依次分配给2个处理器;然后再将接下来的2个数据依次分配给2个处理器,…,依次下去,直至数据分配完毕为止,则第i个处理器上分配到的数据为2i处理器存放的数据x(i+2r)(r=O,1,…,N/2-1;i=0,1)。在这种分配模式下,前log2(N/2)=n-m个运算仅要求局部数据,而后m个运算步要求访问远程数据,共要进行m次处理器间的数据通讯,且后m个运算步的通讯距离不一。每次数据互换的内容是一个处理器的偶数序数据与另一个处理器的奇数序数据进行互换,数据通讯量为N/4。若处理器间具有双向的全连接网络,而且每个处理器上有足够的存储空间,允许后m个运算步的数据交换同时进行。两个处理器进行直接数据传输时,传输单位数据所花费的时间为tcomp,每步数据交换要花费的时间为(N/4)tcomp。FFT并行运算的运行时间为:
5 结语
针对工业测控的现状和需求,提出新型测控方案,并对其中关键技术进行了深入研究和开发。采用双DSP工作模式,实现双余度数据采集及处理,提出双DSF,并行FFT算法,并对其运算效率进行了分析。利用RS 485无线通信方式实现数据和控制信号的发送、接收。在上位机中用LabVIEW开发平台实现信号的接收与发送,在平台之上开发ODBC数据库接口,还可进一步建立专家知识库,开发故障诊断专家系统等。同时将虚拟仪器技术和面向Internet的Web技术有机结合起来,利用有效的网络资源与技术,满足监测系统的互联和资源共享的需求。