页面加载中,请稍候
来源:电子设计工程发布时间:2013-07-2338浏览
询问 AI摘要:设计了一种气象数据采集系统,该系统能采集温度、湿度、气压、风速4个气象要素,采集的原始数据保存在本地SD卡中,同时对采集数据进行数据处理,处理后的数据打包成气象数据包,使用GPRS模块将数据包通过GSM网络上传到上位机。采集系统主控制器使用基于Conex—M3内核的STM32处理器,在处理器上移植μc/os—II实时操作系统作为软件平台,保证了数据采集中较好的实时性和稳定性。在数据处理方面,参考地面观测规范对温度、湿度、气压采用筛除大小值取算术平均的算法,对风速测量数据采用滑动平均算法。经实验验证,系统正常运行,测量精度达到设计要求,具有成本低廉,精度高,具有较好的实时性和稳定性。
关键词:Correx-M3;STM32;气象数据采集;μc/os—II
0 引言
随着我国气象事业的快速发展,人们对气象信息采集的要求也越来越高,传统的人工操作和读数不仅劳动效率低下,而且容易出现人为错误,已无法满足现代气象观测的要求,近些年,电子技术的快速发展为气象数据采集技术的更新和设备换代提供了条件,Cortex—M3基于ARM公司最新的v7平台,它的数据处理能力是ARM7的两倍,而功耗只有ARM7的1/3,低廉的价格使其具有很高的性价比,在Cortex-M3上移植μc/os—II实时操作系统保证了系统的实时性和稳定性,其具有的诸多优点非常适合存自动气象数据采集领域使用。
1 系统整体设计
整个气象数据采集系统硬件主要由气象数据采集传感器模块、主控制模块、数据存储模块、数据发送模块以及上位机接收模块组成。传感器采集模块在主控制器的驱动下完成温度、湿度、气压、风速数据的采集,主控制模块由使用Cortex—M3内核的STM32处理器的最小系统组成,完成对数据采集传感器模块的控制以及对采集数据的数据处理工作,数据处理按照《地面气象规范2003》的基本要求执行,数据存储模块使用SD卡来完成测量数据的本地备份,处理完的数据打包成气象数据包使用GPRS模块通过GSM网络发送至上位机,上位机模块由GPRS模块和PC组成,上位机通过GSM网络接收测量数据并进一步处理,整体结构如图1所示。
2 气象数据采集模块
系统气压采集模块使用BMP085数字气压传感器,其和STM32通信使用标准的IIC协议,其内置的EEPROM中存储了补偿计算需要的11个参数,它们是11个连续存储的16位数据,存储地址为0XAA~0XBF,当STM32在读取了测量数据后需要通过补偿计算得到单位为hpa的测量数据。温湿度采集模块使用AM2301数字温湿度复合传感器,其与STM32通信使用单总线通信协议,该模块内置了一个8位的MCU,能自动完成数据的测量工作,当STM32得到了总线的控制权后,输出低电平大于800μs后,AM2301模块就得到了总线控制权并输出80μs的低电平作为响应信号并马上连续输出40bit的测量数据,测量数据格式为:40bit=湿度高8位+湿度低8位+温度高8位+温度低8位+校验位,其中校验位=湿度高位+湿度低位+温度高位+温度低位。风速采集模块使用FY-FS风杯式风速传感器,风吹动风杯转动会把风速信号转化为脉冲信号输出,STM32使用外部中断和定时中断来捕获脉冲频率并通过计算得到实时风速值。处理完成的数据存储在SD卡中,SD卡是一种存储容量为1 G的FLASH产品,与STM32通过SPI协议通讯。数据发送模块使用SIM300,利用短信息方式(TEXT模式)通过GSM网络与上位机通信,STM32使用AT指令通过串口与SIM300通信,上位机使用SIM300模块接收测量数据进行下一步处理。
数据采集各模块的关键技术指标见表1,其中温湿度、气压使用平均算法,风速使用滑动平均算法。
平均算法:测量一分钟,每分钟取样6次,去掉一个最大值和最小值,剩下4个值取算术平均。
滑动平均算法:当采集速率每秒一次(t=1),平均期间T=3s,连续测量120s,代入下面公式计算:
3.3 系统整体调试
在主函数中需要进行初始化工作,主要完成STM32时钟系统和μc/os—II时钟系统配置,初始化操作系统后新建开始任务TaskStart后操作系统开始运行,在系统刚开始进行任务调度时由于只有空闲任务和开始任务参与任务调度,开始任务优先级最高所以执行开始任务,在开始任务中又新建气压测量任务(TaskPre)、温湿度测量任务(TaskTem)、风速测量任务(TaskV)、数据存储任务(TaskFlash)、数据发送任务(TaskSim),完成任务新建后开始任务被挂起进入休眠状态,不再参与任务调度,根据事先设计好的优先级系统总是执行优先级最高的任务,风速测量任务优先级最高,挂起时间一到总能得到处理器的使用权,当测量完毕后任务自动挂起不参与任务调度,类似的情况,温湿度测量、气压测量完成各自测量数据并完成数据处理器后也自动挂起,并把标志为置1表示测量工作完成,数据存储任务和数据发送任务根据判断标志位决定是否进行数据存储和数据发送工作,其主函数和开始任务主要代码如下:
4 结论
本设计实现了μc/os—II在Cortex-M3上的移植并通过了实验验证,同时依照设计功能要求在μc/os—II平台上完成了气象数据采集系统中各个任务的设计工作,经实验验证,本系统能正常运行,气象数据测量精度达到设计要求,具有成本低廉,精度高,易于实现等特点,具有较好的实时性和稳定性。
新闻来源:电子设计工程,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-06-24

2026-07-09
2026-06-29