历史上的今天
今天是:2024年10月13日(星期日)
2020年10月13日 | 基于LabVIEW的四通道多参数测试系统软件设计
2020-10-13 来源:21ic
摘要:介绍了基于MSP430单片机的四通道多参数和测试软件的功能模块,讨论了该软件的设计问题。软件是在LabVIEW开发平台上开发的,具有友好的可视化界面和结构化设计。软件经过系统的联合调试后,实现了四通道信号曲线的实时显示、存储、对电路进行编程控制,具有很好的稳定性和可操作性,完成了系统所要求的各项指标和功能。
随着工业控制技术与计算机技术的发展,基于计算机硬件和软件的数据采集与控制系统已成为工业控制的主流。基于LabVIEW开发的测控系统,在工程和科研的各个领域得到了广泛应用。LabVIEW是美国国家仪器公司推出的一个图形化编程的软件开发环境。是一个标准的数据采集和仪器控制软件。由于LabVIEW功能强大且灵活,利用它可以方便快捷地建立自己的虚拟仪器,成为测试、测量和控制设计的专用工具,其范围可从温度监控到复杂的仿真和控制系统。本文主要介绍了基于LabVIEW测试系统软件,该软件具有数据采集、处理、分析和电路编程能力,能够提供丰富的数据信息,生成信号曲线,具有较高的实时性、准确性和可扩展性。通过软件可以帮助实验人员实时观察要测量的压力、加速度、温度、电量;确定系统的正常运行,对于及时发现和解决问题具有重要作用。
1 系统的基本结构
四通道多参数测试系统采用均匀采样策略,对被测信号进行等时间间隔采样,在测试过程中采样的频率为一常数。均匀采样频率确定的基础是采样定理,它至少要大于被测信号最大频率的两倍,同时,还要考虑测量时间T及存储容量M等因素,应满足2fa≤fs≤M/T。
系统采用压力传感器、加速度计等对四路信号进行采集,采集后的数据经信号调理电路进行滤波及放大处理后送入MSP430单片机,利用单片机中自带的A/D转换器将模拟信号转变成数字信号。该系统的采样频率为1 kHz,单片机通过片选(STE)信号控制按顺序接收四个通道转化的数据,将数据通过单片机SPI口以100 Hz发送。采集的数据一方面存入FLASH中,另一方面通过计算机软件进行控制把数据经USB接口电路读入计算机中实时保存,并在软件中实时显示出四个通道的温度曲线。系统的基本结构如图1所示。

2 系统的软件设计
软件部分是整个引信测试系统设计的核心,软件的设计使得用户可以通过计算机实现数据的采集、显示、分析处理和存储,并且可以对测试电路进行编程来改变测试电路的工作参数。本系统的软件部分主要包括:采样读数、电路编程、数据定标、多通道显示等。
2.1 采样读数
引信测试系统软件的核心是采样读数,采样读数模块是通过连接USB接口来采集获取测试仪器的数据。采样读数包含两部分:读取存储数据和实时数据。
读取实时数据就是在测试过程中对数据进行实时的采集并通过USB接口传递给上位机软件,软件接收到数据后对数据进行实时的处理、保存,并动态显示信号曲线。测试实时曲线显示用波形图作为容器,波形图控件包括图形工具选板和游标图例,通过波形工具选板可以实现对波形的放大、缩小和平移;游标图例可以实现对信号曲线定点坐标的获取。这些功能可以帮助实验人员实时分析信号参数及发现问题。读取存储数据就是在试验结束之后通过USB接口将数据从仪器中的FLASH中读出,然后将数据以文件形式保存在计算机中并在屏幕上显示出信号曲线。采样读数的部分程序如图2所示。

2.2 电路编程
根据每次试验的不同情况,需要根据实验的环境和实验要求对硬件电路进行重新设置,电路编程模块通过USB读数口可以方便快捷地对硬件电路进行重新设置,电路编程模块实现了设定电路的存储器容量、延迟时间、环境控制和采样策略选择等。
2.3 定标读值
定标读值是指通过事先对电路和传感器标定的灵敏度将各通道的数字量转换成其具有物理意义的信号量,使波形图显示的原始曲线转换成相应的加速度-时间等曲线。在定标界面中可以对标定了的数据进行相应的数据处理,例如数据转换、打印等。
2.4 导出波形
通过导出波形模块用户可以将波形图中显现的曲线图以图片的形式保存在计算机中,方便用户打印输出、存档保存以便日后查阅。该功能的实现通过波形图的属性节点调用实现。
2.5 多通道显示
多通道显示模块允许用户通过对通道的选择来显示某一通道的数据曲线,也可以同时显示四个通道的数据曲线并以不同的颜色来显示各个通道的数据曲线,方便用户对曲线进行观察和对比,在LabVIEW中通过复选框实现各个通道的选择。
3 软件的关键问题
3.1 通道数据分离和纠错
在数据采集的过程中,四路信号是同时存储的。当在存储数据和显示数据曲线时,需要对数据进行处理,防止读取或存储的数据发生错位现象,同时便于对错误进行跟踪查找,最终能使各通道数据能够完整地整合到一起。因此采取了相应的措施,在每个数据存储的过程中给每个通道的信号加上通道信息。
当多路信号采集完一个周期后,存储一些通道信息作为区分每包数据的信号。这样即使某包数据出了问题,也可以很容易地确定各个通道信号的数据,不会出现数据错位现象。通过判断数据的通道号来确定数据是否正确,当出现错误时用相对应的上一包的数据进行替换,具体步骤如图3所示。

