版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、研究生课程考试成绩单 (试卷封面) 院 系专业 学生姓名学号 课程名称嵌入式 Linux 系统及应用课程编号 授课时间周学时学分 简 要 评 语 总评成绩 (含平时成绩) 备注 任课教师签名: 日期: 注:1. 以论文或大作业为考核方式的课程必须填此表,综合考试可不填。“简要评语 缺填无效。 2. 任课教师填写后与试卷一起送院系研究生教务员处。 3. 学位课总评成绩以百分制计分。 摘要摘要 目前,人们大约 90%的时间在室内环境度过;因此,室内空气质量的好坏,直接 关系到人体健康。但是,现在室内空气质量监测设备价格昂贵、测量种类单一、不具 有无线传输功能。本课题针对室内空气质量监测设备的现状,
2、结合现在最为热门的嵌 入式 Linux 系统和 ARM 处理器,设计了一种集监测有害气体和可燃性气体为一体的 基于嵌入式 Linux 的室内空气监测系统。 本文以室内空气监测系统为对象,首先介绍了室内空气质量的现状及存在的问题; 其次论述了嵌入式系统的操作系统、处理器以及本监测系统的整体设计方案;最后重 点介绍了监测系统的软、硬件设计与实现。硬件设计方面,选用三星公司的 32 位的 S3C2440A 微处理芯片作为监测系统的硬件核心;软件设计方面,采用了嵌入式 Linux 操作系统作为软件开发平台。 在室内空气监测系统的软件设计部分,首先实现了 LCD、PCF8591、SHT71 以 及 nR
3、F24L01 等硬件模块的 Linux 驱动程序设计;其次,设计了 Linux 应用程序实现 对驱动程序的测试和验证;最后,设计了基于 Qtopia 的监测系统操作界面。 在本监测系统中采用嵌入式 Linux 系统,方便用户对系统的升级、移植和裁剪, 而且 Linux 系统具有高稳定性和可靠性。监测系统采用触摸屏技术,减少了按键方面 的设计,使监测系统更加便携。监测系统具有无线传输的功能,方便用户在远离恶劣 环境的情况下进行室内空气质量的测试;同时解决了用户对室内空气质量进行多点测 试时布线困难的问题。 关键词关键词:嵌入式; S3C2440A; Linux 系统; 气体监测 目录目录 摘要摘
4、要.2 目录目录.3 1 绪论绪论.5 1.1 研究背景与意义研究背景与意义.5 1.2 国内外研究状况与发展方向国内外研究状况与发展方向.6 1.2.1 国内外研究状况.6 1.2.2 发展方向.6 2 嵌入式系统介绍与整体方案设计嵌入式系统介绍与整体方案设计.7 2.1 嵌入式系统介绍嵌入式系统介绍.7 2.2 常见嵌入式操作系统简介常见嵌入式操作系统简介.8 2.2.1 VXWORKS系统简介.9 2.2.2 WINCE 系统简介.9 2.2.3 嵌入式 LINUX系统简介.10 2.3 嵌入式嵌入式 ARM 微处理器简介微处理器简介.11 2.4 监测系统的整体方案设计监测系统的整体方
5、案设计.12 3 室内空气监测系统的硬件电路设计室内空气监测系统的硬件电路设计.14 3.1 主控芯片主控芯片 S3C2440A 模块设计模块设计 .14 3.2 触摸屏及触摸屏及 LCD 模块设计模块设计.15 3.3 气体采集模块设计气体采集模块设计.17 3.3.1 MQ-138 气体传感器.18 3.3.2 TGS2611 传感器.19 3.3.3 PCF8591A/D 转换芯片 .19 3.4 温湿度采集模块设计温湿度采集模块设计.20 3.5 无线传输模块设计无线传输模块设计.21 3.6 报警模块设计报警模块设计.22 4 室内空气监测系统的软件设计室内空气监测系统的软件设计.2
6、4 4.1 监测系统的驱动程序设计监测系统的驱动程序设计.24 4.1.1 GPIO 驱动程序设计.24 4.1.2 气体采集模块驱动程序设计.27 4.1.3 温湿度采集模块驱动设计.29 4.1.4 无线传输模块的驱动程序设计.31 4.1.5 触摸屏及 LCD 模块驱动程序设计.34 4.2 监测系统的监测系统的 LINUX应用程序设计应用程序设计.36 4.3 监测系统的监测系统的 QTOPIA用户界面程序设计用户界面程序设计.38 4.3.1 QTOPIA简介与 QTOPIA开发平台的搭建.38 4.3.2 监测系统的开机界面设计.40 4.3.3 监测系统的主界面设计.41 5 室
7、内空气监测系统的测试结果与数据分析室内空气监测系统的测试结果与数据分析.46 5.1 监测系统的测试结果监测系统的测试结果.46 5.1.1 传感器 MQ-138 和 TGS2611 的测试结果.46 5.1.2 温湿度传感器温湿度传感器 SHT71 的测试结果的测试结果.48 5.1.1 无线传输模块NRF24L01 的测试结果 .48 5. 2 监测系统的数据分析监测系统的数据分析 .49 6 总结与展望总结与展望.50 6.1 总结总结.50 6.2 展望展望.50 1 绪论绪论 1.1 研究背景与意义研究背景与意义 近年来,随着人们生活水平的不断提高,室内装修已成为人们改善生活条件、提
8、 高生活质量的重要组成部分,而由于装修引发的室内空气污染问题也相继产生,并日 益受到人们的关注和重视。除此之外,我们大部分时间都是生活在室内环境,如办公 室、学校以及家庭;因此,室内空气质量的好坏,直接关系到人体健康。大量研究表 明,室内空气中已经监测到的有毒有害物质达数百种,常见的也有十多种,其中绝大 部分为有机物。加拿大环境卫生组织的研究发现,人类约 70%的疾病是由于室内环境 的空气污染造成的。目前我国每年由于室内空气污染引起的死亡人数已经达到 100 多 万人,由此所造成的直接和间接经济损失高达 200 多亿美元。目前,世界卫生组织已 经把室内的空气污染列为影响人类健康的十大威胁之一,
9、全球每年因此而导致死亡的 人数达 1000 多万人。因此对室内空气监测系统的研究具有重大的实际意义。 2003 年 3 月 1 日正式实施的“室内空气质量标准”中是我国第一步关于室内的空 气质量标准,该标准把室内的化学污染、物理污染和生物污染列为室内空气中的三项 主要控制指标。该标准的实施一方面说明了室内空气污染对人类健康的重要影响,另 一方面也说明了国家对室内空气污染问题的极度重视。室内环境监测委员会于 2004 年从北京地区抽取一千户新装修家庭进行室内空气的监测,其抽检结果显示甲醛超标 的占 60%;另外,深圳市的计量质量检测研究院也于 2004 年 1-7 月份,对全市的 500 多套房
10、子进行了室内空气的监测,其结果表明 90%的房子的甲醛浓度超标。上述 数据和行动充分说明室内空气的污染开始引起人们的普遍关注和重视;同时也需要采 取相关措施来监测和减少室内空气的污染,提高室内空气质量,为人们提供一个健康 的生活环境。 由以上的论述可以得出,室内空气污染问题已经引起全球的广泛关注,也给用于 室内空气的监测、监控的仪器仪表带来了巨大市场。因此对室内空气监测系统的研究 具有非常重要的意义。 1.2 国内外研究状况与发展方向国内外研究状况与发展方向 1.2.1 国内外研究状况国内外研究状况 根据相关的文献和网络资源,针对室内空气质量的监测设备的现状如下: 在检测甲醛等有害气体方面,国
11、外比较出名的公司及产品为:美国 ESC 公司的 ES300 手持式甲醛检测仪、英国的 PPM400ST 甲醛检测仪等。国内比较出名的公司 及产品为:深圳市吉顺安科技有限公司的 JSAB-CH20 便携式甲醛测试仪、中国江苏 的兴科仪器 XK 系列甲醛测试仪、南京鼎顶电子科技有限公司的 DDJT-100 家用甲醛 检测仪等。 在检测可燃性气体方面,国外比较出名的公司及产品为:加拿大的 MC2-W 可燃 性气体检测仪可燃气体检测仪、美国的霍尼韦尔 X4-FL 可燃性气体检测器等。国内 比较出名的公司及产品为:郑州迪凯科技有限公司的 GA-10 系列可燃性气体报警器、 南京波腾科技工程有限公司 GD
12、-2000W 可燃气体检测报警仪等。 虽然国内外生产室内空气监测设备的公司以及相关的产品已经很多,但是上面的 相关设备也存在如下的一些不足之处: (1)上述仪器设备昂贵,如 TSI 公司生产的 PPM400TM 的价格约为一万多元人 民币。另外,仪器测定时间较长,每隔一段时间就需进行重新标定,需要专业人员进 行操作,很难连续测定。一种仪器只能采集一种气体,如果需要采集室内空气的多个 空气参数,需要利用多种仪器进行采集,这种做法增加了室内空气监测的费用;由于 仪器自身的误差,这种做法还有可能导致监测结果的误差增大。 (2)上述仪器的操作均是基于按键进行操作,比如,实现 LCD 背光亮度的调节、
13、仪器自身的调零、校准等。使用按键增加了仪器面板的面积和面板的制作难度,从而 增加了仪器的结构成本;使用按键也增加了仪器的硬件成本和组装整个仪器的难度, 从而增加了仪器的成本,不利于监测设备向着便携式方面的发展。 (3)上述仪器不具有无线数据传输的功能,不便于人们在远离恶劣环境的情况下 进行室内空气的监测等。 1.2.2 发展方向发展方向 随着微电子技术和集成电路的发展,以及嵌入式处理器和嵌入式系统逐步普及的 趋势,使得室内空气监测系统开始向着智能化、小型化、便携性等的方向发展。使其 具有如下的特点: (1)具有智能处理数据的功能,智能仪器由于应用了嵌入式微处理器,不仅能进 行气体浓度的测量,而
14、且还具有对该测量结果进行诸如调零、中值滤波等比较复杂的 处理功能。 (2)具有友好人机交互的功能,智能仪器使用触摸屏代替传统仪器中的按键,操 作人员可以根据需要通过触摸屏输入相关命令,进而实现某种特定的测量功能,同时 也减小了智能仪器所占的空间,便于实现仪器的便携式发展。 (3)具有在线可编程的功能,智能监测仪器一般都配有标准通信接口,如 USB,UART, RS485 等。可以与台式机或其他的监测设备一起组成用户所需要的测 量测试系统,从而实现更加复杂的功能。 (4)具有用户可扩展的功能,智能仪器一般采用微处理器作为主控制器,其内部 集成较多的功能,方便用户在智能仪器的使用过程中,根据自己的
15、需求对智能仪器相 关功能的进行扩展。 (5)规范化、通用性、可靠性和安全性设计也必将成为未来室内空气监测系统追 逐的目标。 2 嵌入式系统介绍与整体方案设计嵌入式系统介绍与整体方案设计 2.1 嵌入式系统介绍嵌入式系统介绍 所谓嵌入式系统是指以实际应用为中心,以嵌入式计算机技术为基础,软件硬件 均可剪裁的专用计算机系统。从 20 世纪 70 年代单片机的出现到今天,嵌入式系统已 经有了近 40 年的发展历史,并且在各个领域都已经得到了广泛应用。如平常所广泛 使用的手机、IPAD、网络机顶盒等都属于嵌入式设备。随着信息数字化时代的到来, 嵌入式系统进入了一个快速发展的时期。 图 2.1 嵌入式系
16、统结构图 嵌入式系统作为一类比较特殊的计算机系统,它一般包括如下的四个方面:嵌入 式处理器、外围设备、嵌入式操作系统和应用软件,其关系如图 2-1 所示。首先,嵌 入式处理器和外围设备两个部分共同组成了嵌入式系统的硬件设备部分。其中,嵌入 式处理器是整个嵌入式系统的核心部分;外围设备是整个嵌入式系统中辅助嵌入式处 理器完成 LCD 显示、数据存储等功能的其他部件。其次,嵌入式操作系统不仅具有 操作系统一般功能;同时在操作系统的实时性、应用专用性等方面具有非常突出的特 点。最后,嵌入式系统的应用软件是针对某一特定的应用领域,基于某一特定的硬件 设备平台,用来实现用户的预期目标的计算机软件。 嵌入
17、式系统拥有广阔的发展前景,嵌入式处理器的自主设计已经成为未来嵌入式 领域的一大趋势。综上所述,嵌入式系统是一个具有强大生命力的系统。 2.2 常见嵌入式操作系统简介常见嵌入式操作系统简介 随着嵌入式系统的广泛应用,其程序的编写和设计也逐渐变的复杂,因此需要一 个嵌入式操作系统来实现对整个系统的程序进行控制和管理。嵌入式操作系统便应运 而生。而常见的嵌入式操作系统如下: 2.2.1 vxWorks 系统简介系统简介 vxWorks 是一种嵌入式实时操作系统,是本世纪八十年代由美国的 Wind River 公 司推出的一种为实时嵌入式系统设计的 32 位操作系统。并且于 1996 年被引进中国。
18、vxWorks 具有可靠性、实时性、裁剪性的突出特点,以及友好的用户开发界面使其在 嵌入式操作系统领域特别是军事、航空航天和通信等高精尖技术领域占据了巨大的份 额。 在 vxWorks 实时操作系统中,用户可根据项目需要选择相关模块来裁剪和配置 系统,保证了系统的安全性和可靠性。其次,vxWorks 独特的中断机制大大提高了操 作系统的实时性,vxWorks 采用中断处理与普通任务分别在不同的栈中处理的中断处 理机制。另外,vxWorks 支持多任务多优先级,以及优先级抢占式调度和时间片轮转 调度等调度算法。最后,vxWorks 提供了非常丰富的 AP 工接口,使应用程序编写简 单,直观。 然
19、而 vxWorks 操作系统也存在着许多不足,具体表现在 vxWorks 操作系统没有 分开内核空间和用户空间,设备驱动程序和应用程序都运行于同一空间,这种结构的 稳定性大打折扣。另外,vxWorks 操作系统的费用比较昂贵,通常要花费 10 多万元 人民币才能建起一个可用的开发环境,并且对每一个应用还要另外收取版税费。也不 提供源代码,只提供二进制代码。由于其代码并不是开源的,这就造成了其资源十分 有限,加大了开发者的掌握难度和解决问题的速度。 2.2.2 WinCE 系统简介系统简介 WinCE 是微软公司开发的嵌入式和移动计算平台的基础,它是一个开放的、可进 行升级的 32 位嵌入式操作
20、系统。其系统核心部分由 C 语言开发完成。1996 年,微软 发布了第一版的 WinCE 系统 WinCE1.0,目前已经逐步发展到 WinCE6.0 版本。 WinCE 要更好的发挥嵌入式系统的优势,也离不开外围硬件的设备驱动程序的 支持。例如通用的硬盘驱动,WinCE 已经定义了一套 I/O 操作和对应的 TOCTL,只 需按照各类设备已经定义的内容去实现所有的 IO 操作即可。 WinCE 与 PC 上的 Windows 操作系统相通,开发、调试工具使用方便,但是其 源代码没有开源,开发人员很难根据自己的需求进行细致的定制。 2.2.3 嵌入式嵌入式 Linux 系统简介系统简介 嵌入式
21、 Linux 系统是对标准 Linux 系统经过裁剪处理,能够固化在容量很小的存 储器芯片中,针对特定应用领域的操作系统。其程序结构如图 2-2 所示。 图 2-2 Linux 程序结构图 在所有操作系统中,Linux 系统是发展最快、应用最广泛的。从 1991 年问世到现 在,不仅在 PC 平台有着广泛的应用,而且在嵌入式应用方面中占据重要地位。通过 其不断的发展,逐渐形成了与其它商业嵌入式系统相抗衡的局面,Linux 系统本身的 各种特性使其成为嵌入式开发的首选。随着嵌入式 Linux 系统的逐步成熟,支持更多 平台的应用,并成为了嵌入式市场的主流。因此,本监测系统也选择了嵌入式 Linu
22、x 系统作为监测系统的操作系统平台。 本监测系统选择嵌入式 Linux 系统的依据如下: (1)嵌入式 Linux 系统是源代码开放的免费操作系统。只要遵守 GPL 的规定, 就可以免费获得嵌入式 Linux 内核和及其自由软件的源代码,刚好满足监测系统需要 开发嵌入式 Linux 系统的驱动程序的需求。采用嵌入式 Linux 操作系统构建嵌入式系 统,更加方面监测系统的开发。 (2)嵌入式 Linux 系统内核功能强大、性能高效、稳定。嵌入式 Linux 内核具有 对大部分常用设备的驱动支持。为监测系统的前期的系统平台的搭建提供了便利条件。 (3)嵌入式 Linux 系统的内核非常稳定,同时
23、也支持嵌入式 Linux 内核的裁剪, 可以根据监测系统的需要设计具有专用属性的内核。 (4)嵌入式 Linux 系统拥有强大的网络功能,随着嵌入式 Linux 系统的发展,嵌 入式 Linux 系统与网络的结合变得非常紧密。除此之外,嵌入式 Linux 系统在网络方 面还有一些特殊的地方,那就是所有的网络传输协议和接口都可以在嵌入式 Linux 系 统上找到。而且可以通过对网口实现 PC 机与嵌入式平台的联合开发,非常方便监测 系统实现网络设置和数据传输的功能。 基于上面对嵌入式 Linux 系统的分析,我们选择了在嵌入式 Linux2 .6 内核、 RedHat 的 Fedora9.0 平
24、台上进行室内空气监测系统的开发。 2.3 嵌入式嵌入式 ARM 微处理器简介微处理器简介 嵌入式系统的核心部件是嵌入式处理器,现在全世界嵌入式处理器的品种总量已 经超过了 1000 种,流行的体系结构约有 30 多个系列。嵌入式 ARM (Advanced RISC Machines)微处理器以其完整的体系结构和低功耗、低成本、高性能等的特性,及时 根据嵌入的对象的不同进行功能上的扩展等优势,在众多种类的嵌入式微处理器中脱 颖而出。此外,ARM 还代表一个公司的名字,该公司于 1990 年 11 月在英国剑桥成 立。ARM 公司是一家专门从事 16/32 位的 RISC 微处理器 IP ( I
25、ntellectual Property, 知识产权)设计的供应商。确切地说,嵌入式 ARM 微处理器是 ARM 公司设计开发出 的基于 RISC 架构的微处理器 IP 核,具体的芯片是由各半导体厂商购买了 ARM 公司 的 IP 核后根据自己公司不同的应用领域,加入不同的外围电路,封装后形成自己的 ARM 微处理器芯片。嵌入式 ARM 微处理器与传统微处理器相比具有如下特点: (1)嵌入式 ARM 微处理器的体积小、功耗低、成本低、性能高。 (2)嵌入式 ARM 微处理器的大部分数据操作都是在寄存器中完成,减少了对外 部 数据总线的访问,从而使得微处理器的总体速度加快。 (3)嵌入式 ARM
26、 微处理器的寻址方式相对简单,执行效率高。 (4)嵌入式 ARM 微处理器的指令长度固定,提高了代码的执行速度。 嵌入式 ARM 微处理器主要类型有 ARM、Strong-Arm 系列、PowerPc、MIP S 系 列四。目前市场上具有的嵌入式 ARM 微处理器的芯片主要为:ARM7 , ARM9 ,ARM 11, Intel 的 Strong-Arm 和 Xscale 等多个系列。除 7 具有嵌入式 ARM 体系结构的共同 特点外,不同系列的嵌入式 ARM 微处理器都有各自的特点和应用领域。如 ARM7 系 列适用于工业控制、网络设备、移动电话等应用领域;ARM9 系列则适合于无线设备、
27、消费类电子产品的设计等领域;Intel 的 Strong-Arm 处理器则适合于便携通信产品和 消费类电子产品的应用领域等。 鉴于嵌入式 ARM 微处理器的众多优点和广泛的应用场合,本室内空气监测系统 就是结合了嵌入式技术发展的趋势,采用了三星公司的 S3C2440A 微控制器来构建室 内监测系统的硬件平台。 2.4 监测系统的整体方案设计监测系统的整体方案设计 室内空气监测系统的整体方案设计如图 2-3 所示,气体采集模块主要选择了 MQ- 138 和 TGS2611 两种气体传感器;其输出量为模拟量,所以需要经过 A/D 转换芯片 PCF8591; PCF8591 与 S3C2440A 之
28、间通过 I2C 接口进行通信。温湿度采集模块与 S3C2440A 之间通过仿 I2C 进行通信。无线传输模块与 S3C2440A 之间通过 SPI 接口 进行通信。S3C2440A 通过相应的 GPIO 对报警模块进行控制。S3C2440A 利用自带 的 LCD 控制器和触摸屏控制模块,实现监测系统的显示模块设计。电源模块为监测 系统所需要的 SV/3.3V/1.8V 的电压值。调试模块提供了通过串口、JTAG、USB、网 口四种接口对监测系统进行调试。 室内空气监测系统的软件系统包括:基于嵌入式 Linux 的底层驱动程序设计,主 要是系统的各个硬件模块的 Linux 驱动程序设计;基于嵌入
29、式 Linux 的应用层程序设 计,主要是为了测试了系统的各个硬件模块的 Linux 的驱动程序的功能;在模块驱动 程序调试成功的基础上,设计了基于 Qtopia 的监测系统的界面程序设计,界面程序 设计主要包括开机界面程序设计,监测系统主界面设计以及监测系统的相关设置界面 的设计。 图 2-3 监测系统的整体方案示意图 3 室内空气监测系统的硬件电路设计室内空气监测系统的硬件电路设计 3.1 主控芯片主控芯片 S3C2440A 模块设计模块设计 本监测系统的主控芯片采用三星公司推出的 16/32 位 RISC 微处理器 S3C2440A。S3C2440A 采用 ARM920T 的内核,采用
30、0.13um 工艺的 CMOS 标准宏单 元和存储器单元。该处理器具有功耗低、简单、优雅的特点。且全静态设计特别适合 于对成本和功率有一定要求的应用。它采用全新的总线架构 Advanced Micro controller Bus Architecture(AMBA)。加强的 ARM 体系结构 MMU 由于支持 Linux、 WinCE 等嵌入式系统。S3C2440A 的突出特点是其核心处理器(CPU),是一个由 ARM(Advanced RISC Machines)有限公司设计的支持精简指令 16/32 位的 ARM920T 的 RISC 处理器。ARM920T 实现了内存管理单元,高级微控
31、制总线结构和哈佛高速 缓冲体系结构。 其内部体系结构如图 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 控制器
32、 (5)拥有 3 路通用异步接收器传输总线(DART) (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,其主频最高可达 533MH
33、z;其封装格式为 289-FBGA;核心板带有 64M 的 Nand Flash 和 2M 的 Nor Flash,64M 的 SDRAM;支持 Nor Flash 和 Nand Flash 启动。 3.2 触摸屏及触摸屏及 LCD 模块设计模块设计 本监测系统中结合现在比较盛行的触摸屏技术,选择了触摸屏和 720X480 的 7 寸 TFT-LCD 作为监测系统的显示部分。采用触摸屏使得监测系统的人机交互功能更 加完善和人性化。采用 TFT-LCD 显示屏不但提高了其显示的速度,而且提高了 LCD 的对比度和亮度。除此之外,也提高其分辨率。这对整个监测系统的 Qtopia 操作界 面的设计提
34、供了基础。 在本监测系统中,触摸屏接口采用了 S3C2440A 内部集成的接口如图 3-2 所示, 其中 XP 表示 X 轴正极坐标输入通道,XM 表示 X 轴负极坐标输入通道;YP 表示 Y 轴正极坐标输入通道,YM 表示 Y 轴负极坐标输入通道。该接口是四线制的电阻式 触摸屏接口,触点坐标的检测是通过 A/D 转换来实现的。 图 3-2 S3C2440 的触摸屏控制接口模块图 S3C2440A 一共有 4 种触摸屏接口模式,分别为正常转换模式、分离 XY 坐标转 换模式、自动(连续)XY 坐标转换模式和等待中断模式,其中,自动(连续)XY 坐标转 换模式和等待中断模式是应用中比较常用的模式
35、。等待中断模式是在触笔落下时产生 一个中断,在这种模式下,A/D 触摸屏控制寄存器 ADCTSC 的值应为 OxD3,在系统 响应中断后,XY 坐标的测量模式必须为无操作模式,即寄存器 ADCTSC 的低两位 必须清零。自动(连续)XY 坐标转换模式是系统依次转换触点的 X 轴坐标和 Y 轴坐标, 其中 X 轴坐标值写入寄存器 ADCDAT1 的低 10 位中,Y 轴坐标写入寄存器 ADCDATI 的低 10 位中,在这种模式下,系统同样会产生中断信号。在一般情况下, 为实现触摸屏功能,先是设置为等待中断模式,在产生中断后,再设置为自动(连续) XY 坐标转换模式,依次读取触点的坐标值。 在本
36、监测系统中,LCD 接口采用 S3C2440A 自带的控制器,其内部结构图如图 3-3 所示。 图 3-3 S3C2440 的 LCD 控制器模块图 为了能够使 LCD 正常工作,需要对 LCD 的时序和显示缓存区进行正确的设置。 LCD 的时序主要包括 VSYNC. HSYNC 和 VCLK;其中 VSYNC 确定了 LCD 的场 频,即每秒屏幕刷新的次数;HSYNC 确定了 LCD 的行频,即每秒屏幕从左到右扫 描一行的次数。显示缓存区是编程时开辟的一段内存区,一般通过定义一个与屏幕尺 寸大小相同的二维数组来实现,如 720X480 的 7 寸 TFT-LCD,可以定义 LCD_ BUFF
37、ER720480。把要显示的数据写入显示缓冲区就可以在屏幕上显示。 根据上面触摸屏和 LCD 接口的描述,设计了监测系统的触摸屏和 LCD 模块电路 如图 3-4 所示。在该模块中通过 LCD PWR 2440 信号控制 LCD 的背光。 图 3-4 触摸屏和 LCD 模块电路 3.3 气体采集模块设计气体采集模块设计 在本课题中,根据监测系统的需要,选择了对有害气体敏感的传感器 MQ-138 和 对可燃性气体敏感的传感器 TGS2611 作为气体采集模块的采集对象。并且由于二者 的输出量为模拟量,所以选择了 PCF8591 作为 A/D 转换芯片。 3.3.1 MQ-138 气体传感器气体传
38、感器 MQ-138 气体传感器的敏感材料是活性很高的二氧化锡(SnO2)。二氧化锡(SnO2)在 空气中由于加热而达到一定的温度时,二氧化锡中的氧原子就被吸附到带有负电荷的 半导体的表面,同时半导体的表面的电子也会被吸附到二氧化锡中的氧原子上,因此 二氧化锡中的氧原子就便成了带负电荷的氧负离子,同时在半导体的表面形成了带正 电荷的空间电荷层,从而导致半导体的表面势垒电压逐步升高,从而阻止了带负电荷 的电子的流动。另外,在二氧化锡内部,自由移动的电子必须穿过二氧化锡微晶粒的 晶界才能够形成电流,但是晶界中还同时存在着由二氧化锡中的氧原子产生的势垒电 压来阻碍自由电子的流动,所以 MQ-138 的
39、电阻就是有这种势垒产生的。当 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
40、 对不同种类、不同浓度的气体有不同的电阻值,因此在使用 MQ-138 时, 灵敏度的调整是很重要的。当精确测量时,报警点的设定还应考虑实际环境中的温湿 度的影响。 图 3-5 MQ-138 的结构、外形及测试电路图 MQ-138 有如下特性:广泛的探测范围、快速的响应恢复及较高的灵敏度、长期 的工作稳定性、简单的测试电路。 3.3.2 TGS2611 传感器传感器 TGS2611 传感器是费加罗( FIGARO)公司生产的可燃性气体传感器,由集成的加 热器和金属氧化物半导体构成。 TGS2611 的测试电路如图 3-6 所示,在测试电路中需要给传感器需加 2 个电压: VH 和 VC,其中 V
41、H 为加热器电压,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 TGS261
42、1 的测试电路 3.3.3 PCF8591A/D 转换芯片转换芯片 PCF8591 为单电源 CMOS 低功耗 8 位 A/D 和 D/A 数据转换器,它拥有四个模拟 输入、一个模拟输出和一个串行 12C 总线接口。三个地址引脚 A0. A1、A2 用于器件 的硬件地址编程,因此最多允许将 8 个 PCF8591 器件连接到相同的 I2C 总线。对 PCF8591 的选择、控制以及数据的传输都是通过 12C 来实现的。PCF8591 器件内部 集成了多路复用的模拟输入、8 位模数脚 D)、数模(D/A)转换等功能。工作电压为 2.5V6V。本监测系统中的 PCF8591 的工作电源为 3.3V
43、。 根据 PCF8591 的控制字可以对其进行设置,其中控制字的 bit45 可以设置 AIN 0AIN 3 的模式,00”表示 AIN 0AIN 3 为 4 个单端输入;01”表示 AIN 0AIN2 与 AIN3 分别构成 3 个差分输入;“10”表示 AIN 0 和 AIN1 为两个单端输入,AIN 2 与 AIN 3 构成一个差分输入;“11”表示 AIN 0 和 AIN1 构成一个差分输入,AIN 2 与 AIN 3 构成另一个差分输入。控制字的 bit0 1 可以进行通道的选择, 00”“11”分别 表示通道 03。 根据 MQ-138、TGS2611 和 PCF8591 的描述,
44、设计出了监测系统的气体采集模 块的原理图如图 3-7 所示,通过 PCF8591 的 I2C 接口把采集的数据传到主控制器 S3C2440A。 图 3-7 气体采集模块的电路图 3.4 温湿度采集模块设计温湿度采集模块设计 在温湿度采集模块中,选择了 SHT71 芯片。SHT71 是盛世瑞公司生产的采用 CMO Sens 技术、输出为数字量的温湿度传感器,具有高度的可靠性和长时间的稳定 性。SHT71 传感器默认的测量温度的分辨率为 14 位,测量相对湿度的分辨率分别为 12 位,通过 SHT71 的内部状态寄存器可分别设置为 12 位和 8 位。其湿度测量的范 围是。0100% RH , 1
45、2 位测量时的分辨率为 0.05% RH ,温度测量范围为- 40123.8oC,14 位测量时的分辨率为 0.01 oC。 本监测系统中采用 SHT71 采集 12 位的相对湿度和 14 位的温度,所以在本监测 系统中,为了将 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.0
46、367 , 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.5 无线传输模块设计无线传输模块设计 考虑到本监测系统在恶劣环境中的应用时,方便
47、用户在远离恶劣环境的情况下进 行测试;以及在比较宽阔的室内时间进行应用时,方便用户对室内空间进行多点测试; 所以监测系统中考虑了无线传输的功能。 本监测系统中采用瑞典 Nordic Semiconducto:公司 2005 年推出的一款工业级内 置链路层的超低成本的集无线收发于一体的芯片 nRF24L01。该芯片内部集成了频率 发生器、增强型 SchockBurstTM模式控制器、调制器以及解调器等模块。该芯片工作 于 2.4GHz-2.5GHz 的 ISM(工业、科学和医学)频段,有效通信距离可达 100m;使用 者无需申请许可证,给开发者和用户带来了很大的方便。另外,nRF24L01 的功
48、耗比 较低,如在以-6dBm 的功率发射时,工作电流只有 9mA;2Mbps 接收时,峰值电流 12.5mA。 nRF24L01 具有以下主要特点: (1)芯片的无线传输速率高,其速率可以达到 2Mbps,由于数据在空中的传输时 间非常短,所以极大的降低了数据在无线传输中的相互碰撞的现象,从而减少了数据 在空中传输的误码率。 (2)芯片自身集成了标准 SPI 接口电路,对芯片的频道选择和协议的设置等操作 都可通过此 SP 工接口完成。 (3)芯片集成了射频协议中的高速信号处理部分,比如自动重发丢失数据包以及 自动产生应答信号等,减少了外部器件的复杂性和成本,支持自动应答和自动重发, 重发时间及
49、重发次数可软件控制。 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 实现数据的无线发
50、送和接收时,需要将 CE 置低;将 nRF24L01 的电源引 脚(VCC)和接地引脚(GND)分别连接到开发板的预留的 CON6 的 VDD33V,GND 引脚 上,为 nRF24L01 提供 3.3V 的工作电压。 图 3-9 无线传输模块电路图 3.6 报警模块设计报警模块设计 本设计的报警模块用到了发光 LED 和蜂鸣器。其原理图如图 3-10 所示。当采集 到的气体浓度超过设定的阈值时,LED 会被点亮,同时蜂鸣器也会发出报警的蜂鸣 声。 图 3-10 报警模块电路图 4 室内空气监测系统的软件设计室内空气监测系统的软件设计 4.1 监测系统的驱动程序设计监测系统的驱动程序设计 驱动
51、程序在嵌入式 Linux 系统中有着极其重要的作用。Linux 操作系统下,驱动 程序作为 Linux 内核的一部分,是应用程序和实际设备之间的一个软件层,完全隐藏 了各个设备工作的具体细节,并且为使用它定义了良好的调用接口。驱动程序主要完 成对底层硬件设备的初始化、向应用程序提供对底层硬件设备进行操作的接口、读取 底层硬件设备返回或者产生的数据并把该数据传给上层的应用程序、检测底层硬件设 备的工作状态等工作。 Linux 设备驱动程序主要分为三种类型:字符设备(char device)驱动程序、块设备 (block device)驱动程序和网络设备(network device)驱动程序。字
52、符设备主要是指能够 像文件一样被访问的设备,字符设备驱动程序主要方法包括 Open、Release 、Read 和 Write 等应用程序调用接口。字符设备可以通过 Linux 系统的文件系统的结点进行 访问,例如/dev/tty0 ;块设备主要是指以“块”为单位来实现对其信息的存取,如常见 的光盘、硬盘等,块长一般取 512B 或者 1024B 等,在嵌入式 Linux 系统中,也可以 像操作字符设备一样操作块设备,而且块设备和字符设备只在内核内部管理的上有所 区别。网络设备驱动在 Linux 系统中是一类特殊的设备驱动,它不具有字符设备和块 设备的 Read 和 Write 等操作,通常是
53、通过 Socket(套接字)来实现应用程序的调用接口。 并且系统中的任何网络设备的事务处理都可以通过该接口来实现,从而完成和其他的 Linux 系统主机进行数据交换的功能 在基于嵌入式 Linux 的触摸式室内空气监测系统中,涉及到了 GPIO、I2C 接口、 SPI 接口、模数转换、LCD 接口、定时器等各项硬件资源的配合应用。由于以上接口 的 Linux 驱动程序主要是字符设备驱动程序,而且其 Linux 内核为 Linux-2.6.29 ,因此 本文重点研究 Linux 系统下的字符设备驱动程序。 4.1.1 GPIO 驱动程序设计驱动程序设计 GPIO ( General Purpos
54、e Input Output,通用输入/输出接口)是处理器与外部器件相 连的必由接口。在本监测系统中,在报警模块中用到了 GPIO 驱动程序,其功能是当 室内空气的某一种气体浓度超过阈值之后,点亮 LED 和使蜂鸣器发出报警声。 在 LED 的驱动程序中,主要实现 LED 的 I/O 口 GPFO 的置高、置低,当气体传 感器 MQ-138 和 TGS2611 采集的数据没有超过相应的阈值时,LED 状态的为“灭”, 否则其状态为“亮”,因此在 LED 的驱动程序中,主要是通过 s3c2440_leds_ioctl 接口 实现对 LED 的控制。其代码如下: 在 s3c2440_leds_io
55、ctl 的函数中调用了 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-S3C24
56、40A 的 16 位定时器的值,取值范围为 165536。 因此蜂鸣器的频率范围为 162500Hz,但是人的耳朵比较敏感的频率范围为 2020000Hz。经过试验和测试,本监测系统中把蜂鸣器的频率设置为 1200Hz。 蜂鸣器驱动程序中,频率设置函数的代码如下: 4.1.2 气体采集模块驱动程序设计气体采集模块驱动程序设计 本监测系统中,气体采集模块主要用到了气体传感器 MQ-138 和 TGS2611,由于 二者的输出都是模拟量,因此选择了 A/D 转换芯片 PCF8591。由于 PCF8591 带有 I2 C 接口,因此气体采集模块的驱动程序主要是嵌入式 Linux 下的 I2C 驱动程
57、序。 I2C ( Inter-Integrated Circuit)是两线式串行总线。包括串行数据线(SDA)和串行时 钟线(SCL)。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封 装形式小,通信速率较高等优点。串行的 8 位双向数据传输速率在标准模式下可达 100kbit/s,快速模式下可达 400kbit/s,高速模式下可达 3.4Mbit/s。数据传输时时序图 如图 4-1 所示。 图 4-1 I2C 数据传输时序 由于监测系统中仅用到了嵌入式 Linux 的 I2C 驱动程序的适配器接口的调用,所 以本文结合监测系统重点描述了 I2C 适配器接口的调用。该系统的 I2
58、C 适配器接口文 件即/opt/FriendlyARM/mini2440/linux-2.6.29/drivers/i2c/i2c_dev.c,其在嵌入式 Linux 内核加载完成以会产生一个 i2c-0 的主设备节点,然后通过操作该设备节点 i2c-0 来 间接操作底层硬件设备(PCF8591)。首先应用程序通过open(/dev/i2c/0,O_ RDWR)” 以可读可写的方式打开此节点;其次需要定义数据结构 i2c_rdwr_ioctl_data 的并将该 数据结构进行实例化。但是该数据结构中还嵌套了一个 i2c_msg 的消息结构体指针 msgs,该指针指向一个长度为 7 个 Byte
59、 的整数数组,另外,该数据结构还定义了一 个表示起始信号数量的整型变量 nmsgs。i2c_rdwr_ioctl_data 结构体中还定义了一个 指向 i2c_msg 地址的指针变量。所以也需要对结构体 i2c_msg 进行相关的初始化。在 该结构体中,首先需要初始化 PCF8591 的地址(PCF8591 的设备地址为 0 x48);其次 是设置对 PCF8591 进行相关操作的标志位(Flag),以及对 PCF8591 发送或者读取的消 息字节的长度(Len );再次是定义指向对 PCF8591 发送或者读取的消息字节的缓冲区 起始地址的指针(Buffer );最后是初始化整型变量 nms
60、gs。根据芯片 PCF8591 的读时 序要求,nmsgs 应赋值为 2;而根据其写时序的要求,nmsgs 应赋值为 1。根据监测 系统的功能要求,准备好相关的消息数据,就可以实现对 PCF8591 的读写操作。 在本监测系统中对设备 PCF8591 的操作主要用到 ioctl 操作函数,ioctl 函数可以 重复在总线上发出起始信号,因此可以应用于多个 message 的操作。ioctl 这一特性刚 好监测系统需要的多通道采集多种气体浓度的需求相吻合。此外,对设备的进行操作 的函数还有 i2c_read 和 i2c_write。 在 PCF8591 的驱动程序中主要用到的两个重要的结构体代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年)危重急症抢救流程解析及规范题目(+答案)
- 2025年中药学师考试试题及答案
- 南沙语文真题试卷及答案
- 涎腺疾病康复试题及答案
- 2025年建筑改造施工组织试题及答案
- 2023-2024学年安徽省六安市霍山县诸佛庵中学九年级上学期期末测试化学试卷
- 2020护师考试儿科护理学基础知识1002练习题及答案
- 2025年注册会计师综合阶段职业能力综合测试试题及答案
- 2025年新乡中招书法试卷及答案
- 机电设备安装安全施工技术方案
- 汽车售后服务企业经营与管理 课件 项目四 汽车维修配件管理
- 柞绢绸项目投资可行性研究分析报告(2024-2030版)
- 应急第一响应人理论考试试卷(含答案)
- 新《行政许可法》知识考试题库(100题)
- 初一心理教育主题
- 环境因素识别评价管理制度
- 第2课时原子核外电子的排布离子的形成九年级化学上册课件(人教版)
- 格力家用空调焊接安全
- 机器学习原理与应用 课件 第7、8章 计算机视觉技术;语音识别
- 哪吒主题课件模板文档
- 做最勇敢的自己
评论
0/150
提交评论