基于μC/OS-II的远程环境监测系统
环境监测系统采用模块化设计,可以灵活、经济地实现CO、SO2、氮氧化物等多种参数的测量。模块化设计是将产品的某些要素组合在一起,构成一个具有特定功能的子系统,然后再将这个子系统作为通用性的模块与其他产品进行多种组合,构成新的系统,产生多种不同功能或相同功能、不同性能的系列产品。即模块化先进行系统的分解,再进行组合。采用这种模块化设计思想,用户可以根据实际情况,选用最
合理的资源配置,实现较高的性价比。
1 系统设计方案
1.1 系统基本原理
环境监测系统以ARM系列LPC2214为核心,内置嵌入式操作系统μC/OS-Ⅱ,该操作系统对整个系统调度,具有数据采集、数据处理、数据存储等功能。数据经过处理后,通过DTU无线模块传输到上位机,然后上位机接收、显示、存储、报警,并结合数据挖掘技术对大量的采集结果进行分析处理,存储于服务器数据库。μC/OS-Ⅱ具有处理多个任务和外部接口接入数据的功能,使得监测系统可以同时处理多个事务,并具有更大的可扩展性。
环境监测系统是一个集成度高,可选择测量多种场所环境的智能型环境监测系统,测量的环境参数有:温度、湿度、风力、二氧化硫浓度、氮氧化物浓度、一氧化碳浓度、臭氧浓度、可吸入颗粒物浓度、噪声、雨量等多个环境指标。其中,根据不同的场所选择不同的测量模式,系统大体分为3种模式供用户选择:污染源模式、交通路口模式、居民小区模式。
1)污染源是指对环境造成污染的污染物发生源,通常指的是向环境中排放有害物质或对环境产生有害影响的场所、设备、装置或人体,环境监测系统主要监测大气污染,这里的污染源主要是大气污染。大气污染指大气中污染物浓度达到的有害程度,超过了环境质量标准的现象。在此模式中列出了常见的也是对人体危害比较大的气体污染物的监测,其中有二氧化硫、总悬浮颗粒物(TSP)、可吸入颗粒物(PM10)、氮氧化物、二氧化氮、一氧化碳、臭氧等。
2)交通路口模式主要是市中心、高速路口等交通繁忙的路段,监测的环境指标主要是汽车尾气中的有害物质,还包含了实用的气象状况。
3)居民小区是指人们日常生活和活动场所的环境。环境质量是住宅小区健康要素中的最为直接的因素,是绿色健康小区最为鲜明的标志。居民小区模式中监测的参数有:空气温度、相对湿度、风力、风向、紫外线指数、噪声、颗粒物等,这些参数都是和居民生活息息相关的环境指标。
环境监测系统的基本组成包括传感器数据采集部分、信号处理模块、键盘输入模块、显示模块、通信部分模块、远程监控中心。其系统硬件结构如图1所示。
通信部分DTU模块内嵌SIM卡,是构成一款基于GPRS网络的无线数据传输终端设备,提供全透明数据通道,可以方便地实现远程、无线、网络化的通信方式,具有网络覆盖范围广(移动网络覆盖范围就可以使用)、组网灵活快捷(安装即可使用)、运行成本低(按流量计费)等诸多优点。
1.2 器件选型
ARM处理器以其低功耗、高性能、低成本等优点在嵌入式应用领域占据领先地位。LPC2214是基于一个支持实时仿真和跟踪的16/32位ARM7 TDMI-STM处理器,并带有128/256 KB的嵌入式高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在较大时钟速率下运行。其中ARM处理器的另一个优点是采用数据保密安全性的设计方法,这对于实现网络化的嵌入式系统具有重要作用。
LPC2214是一款功能强大的超低功耗微处理器,其构成原理图如图2所示。集成了Thumb扩展指令集,16 KB片内静态RAM和128/256 KB片内Flash程序存储器。128位宽接口/加速器可实现高达60 MHz的工作频率,通过片内boot装载程序实现在系统编程(ISP)和在应用编程(IAP),8路10位A/D转换器,2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗,多个串行接口,包括2个标准UART、高速I2C接口(400 Kb/s)和2个SPI接口,向量中断控制器,可配置优先级和向量地址,通过外部存储器接口可将存储器配置成4组,每组的容量高达16 MB,数据宽度为8/16/32位,多达112个通用I/0接口(可承受5 V电压),9个边沿或电平触发的外部中断引脚,通过片内PLL可实现最大为60 MHz的CPU操作频率,片内晶振频率范围:1~30 MHz,2个低功耗模式:空闲和掉电,通过外部中断将处理器从掉电模式中唤醒。
1.3 嵌入式操作系统μC/OS-Ⅱ
μC/OS-Ⅱ尤其适合学习和移植,将其使用在环境监测系统中,可以更好管理各个任务,使系统更稳定。μC/OS-Ⅱ开放源代码,可移植,可固化,可裁减,它是完全可剥夺型的实时内核,即总是运行就绪条件下优先级最高的任务。μC/OS-Ⅱ最多可管理64个任务,其中其本身占用8个任务,应用程序使用56个任务,这样可以解决多传感器接入问题。
2 系统软件设计
2.1 嵌入式操作系统移植
μC/OS-Ⅱ移植源代码相关的代码主要在OS_CPU.H,OS_CPU.C,OS_CPU.ASM这3个文件中。移植时主要在这3个文件中进行,使之适合处理器。在OS_CPU.H中对一些参数进行修改,把OS_CPU.C包含进自己的项目中。
2.2 多传感器接入的实现
在实现环境监测系统中核心问题是多传感器的接入,因环境监测系统应用场合不同有必要监测多种环境参数,故需要接入多种传感器,如CO传感器、SO2传感器、氮氧化合物传感器。本系统利用嵌入式操作系统多任务管理功能,对接入的传感器处理分成各个任务模块,并对这些任务模块进行管理、执行。
2.3 系统软件流程设计
系统共设计了6个任务,最高优先级的任务为自删除任务,首先进行首次上电初始化,其后依次执行采集任务(以确保采集工作的顺利进行)、按键任务、串口任务、LCD显示任务。由于操作系统总是执行优先级最高的就绪态任务,这就要求软件设计过程中,不仅要注意各个任务的优先级问题,还要注意之间的延时设计,确保每个任务都能被执行,防止在有些任务还没被执行完时就被打断进行新的循环。工作流程如图3所示。
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)