1 引言
目前,困扰人们日常生活的室内空气质量问题主要有两种:
(1)由于房屋装修、玩具、杀虫喷雾剂等带来的有害气体,如甲醛、挥发性有机物(VOCs:包含苯系物)等致癌物质;
(2)人们日常生活中由于粗心或设备故障引起的有害气体泄露,如水煤气、天然气、液化石油气等的泄露给人体带来危害。因此,有必要设计一种集这两方面有害气体监测为一体的便携式室内空气质量监测仪(IAQ Monitoring System),及时、准确、有效地对生活坏境中这类有害气体进行检测并报警,提醒人们做出一定措施。不仅能有效地保护人们的健康,甚至能够让很多家庭灾难得以避免。
该系统采用Samsung 公司的S3C44B0x 微处理器芯片作为硬件核心,选用μC/OS-Ⅱ实时操作系统作为嵌入式软件的基础和开发平台。S3C44B0x 芯片内集成了ARM7TDMI 核,并在ARM7TDMI 核基本功能的基础上集成了丰富的外围功能模块,便于低成本设计嵌入式应用系统。μC/OS-Ⅱ是一个完整的、源码公开的、可移植、固化、裁剪的占先式实时多任务内核。其中μC/OS-ⅡV2.52 通过了美国航天管理局(FAA)的安全认证,可以用于飞机、航天器等与人生命攸关的控制系统中,是值得放心使用的操作系统。实践结果证明,该监测仪操作简单,工作稳定可靠,成本低,具有广阔的应用前景。
2 系统总体设计
由于嵌入式操作系统屏蔽掉了很多底层硬件的复杂信息,在开发的过程中,通过操作系统提供的API 函数便可以完成大部分工作,可以简化开发过程,提高系统的稳定性,所以该监测仪选用采用嵌入式操作系统。
嵌入式监测系统由硬件层、中间层、软件层、功能层组成,各层的内容结构如图1 所示。其中板级支持包(BSP)或称硬件抽象层(HAL)的功能在于将系统软件和底层硬件部分隔离,一般具有相关硬件的初始化、数据的输入/输出操作、硬件设备的配置等功能。
3 系统硬件设计
3.1 系统硬件基本架构
系统硬件主要由两大部分组成:
(1)针对该气体监测系统的传感器阵列电路,其中包括传感器加热电路、传感器信号采集电路;[page]
(2)典型的S3C44B0x 的外围电路,其中包括实现该系统所需要的5 V、3.3 V、2.5 V、1.4 V 的电压转换电路、用于程序和数据存储的Flash 存储器和Sdram 存储器电路、用于显示各种气体当前浓度的液晶显示电路、声光报警电路、键盘操作电路以及用于调试的JTAG 接口电路。
室内空气质量监测系统硬件结构图如图2 所示。
3.2 气体传感器信号拾取原理
该设计中选用的MQ-135 气体传感器适用于测量甲醛、甲苯、烟雾、二氧化碳等有害气体;MQ-9 传感器用于测量一氧化碳、甲烷、液化石油气这类可燃气体;选用了DHT21 温湿度传感模块进行温湿度的测量。
MQ-135 和MQ-9 的测量电路如图3 所示。该测量电路由测试回路和加热回路两部分组成。在测试回路中,传感器表面电阻RS 阻值随待测气体浓度的变化而变化,通过与其串联的负载RL 上有效电压信号VRL 的输出来反应空气中待测气体的浓度,VRL 与RS 之间关系如式(1)所示。
图3 中,A,a,B,b,H,h 为气体传感器的6 个接头;VC 为回路电压;VH 为加热电压;RH 为加热电阻;RS 为传感器表面电阻;RL 为取样电阻;VRL 为输出电压。
[page]
对于图3 中的加热电压VH,MQ-135 采用5 V直流电压作为加热电压;MQ-9 采用5 V 高电压、1.4V 低电压循环加热的方式。对于MQ-9,当VH=5V 时,清洗传感器;VH=1.4 V 时,传感器工作,可以采集气体浓度,其中,高电平持续时间为60 s,低电平持续时间为90 s。MQ-9 加热电压波形如图4 所示。
4 系统软件设计
在设计一个简单的应用程序时,可以不使用操作系统,但在设计较复杂的程序时,可能就需要一个操作系统来管理和控制内存、多任务、周边资源。以RTOS 为软件开发平台把设计分割为若干独立的任务,应用程序的设计过程可以大为简化。该设计中采用μC/OS-Ⅱ占先式实时操作系统来完成多任务之间的调度和同步。
4.1 系统软件基本架构
该系统的主函数流程图如图5 所示,从中也可以看出该嵌入式系统的启动过程以及该系统软件基本架构。在开启多任务调度之前,首先要进行系统硬件初始化,为随后的操作系统初始化和应用程序的运行建立硬件和软件环境;第二步要进行操作系统初始化,创建应用程序环境;根据系统需要,要进行LCD 初始化、装载字库;第五步,调用系统配置文件;第六步创建任务,包括主任务和应用任务;然后初始化用户界面和系统时钟。以上所有的工作都完成之后,通过执行OSStart();来启动多任务调度。
[page]
4.2 应用软件设计
为了充分发挥操作系统在任务调度、任务管理、任务通信、时间管理和内存管理等方面的优势,首先必须根据需要实现的功能,合理地划分任务和分配任务的优先级。任务优先级的确定原则是工作频率越高,任务的优先级越高。系统中并行存在7 个应用任务,按优先级从高到低依次是模拟信号采集任务、模拟信号处理任务、数字信号采集任务、系统时间修正任务、液晶刷新任务、键盘扫描任务、液晶自动关闭任务。任务之间的通信是通过发送或接收消息、信号量或数据队列来实现的。
μC/OS-Ⅱ操作系统上允许同时运行64 个任务,其中8 个任务被系统的内核使用。要想在应用程序中建立一个新的任务,必须先为任务定义自己的栈空间,选定一个系统唯一的任务优先级。下面以键盘扫描任务为例,具体程序见程序清单4.1。
程序清单4.1 键盘扫描任务相关代码:
5 结语
本文主要介绍了基于S3C44B0x 和μC/OS-Ⅱ的室内空气质量监测系统的软、硬件设计方案以及系统中气体传感器的工作原理。在监测仪中移植嵌入式实时操作系统对提高嵌入式系统的实时性、可靠性,缩短开发周期和减小后期维护的难度具有重要意义。经测试,该监测仪具有运行稳定、测量准确、报警及时、操作简单、功能齐全、便携性好等优点,并且随着S3C44B0x 以及其外围电子芯片价格的降低,该监测仪更具有成本低廉的优点,适合普通家庭使用
上一篇:基于C8051F041的高精度频率计设计
下一篇:基于红外检测的产品自动分装系统设计
推荐阅读最新更新时间:2024-03-30 22:17