微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于S3C44B0x的室内空气质量监测仪设计

基于S3C44B0x的室内空气质量监测仪设计

时间:08-02 来源:互联网 点击:

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)针对该气体监测系统的传感器阵列电路,其中包括传感器加热电路、传感器信号采集电路;

  (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 为输出电压。

 对于图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();来启动多任务调度。

  4.2 应用软件设计

为了充分发挥操作系统在任务调度、任务管理、任务通

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top