基于STM32及LABVIEW的环境监测系统设计方案.docx_第1页
基于STM32及LABVIEW的环境监测系统设计方案.docx_第2页
基于STM32及LABVIEW的环境监测系统设计方案.docx_第3页
基于STM32及LABVIEW的环境监测系统设计方案.docx_第4页
基于STM32及LABVIEW的环境监测系统设计方案.docx_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

基于STM32及LABVIEW的环境监测系统设计方案 1.1 环境监测系统的研究背景和意义在改革开放三十年中,全国经济显著提高,一夜间出现很多大城市,城市的发展却也使得人们赖以生存的环境遭到污染。近年来,随着人们生活质量水平的提高,我们也越来越重视我们个人的心理健康与身体健康。同时我国为控制大气环境污染和保护环境,政府部门已经采取了相关办法来保护环境,但是由于监测技术上的缺陷和不足,严重制约了相关措施的实施进度。传统的环境监测技术已经跟不上社会经济发展的步伐,所以研究一种实时化、智能化、集成化的监测设备迫在眉睫。嵌入式技术是近年发展很快的热门技术,其相关的嵌入式系统已经在很多领域得到应用,包括医疗设备、智能电器、军事工业、工业自动化等领域。人们的日常生活也与其息息相关,像手机、数字电视、电脑、数码相机等都是嵌入式技术的典型应用1。虚拟仪器LabVIEW是一种将传统程序语言转化为图像化积木模式的开发环境,同时也是作为终端工具提供给用户使用。它的应用极为广泛,工业界、学术界和实验室等极为频繁使用。虚拟仪器具有许多优点,它非常方便快捷,能够加快自己项目的开发进程,大大提高工作效率2。近年来无线通信技术的发展非常迅猛,使得由微控制器、传感元件和无线通信网络组成的无线传感器通信网络有了空前的成长。其中ZigBee技术由于其能耗较低、成本较低、速率较低、距离短和双向无线通信等优势,受到了广泛关注和应用。其网络节点多,能够极方便进行组网,所以ZigBee技术能够很好的达到信息采集处理要求,因此无线传感器网络适合用它构建3。目前,GSM网络的发展相当成熟,它的覆盖面积非常广、信号稳定、通信成本相对较低。国内外许多通信公司和开发商对GSM网络业务的扩展产生浓厚的兴趣,进行大量资金和人力投资,开发出自己的产品来抢占市场。设计主要利用嵌入式处理技术及传感器数据采集组网技术来实现,该方法能够灵活的构成网络,并且能够实时监测空气中的温度、湿度、烟雾。使用Zigbee技术的无线传输进行局域网组网,并利用多传感器数据融合技术进行数据的存储和分析,且电脑端LABVIEW编写的上位机软件能够实时显示数据。论文设计的基于STM32和LABVIEW环境监测系统相对于工程应用来讲,它能够构成一个监测范围非常广泛的监测网络,并且能够实时存储处理各个节点的数据,此外,设计的节点构成简便,通过无线传输构成网络通信,极为可靠并有一定的应用价值,上述都优于单点式监测仪表与有线监测网络。系统使用 CC2530 无线单片机作为其硬件的主要构成部分,其构成简便、功耗低于其他产品;系统采用C/OS-操作系统作为网络节点的嵌入式应用程序设计,系统能够自我组织、扩展性强,系统的研究设计方案是基于无线传感器网络的设计理念以及其技术方式,拥有某种程度上的创新性,不管是在理论学术研究方面,还是在实际工程建设方面都具有重要的实际价值和研究意义。1.2 环境监测系统的研究现状随着环境污染的产生和程度加深,环境监测技术得以迅速发展起来。在绝大部分工业发达国家,环境监测从开始以一些重大环境污染事故调查和环境污染事故处理以及环境事故预防为主到上世纪五十年代,发达国家如美国,一些化工厂的有毒化学品泄漏造成的环境污染时常发生,致使用化学方法来检测污染源中的化学成分和含量成为当时环境监测的主要手段及特征。自从上世纪六十年代末以来,人们慢慢注意到环境污染的原因虽然以化学成分污染为主,但是同时还受到物理因素,生物因素等因素影响,所以环境监测技术开始慢慢牵涉到物理及生物领域的方法;再者发达国家的环境立法已经趋于完备,相关环境法的执法越来越严格,而对于企业级别的污染物排放的监控越来越受到政府的重视,污染物的监测技术以及商业前景越来越受到重视。上述时期的实际监测工作主要是监督性质的监测为主。从上世纪七十年代中期至今,政府和群众对环境问题的认识不断升级和加深,发达国家如美国,把环境监测技术的研究焦点从污染物的源头监控,向现在的环境整体品质监控上来,使环境监测技术设计范围从当初的点监测逐渐向面监测发展,开始了有效预防4。现今,我国环境监测技术相对来说更加侧重城市的环境监测、工业级别污染源监测、环境的整体质量监测,却在整体生态环境监测方面并不看重。我国当前的生态监测技术主要限于监测能力低下,技术与设备无法更上时代脚步,实际生态监测工作经验很少,生态系统规律的整体认知不足,因为上述的原因我国的环境监测停留在污染生态监测阶段,在这种情况下必须从实际情况考虑,监测指标的选择也必须考虑到实际条件限制,污染的生态指标在今后相当长的时间内仍然会作为高度优先的监测指标。在此同时,因为经济的过快发展对生态环境的破坏,造成当前环境承受力的监测数据在当下仍然迫切需要,将其例入优先监测对象是可急不可缓之事。我国处于环境监测技术含量总体偏低环境下,整体自然生态环境的破坏程度和随之而来的连锁恶化程度的监测与其它国家完善的环境污染监测相比,依旧在一个相对弱很多的地位上。最近几年以来,我国先后提出了许多监测计划和研究方案,都将重点放在了生态监测方面。现在,我国范围内的生态监测工作主要集中在生态环境演化过程方面,生态污染监测在小部分区域内受到一定程度重视,但还是在微观环境污染监测的范畴之内。从我国已经完成和正在进行的环境污染监测研究来看,对比与其他发达国家,我国的环境监测技术所使用的技术和手段仍然无法跟上时代的需求。大部分的环境污染监测的实施仍然是研究性质偏多,环境污染监测理论里的普通性质的污染监测工作仍然在起点线上,急需更多开发人员参加到研究和讨论中来。1.3 论文主要研究内容及结构论文设计的是基于STM32及LabVIEW的无线环境监测系统,系统主要研究任务是对环境参数的采集、传输及处理。在论文的开篇部分,在纯理论的角度上简述了ZigBee和GSM这两种经典的无线传输技术,并对它们之间相对的特点及各自的优势做了一个介绍。然后根据系统的整体功能分析提出了环境监测系统的整个方案结构。接下来具体介绍了硬件设计部分,如传感器选项及电路设计。再根据总体结构,构建了嵌入式开发环境,对数据采集、数据传输、控制模块及LabVIEW编写的上位机软件部分进行了设计介绍。系统实现了对C/OS-操作系统的移植,和监测数据的无线传输、处理、实时显示等功能。论文主要分为六部分,各部分内容如下:第一部分:绪论,大体上介绍本篇毕业论文所涉及的环境污染监测技术的研究背景及其研究意义,同时还介绍我国与国际环境监测现状的对比和本次毕业论文主要研究内容和结构。第二部分:系统方案分析和关键技术介绍,介绍和分析了虚拟仪器、ZigBee技术、GSM技术的优势,确定出总体设计方案。第三部分:系统硬件电路设计,介绍了系统所需的传感器、控制器及采集器的硬件选型。然后详细介绍了各个模块的硬件电路设计。第四部分:系统软件设计,软件部分分为ZigBee数据传输软件设计,GSM软件设计,STM32软件部分设计,LabVIEW上位机软件设计。第五部分:系统测试分析,对ZigBee传输的数据包抓包实验分析,及串口数据实验分析等。第六部分:总结与展望,对已经实现了的预期指标进行总结与分析,对以后的发展进行阐述。1 系统方案分析与关键技术介绍传统的环境监测技术已经难以跟上时代的发展的脚步,论文在基于传统环境监测方案的基础上进行创新,提出了无线传感网络和LabVIEW监测控制技术,根据实际要求给出了系统预期达到的功能要求。并对涉及的LabVIEW、ZigBee、GSM技术进行了介绍。2.1 系统的功能分析与设计本课题研究的环境监测系统主要功能是对多个监测区域内的有毒气体、湿度、温度进行连续实时监测,构建出无线传感器网络。设计以STM32微控制器为平台,采用CC2530控制温湿度传感器 DHT11及烟雾传感器MQ-2对室内温湿度和危险气体进行采集。通过ZigBee无线网络将数据传送给微控制器,STM32微控制器处理数据后,由自带液晶屏显示。同时微控制器通过RS232将数据传输给PC端,由LABVIEW编写的上位机实时显示有关数据。当室内温度达到预警值或有危险气体时,系统将会自动警报并将警报信息通过GSM网络传输给客户手机。从而实现对室内环境的监测及报警功能。环境监测系统框图如图1所示。图1 环境监测系统框图系统主要预期功能如下:(1).环境参数能过实时测量,测量温度范围在0100,湿度范围在湿度20-90%RH,灵敏地检测危险气体。(2).ZigBee无线网络在100平米内稳定工作,且穿透力强。(3).上位机的编写由LabVIEW完成,软件性能良好且稳定。(4).环境温度异常或有危险气体时,立即警报且手机能及时收到报警信息。(5).ZigBee采集传输节点能耗小,从而节约功耗,延长节点的工作能力。2.2 LabVIEW介绍LabVIEW,英文全称是Laboratory Virtual Instrumentation Engineering Workbench,是由美国NI公司所开发基于图形化语言编程的程序编译平台,LabVIEW早期的方针是为了实现仪器自动化控制所研发设计的,然后在时代的变化及进步过程中慢慢成为了一种成熟且独立的高级图形化编程语言。图形化编程语言使用者在通过流程图构思整体设计思路的同间也完成了目标程序的撰写,这种模式的程序语言使用的数据流这种新型概念完全超越了传统的程序语言思维模式5。实验室虚拟仪器工程平台是一种与传统编程语言不同的图形化的编程语言,在工业、学术界以及研究实验室都被重视的泛用编程语言,一般被运用于标准的数据采集以及仪器自动化控制。它是一种使用范围广泛且使用方便的编程语言,使用它能够快捷地创建实验或研究所需的虚拟仪器,它所特有的图形化编程界面改变了整个编程及使用的过程体验,你会觉得编程变得生动有趣起来。实验室虚拟仪器工程平台设计之初的目的为测试及测量出各种数据而生,因而测量领域也就是现实验室虚拟仪器工程平台最有优势的实际应用领域。在经过实验室虚拟仪器工程平台从诞生至今的发展,实验室虚拟仪器工程平台广泛应用于测试测量领域。所以现今最主流的测试测量仪器、数据采集设备都是基于实验室虚拟仪器工程平台编写的驱动程序,在实验室虚拟仪器工程平台下硬件设备的控制不再是问题。与此同时,LabVIEW工具包涉及范围也十分广泛,使用者可以在里面找到研究设计需要的各种属于测试测量领域的程序。这些工具包括了所有一般性功能,使用者在工具包所包含的程序库的基础上进行二次程序开发就会便捷很多。在某些情况下只需改动几个小函数包,就可以用其自带的工具包完成一个相对完善的测量控制领域的实际控制测量程序的编写。2.3 ZigBee技术2.3.1 ZigBee技术概述ZigBee是一种通讯准则,该通信协议定义了一系列基于近距离、低传输速率的无线通信准则。基于ZigBee协议的无线网络使用工作频段为868MHz、915MHz和2.5GHz,其无线网络的最大数据传输速率为250比特率6。其无线网络在较小的能量情况下便能在子传感器之间实现数据的实时传输和交换。总而言之,ZigBee协议技术的特征主要有可靠性高、成本较低、能耗较低、数据传输速率较高、安全性能高。主要应用于远程控制、自动监测和嵌入式系统等领域。2.3.2 ZigBee网络协议在设计软件的网络架构时,一般采用的是分层思想,不同的层具有完全不相关的功能,相邻的层之间才有数据交换。例如,以太网的模型是为OSI七层参考模型是按照分层方法设计。ZigBee网络协议也是在开放式系统互联参考模型的基础上,结合了一般无线网络的工作特点,采用系统功能分层的思想所设计的。其中IEEE802.15.4协议标准定义了最下面两层,也就是是物理层(MAC)和介质访问控制层(PHY),ZigBee协议联盟定义了上面两层即网络层(NWK)和应用层(APL)。而上述的应用层包括了应用程序支持子层(APS)、ZigBee协议设备对象(ZDO)和用户自定义的应用对象7。ZigBee协议无线网络分层图如图2所示。图2 ZigBee无线网络分层图(1)物理层。该层主要是对数据进行调制发送和接收的设计,工作信道频率的选择。物理层考虑的目的是设计出成本较低、功耗较低、体积较小的传感器节点。在物理层中定义了16个物理无线通道和介质访问控制层的接口,同时提供数据服务(PLDS)和管理服务(PLMS)。(2)介质访问控制层。该层掌控着数据流的数据帧节检测、通信道路复用、控制差错,来确保整个网络中各个节点的通信和链接。(3)网络层。该层主要功能有:初始化网络;网络的连接与断开;路由的发现与选择;数据发送以及数据接收;广播通信;提供与应用层通信的连接接口等。(4)应用层。该层主要部分为应用程序支持子层(APS)、ZigBee协议设备对象(ZDO)和用户自定义的应用程序。在该层中包含了时间的同步和节点的定位。其中时间同步服务是为协调工作的节点同步本地时钟;节点定位服务是基于其他已知的节点的位置来确定别的节点位置,从而为系统建立特定的相关的空间关系。2.3.3 ZigBee网络拓扑结构ZigBee协议标准定义了3种网络拓扑结构:星状网络拓扑结构、树状网络拓扑结构、网状网络拓扑结构。节点之间的通信通过每个设备的唯一地址和接入点进行,在通信构建好后,所有节点设备会自动分配一个相对IP的16位短地址。其中节点的64位MAC地址为绝对地址。其拓扑结构如图3所示。图3 ZigBee网络拓扑结构图(1)星状网络拓扑结构星状网络拓扑为单跳系统,也是最简单的结构,其并没有用到ZigBee协议栈。星状网络拓扑结构的通信限制于在终端节点和协调器节点间之间,也就是说每个终端节点或路由节点只能和协调器节点间进行信息交流。且节点间只有一个路径可选,过于简单。(2)树状网络拓扑结构树状网络拓扑的组成是由一个协调器节点和多个路由及终端节点,节点彼此间的通信关系是基于子节点和父节点。当需要进行信息交流时,该拓扑结构只能通过离自己最近的协调器节点传输到其他节点。故该结构进行数据传输时,只有一个路由路径选择。(3)网状网络拓扑结构网状网络拓扑是一个多跳系统,节点可以作为路由或是终端节点,其每个节点都有中继功能。数据在交流过程中就可以经过多个路由节点进行中继,解决了树状网络的缺陷。该路由网络能够自己创建和升级,使得其拥有很强的自我组织和修复能力。2.4 GSM技术全球移动通讯系统的英文简称为GSM,被人们常称为全球通,该移动通信技术标准最初是由欧洲定制,其开发遵旨是建立一个统一的移动通信网络标准,有利于全球化,让手机用户可以在世界各地进行信息交流。上世纪末,我国开始采用该移动通信标准,进一步加快了移动通信技术的发展8。GSM 900及GSM1800构成了我国现有的两大全球通网络,其主要为蜂窝网络,整个网络运行在各个不同的无线网络上。当用户使用电话进行网络连接时,会自动搜索并连接到距离近的单元区域网络。整个GSM网络根据天线、增益、中继和传输条件,传输范围可以达到数十公里。如果通信服务商建的基站足够多,基本可以实现信号的全区域覆盖。GSM系统的几项重要特点如下:安全性能强、系统容量大、通信质量可靠、信号传输稳定性强、误码率低、覆盖范围广、系统功耗低。2.5 本章小结本章开始主要确定了系统的总体功能需求,给出了预期的结果及要求。然后介绍了上位机编程软件LabVIEW,组网通信技术ZigBee技术,GSM技术。分析了各自的相关理论和特点。为今后进一步探究打下了基础。3 系统硬件设计对于一个系统而言,硬件的设计是不可或缺的。本章开始对系统的总体硬件设计进行了介绍,接着将系统硬件分为数据采集发送部分、数据接收控制部分,分别阐述了各部分的传感器及芯片选型和电路设计方法。3.1 系统总体硬件设计系统硬件根据模块化设计思想主要分为两部分:数据采集发送部分、数据接收控制部分。系统硬件总体框图如图4所示。图4 系统硬件总体框图3.2 数据采集发送部分硬件设计数据采集发送部分由传感器的选型、ZigBee模块设计组成。传感器模块主要包括温湿度传感器和有毒气体检测传感器。其中ZigBee模块负责了传感器数据的采集及处理和数据的无线组网传输。该部分采集模块分布在各个监测区域,通过组成无线传感器网络将数据传输给协调器节点。3.2.1 ZigBee模块选型与设计随着ZigBee技术的诞生,各个大型公司都制作工作计划试图将该技术融入到自家产品和芯片中,来抢占市场。其中美国的德州仪器公司,率先推出了第一款基于2.4GHz IEEE802.15.4 ZigBee的片上系统CC2530芯片。CC2530集成了世界先进的RF收发器和加强工业标准的8051内核。TI公司为客户免费提供了完全兼容IEEE802.15.4协议规范和ZigBee协议规范的开源协议栈,以及丰富的开发调试工具9。故本课题将CC2530单片机作为ZigBee技术开发平台。CC2530集成了控制功能和射频收发功能,拥有着超低功耗、较强的抗干扰抗噪声能力、信号传输稳定等射频性能,以及性能高、功耗低且具有代码提前处理功能的8051微控制器内核。同时CC2530拥有着大量功能强大的外部设备,如5个强大的DMA通道、IR发生电路、3个通用定时器(1个16位,2个8位)、具有捕获功能的睡眠定时器、电能监测器和温度测量传感器、可输入8路且可进行配置的12位ADC、看门狗定时器、2个USART、21个通用I/O口、AES安全协处理器等。在CPU处于空置情况下,只耗24mA的微小电流,非常适用于低功耗的产品。其具有如下主要特点:(1) 通信距离远。空旷情况下距离达到300m,障碍物下达到100m;(2) 具有待机低功耗和休眠模式;(3) 硬件支持CSMA/CA;(4) 较宽的工作电压范围。DC 2V-3.6V;(5) 可以达到4.5dBm输出功率;(6) 只需极少外接元件;(7) 支持硬件调试。CC2530外围电路图如图5所示。图5 CC2530外围电路图CC2530具有宽电压输入,数据采集发送部分设计的是3.3V电压输入,满足工作要求。该模块电源设计,采用REG1117-3.3芯片将外供电压转换为稳定的3.3V输出。故可选择USB供电,板子后面有电池座,也可选择用四节5号电池供电。采集模块电源设计图如图6所示。图6 采集模块电源设计图3.2.2 传感器选型通过固定规律转换输出成可用信号且能够查知被测参数的电子元器件,被认为是传感器。传感器的产生与开发,使身边事物更加灵活起来。在世界进入信息时代,生活和工业上传感器通常用来获取有关参数的重要手段。数据采集发送模块用到的传感器有DHT11温湿度传感器、MQ-2有毒气体检测传感器,可以有效快速地检测环境参数中的温度、湿度、有毒气体。(1)温湿度传感器DHT11温湿度传感器是将温度和湿度测量集于一体及含有已校准数字输出的复合传感器。它由一个测量温元件和一个电阻模式的感湿元件组成,其内部镶嵌了一个8位的高性能微处理器。该传感器拥有基于高性能温湿度的传感技术和数字化的采集技术,从而整个模块的安全和稳定性能有着较大提升。在模块出厂前都会在特点的实验室进行参数校验,同时以程序形式存储该校验系数到OTP中。传感器数据传输方式采用单线形式串行接口,从而使得与控制器通信变得更快捷简单。DHT11接口电路图如图7所示。图7 DHT11接口电路图(2)有毒气体检测传感器对于有毒气体的检测,系统使用的是MQ-2有毒气体检测传感器。MQ-2有毒气体检测传感器将二氧化锰作为气敏材料,由于该材料的电导率比较低使得传感器灵敏度有较大提升。如果传感器检测到有毒气体时,其气敏材料的电导率会变化,规律随着浓度的增高成正比,所以可以利用外部模拟电路将该规律转化成相应的模拟信号或数字信号。经过实验,该传感器可以检测多种有毒气体或是可燃气体如天然气、氢气等。MQ-2外围电路较简单,将其采集到的信号经过LM358进行放大后输出,此时得到的是模拟性质信号。电阻VR1提供分压,与另一路采集电压进行比较,从而实现灵敏度可调,输出数字性质信号。MQ-2外围电路图如图8所示。图8 MQ-2外围电路图3.3 数据接收控制部分硬件设计数据接收控制部分硬件电路设计包含ARM控制芯片选型及外围电路设计、GSM电路设计。该部分完成的功能有,接收终端节点发来的环境参数数据,进行数据处理然后在控制器的显示屏上显示,如果设置了GSM报警功能,若达到报警要求,将会以短信的形式发送到手机终端达到报警效果。此外控制器将处理好的数据发送的上位机进行实时监测显示。3.3.1 嵌入式微处理器选型嵌入式型微处理器是指在一块较小的电路板上嵌入一块具有特定功能的微处理器芯片,且芯片外围电路只与嵌入的相关功能有关,从而使得整个电路板的能耗与体积进一步缩小。近年来,嵌入式处理器的制造工艺和技术越来越成熟,许多的大企业推出了自己的嵌入式微处理器芯片来疯狂抢占市场。其中意法半导体 (STMicroelectronics)推出的STM32系列是专门为要求性能要高、功耗要低、成本要低的嵌入式应用而设计的ARM内核。该系列产品占据了市场大部分份额。其中按性能分成了两个大类:STM32F103增强型系列和STM32F101基本型系列。根据系统的方案分析和功能考虑,系统选择STM32F103VET6作为主控制芯片。该芯片集成了嵌入式FLASH和SRAM存储器的ARM Cortex-M3内核10,可以兼容所有的ARM软件工具,其32位精简指令集的处理器使代码编写更加高效。STM32F103VET6拥有着512KB大容量FLASH、64KB的嵌入式SRAM、频率高达72MHz的100脚芯片。其拥有如下主要特点:(1) 3种低功耗模式。休眠、停止、待机模式;(2) 可以进行串行调试(SWD)以及JTAG在线调试;(3) 12位的A/D、D/A转换器、12通道DMA、SPI、IIC、USART;(4) 多达11个定时器;(5) 电源管理及电压调节功能;(6) 嵌套矢量中断控制器(NVIC);(7) 宽电压输入2.0V-3.0V。3.3.2 控制器电源电路设计数据接收控制部分的电源接入是采用USB供电,电压为5V。液晶屏需要5V供电,控制芯片及其他芯片电压需求为3.3V。故需将5V转换成3.3V。该部分采用AMS1117-3.3电压调整芯片。另外电源也可采用电池供电。控制器电源电路图如图9所示:图9 控制器电源电路图3.3.3 晶振和复位电路设计该部分电路设计为系统控制芯片提供了2个时钟源,一个为23.768kHz低速时钟源,另一个为8MHz的高速时钟源。模块复位电路设计为上电和按钮复位。其电源复位作用于RESET管脚,在复位过程中始终保持低电平。晶振和复位电路图如图10所示。 图10 晶振和复位电路图3.3.4 下载电路设计由于大部分ARM处理器都是采用JTAG协议,故系统采用JTAG下载模式。JTAG模式,可以用来对芯片进行调试、仿真。电路上采用20脚的标准JTAG接口座,如图11所示。图11 JTAG接口电路图3.3.5 串口通讯电路设计系统串口通讯采用USB连线,故需进行USB转UART电路设计。系统采用CH340数据转换芯片,该芯片集成了USB收发器,无需外部时钟,片内上电复位,支持USB2.0协议。无需外部电阻,外围电路设计简单,如图12所示。图12 USB转UART电路图3.3.6 SD卡电路设计根据系统功能要求以及STM芯片集成了SPI,故采用SPI模式。SPI占用的I/O口相对较少,利于硬件电路的设计。SD卡引脚功能介绍如表1所示。SD卡接口电路如图13所示。表1 SD卡引脚功能图针脚4位SD模式1位SD模式SPI模式名称描述名称描述名称描述1CD/DAT3卡监测/数据位3CD卡监测CS芯片选择2CMD命令/回复CMD命令/回复DI数据输入3VSS1地VSS1地VSS1地4VCC电源VCC电源VCC电源5CLK时钟CLK时钟CLK时钟6VSS2地VSS2地VSS2地7DAT0数据位0DAT数据位DO数据输出8DAT0数据位1RSV保留RSV保留9DAT0数据位2RSV保留RSV保留图13 SD接口电路图3.3.7 LCD显示电路设计LCD由于能耗较低和体积较小成为当前流行的液晶显示器,用户可以使用其作为信息交流和人机交互的平台,所以成为了目前主要电子产品的显示器件。由于 STM32 里面设计集成常用的LCD及触摸屏的控制端口,故在设计LCD电路板的同时要将相关的驱动电路设计进去,系统使用的STM32芯片利用驱动芯片来控制液晶屏和触摸屏。系统使用的是3.2寸液晶屏,选择ITI9314芯片控制液晶屏,利用TSC2046芯片控制触摸屏。液晶屏最主要部位是位于中间的GRAM(Graphics RAM),可以理解为显存。液晶面板的一个像素点都对应着GRAM中每个存储单元。在其他模块的作用下使存储在GRAM的数据能够控制像素点,让像素点排列组合成各种特定的图像。对于ILI9341来说,芯片的工作模式是通过控制信号和引脚的配置来完成。微控制器与ILI9341的通信兼容SPI或8080接口模式,可以访问ILI9341的内部存储和控制资源。该LCD液晶屏是不能自己发光的,其实通过LED控制器控制背光使屏幕亮起来。LCD电路图如图14所示。图14 LCD电路图3.3.8 GSM电路设计在系统中,该GSM模块的主要功能是实现了信息的远程传输。当测得的环境参数达到设定的报警值时,若设置了GSM报警功能,系统会发送相应报警信息到客户的移动终端上。根据系统功能要求选择了SIM900A模块。SIM900A是由SIMCOM公司推出的GPRS通讯模块,该模块集成了GSM和GPRS通讯功能。其性能稳定,外观精巧,性价比高。SIM900A采用工业标准接口,工作频率为900兆赫兹或1800兆赫兹,模块整体的能耗较低,数据传输稳定可靠性较高。在系统中,根据系统功能要求,只用到GSM功能,此功能性能更加稳定。SIM900A与STM32控制器之间通过串口进行数据传输,STM32通过AT指令控制SIM900A的状态检查和信息发送11。(1) 电源电路设计SIM900A的电源接口采用的是常用的圆孔电源控座,该座支持宽电压输入,方便了外部电源接入。电源降压芯片采用的是MPS公司的MP2303,可以高效的进行同步降压。电源电路设计具有防反接保护,提高模块整体供电的安全性。电源电路图如15所示。图中VCC_IN为外部电压输入,VCC_INX是VCC_IN的连接引脚。图15 SIM900A电源电路图(2) SIM卡电路设计SIM卡即通常指的手机卡,在SIM900A模块中其接口电路设计较为简单,为了防止静电干扰,采用了SEMI公司的SMF05C芯片进行静电防护。SIM卡电路如图16所示。图16 SIM卡接口电路图此外该模块的串口通讯部分与STM32控制器的串口通讯电路一致,模块的天线使用外接天线,可以有效提高SIM900A的通信质量。3.3.9 本章小结本章主要介绍了系统的硬件设计,按照功能分类成,数据采集发送部分和数据接收控制部分,并详细介绍了这两部分的电路设计原理和功能。其中涉及无线通讯的ZigBee和GSM模块,需考虑抗干扰性。4 系统软件设计根据系统功能要求,将软件部分按模块化设计,分为数据采集传输模块、数据处理显示模块和上位软件设计模块。本章将对这三部分进行详细介绍。4.1 数据采集传输模块软件设计该模块的软件设计主要是基于ZigBee协议栈来开发,分为传感器数据采集、数据处理打包、ZigBee网络数据传输。传感器数据是由DHT11和MQ-2采集的温度、湿度、烟雾报警信息组成。首先三个ZigBee节点的传感器采集数据,然后由CC2530将数据打包进行无线发送接收,最后由两个协调器进行接收通过串口发送给STM32和PC机进行处理显示。根据系统功能要求,定义了系统的通信协议,以便与控制器进行数据传输。数据采集传输模块软件总体框图如图17所示。图17 数据采集传输软件总体框图4.1.1 系统通信协议设计现实生活中无线数据的传输过程,往往由于传输距离、外界电磁干扰等因素,造成数据丢包等现象。系统拥有特点的通信协议,使得系统通信的的安全性和可靠性进一步加强。制定协议时,一般要满足数据包要有包头、约定好数据长度、对数据进行自动校验、数据尽可能短。该协议用于对终端查询、控制以及终端的数据响应。系统通信协议如表2所示。表2 系统通信协议长 度缩 写说 明包头2字节SD以“$”开头,十六进制为0x24,0x40终端地址2字节ADDR终端的地址功能码1字节FC命令码数据长度1字节LEN后面带的数据字节数,没有数据长度为 0数据内容n字节DATA-校验码1字节XOR从终端地址开始,到数据内容的异或和包尾2字节ED以rn结尾,十 六 进 制 为0x0d,0x0a系统主要传递的传感器参数有DHT11及MQ-2所采集的数据,所以规定了这两种参数的传递格式,如表3所示。表3 传感器数据传输格式DHT11MQ-2功能码0x010x02数据长度52数据内容一字节 0:失败 1:成功0:失败 1:成功二字节,温度二字节,湿度0:灭 1:有烟校验码待计算待计算4.1.2 ZigBee节点程序设计ZigBee节点程序分为协调器节点程序和终端节点程序,其中终端节点程序包含DHT11和MQ-2驱动程序。两节点程序都是基于ZigBee2007协议栈开发。有了ZigBee协议栈,只需要关注所发的数据,可以少考虑ZigBee协议的具体实现细节。(一)终端节点程序设计DHT11数据发送程序:static void SerialApp_SendData_DHT11() uint8 SendBuf20=0; DHT11(); SendBuf0=$;SendBuf1=;SendBuf2 = HI_UINT16( EndDeviceID );SendBuf3 = LO_UINT16( EndDeviceID );SendBuf4 = ZIGBEE_FUN_CODE_CHECK_TEMP_HUM;SendBuf5=5; SendBuf6=1; SendBuf7=0; SendBuf8 = wendu; SendBuf9=0; SendBuf10 = shidu; SendBuf11 = XorCheckSum(&SendBuf2,9);SendBuf12 = r;SendBuf13 = n;MQ-2主要传输的是数字信号,所以可以给CC2530的IO口一个高低电平就是反映外界情况。我们需要做的就是对CC2530相应IO口的检测。MQ-2数据发送程序:static void SerialApp_SendData_MQ2() uint8 SendBuf20=0;SendBuf0=$;SendBuf1=;SendBuf2 = HI_UINT16( EndDeviceID );SendBuf3 = LO_UINT16( EndDeviceID );SendBuf4 = ZIGBEE_FUN_CODE_CHECK_Smoke; SendBuf5=2; SendBuf6=1; SendBuf7=GetGas()0?true:false; SendBuf8 = XorCheckSum(&SendBuf2, 6);SendBuf9 = r;SendBuf10 = n;终端节点上电后,会初始化系统硬件,再查询是否组建了无线传感器网络,如果有ZigBee无线网络将自动加入,然后处理传感器采集的数据进行打包,再发送到协调器。终端节点流程图如图18所示。图18 终端节点流程图终端节点数据发送部分程序:if ( events & SERIALAPP_SEND_PERIODIC_EVT )SerialApp_SendPeriodicMessage(); osal_start_timerEx(SerialApp_TaskID,SERIALAPP_SEND_PERIODIC_EV,(SERIALAPP_SEND_PERIODIC_TIMEOUT + (osal_rand() & 0x00FF) );return (events SERIALAPP_SEND_PERIODIC_EVT);if ( events & SERIALAPP_SEND_EVT )SerialApp_Send();return ( events SERIALAPP_SEND_EVT );if ( events & SERIALAPP_RESP_EVT )SerialApp_Resp();return ( events SERIALAPP_RESP_EVT );(二)协调器程序设计协调器负责接收终端节点发来的数据,通过串口传输给STM32控制器。协调器上电后,会按照编译时给定的参数,选择合适的信道、合适的网络号,从而建立ZigBee无线网络。协调器接收到数据后,协议栈会自动将数据封装成一个消息,然后消息会自动加入队列,其中任何消息都有其个人的消息ID12。所以只需要到消息队列中接收消息,然后从其中取得所需要的数据即可,其他的工作由ZigBee协议栈自动完成。程序主要用到协议栈的接收函数,流程图如图19所示。图19 协调器软件流程图程序主要用到了协议栈的接收函数:SerialApp_ProcessMSGCmd( afIncomingMSGPacket_t *pkt )接收函数部分程序:if(afDataLen=9&afRxData0=$&afRxData1= &afRxDataafDataLen-2=r &afRxDataafDataLen-1=n) uint16 addr=(afRxData2=213&display.y=262 &display.x=210&display.y=1 &display.x=13)Interface = Set_temp; break;default:break;4.2.2 GSM程序设计STM32控制器是通过串口与SIM900A进行数据传输,其主要是利用AT指令集对SIM900A进行控制功能。系统主要使用其短信发射功能。报警功能的短信发送采用的是TEXT模式15,有关的详细AT指令步骤如下:发送:AT返回:ATOK发送:AT+CMGF=1返回:AT+CMGF=1OK发送:AT+CSCA=+8615570919927返回:AT+CSCA=+8615570919927OK发送:AT+CMGS回:AT+CMGS送:英文或是数字返回:英文或是数字发送:1A(十六进制发送)短信发送函数代码:void sim900a_sms(char *num,char *smstext) char ucsbuff160; char end2 = 0x1A,0x00; SIM900A_CLEAN_RX(); if(IsASSIC(smstext)=SIM900A_TRUE) sim900a_tx_printf(AT+CSCS=GSMr); SIM900A_DELAY(100); sim900a_tx_printf(AT+CMGF=1r); SIM900A_DELAY(100); sim900a_tx_printf(AT+CMGS=%sr,num); SIM900A_DELAY(100); sim900a_tx_printf(%s,smstext); sim900a_tx_printf(%s,end);4.3 L

温馨提示

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

评论

0/150

提交评论