夏妍 孙硕
摘要 本文设计多路数据采集系统时,设计思想采用虚拟仪器,在LabVIEW软件平台基础上,以单片机系统作为数据采集部分,分析了该系统的具体设计过程,旨在为实际设计工作提供参考。
【关键词】单片机 LabVIEW 多路数据采集系统 设计
虚拟仪器是一种软硬件测试平台,以计算机为基础,已经广泛的应用到工业控制领域。美国国家仪器公司基于虚拟仪器软件开发平台,推出了LabVIEW,其主要面向的领域为计算机测控领域,集中了图形开发、调试及运行功能。多路数据采集系统利用LabVIEW设计时,多路信号的模拟采集通常利用NI公司的数据采集板卡,但数据采集板卡的价格比较高,导致开发成本大,而且开发周期也比较长。为解决该问题,本文以单片机代替数据采集板卡,促进开发成本降低的同时,提升数据采集效率。
1 系统硬件设计
本文设计多路数据采集系统过程中,系统构成包含两部分,一部分为上位机,采用LabVIEW;另一部分为下位机,单片机即设置在此部分中,系统原理图见图1。
通常,上位机并不会较高的要求硬件,选择普通PC即可,而下位机则对硬件要求较高,因此,本节主要介绍下位机硬件的设计方法。按照实际需求,下位机功能模块主要包含三部分,分别为信息收集模块、微型控制器、RS232串行通讯模块。
1.1 信息收集模块
该模块由多部分构成,如多路模拟信号传输器、数据预处理电路。设计信息收集模块电路时,一般采用两种方式,一种为信息收集电路利用单独电子元件构建,另一种为通过系统内部控制器所具备的A/D功能设计。嵌入式系统情况下,根据其硬件设计理论,本文在进行信息收集模块电路设计过程中,采用第二種方式,使用现购买的多路模拟信号传感器。在信号预处理部分,计算放大器电流为其主要使用的,增强原本比较微弱的传感器信号,使A/D转换输入电压需求得到满足。
1.2 微型控制器
根据信息收集模块的设计方案,结合系统对微型控制器能力的要求,下位机硬件控制中心选择STC12C5A60S2单片机,原因是此类型单片机以8051内核为基础建立,并具备机械周期/单时钟功能,同时,该单片机内部还设置有FLASH、计数器、定时器、SRAM等,可将信息收集、控制期间的功能要求有效满足,并与微型控制器的设计要求相符合。
1.3 RS232串行通讯模块
上位机与下位机之间进行信息通信时,通过RS232串行通信模块实现。在下位机的单片机中,无论是输入讯号,或是输出信号,电平均为TTL,逻辑1、逻辑0均分别约为3.8V、0.4V。以串行接口协议为依据,RS232具有如下特征:采用负逻辑、高信号与低信号间的变化幅度应非常大,基于此,设计逻辑1电压范围时,选择-15—-5V,而逻辑O的电压范围则选择+5~_15V,一般来说,逻辑1设置为-10V、逻辑O设置为+10V[2]。由此一来,TTL电平需要进行转变,变为RS232电平,本文采取的实现此种转变的方法为添加MAX232E芯片。
2 系统软件设计
2.1 RS232通信协议约定
上位机要想可靠的、真实的与下位机通信,RS232通信协议必须要自制定。在RS232通信协议中,包含的约定内容比较多,如波特率、停止位、数据格式定义、数据头标识符等。本文设计过程中,RS232通信协议包含几下几方面约定:
2.1.1 基本通信数据格式
波特率设置为115 200,数据位共8位,以1作为停止位,奇偶校验位设置为N。通信命令格式完整情况下,上位机将其发送给下位机时,按照如下约定进行:上位机把参数设置发送给下位机,同时,数据采集命令启动,此命令共包含三方面的内容:
(1)数据起始标识符,为OX55+OXA5形式,
(2)下位机设定参数数据块,字节共7个,
(3)数据结束标识符,为oxcc。
其中,确定第二方面内容的大小时,可以系统自定义的数据块大小为依据,本系统中,数据块自定义为7块,因此其字节也为7个。数据采集完成后,上位机再把停止数据采集命令发送给下位机,数据采集工作完成。
2.1.2 采集数据格式
下位机数据采集工作完成后,要将其发送给上位机,发送时应按照采集数据高字节+低字节的格式进行。下位机开展数据采集工作时,设定20s为时间间隔,实际应用中,可按照实际情况作出相应的修改。
2.2 下位机单片机软件设计
此部分软件设计中,工作主要包含三方面:
(1)数据采集功能模块设计,A/D转换功能为STC单片机的内置功能,通过该项功能,数据采集功能模块采集外部多路模拟量的数据。
(2) RS232数据通信功能模块设计,设计工作以RS232通信协议约定为依据进行,实现方法采取RS232中断与查询结合的方式,设计RS232通信程序时,利用串行中断法达到接收上位机一帧通信命令的目的,而下位机则通过查询功能将采集完成的数据发送给上位机。
(3)系统主程序功能模块,标志Recfiag由串行中断接收,查询并处理标志Recflag为此模块主要功能。
2.3 上位机LabVIEW软件设计
上位机将数据采集控制命令发送给下位机时,主要通过LabVIEW软件实现,同时,下位机将采集数据发送给上位机后,上位机也要利用LabVIEW进行接收、显示等。基于此种功能需求,在上位机LabVIEW前面板程序(见图2)中,主要包含以下几方面:
(1)串口通信参数设置模块:上位机及下位机通信时,RS232通信串口号等参数设置时利用此部分进行;
(2)下位机参数设置:数据采集命令发送给下位机前,需进行采集通道号等相关参数的设置,通过该模块实现,本系统设计过程中,数据采集模拟量设定为5路,输入通道数量需要扩展情况下,可以5路为基础,实施类推,5路报警门限值设定后,数据采集时,门限值被超过后,报警现象出现在下位机中,报警方式为声光,此时,系统管理者即可开展相应的处理:
(3)运行控制选项:功能包含下位机数据采集的启动或停止、数据存储等;
(4)实时数据显示:将某条采集通道实时的数据采集情况显示出来;
(5)实时曲线显示:以曲线方式显示实时的某采集通道数据。
接下来,本节即对上述各部分做具体的介紹。
2.3.1 串行通信功能模块
Instrument I/O>serial目录位于LabVIEW功能面板中,可满足串行通信需求的集成模块则包含在此目录中,通过该模块,能够将测控系统方便的设计出来。本系统设计过程中,需使用的串行通信模块包含以下几种:
(1)初始化时采用VISA onfigUre SerialPort;
(2)向VISA resource name指定的串行接口写入write buffer字符时采用VISA write;
(3)规定字节数的数据在VISA resourcename指定的串行接口读取时采用VISARead;
(4) VISA resource name指定的串行接口关闭时采用VISA Close。
2.3.2 实时数据处理及显示功能模块
数据从下位机中读取出来后,由数据处理模块做出相应的处理,已将实时显示等功能实现。在实时显示数据部分,会以波形图的方式、数值的方式显示出实时的处理后的数据。
2.3.3 下位机参数设置功能模块
该模块设置参数时,方式采用两种,一种为将设定值直接输入,一种为参数值预先设定好,具体采用何种方法,由用户自行选择。不过,本系统设计时,设置方式选择后者,以使用户的操作更加便利。实际上,参数值预先设定过程中,并非是具体的参数值,而是选择相应的参数序号,序号发送到下位机单片机中后,单片机在对应表中查找具体的设定参数值。此种方法有利于将通信数据长度减少,使数据通讯速度提高,并促进程序设计工作简化,原因是设定值超过255之后,要想将一个参数设置完成,上位机进行数据量上传时,需要的字节数量为2个。对于需设置的全部参数,依据HEX格式,该模块将其都放置到索引数组,之后利用VISA Write函数,向下位机发送参数。
2.3.4 运行控制选项功能模块
该模块实现运行控制选项时,采用的方式为事件驱动,相应VI程序编写到驱动事件中后,即可实现该模块的功能。
3 结论
设计多路数据采集系统过程中,利用LabVIEW平台及单片机之后,能够一定程度的简化设计过程,提高开发速度,同时,监控界面也更加美观。本文在单片机及LabVIEW基础上设计的系统经实践后,结果显示,上位机与下位机之间可以正常的通信,可实现采集并实时监测多路数据,具有较为广阔的应用前景。
参考文献
[1]冯传均,戴文峰,何央,基于VB和单片机的多路数据采集系统设计[J].电子设计工程,2016,24 (22):155-157+160.
[2]李鹏.MSP430单片机在多路数据采集系统设计中的应用[J].无线互联科技,2016(07):139-140.
[3]孙进,基于单片机的多路数据采集系统设计[J].信息通信,2014 (10): 61-62.
[4]李辉,基于C8051F060单片机的多路数据采集系统设计[J].电子设计工程,2014, 22 (15):186-190.
[5]刘艳.基于LabVIEW和Proteus的单片机数据采集系统设计[J],现代电子技术,2013, 36 (09):102-104+108.
[6]郭松辉,张琦,李亚君,基于MSP4 30F149单片机的工程机械多路数据采集系统设计[J].矿山机械,2016 (01): 94-96+5.