室内空气监测系统.doc_第1页
室内空气监测系统.doc_第2页
室内空气监测系统.doc_第3页
室内空气监测系统.doc_第4页
室内空气监测系统.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 1欢迎下载 研究生课程考试成绩单 试卷封面 院 系专业 学生姓名学号 课程名称嵌入式 Linux 系统及应用课程编号 授课时间周学时学分 简 要 评 语 总评成绩 含平时成绩 备注 任课教师签名 日期 注 1 以论文或大作业为考核方式的课程必须填此表 综合考试可不填 简要评语 缺填无效 2 任课教师填写后与试卷一起送院系研究生教务员处 3 学位课总评成绩以百分制计分 精品文档 2欢迎下载 摘要摘要 目前 人们大约 90 的时间在室内环境度过 因此 室内空气质量的好坏 直接 关系到人体健康 但是 现在室内空气质量监测设备价格昂贵 测量种类单一 不具 有无线传输功能 本课题针对室内空气质量监测设备的现状 结合现在最为热门的嵌 入式 Linux 系统和 ARM 处理器 设计了一种集监测有害气体和可燃性气体为一体的基 于嵌入式 Linux 的室内空气监测系统 本文以室内空气监测系统为对象 首先介绍了室内空气质量的现状及存在的问题 其次论述了嵌入式系统的操作系统 处理器以及本监测系统的整体设计方案 最后重 点介绍了监测系统的软 硬件设计与实现 硬件设计方面 选用三星公司的 32 位的 S3C2440A 微处理芯片作为监测系统的硬件核心 软件设计方面 采用了嵌入式 Linux 操作系统作为软件开发平台 在室内空气监测系统的软件设计部分 首先实现了 LCD PCF8591 SHT71 以及 nRF24L01 等硬件模块的 Linux 驱动程序设计 其次 设计了 Linux 应用程序实现对 驱动程序的测试和验证 最后 设计了基于 Qtopia 的监测系统操作界面 在本监测系统中采用嵌入式 Linux 系统 方便用户对系统的升级 移植和裁剪 而且 Linux 系统具有高稳定性和可靠性 监测系统采用触摸屏技术 减少了按键方面 的设计 使监测系统更加便携 监测系统具有无线传输的功能 方便用户在远离恶劣 环境的情况下进行室内空气质量的测试 同时解决了用户对室内空气质量进行多点测 试时布线困难的问题 关键词关键词 嵌入式 S3C2440A Linux 系统 气体监测 精品文档 3欢迎下载 目录目录 摘要摘要 2 2 目录目录 3 3 1 1 绪论绪论 5 5 1 11 1 研究背景与意义研究背景与意义 5 5 1 21 2 国内外研究状况与发展方向国内外研究状况与发展方向 6 6 1 2 1 国内外研究状况 6 1 2 2 发展方向 6 2 2 嵌入式系统介绍与整体方案设计嵌入式系统介绍与整体方案设计 7 7 2 12 1 嵌入式系统介绍嵌入式系统介绍 7 7 2 22 2 常见嵌入式操作系统简介常见嵌入式操作系统简介 8 8 2 2 1 VXWORKS系统简介 9 2 2 2 WINCE 系统简介 9 2 2 3 嵌入式 LINUX系统简介 10 2 32 3 嵌入式嵌入式 ARMARM 微处理器简介微处理器简介 1111 2 42 4 监测系统的整体方案设计监测系统的整体方案设计 1212 3 3 室内空气监测系统的硬件电路设计室内空气监测系统的硬件电路设计 1414 3 13 1 主控芯片主控芯片 S3C2440AS3C2440A 模块设计模块设计 1414 3 23 2 触摸屏及触摸屏及 LCDLCD 模块设计模块设计 1515 3 33 3 气体采集模块设计气体采集模块设计 1717 3 3 1 MQ 138 气体传感器 18 3 3 2 TGS2611 传感器 19 3 3 3 PCF8591A D 转换芯片 19 3 43 4 温湿度采集模块设计温湿度采集模块设计 2020 3 53 5 无线传输模块设计无线传输模块设计 2121 3 63 6 报警模块设计报警模块设计 2222 4 4 室内空气监测系统的软件设计室内空气监测系统的软件设计 2424 4 14 1 监测系统的驱动程序设计监测系统的驱动程序设计 2424 精品文档 4欢迎下载 4 1 1 GPIO 驱动程序设计 24 4 1 2 气体采集模块驱动程序设计 27 4 1 3 温湿度采集模块驱动设计 29 4 1 4 无线传输模块的驱动程序设计 31 4 1 5 触摸屏及 LCD 模块驱动程序设计 34 4 24 2 监测系统的监测系统的 L LINUXINUX应用程序设计应用程序设计 3636 4 34 3 监测系统的监测系统的 Q QTOPIATOPIA用户界面程序设计用户界面程序设计 3838 4 3 1 QTOPIA简介与 QTOPIA开发平台的搭建 38 4 3 2 监测系统的开机界面设计 40 4 3 3 监测系统的主界面设计 41 5 5 室内空气监测系统的测试结果与数据分析室内空气监测系统的测试结果与数据分析 4646 5 15 1 监测系统的测试结果监测系统的测试结果 4646 5 1 1 传感器 MQ 138 和 TGS2611 的测试结果 46 5 1 25 1 2 温湿度传感器温湿度传感器 SHT71SHT71 的测试结果的测试结果 4848 5 1 1 无线传输模块NRF24L01 的测试结果 48 5 5 2 2 监测系统的数据分析监测系统的数据分析 4949 6 6 总结与展望总结与展望 5050 6 16 1 总结总结 5050 6 26 2 展望展望 5050 精品文档 5欢迎下载 1 1 绪论绪论 1 11 1 研究背景与意义研究背景与意义 近年来 随着人们生活水平的不断提高 室内装修已成为人们改善生活条件 提 高生活质量的重要组成部分 而由于装修引发的室内空气污染问题也相继产生 并日 益受到人们的关注和重视 除此之外 我们大部分时间都是生活在室内环境 如办公 室 学校以及家庭 因此 室内空气质量的好坏 直接关系到人体健康 大量研究表 明 室内空气中已经监测到的有毒有害物质达数百种 常见的也有十多种 其中绝大 部分为有机物 加拿大环境卫生组织的研究发现 人类约 70 的疾病是由于室内环境 的空气污染造成的 目前我国每年由于室内空气污染引起的死亡人数已经达到 100 多 万人 由此所造成的直接和间接经济损失高达 200 多亿美元 目前 世界卫生组织已 经把室内的空气污染列为影响人类健康的十大威胁之一 全球每年因此而导致死亡的 人数达 1000 多万人 因此对室内空气监测系统的研究具有重大的实际意义 2003 年 3 月 1 日正式实施的 室内空气质量标准 中是我国第一步关于室内的空 气质量标准 该标准把室内的化学污染 物理污染和生物污染列为室内空气中的三项 主要控制指标 该标准的实施一方面说明了室内空气污染对人类健康的重要影响 另 一方面也说明了国家对室内空气污染问题的极度重视 室内环境监测委员会于 2004 年从北京地区抽取一千户新装修家庭进行室内空气的监测 其抽检结果显示甲醛超标 的占 60 另外 深圳市的计量质量检测研究院也于 2004 年 1 7 月份 对全市的 500 多套房子进行了室内空气的监测 其结果表明 90 的房子的甲醛浓度超标 上述数据 和行动充分说明室内空气的污染开始引起人们的普遍关注和重视 同时也需要采取相 关措施来监测和减少室内空气的污染 提高室内空气质量 为人们提供一个健康的生 活环境 由以上的论述可以得出 室内空气污染问题已经引起全球的广泛关注 也给用于 室内空气的监测 监控的仪器仪表带来了巨大市场 因此对室内空气监测系统的研究 具有非常重要的意义 精品文档 6欢迎下载 1 21 2 国内外研究状况与发展方向国内外研究状况与发展方向 1 2 11 2 1 国内外研究状况国内外研究状况 根据相关的文献和网络资源 针对室内空气质量的监测设备的现状如下 在检测甲醛等有害气体方面 国外比较出名的公司及产品为 美国 ESC 公司的 ES300 手持式甲醛检测仪 英国的 PPM400ST 甲醛检测仪等 国内比较出名的公司及 产品为 深圳市吉顺安科技有限公司的 JSAB CH20 便携式甲醛测试仪 中国江苏的兴 科仪器 XK 系列甲醛测试仪 南京鼎顶电子科技有限公司的 DDJT 100 家用甲醛检测仪 等 在检测可燃性气体方面 国外比较出名的公司及产品为 加拿大的 MC2 W 可燃性 气体检测仪可燃气体检测仪 美国的霍尼韦尔 X4 FL 可燃性气体检测器等 国内比较 出名的公司及产品为 郑州迪凯科技有限公司的 GA 10 系列可燃性气体报警器 南京 波腾科技工程有限公司 GD 2000W 可燃气体检测报警仪等 虽然国内外生产室内空气监测设备的公司以及相关的产品已经很多 但是上面的 相关设备也存在如下的一些不足之处 1 上述仪器设备昂贵 如 TSI 公司生产的 PPM400TM 的价格约为一万多元人民 币 另外 仪器测定时间较长 每隔一段时间就需进行重新标定 需要专业人员进行 操作 很难连续测定 一种仪器只能采集一种气体 如果需要采集室内空气的多个空 气参数 需要利用多种仪器进行采集 这种做法增加了室内空气监测的费用 由于仪 器自身的误差 这种做法还有可能导致监测结果的误差增大 2 上述仪器的操作均是基于按键进行操作 比如 实现 LCD 背光亮度的调节 仪器自身的调零 校准等 使用按键增加了仪器面板的面积和面板的制作难度 从而 增加了仪器的结构成本 使用按键也增加了仪器的硬件成本和组装整个仪器的难度 从而增加了仪器的成本 不利于监测设备向着便携式方面的发展 3 上述仪器不具有无线数据传输的功能 不便于人们在远离恶劣环境的情况下 进行室内空气的监测等 1 2 21 2 2 发展方向发展方向 随着微电子技术和集成电路的发展 以及嵌入式处理器和嵌入式系统逐步普及的 精品文档 7欢迎下载 趋势 使得室内空气监测系统开始向着智能化 小型化 便携性等的方向发展 使其 具有如下的特点 1 具有智能处理数据的功能 智能仪器由于应用了嵌入式微处理器 不仅能进 行气体浓度的测量 而且还具有对该测量结果进行诸如调零 中值滤波等比较复杂的 处理功能 2 具有友好人机交互的功能 智能仪器使用触摸屏代替传统仪器中的按键 操 作人员可以根据需要通过触摸屏输入相关命令 进而实现某种特定的测量功能 同时 也减小了智能仪器所占的空间 便于实现仪器的便携式发展 3 具有在线可编程的功能 智能监测仪器一般都配有标准通信接口 如 USB UART RS485 等 可以与台式机或其他的监测设备一起组成用户所需要的测量 测试系统 从而实现更加复杂的功能 4 具有用户可扩展的功能 智能仪器一般采用微处理器作为主控制器 其内部 集成较多的功能 方便用户在智能仪器的使用过程中 根据自己的需求对智能仪器相 关功能的进行扩展 5 规范化 通用性 可靠性和安全性设计也必将成为未来室内空气监测系统追 逐的目标 2 2 嵌入式系统介绍与整体方案设计嵌入式系统介绍与整体方案设计 2 12 1 嵌入式系统介绍嵌入式系统介绍 所谓嵌入式系统是指以实际应用为中心 以嵌入式计算机技术为基础 软件硬件 均可剪裁的专用计算机系统 从 20 世纪 70 年代单片机的出现到今天 嵌入式系统已 经有了近 40 年的发展历史 并且在各个领域都已经得到了广泛应用 如平常所广泛 使用的手机 IPAD 网络机顶盒等都属于嵌入式设备 随着信息数字化时代的到来 嵌入式系统进入了一个快速发展的时期 精品文档 8欢迎下载 图 2 1 嵌入式系统结构图 嵌入式系统作为一类比较特殊的计算机系统 它一般包括如下的四个方面 嵌入 式处理器 外围设备 嵌入式操作系统和应用软件 其关系如图 2 1 所示 首先 嵌 入式处理器和外围设备两个部分共同组成了嵌入式系统的硬件设备部分 其中 嵌入 式处理器是整个嵌入式系统的核心部分 外围设备是整个嵌入式系统中辅助嵌入式处 理器完成 LCD 显示 数据存储等功能的其他部件 其次 嵌入式操作系统不仅具有操 作系统一般功能 同时在操作系统的实时性 应用专用性等方面具有非常突出的特点 最后 嵌入式系统的应用软件是针对某一特定的应用领域 基于某一特定的硬件设备 平台 用来实现用户的预期目标的计算机软件 嵌入式系统拥有广阔的发展前景 嵌入式处理器的自主设计已经成为未来嵌入式 领域的一大趋势 综上所述 嵌入式系统是一个具有强大生命力的系统 2 22 2 常见嵌入式操作系统简介常见嵌入式操作系统简介 随着嵌入式系统的广泛应用 其程序的编写和设计也逐渐变的复杂 因此需要一 个嵌入式操作系统来实现对整个系统的程序进行控制和管理 嵌入式操作系统便应运 精品文档 9欢迎下载 而生 而常见的嵌入式操作系统如下 2 2 12 2 1 vxWorksvxWorks 系统简介系统简介 vxWorks 是一种嵌入式实时操作系统 是本世纪八十年代由美国的 Wind River 公 司推出的一种为实时嵌入式系统设计的 32 位操作系统 并且于 1996 年被引进中国 vxWorks 具有可靠性 实时性 裁剪性的突出特点 以及友好的用户开发界面使其在 嵌入式操作系统领域特别是军事 航空航天和通信等高精尖技术领域占据了巨大的份 额 在 vxWorks 实时操作系统中 用户可根据项目需要选择相关模块来裁剪和配置系 统 保证了系统的安全性和可靠性 其次 vxWorks 独特的中断机制大大提高了操作 系统的实时性 vxWorks 采用中断处理与普通任务分别在不同的栈中处理的中断处理 机制 另外 vxWorks 支持多任务多优先级 以及优先级抢占式调度和时间片轮转调 度等调度算法 最后 vxWorks 提供了非常丰富的 AP 工接口 使应用程序编写简单 直观 然而 vxWorks 操作系统也存在着许多不足 具体表现在 vxWorks 操作系统没有分 开内核空间和用户空间 设备驱动程序和应用程序都运行于同一空间 这种结构的稳 定性大打折扣 另外 vxWorks 操作系统的费用比较昂贵 通常要花费 10 多万元人 民币才能建起一个可用的开发环境 并且对每一个应用还要另外收取版税费 也不提 供源代码 只提供二进制代码 由于其代码并不是开源的 这就造成了其资源十分有 限 加大了开发者的掌握难度和解决问题的速度 2 2 22 2 2 WinCEWinCE 系统简介系统简介 WinCE 是微软公司开发的嵌入式和移动计算平台的基础 它是一个开放的 可进 行升级的 32 位嵌入式操作系统 其系统核心部分由 C 语言开发完成 1996 年 微软 发布了第一版的 WinCE 系统 WinCE1 0 目前已经逐步发展到 WinCE6 0 版本 WinCE 要更好的发挥嵌入式系统的优势 也离不开外围硬件的设备驱动程序的支 持 例如通用的硬盘驱动 WinCE 已经定义了一套 I O 操作和对应的 TOCTL 只需按 照各类设备已经定义的内容去实现所有的 IO 操作即可 WinCE 与 PC 上的 Windows 操作系统相通 开发 调试工具使用方便 但是其源 精品文档 10欢迎下载 代码没有开源 开发人员很难根据自己的需求进行细致的定制 2 2 32 2 3 嵌入式嵌入式 LinuxLinux 系统简介系统简介 嵌入式 Linux 系统是对标准 Linux 系统经过裁剪处理 能够固化在容量很小的存 储器芯片中 针对特定应用领域的操作系统 其程序结构如图 2 2 所示 图 2 2 Linux 程序结构图 在所有操作系统中 Linux 系统是发展最快 应用最广泛的 从 1991 年问世到现 在 不仅在 PC 平台有着广泛的应用 而且在嵌入式应用方面中占据重要地位 通过 其不断的发展 逐渐形成了与其它商业嵌入式系统相抗衡的局面 Linux 系统本身的 各种特性使其成为嵌入式开发的首选 随着嵌入式 Linux 系统的逐步成熟 支持更多 平台的应用 并成为了嵌入式市场的主流 因此 本监测系统也选择了嵌入式 Linux 系统作为监测系统的操作系统平台 本监测系统选择嵌入式 Linux 系统的依据如下 1 嵌入式 Linux 系统是源代码开放的免费操作系统 只要遵守 GPL 的规定 精品文档 11欢迎下载 就可以免费获得嵌入式 Linux 内核和及其自由软件的源代码 刚好满足监测系统需要 开发嵌入式 Linux 系统的驱动程序的需求 采用嵌入式 Linux 操作系统构建嵌入式系 统 更加方面监测系统的开发 2 嵌入式 Linux 系统内核功能强大 性能高效 稳定 嵌入式 Linux 内核具有 对大部分常用设备的驱动支持 为监测系统的前期的系统平台的搭建提供了便利条件 3 嵌入式 Linux 系统的内核非常稳定 同时也支持嵌入式 Linux 内核的裁剪 可以根据监测系统的需要设计具有专用属性的内核 4 嵌入式 Linux 系统拥有强大的网络功能 随着嵌入式 Linux 系统的发展 嵌 入式 Linux 系统与网络的结合变得非常紧密 除此之外 嵌入式 Linux 系统在网络方 面还有一些特殊的地方 那就是所有的网络传输协议和接口都可以在嵌入式 Linux 系 统上找到 而且可以通过对网口实现 PC 机与嵌入式平台的联合开发 非常方便监测 系统实现网络设置和数据传输的功能 基于上面对嵌入式 Linux 系统的分析 我们选择了在嵌入式 Linux2 6 内核 RedHat 的 Fedora9 0 平台上进行室内空气监测系统的开发 2 32 3 嵌入式嵌入式 ARMARM 微处理器简介微处理器简介 嵌入式系统的核心部件是嵌入式处理器 现在全世界嵌入式处理器的品种总量已 经超过了 1000 种 流行的体系结构约有 30 多个系列 嵌入式 ARM Advanced RISC Machines 微处理器以其完整的体系结构和低功耗 低成本 高性能等的特性 及时 根据嵌入的对象的不同进行功能上的扩展等优势 在众多种类的嵌入式微处理器中脱 颖而出 此外 ARM 还代表一个公司的名字 该公司于 1990 年 11 月在英国剑桥成立 ARM 公司是一家专门从事 16 32 位的 RISC 微处理器 IP Intellectual Property 知识产权 设计的供应商 确切地说 嵌入式 ARM 微处理器是 ARM 公司设计开发出的 基于 RISC 架构的微处理器 IP 核 具体的芯片是由各半导体厂商购买了 ARM 公司的 IP 核后根据自己公司不同的应用领域 加入不同的外围电路 封装后形成自己的 ARM 微处理器芯片 嵌入式 ARM 微处理器与传统微处理器相比具有如下特点 1 嵌入式 ARM 微处理器的体积小 功耗低 成本低 性能高 2 嵌入式 ARM 微处理器的大部分数据操作都是在寄存器中完成 减少了对外部 数据总线的访问 从而使得微处理器的总体速度加快 精品文档 12欢迎下载 3 嵌入式 ARM 微处理器的寻址方式相对简单 执行效率高 4 嵌入式 ARM 微处理器的指令长度固定 提高了代码的执行速度 嵌入式 ARM 微处理器主要类型有 ARM Strong Arm 系列 PowerPc MIP S 系列 四 目前市场上具有的嵌入式 ARM 微处理器的芯片主要为 ARM7 ARM9 ARM 11 Intel 的 Strong Arm 和 Xscale 等多个系列 除 7 具有嵌入式 ARM 体系结构的共同特 点外 不同系列的嵌入式 ARM 微处理器都有各自的特点和应用领域 如 ARM7 系列适 用于工业控制 网络设备 移动电话等应用领域 ARM9 系列则适合于无线设备 消 费类电子产品的设计等领域 Intel 的 Strong Arm 处理器则适合于便携通信产品和 消费类电子产品的应用领域等 鉴于嵌入式 ARM 微处理器的众多优点和广泛的应用场合 本室内空气监测系统就 是结合了嵌入式技术发展的趋势 采用了三星公司的 S3C2440A 微控制器来构建室内 监测系统的硬件平台 2 42 4 监测系统的整体方案设计监测系统的整体方案设计 室内空气监测系统的整体方案设计如图 2 3 所示 气体采集模块主要选择了 MQ 138 和 TGS2611 两种气体传感器 其输出量为模拟量 所以需要经过 A D 转换芯片 PCF8591 PCF8591 与 S3C2440A 之间通过 I2C 接口进行通信 温湿度采集模块与 S3C2440A 之间通过仿 I2C 进行通信 无线传输模块与 S3C2440A 之间通过 SPI 接口进 行通信 S3C2440A 通过相应的 GPIO 对报警模块进行控制 S3C2440A 利用自带的 LCD 控制器和触摸屏控制模块 实现监测系统的显示模块设计 电源模块为监测系统所需 要的 SV 3 3V 1 8V 的电压值 调试模块提供了通过串口 JTAG USB 网口四种接口 对监测系统进行调试 室内空气监测系统的软件系统包括 基于嵌入式 Linux 的底层驱动程序设计 主 要是系统的各个硬件模块的 Linux 驱动程序设计 基于嵌入式 Linux 的应用层程序设 计 主要是为了测试了系统的各个硬件模块的 Linux 的驱动程序的功能 在模块驱动 程序调试成功的基础上 设计了基于 Qtopia 的监测系统的界面程序设计 界面程序 设计主要包括开机界面程序设计 监测系统主界面设计以及监测系统的相关设置界面 的设计 精品文档 13欢迎下载 图 2 3 监测系统的整体方案示意图 精品文档 14欢迎下载 3 3 室内空气监测系统的硬件电路设计室内空气监测系统的硬件电路设计 3 13 1 主控芯片主控芯片 S3C2440AS3C2440A 模块设计模块设计 本监测系统的主控芯片采用三星公司推出的 16 32 位 RISC 微处理器 S3C2440A S3C2440A 采用 ARM920T 的内核 采用 0 13um 工艺的 CMOS 标准宏单元和 存储器单元 该处理器具有功耗低 简单 优雅的特点 且全静态设计特别适合于对 成本和功率有一定要求的应用 它采用全新的总线架构 Advanced Micro controller Bus Architecture AMBA 加强的 ARM 体系结构 MMU 由于支持 Linux WinCE 等嵌 入式系统 S3C2440A 的突出特点是其核心处理器 CPU 是一个由 ARM Advanced RISC Machines 有限公司设计的支持精简指令 16 32 位的 ARM920T 的 RISC 处理器 ARM920T 实现了内存管理单元 高级微控制总线结构和哈佛高速缓冲体系结构 其内部体系结构如图 3 1 所示 图 3 1 S3C2440A 内部体系结构 S3C2440A 采用 ARM920T 内核 自身集成了如下片上功能 1 1 2 V 内核工作电压 1 8 V 2 5 V 3 3 V 储存器工作电压 3 3 V 扩展输 入输出接口 外部 16 KB 指令缓存 16 KB 数据缓存 MMU 微处理器 2 集成了外部储存控制器 SDRAM 控制以及片选逻辑 3 集成了 LCD 专用 DMA 的 LCD 控制器 支持 4K 色 STN 和 256K 色 TFT 显示 4 拥有 4 路支持外部请求引脚的 DMA 控制器 5 拥有 3 路通用异步接收器传输总线 DART 精品文档 15欢迎下载 6 拥有两路串行外设接口 SPI 7 拥有双线同步串行总线 I2C 接口 支持多主机模式 8 拥有兼容 1 0 版 SD 主接口和 2 11 版 MMC 接口 9 拥有两路 USB 主机控制 1 路 USB 设备控制 10 拥有四路脉宽调值定时器和 1 路内部的定时器 看门狗定时器 11 集成了 8 通道 10 位模拟数字转换和触摸屏接口 12 拥有实时时钟控制 RTC 13 拥有 130 个通用输入输出口 24 个外部中断源 在本监测系统中 S3C2440A 的主频时钟为 400MHz 其主频最高可达 533MHz 其 封装格式为 289 FBGA 核心板带有 64M 的 Nand Flash 和 2M 的 Nor Flash 64M 的 SDRAM 支持 Nor Flash 和 Nand Flash 启动 3 23 2 触摸屏及触摸屏及 LCDLCD 模块设计模块设计 本监测系统中结合现在比较盛行的触摸屏技术 选择了触摸屏和 720X480 的 7 寸 TFT LCD 作为监测系统的显示部分 采用触摸屏使得监测系统的人机交互功能更加 完善和人性化 采用 TFT LCD 显示屏不但提高了其显示的速度 而且提高了 LCD 的对 比度和亮度 除此之外 也提高其分辨率 这对整个监测系统的 Qtopia 操作界面的 设计提供了基础 在本监测系统中 触摸屏接口采用了 S3C2440A 内部集成的接口如图 3 2 所示 其中 XP 表示 X 轴正极坐标输入通道 XM 表示 X 轴负极坐标输入通道 YP 表示 Y 轴正 极坐标输入通道 YM 表示 Y 轴负极坐标输入通道 该接口是四线制的电阻式触摸屏 接口 触点坐标的检测是通过 A D 转换来实现的 精品文档 16欢迎下载 图 3 2 S3C2440 的触摸屏控制接口模块图 S3C2440A 一共有 4 种触摸屏接口模式 分别为正常转换模式 分离 XY 坐标转换 模式 自动 连续 XY 坐标转换模式和等待中断模式 其中 自动 连续 XY 坐标转换 模式和等待中断模式是应用中比较常用的模式 等待中断模式是在触笔落下时产生一 个中断 在这种模式下 A D 触摸屏控制寄存器 ADCTSC 的值应为 OxD3 在系统响应中 断后 XY 坐标的测量模式必须为无操作模式 即寄存器 ADCTSC 的低两位必须清零 自动 连续 XY 坐标转换模式是系统依次转换触点的 X 轴坐标和 Y 轴坐标 其中 X 轴 坐标值写入寄存器 ADCDAT1 的低 10 位中 Y 轴坐标写入寄存器 ADCDATI 的低 10 位中 在这种模式下 系统同样会产生中断信号 在一般情况下 为实现触摸屏功能 先是 设置为等待中断模式 在产生中断后 再设置为自动 连续 XY 坐标转换模式 依次 读取触点的坐标值 在本监测系统中 LCD 接口采用 S3C2440A 自带的控制器 其内部结构图如图 3 3 所示 精品文档 17欢迎下载 图 3 3 S3C2440 的 LCD 控制器模块图 为了能够使 LCD 正常工作 需要对 LCD 的时序和显示缓存区进行正确的设置 LCD 的时序主要包括 VSYNC HSYNC 和 VCLK 其中 VSYNC 确定了 LCD 的场频 即每秒 屏幕刷新的次数 HSYNC 确定了 LCD 的行频 即每秒屏幕从左到右扫描一行的次数 显示缓存区是编程时开辟的一段内存区 一般通过定义一个与屏幕尺寸大小相同的二 维数组来实现 如 720X480 的 7 寸 TFT LCD 可以定义 LCD BUFFER 720 480 把 要显示的数据写入显示缓冲区就可以在屏幕上显示 根据上面触摸屏和 LCD 接口的描述 设计了监测系统的触摸屏和 LCD 模块电路如 图 3 4 所示 在该模块中通过 LCD PWR 2440 信号控制 LCD 的背光 图 3 4 触摸屏和 LCD 模块电路 3 33 3 气体采集模块设计气体采集模块设计 在本课题中 根据监测系统的需要 选择了对有害气体敏感的传感器 MQ 138 和 对可燃性气体敏感的传感器 TGS2611 作为气体采集模块的采集对象 并且由于二者的 精品文档 18欢迎下载 输出量为模拟量 所以选择了 PCF8591 作为 A D 转换芯片 3 3 13 3 1 MQ 138MQ 138 气体传感器气体传感器 MQ 138 气体传感器的敏感材料是活性很高的二氧化锡 SnO2 二氧化锡 SnO2 在 空气中由于加热而达到一定的温度时 二氧化锡中的氧原子就被吸附到带有负电荷的 半导体的表面 同时半导体的表面的电子也会被吸附到二氧化锡中的氧原子上 因此 二氧化锡中的氧原子就便成了带负电荷的氧负离子 同时在半导体的表面形成了带正 电荷的空间电荷层 从而导致半导体的表面势垒电压逐步升高 从而阻止了带负电荷 的电子的流动 另外 在二氧化锡内部 自由移动的电子必须穿过二氧化锡微晶粒的 晶界才能够形成电流 但是晶界中还同时存在着由二氧化锡中的氧原子产生的势垒电 压来阻碍自由电子的流动 所以 MQ 138 的电阻就是有这种势垒产生的 当 MQ 138 遇 到室内空气中合有的还原性气体时 由于加热产生的氧负离子与空气中的还原性气体 发生氧化还原反应而导致了氧负离子浓度的降低 其形成的势垒也随之降低 进而导 致 MQ 138 的阻值发生了变化 MQ 138 的内部结构 外形以及测试电路如图 3 5 所示 其外部封装只有 6 个针 状管脚 其中 4 个管脚用于取出信号 2 个管脚用于提供加热电流 图中 1 是气体 敏感层 2 是电极 3 是量电极引线 4 是加热器 5 是陶瓷管 6 是防爆网 7 是卡环 8 是基座 9 是针状管脚 MQ 138 的加热电压和回路电压一样均为 5V MQ 138 对不同种类 不同浓度的气体有不同的电阻值 因此在使用 MQ 138 时 灵敏度的调整是很重要的 当精确测量时 报警点的设定还应考虑实际环境中的温湿 度的影响 精品文档 19欢迎下载 图 3 5 MQ 138 的结构 外形及测试电路图 MQ 138 有如下特性 广泛的探测范围 快速的响应恢复及较高的灵敏度 长期 的工作稳定性 简单的测试电路 3 3 23 3 2 TGS2611TGS2611 传感器传感器 TGS2611 传感器是费加罗 FIGARO 公司生产的可燃性气体传感器 由集成的加热 器和金属氧化物半导体构成 TGS2611 的测试电路如图 3 6 所示 在测试电路中需要给传感器需加 2 个电压 VH 和 VC 其中 VH 为加热器电压 VC 为回路电压 其中 VH 主要用于维持传感器的敏 感因子处于某一特定温度而施加在芯片内部的加热器上的电压 VC 主要用于测定测 试电路中串联的负载电阻 RL 两端的电压 Vout 由于 TGS2611 具有极性 所以 VC 一般需要直流电源提供 另外 只要满足 TGS2611 的电性要求 VC 和 VH 也可以有同 一个电源提供 为了将传感器的判定值最佳化 并使传感器的功耗 PS 低于 15mW 的 极限值 需要选择合适的 RL 的值 其中 Vout 的计算公式如下 3 1 c out s VRL V RRL 其中 Rs 传感器电阻 图 3 6 TGS2611 的测试电路 3 3 33 3 3 PCF8591A DPCF8591A D 转换芯片转换芯片 PCF8591 为单电源 CMOS 低功耗 8 位 A D 和 D A 数据转换器 它拥有四个模拟输入 精品文档 20欢迎下载 一个模拟输出和一个串行 12C 总线接口 三个地址引脚 A0 A1 A2 用于器件的硬件 地址编程 因此最多允许将 8 个 PCF8591 器件连接到相同的 I2C 总线 对 PCF8591 的 选择 控制以及数据的传输都是通过 12C 来实现的 PCF8591 器件内部集成了多路复 用的模拟输入 8 位模数脚 D 数模 D A 转换等功能 工作电压为 2 5V 6V 本监 测系统中的 PCF8591 的工作电源为 3 3V 根据 PCF8591 的控制字可以对其进行设置 其中控制字的 bit4 5 可以设置 AIN 0 AIN 3 的模式 00 表示 AIN 0 AIN 3 为 4 个单端输入 01 表示 AIN 0 AIN2 与 AIN3 分别构成 3 个差分输入 10 表示 AIN 0 和 AIN1 为两个单端输入 AIN 2 与 AIN 3 构成一个差分输入 11 表示 AIN 0 和 AIN1 构成一个差分输入 AIN 2 与 AIN 3 构成另一个差分输入 控制字的 bit0 1 可以进行通道的选择 00 11 分别表 示通道 0 3 根据 MQ 138 TGS2611 和 PCF8591 的描述 设计出了监测系统的气体采集模块的 原理图如图 3 7 所示 通过 PCF8591 的 I2C 接口把采集的数据传到主控制器 S3C2440A 图 3 7 气体采集模块的电路图 3 43 4 温湿度采集模块设计温湿度采集模块设计 在温湿度采集模块中 选择了 SHT71 芯片 SHT71 是盛世瑞公司生产的采用 CMO Sens 技术 输出为数字量的温湿度传感器 具有高度的可靠性和长时间的稳定性 S HT71 传感器默认的测量温度的分辨率为 14 位 测量相对湿度的分辨率分别为 12 位 通过 SHT71 的内部状态寄存器可分别设置为 12 位和 8 位 其湿度测量的范围是 0 100 RH 12 位测量时的分辨率为 0 05 RH 温度测量范围为 40 123 8oC 14 位测量时的分辨率为 0 01 oC 本监测系统中采用 SHT71 采集 12 位的相对湿度和 14 位的温度 所以在本监测系 精品文档 21欢迎下载 统中 为了将 SHT71 输出的数字量转换成实际物理量需进行相应的数据处理 SHT71 的温度计算公式为 3 2 12 T TddSO 其中 d1 39 66 d2 0 01 SOT表示 SHT71 读出的温度数据 SHT71 的相对湿度的计算公式为 3 3 2 123 SO RHRH RHlinearccSOc 其中 c1 2 0468 c2 0 0367 c3 1 5955E 6 SORH表示 SHT71 读出的湿度数 据 3 12 25 RH RHtureTttSORHlinear 4 其中 T 表示 SHT71 测得的实际温度 1 0 01t 2 0 00008t 温湿度采集模块设计的电路图如图 3 8 所示 SHT71 与 S3C2440A 之间通过 GPF1 和 GPF3 模拟 I2C 通信的方式进行数据的传输 并且 SHT71 的 DATA 信号线上必须接 10K 的上拉电阻 图 3 8 温湿度采集模块电路图 3 53 5 无线传输模块设计无线传输模块设计 考虑到本监测系统在恶劣环境中的应用时 方便用户在远离恶劣环境的情况下进 行测试 以及在比较宽阔的室内时间进行应用时 方便用户对室内空间进行多点测试 所以监测系统中考虑了无线传输的功能 本监测系统中采用瑞典 Nordic Semiconducto 公司 2005 年推出的一款工业级 内置链路层的超低成本的集无线收发于一体的芯片 nRF24L01 该芯片内部集成了频 率发生器 增强型 SchockBurstTM模式控制器 调制器以及解调器等模块 该芯片工 作于 2 4GHz 2 5GHz 的 ISM 工业 科学和医学 频段 有效通信距离可达 100m 使用 精品文档 22欢迎下载 者无需申请许可证 给开发者和用户带来了很大的方便 另外 nRF24L01 的功耗比 较低 如在以 6dBm 的功率发射时 工作电流只有 9mA 2Mbps 接收时 峰值电流 12 5mA nRF24L01 具有以下主要特点 1 芯片的无线传输速率高 其速率可以达到 2Mbps 由于数据在空中的传输时 间非常短 所以极大的降低了数据在无线传输中的相互碰撞的现象 从而减少了数据 在空中传输的误码率 2 芯片自身集成了标准 SPI 接口电路 对芯片的频道选择和协议的设置等操作 都可通过此 SP 工接口完成 3 芯片集成了射频协议中的高速信号处理部分 比如自动重发丢失数据包以及 自动产生应答信号等 减少了外部器件的复杂性和成本 支持自动应答和自动重发 重发时间及重发次数可软件控制 nRF24L01 与 S3C2440A 的接口电路如图 3 9 所示 将 nRF24L01 模块的主机发送 从机接收 MO SIB 主机接收从机发送 MISO 时钟信号 SCK 片选信号 CSN 分别 连接到 S3C2440A 的 SPI1 口的 SPIMOSII SPIMISOI SPICLKI nSSl 当进行 SP 工 通信时 需要将 CSN 置低 将 nRF24L01 的芯片使能信号 CE 可屏蔽中断引脚 IRQ 分 别连接到 S3C2440A 的通用 I O 口的 F 端口的第三位 GPF3 第四位 GPF4 nRF24L01 实现数据的无线发送和接收时 需要将 CE 置低 将 nRF24L01 的电源引脚 VCC 和接地引脚 GND 分别连接到开发板的预留的 CON6 的 VDD33V GND 引脚上 为 nRF24L01 提供 3 3V 的工作电压 图 3 9 无线传输模块电路图 3 63 6 报警模块设计报警模块设计 本设计的报警模块用到了发光 LED 和蜂鸣器 其原理图如图 3 10 所示 当采集 精品文档 23欢迎下载 到的气体浓度超过设定的阈值时 LED 会被点亮 同时蜂鸣器也会发出报警的蜂鸣声 图 3 10 报警模块电路图 精品文档 24欢迎下载 4 4 室内空气监测系统的软件设计室内空气监测系统的软件设计 4 14 1 监测系统的驱动程序设计监测系统的驱动程序设计 驱动程序在嵌入式 Linux 系统中有着极其重要的作用 Linux 操作系统下 驱动 程序作为 Linux 内核的一部分 是应用程序和实际设备之间的一个软件层 完全隐藏 了各个设备工作的具体细节 并且为使用它定义了良好的调用接口 驱动程序主要完 成对底层硬件设备的初始化 向应用程序提供对底层硬件设备进行操作的接口 读取 底层硬件设备返回或者产生的数据并把该数据传给上层的应用程序 检测底层硬件设 备的工作状态等工作 Linux 设备驱动程序主要分为三种类型 字符设备 char device 驱动程序 块 设备 block device 驱动程序和网络设备 network device 驱动程序 字符设备主要 是指能够像文件一样被访问的设备 字符设备驱动程序主要方法包括 Open Release Read 和 Write 等应用程序调用接口 字符设备可以通过 Linux 系统的文件系统的 结点进行访问 例如 dev tty0 块设备主要是指以 块 为单位来实现对其信息的存 取 如常见的光盘 硬盘等 块长一般取 512B 或者 1024B 等 在嵌入式 Linux 系统 中 也可以像操作字符设备一样操作块设备 而且块设备和字符设备只在内核内部管 理的上有所区别 网络设备驱动在 Linux 系统中是一类特殊的设备驱动 它不具有字 符设备和块设备的 Read 和 Write 等操作 通常是通过 Socket 套接字 来实现应用程 序的调用接口 并且系统中的任何网络设备的事务处理都可以通过该接口来实现 从 而完成和其他的 Linux 系统主机进行数据交换的功能 在基于嵌入式 Linux 的触摸式室内空气监测系统中 涉及到了 GPIO I2C 接口 SPI 接口 模数转换 LCD 接口 定时器等各项硬件资源的配合应用 由于以上接口 的 Linux 驱动程序主要是字符设备驱动程序 而且其 Linux 内核为 Linux 2 6 29 因此本文重点研究 Linux 系统下的字符设备驱动程序 4 1 14 1 1 GPIOGPIO 驱动程序设计驱动程序设计 GPIO General Purpose Input Output 通用输入 输出接口 是处理器与外部 器件相连的必由接口 在本监测系统中 在报警模块中用到了 GPIO 驱动程序 其功 能是当室内空气的某一种气体浓度超过阈值之后 点亮 LED 和使蜂鸣器发出报警声 精品文档 25欢迎下载 在 LED 的驱动程序中 主要实现 LED 的 I O 口 GPFO 的置高 置低 当气体传感 器 MQ 138 和 TGS2611 采集的数据没有超过相应的阈值时 LED 状态的为 灭 否则 其状态为 亮 因此在 LED 的驱动程序中 主要是通过 s3c2440 leds ioctl 接口实 现对 LED 的控制 其代码如下 在 s3c2440 leds ioctl 的函数中调用了 s3c2410 gpio setpin unsigned int pin unsigned int value 其中参数 pin 表示要操作的 I O 口 value 表示对 I O 口 的所设置的值 0 代表 LED 的 灭 1 代表 LED 的 亮 在蜂鸣器 Beep 的驱动程 序中 控制蜂鸣器的 I O 口为 GPBO 主要实现了蜂鸣器频率的设置 蜂鸣器的打开 和关闭 蜂鸣器的频率计算公式为 4 1 50 16 FrepPCLKcount 其中 PCLK S3C2440A 的 APB 总线设备使用的时钟信号 取值为 50MHz count S3C2440A 的 16 位定时器的值 取值范围为 1 65536 因此蜂鸣器的频率范围为 1 62500Hz 但是人的耳朵比较敏感的频率范围为 20 20000Hz 经过试验和测试 本监测系统中把蜂鸣器的频率设置为 1200Hz 蜂鸣器驱动程序中 频率设置函数的代码如下 精品文档 26欢迎下载 精品文档 27欢迎下载 4 1 24 1 2 气体采集模块驱动程序设计气体采集模块驱动程序设计 本监测系统中 气体采集模块主要用到了气体传感器 MQ 138 和 TGS2611 由于二 者的输出都是模拟量 因此选择了 A D 转换芯片 PCF8591 由于 PCF8591 带有 I2 C 接口 因此气体采集模块的驱动程序主要是嵌入式 Linux 下的 I2C 驱动程序 I2C Inter Integrated Circuit 是两线式串行总线 包括串行数据线 SDA 和 串行时钟线 SCL 它是同步通信的一种特殊形式 具有接口线少 控制方式简单 器件封装形式小 通信速率较高等优点 串行的 8 位双向数据传输速率在标准模式下 可达 100kbit s 快速模式下可达 400kbit s 高速模式下可达 3 4Mbit s 数据传 输时时序图如图 4 1 所示 图 4 1 I2C 数据传输时序 由于监测系统中仅用到了嵌入式 Linux 的 I2C 驱动程序的适配器接口的调用 所 以本文结合监测系统重点描述了 I2C 适配器接口的调用 该系统的 I2C 适配器接口文 件即 opt FriendlyARM mini2440 linux 2 6 29 drivers i2c i2c dev c 其在嵌入 式 Linux 内核加载完成以会产生一个 i2c 0 的主设备节点 然后通过操作该设备节点 精品文档 28欢迎下载 i2c 0 来间接操作底层硬件设备 PCF8591 首先应用程序通过 open dev i2c 0 O RDWR 以可读可写的方式打开此节点 其次需要定义数据结 构 i2c rdwr ioctl data 的并将该数据结构进行实例化 但是该数据结构中还嵌套了 一个 i2c msg 的消息结构体指针 msgs 该指针指向一个长度为 7 个 Byte 的整数数组 另外 该数据结构还定义了一个表示起始信号数量的整型变量 nmsgs i2c rdwr ioctl data 结构体中还定义了一个指向 i2c msg 地址的指针变量 所以也需要对结构体 i2c msg 进行相关的初始化 在该结构体中 首先需要初始化 PCF8591 的地址 PCF8591 的设备地址为 0 x48 其次是设置对 PCF8591 进行相关操作 的标志位 Flag 以及对 PCF8591 发送或者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论