3.2 动态链接库的调用
动态链接库(DLL)是存放在.dll文件中编译过的小型库文件,该文件封装了一些功能和代码及一组接口函数供LabVIEW调用,应用程序可以在运行时链接并使用它。在LabVIEW中提供了调用库函数节点,通过该节点进行配置就可以调用DLL。
动态链接库的工作原理如下:当它收到应用程序的数据传输请求后,会创建两个线程:数据传输线程和记录、显示线程,其中数据传输线程负责将数据写到应用程序要提交的内存;而记录、显示线程则负责给应用程序发送记录和显示消息。当应用程序接收到此消息后,便从它提交的内存中读取数据并存。
用户应用程序的主要功能是开启或关闭USB设备、检测USB设备、设置数据传输帧数、通过USB接口传输并显示数据,本系统软件调用DLL68013.dll库文件对USB设备进行控制。下面就本系统信号采集关键DLL函数进行简单的说明,这些都在调用库函数节点的配置中进行设定,在配置过程中要注意调用规范,该系统采用stdcall(WINAPI)。
①TranVerCmmd(),该函数是向USB设备中发送控制命令,用于控制USB设备,该函数就一个参数,向这个函数发送HB4初始化读数口控制命令。
②BulkWrite(),该函数是控制向设备中发送数据,包括三个参数,第一个参数是要操作的管道号,第二个参数是要写入的数据,第三个参数是数据的大小。
③BulkRead(),该函数是控制向设备中发送数据,包括三个参数,第一个参数是要操作的管道号,第二个参数是要读取的数据,第三个参数是数据的大小。
采样模块调用库函数节点的部分程序如图4所示。

4 测试结果及结论
4.1 测试结果
在一次测试的试验中,对四个通道信号进行数据采集,其结果如图5所示。从图中可以清楚地观察到各个参数的变化,测试数据保存在二进制文件中,数据还可以生成Excel报表文件以便用户参考分析。

4.2 测试结论
四通道多参数测试软件通过了系统的联合调试,成功地实现了数据的接收、显示、处理、存储、回放等功能。联合调试的结果充分说明系统可以在Windows的平台上平稳运行,数据接收与显示的实时性完全满足要求。由于系统有很强的数据回放能力,用户可以在每次试验后,反复研究本次试验数据,这对及时发现、分析和排除故障、提高效率是非常有效的。
上一篇:关于MSP430的时钟问题的简介
下一篇:MSP430单片机中的WDT研究
史海拾趣
|
CodeWarrior for Microcontrollers v10.0 Beta同时支持HCS08, RS08, CodeFire V1-V4 http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=CW-MCU10&tid=vancwmcu10 http://www.freescale.com/webapp/sps/site/overview.jsp?code=C ...… 查看全部问答> |
|
如何在WinCE下用EVC连接并操作PC上的SQL Server数据库 很急的,要在PocketPC上开发一个程序,能够连接服务器上的SQLServer 数据库,并获取其中的记录数据进行显示,我查了一下资料,有的说在CE上不能直接连接PC上的数据库,有的说在CE上用SQL CE,然后与PC上的SQL连接,还有的说做个web service,那么究 ...… 查看全部问答> |
|
cc2430给的样例程序中的串口接收不是中断方式的。我写了一个串口中断方式接收的程序,发现明明收到东西了,可它怎么也不进中断。下面是我的程序,波特率。 void URX0Init(void) { U0CSR |= UART_ENABLE_RECEIVE; URX0I ...… 查看全部问答> |
|
本文主要包含如下内容:1. Debug 和 Release 编译方式的本质区别2. 哪些情况下 Release 版会出错3. 怎样“调试” Release 版的程序-------------------------------------- 关于Debug和Release ...… 查看全部问答> |
|
在用fpga产生正弦波,调用ISE 的ROM 内核,但是在仿真时,结果输出均为高阻态。ROM的数据由MATLAB产生,请问是为什么?? module sincose(data,we,clk,ce,reset,sine ); input we;//enabl ...… 查看全部问答> |
|
CortexA8+DSP BeagleBoard 板子+扩展板 去年十一月份chipsee购买,基本没用过,九成新,运行Android完美,wifi链接完美。 原价2700,出收价:2300,可淘宝链接: http://ershou.taobao.com/item.htm?id=14036298782 有诚意的加qq:307799870 板子详 ...… 查看全部问答> |
|
【求助】共享库查找路径被修改导致现在终端命令不可用,如何恢复共享库路径? 昨天为了安装qt的编译环境,对环境变量进行了设置,其中包括共享库的查找路径,本来是应该进行一个临时设置的,但是我当时为了省时间,就在/etc/bash.bashrc里修改了“LD_LIBRARY_PATH”,结果昨晚关机前忘了把这个路径改回来了,导致今天登陆ubunt ...… 查看全部问答> |
|
代码如下,不知道为什么开的是RX中断,却用TX中断向量接受,我下到片子里,发现连时钟都没有输出,我用的G2553的LaunchPad//****************************************************************************** // MSP430G2xx3 Demo - US ...… 查看全部问答> |




