基于LabVIEW和DSP的数据采集与监测系统①
2017-11-01王梦谦姜建国
王梦谦 姜建国
(东北石油大学电气信息工程学院)
基于LabVIEW和DSP的数据采集与监测系统①
王梦谦 姜建国
(东北石油大学电气信息工程学院)
自主设计数字信号处理器最小系统,利用其高速数据处理能力和丰富的片内资源完成对目标信号的采集与处理,结合典型数据处理算法设计数字滤波器,以满足数据采集的高精度要求。在CCS下完成系统初始化、数据类型转换等程序设计,并在LabVIEW平台设计上位机界面。基于串口通信协议,利用SCI接口实现处理器与PC机间的数据传输。采用高精度温控箱进行的系统试验验证分析结果表明:系统对温度信号的采集误差可保证在±0.05℃范围内,同时上位机界面实现了对目标信号的实时监测。
温度数据采集与监测系统 数字信号处理器最小系统 LabVIEW 串行通信
随着信息技术的快速发展,以及自动化设备的广泛应用,数据采集与处理技术被越来越多地运用到微机控制系统。数字信号处理器(DSP)凭借其精度高、可靠性高及速度快等特点,在工业控制、图像处理等领域被普遍应用[1]。如,以激光器为主要应用设备的有害气体检测系统,需要保证激光器能够持续地发射出稳定的中心波长信号,由于其信号的中心波长主要与工作电流和工作温度有关,并且中心波长随温度变化范围为0.3~0.4nm/℃。因此,为保证系统的正常稳定工作,需要完成对激光器工作环境温度的实时检测和高精度控制[2]。
串口作为计算机同外部控制器进行数据传输的重要通道,广泛应用于工业信号检测系统。伴随着虚拟技术的快速发展,LabVIEW越来越多地应用于测试领域,实现LabVIEW与串口通信的结合,使得系统更加简单直观。
笔者自主设计DSP最小系统和温度采集外围电路并集成制作开发板,通过DSP的SCI模块实现与LabVIEW的串行通信,在上位机界面进行指令的发送和所采集数据的接收,实现对采集数据的实时动态监测[3,4]。
1 系统整体结构
笔者设计的数据采集与监测系统主要由DSP数据采集和LabVIEW上位机监测两部分组成。首先,应用高精度模数转换芯片AD7793实现对温度信号的采集,并借助其SPI通信接口和DSP处理器的SPI串行同步通信模块将采集数据快速传入到DSP中进行软件数字滤波等处理。在软件部分需要对采集数据进行格式预处理,即完成浮点型数据向字符串型数据的转换,并将转换结果按照一定方式存储到数据帧中等待传输。然后,通过SCI串行通信接口完成数据帧由DSP处理器到PC机的发送。最终,在LabVIEW上位机界面进行串口接收数据帧的识别、处理、存储和显示。在不增加其他外部硬件设备的基础上,以简单的串口总线RS-232连接方式实现了系统对目标信号的实时监测。
2 数据采集
2.1 硬件电路
该系统的温度采集电路如图1所示。以TMS320F2812芯片为核心开发设计DSP处理器最小系统。以温度值作为信息采集目标信号,选用AD7793芯片进行外围电路设计。AD7793芯片采用∑-Δ型数据采集调制技术,具有高分辨率、低功耗及低噪声等特点,广泛应用于有高精度检测要求的系统中[5,6]。其自带的SPI串行同步通信接口,可实现与控制器的灵活数据通信。
图1 温度采集电路
系统采用负温度系数热敏电阻(NTC)进行温度检测,其典型工作温度范围15~40℃,热敏电阻的阻值R会随着温度的增加迅速降低,具有很高的温度灵敏性[6]。NTC热敏电阻耗散系数δ的计算式为:
(1)
式中ITH——流经NTC的电流,A;
Ta——环境温度,℃;
Tb——实际稳定温度,℃;
UTH——端电压,V。
选用的NTC耗散系数为2mW/℃,如果采用210μA恒流源激励,根据热敏电阻温度阻抗特性可知,其最大阻值为20kΩ,则最高自加热温升:
=0.441℃
可以看出,如果采用210μA恒流源激励,将严重影响系统的测量精度。
当采用10μA恒流激励源时,其自加热造成的最大温升:
=0.001℃
该温升远小于激光器允许的温度波动范围和检测系统的测量精度,满足设计要求。
热敏电阻阻值与当前环境温度T成非线性反比例关系,满足Steinhart-Hart方程[7]:
1/T=C1+C2×lgR+C3×lgR3
(2)
温度阻抗系数C1=1.129e-3,C2=2.341e-4,C3=0.878e-7。
2.2 数据处理和格式转换
在CCS环境下完成资源配置、源程序编辑及源程序调试等操作。如图2所示,设置合适的系统波特率、时钟模式等,对SPI模块进行基本的初始化配置,使DSP处理器与AD7793芯片的时序相匹配,实现两者间的同步串行通信。
图2 SPI通信时序图和实验波形
DSP处理器与PC机之间通过SCI串口完成数据传输。数据通信时,SCI数据缓冲寄存器每次最多只能发送8位二进制数,而在DSP处理器中,浮点型温度数据是按照IEEE754标准存储的,每个数据占用32位二进制数。因此,通信前需将浮点型数据转换为字符串型数据然后逐个字符进行传输[7]。为保证数据传输的准确性,需对每个数据加入设定的数据标识,将数据标识位、校验位和实际数据值打包组成一个完整的数据帧,然后通过串口发送。
SCI接收器需要在收到一个起始位后开始工作。上位机接收到数据帧后,首先将数据帧中的实际数据值提取出来并按一定顺序重组,进行数据格式转换,最终得到所采集的温度数据值[8]。如图3所示,如果SCIRXD引脚检测到连续4个SCICLK周期的低电平,SCI就会认为收到一个有效的起始位。LSB为数据的最低位,MSB为数据的最高位,在起始位得到确认后,CPU采用多数表决的方式确定下一个数据位的值。具体做法是对每个数据位第4、5、6个SCICLK周期进行采样,如果3次采样中有两次以上的值相同,这个值就被认为是该位的数据值。
图3 SCI数据帧和异步通信格式
3 LabVIEW上位机
LabVIEW软件作为虚拟仪器领域中最具普适性的图形化编程工具,已经广泛应用到仪器控制、数据采集等工业生产中[9,10]。软件自带的Real-Time仿真功能和数据处理、频谱分析等子模块为程序的设计实现提供了方便。本次设计,主要应用VISA子模块实现数据串口通信编程,其中包括VISA串口配置、VISA写入、VISA读取、VISA缓冲区设置及VISA关闭等函数。设置系统通信波特率为19 200,数据位为8,停止位1,无校验位。图4为上位机数据通信程序流程。
图4 LabVIEW串口通信接收流程
图5为LabVIEW后面板程序设计结构图。在上位机程序的数据读取循环中设置每次所要读取的字节数(与处理器程序中即将发送的字符串型数据字节数相匹配)。每个数据帧传输完成后,将读取缓冲区中的字符串提取出来并转换为浮点型数据输入到波形图表中进行实时显示。每一次循环结束前需要借助VISA设备清零函数将读取缓冲区中的数据清除,避免现存数据对下一次数据读取造成影响[11]。
4 试验验证
利用高精度温控箱对该温度监测系统进行性能测试。在15~40℃范围内,以温度梯度5℃进行测试,结果见表1。
表1 温度检测试验数据
图5 LabVIEW后面板程序设计结构
实验结果表明,该监测系统测量误差小于±0.05℃,完全能够满足激光器应用系统对工作环境温度波动范围的要求。
通过LabVIEW上位机界面实现对温度采集数据的实时监测。如图6所示,将高精度温控箱设定为25℃时进行测试,在大量的温度数据采样点中偏差最大的采样点温度值为24.97℃,能满足系统设计要求。
图6 LabVIEW上位机温度数据监测界面
5 结束语
笔者自主设计DSP最小系统和高精度温度采集电路,基于LabVIEW实现了温度数据的实时监测。系统集成性强,利用DSP处理器的SPI、SCI等模块完成对温度数据的快速采集与通信传输。程序部分采用了典型数字滤波器设计方法,保证了数据采集精度。采用LabVIEW上位机界面代替传统的液晶等显示设备,降低了系统硬件和后期的维护成本,具有很高的工业应用价值。
[1] 王智远,郝艳华.基于LabVIEW的PC与DSP串口通信研究[J].仪器仪表用户,2007,14(2):20~22.
[2] 张鑫,李冬梅,黄元庆.基于LabVIEW的阵列式传感器数据采集系统[J].仪器仪表学报,2006,27(z2):1393~1401.
[3] Rizk H,Papachristou C,Wolff F.Designing Self Test Programs for Embedded DSP Cores[C].Proceedings of the Conference on Design,Automation and Test in Europe.Piscataway,NJ:IEEE,2004:816~821.
[4] 刘单.基于LabVIEW并行通信的数据采集与处理系统研究[D].武汉:武汉理工大学,2006.
[5] 贾伟,邵左文,张玉猛.基于SPI总线的高速串行数据采集系统设计[J].国外电子测量技术,2007,26(4):37~40.
[6] 董鸣.AD7793在高精度温度控制设备中的应用[J].电子技术,2015,15(6):30~32.
[7] 孙丽芹,王海龙,张景顺,等.一种基于LabVIEW的串口数据传输方法[J].通信技术,2013,46(4):139~141.
[8] 王智远,郝艳华.基于LabVIEW的PC与DSP串口通信研究[J].仪器仪表用户,2007,14(2):21~22.
[9] Lorenz M,Marwedel P.Phase Coupled Code Generation for DSPs Using a Genetic Algorithm[C].Design,Automation & Test in Europe Conference & Exhibition.Piscataway,NJ:IEEE,2004:1270~1275.
[10] 梁国伟,陈方泉,林祖伟.基于LabVIEW的串口数据采集的实现及应用[J].现代机械,2009,30(5):57~59.
[11] 施雅婷,郭前岗,周西峰.一种改进的LabVIEW串口通信系统的实现[J].电子测试,2010,(8):64~69.
DataAcquisitionandMonitoringSystemBasedonLabVIEWandDSP
WANG Meng-qian, JIANG Jian-guo
(CollegeofElectricalEngineeringandInformation,NortheastPetroleumUniversity)
The minimum system of DSP processor was designed independently; through making use of its high-speed data processing ability and the chip’s abundant resources, the target signal’s acquisition and processing were completed. Combined with the typical data processing algorithm, a digital filter was designed to satisfy data acquisition at high accuracy; meanwhile, in CCS environment, having the system initialization implemented, including the data type conversion and the design of host computer interface at LabVIEW software platform; through having the serial communication protocol based, the data communication between PC and DSP was realized. Having the system tested with high precision temperature control box shows that, the error of the temperature signal acquisition stays within the range of ±0.05℃ and the interface of the host computer realizes real-time monitoring of the target signals.
temperature data acquisition and monitoring system,DSP minimum system,LabVIEW, serial communication
TH865
A
1000-3932(2017)08-0778-05
2016-10-26,
2017-07-07)
黑龙江省自然科学基金项目——天然气管道泄漏次声波信号的检测算法研究(E2016013)。
王梦谦(1993-),硕士研究生,从事电力电子与电机传动的研究,wangmq182@163.com。