中文引用格式:王晨辉,吴悦,杨凯.基于STM32的多通道数据采集系统设计[J].电子技术应用,2016,42(1):51-53,57.英文引用格式:WangChenhui,WuYue,YangKai.Designofmulti-channeldataacquisitionsystembasedonSTM32[J].ApplicationofElectronicTechnique,2016,42(1):51-53,57.
0引言
1系统总体设计
多通道数据采集系统主要由ARM微控制器STM32F103、A/D转换电路、电源电路、数据存储电路、数据传输电路和数据监控中心组成[2]。STM32F103作为多通道数据采集系统的核心,控制协调具体的数据采集、存储与传输。A/D转换电路可采集泥位、地声、次声、位移等现场数据,STM32F103将采集的现场数据简单分析处理后通过数据传输电路传输到远程数据监控中心,数据传输主要通过GPRS或北斗卫星模块上传,后台数据监控中心可实现对现场数据的实时在线查看及历史查询,数据存储电路可将采集数据实时保存到SD卡中,方便以后数据处理。系统总体结构框图如图1所示。
2系统硬件电路设计
2.1微控制器简介
微控制器采用STM32系列的32位微控制器STM32F103R8。它采用ARM32位CortexTM-M3的CPU,主频可达72MHz,内置高达512KB的闪存和64KB的SRAM,具备丰富的外设资源,主要包括ADC、RTC、I2C及SPI等接口。可提供睡眠、停机和待机三种省电模式,有效保证系统的低功耗性,而且Thumb-2指令集可有效提高系统运行的效率与实时性。
2.2A/D转换电路
A/D转换电路选用TI公司推出的针对工业应用的模数转换器ADS1256,其24位Δ-ΣADC适用于科学仪器、工艺控制等工业应用领域,提供了最高23位的无噪声精度、最高30kS/s的数据速率、±0.0010%非线性特性,非常适合用于高速、高精度数据采集,其内部集成有输入多路复用器、输入缓冲器、可编程增益放大器[3]。
2.3电源电路
电源电路采用太阳能浮充锂电池作为供电电源,锂电池组基本参数为12V/16Ah,通过电源转换为系统提供12V、5V及3.3V三路工作电源,微控制器通过程序管理协调实现各部分电源供给,实现系统的低功耗。5V电源由TPS54229E转化提供,支持宽电压输入,集成高效率FET,电路PCB空间较小,适合多通道数据采集系统的多电源总线调节设计[4],3.3V电源采用功耗非常低的降压模块LTC3631转化提供。
2.4数据存储电路
2.5数据传输电路
数据传输电路分为GPRS和北斗卫星传输,系统通过RS232串口分别与GPRS和北斗卫星传输模块连接。GPRS传输作为常规的传输模式,传输模式简单、可靠、稳定,在数据传输时优先选择,无法满足GPRS信号时选择北斗卫星传输模式。GPRS传输模块选用华为GTM900C模块,通过GPRS网络以TCP/IP数据包方式将现场监测数据实时传输到远程监控中心。北斗卫星传输模块选用国智恒集团的BGT-500模块,可实现RDSS的双向定位和短报文通信功能,具有较高的集成度和更低的功耗,系统通过北斗通信模块以短报文方式将监测数据传输到远程监控中心。
3系统软件设计
系统软件设计主要包括微控制器软件设计、数据采集软件设计、数据存储软件设计、数据传输软件设计及数据监控中心软件设计。
3.1微控制器软件设计
3.2A/D转换软件设计
数据采集程序由微控制器与ADS1256共同完成,数据采集包括A/D数据和数字量数据采集,A/D数据采集包括被测现场信号的带宽、被测信号精度、采集功耗,A/D数据采集在设置时要将ADS1256设置为可调模式,数据的输出在模式选择后与芯片时钟频率CLK有关,数据采集通过SPI通信协议,数据转换后用TDM模式输出,软件流程图如图3所示。
3.3数据存储软件设计
微控制器通过SDIO模式完成现场数据的存储,主要包括MicroSD卡的初始化、卡识别、采集数据的读写[7]。上电初始化后,微控制器通过库函数SDIO_Init()配置SD卡时钟,发送命令检测是否有SD卡存在并对接入系统的卡进行归类,同时对操作电压进行范围验证以保证CID和CSD数据能正常读写;STM32F103以时钟频率开始MicroSD卡的识别流程,发送ALL_SEND_CID获取MicroSD的CID(uniquecardidentification),发送SEND_RELATIVE_ADDR获取RCA(RelativeCardAddress),RCA用于对MicroSD进行寻址,一旦RCA被接收,代表卡已进入待机状态;接下来STM32F103发送SEND_CSD来获取卡的CSD(CardSpecificData)寄存器内容,包括块长度、卡存储容量、最大时钟速率等;然后进入读写状态,通过调用SD_ReadDisk()函数与SD_WriteDisk()函数实现微控制器与MicroSD卡之间的数据读写操作。
3.4数据传输软件设计
3.5数据监控中心程序流程图
数据监控中心(服务器)软件作为TCP服务器端和北斗服务器端,具有公网固定IP地址且开放监听端口,分别接收来自GPRS客户端的TCP数据包与北斗客户端的数据,并向客户端发送应答数据。主要任务是完成对通信数据的接收、分析、处理和存储。首先服务器端启动TCP/IP监听和打开串口,监听TCP端口和串口,将接收到数据包/数据进行分析、处理,然后将数据存储到数据库中,便于以后数据查询与分析[8]。数据监控中心程序流程图如图5所示。
4系统测试与分析
为验证测试多通道数据采集系统的性能功能,搭建野外模拟数据测试平台,给4个数据采集通道输入模拟野外监测传感器的电压信号,将系统采集到的数据与采集通道的输入电压进行对比分析,测试结果如表1所示。
从两组测试结果可以看出,系统4个采集通道均可准确对输入电压进行数据采样,采集数据可以精确到小数点后3位,系统采样结果相对误差较小,完全满足对野外监测数据的精度要求。
5结语
本文以嵌入式微处理器STM32F103与ADS1256共同构建多通道数据采集系统,充分发挥STM32F103的控制协调作用,可实时在线采集0~5V电压输出型的不同传感器信号,有效保证数据采集精度、实时性及数据处理能力,并实现远程数据传输,远程数据监控中心与地质灾害现场可进行实时在线通信,对现场数据可进行实时查询、分析及数据处理。软硬件架构的合理设计有效降低了系统的成本与功耗,实现系统的微型化与智能化采集,可广泛应用于地质灾害野外现场数据采集,在地质灾害监测中有较好的应用前景。
参考文献
[1]徐航,罗巍.基于嵌入式的多通道高速数据采集系统[J].自动化与仪器仪表,2013(1):148-150.
[2]杨振江.智能仪器与数据采集系统中的新器件及应用[M].西安:西安电子科技大学出版社,2001:95-163.
[3]陈红远,郭天太,吴俊杰,等.多通道微弱电压信号同步采集系统开发[J].电子技术应用,2014(40):79-84.
[4]钟文涛,刘强.基于单片机的野外信息检测记录系统[J].机电工程技术,2013,42(5):26-30.
[5]胡祥超,李艳洁,赵新华,等.便携式野外传感器原位数据采集系统设计[J].传感器与微系统,2014,33(10):69-72.
[6]丁凡,周永明.基于ZigBee的多路温度数据无线采集系统设计[J].仪表技术与传感器,2013(8):72-78.
[7]潘玲娇,张自嘉,樊延虎,等.嵌入式16通道同步数据采集系统设计[J].仪表技术与传感器,2013(11):91-94.
[8]马军,李志华.基于STM32的无线次声采集系统的设计[J].电子技术应用,2014,40(4):92-95.
作者信息
王晨辉,吴悦,杨凯
中国地质调查局水文地质环境地质调查中心,河北保定071051