【电气设计自动化论文】林木生长监测系统中FFD模块设计
【电气设计自动化论文】林木生长监测系统中FFD模块设计,电气设计,自动化,论文,林木,生长,监测,系统,ffd,模块,设计
本科生毕业论文(设计)题目:林木生长监测系统中 FFD 模块设计 学 院 电子信息工程学院 学科门类 工科 专 业 电气工程及其自动化 学 号 姓 名 指导教师 年 4 月 10 日2015 届本科毕业论文(设计)1摘 要随着人们对低速率无线个人域网的应用需求越来越大,ZigBee 技术在近年来得到了快速的发展。由于 ZigBee 技术具有低功耗、成本低、低速率、近距离和网络容量大等特点,使得其得到了广泛的应用,具有十分广阔的研究前景。我们利用 Zigbee 的无线传送数据的功能,将其作为数据远程传送模块。Zigbee 对温度传感器测得的温度数据或者光照传感器测得数据按时发回到主机接收端。在主机端我们对数据进行分析处理。主机端可以带有显示,报警等功能。本文主要涉及具有完整功能的全功能设备的功能设计。方案中使用 STC12A32S2 微控制芯片和 CC2530 无线模块搭建了一个基于 ZigBee 技术的 FFD 全功能模块,该模块通过DS3231 进行精确的定时,并且采用无线数传模块与上位机通信。FFD 在网络中充当中心节点和协调器的作用,负责向终端节点查询温度的信息,然后反馈给计算机,达到无线测温的目的。关键词:无线数据传送,全功能模块(FFD ),ZigBee,CC2530 ,光照,温度2015 届本科毕业论文(设计)2ABSTRACTRecently ZigBee is developing at a high speed because the application demand on low-rate wireless personal area network is increasing. ZigBee technology has been widely applied in life as it has the following key features:low power ,low cost,low data rate ,short distance and large network capacity. It has very broad prospects for research.We use Zigbee wireless transmitting data function, data remote transmission module. Zigbee data of temperature sensors measured temperature or light sensor measured data is sent back to the host at the receiving end on time. We analyze the data processing in the host. The host can with display, alarm, etc.Through the analysis of wireless sensor and its network protocol,a method is proposed for temperature measurement based on ZigBee protocol wireless network FFD module design.The program is the use of STC12A32S2 microchip and CC2530 radio-chip to built a full function device based on ZigBee technology. Keywords:The wireless data transmission,FFD,ZigBee,CC2530,Temperature,light2015 届本科毕业论文(设计)3目 录目 录 .3前言 .5第 1 章 本论 .61.1 课题背景 61.2 国内外研究现状 .61.3 课题研究的目的和意义 71.4 论文研究的主要内容 7第 2 章 ZigBee 协议及其网络结构 .82.1 ZigBee 网络结构概述 82.1.1 Zigbee 协议体系结构 82.1.2 ZigBee 网络拓扑结构 .112.1.3 工作模式 .122.2 ZigBee 协议 122.2.3 ZigBee 协议标准 .122.3 逻辑设备类型 122.4 一个简单的无线数据通信时的一般步骤 .122.5 节点类型 .12第 3 章 系统硬件电路的实现 .133.1 方案实现总框图 133.2 其硬件资源清单 .133.3ZigBee 系统的总体结构 .143.3.1 CC2530 芯片 143.3.2 应用 153.3.2SZ05-ZBEE 嵌入式无线通信模块 163.4 MCU 及外围电路 .173.4.1 STC12A32S2 简介 .173.4.2 STC12A32S2 晶振连接电路设计 .183.4.3 定时电路设计 183.4.4 STC12A32S2 复位电路设计 .193.4.5 LCD 显示电路设计 .203.5 PC 机接口电路 .203.5.1 RS-485 通信 .203.5.2 无线数传模块 .20第 4 章 系统软件的实现 .214.1 总流程图 .214.2 建立工程 214.3 子程序模块分析 .214.3.1 初始化子程序段 .214.3.2 外部中断子程序 .224.3.3 串行中断 1 子程序 .234.3.4 串行中断 2 子程序 .244.4 系统软件对功耗的影响 242015 届本科毕业论文(设计)4第 5 章 系统性能测试 .265.1 通信距离测试 26第 6 章 结论与展望 .286.1 结论 286.2 展望 28致谢 .29参考文献 .30附录 A Zigbee 测温网络中 FFD 模块的原理图 .312015 届本科毕业论文(设计)5前言随着物联网无线通信技术的发展,无线通信、无线控制、无线组网和移动连接等走进我们生活,其原理主要运用 Zigbee 技术实现。单片机具有很强大的功能拓展,我们可以运用其特性进行物联网无线通信设计,我们的生活,信息可以进行通信交流,进而可以实现智能控制。这些新技术必将具有强大生命力和广阔的市场前景。很多领域由于物联网都实现智能化的革命。森林树木生长状况的检测对于消除森林安全隐患有很重要的意义。通过本装置对林木外部生长质量检测。在一些森林保护工作中运用这种技术手段有很大进步。我们通过监测信息对很多状况可以预测防预。运用无线 Zigbee 技术,我们就可以解决问题,同时,林木生长过程全程监测与生长要素控制可以市林木更加安全健康。运用信息技术,可以解决林木生长中的一些问题。为了使供应商能够提供最低可能功耗的设备, IEEE(Institute of Electrical and Electronics Engineers ,电气及电子工程师学会) 定义了两种不同类型的设备:一种是完整功能设备(full functional device, FFD),另一种是简化功能设备(reduced functional device, RFD)。 1本设计在 ZigBee 协议的基础上,提出了 FFD 的设计方案,完成了硬件电路的设计和程序的编写,最后完成对整个网络进行测试和数据分析。以下是本文的主要工作以及论文的组织结构。第一章:绪论。主要阐述该课题研究的背景和国内外的现状及意义,并说明了本文具体设计的内容。第二章:介绍 ZigBee 协议及其网络拓扑结构。接着给出了 Zighee 协议的相关概念,并介绍了 Zighee 网络的拓扑结构和节点工作模式。第三章:硬件设计。主要描述了利用 STC 单片机解决 ZigBee 的方案,包括 ZigBee 模块、MCU 的外围电路以及 LCD 显示电路的设计。第四章:软件设计。包含程序,其中包括流程图的绘制以及各子程序的分析。第五章:系统性能测试。本章主要对硬件电路在实际应用中的性能测试进行分析,进一步说明本设计的不足和优点。第六章:结论与展望。2015 届本科毕业论文(设计)6第 1 章 本论当问我 ZigBee 是什么的时候?我会回答:单片机+无线模块。例如一块 ZigBee 的MCU 只要一片 CC2530 就行。其功能强大、组网方式千变万化。无线传输的属性中我们可以看到 Zigbee 的应用范围是低速率远距离的。这造就了 Zigbee 低功耗信息传输的优势,网上经常谈到两节普通的 5 号干电池可以使用 6 个月到 2 年的时间,免去充电和更换电池的麻烦。在军事、国防、工农业、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多重要领域都可以发挥很大作用,可以做到智能化检测。 2Zigbee 的应用领域很广。随着技术日益成熟以及价格的下降,Zigbee 在大多领域取代原始的无线模块是毋庸置疑的。举个最简单的例子,终端节点和协调器的最大通讯距离为 200 米,我们在 200 米的地方加入 1 个点作为路由器,那么终端就可以通过路由器转发,也就是说通讯距离可达 400 米。而且新节点加入现有网络极为方便。我们姑且可以先把 ZigBee 当成普通的无线模块应用。开发无线传感器网络所采用的协议取决于网络具体的应用范围。ZigBee 协议是为家庭控制、安全系统、建筑自动化等方面设计的传感器网络协议。本文将会分析 ZigBee 协议的结构并基于 ZigBee 协议实现一种温度传感器网络。平台是 IAR + Z-stack 2007 PRO,芯片是 TI 公司的 CC2530。1.1 课题背景随着社会的发展,人们对通信技术的要求日益提高,无线通信技术在其中扮演着越来越重要的角色。各种短距离无线传输技术层出不穷:蓝牙(Bluetooth)、ZigBee、Wi Fi、WiMAX,无线 USB,UWB 等。其中蓝牙(Bluetooth)、UWB 和 ZigBee是最受产业界关注的三种标准。对于工业控制、家庭自动化和遥测遥感领域。ZigBee 技术专注于低成本,低功耗和低速率的无线通信市场,该协议标准与其他几种无线通讯标准相比。 3具有如下特点:1.成本低2.低功耗3.时延短:ZigBee 的响应速度较快4.网络容量大5.可靠度高6.安全7.传输距离远:两节点间的物理传输范围一般介于 10-100 米之间,在增加 RF 发射功率后,亦可增加到 1-3 千米。 41.2 国内外研究现状传感器网络系统是当今前沿性的热点研究方向之一,有着巨大的科学意义和应用前景,被认为是将对 21 世纪产生巨大影响力的高技术之一。国外的一些著名大学,如加州大学洛杉矶分校、康奈尔大学、麻省理工学院和加州大学伯克利分校等也先后开展了传感器网络方面的研究工作。加州大学洛杉矶分校在生态监控方面研究了小气候传感器和视频传感器网络技术,在地震监控和响应结构方面研究了数据通信控制器和网络时间同步、传感器可靠部署、宽带地震网络、结构检测的无线地震监控网络。 5在国内传感器网络系统方面的研究发展比较迅速。在环境监测、生态保护、交通、工业控制等方面,传感器网络可以为我们及时准确的提供全方位的监测手段和监测信息。2015 届本科毕业论文(设计)71.3 课题研究的目的和意义温度感应和监测技术在社会生产生活各个方面都有广泛应用,如医疗护理、环保、科研等。目前,此项设计的意义在于对无线测温的实用性机很强。对无线传感器网络节点的体系结构及各个模块的能量消耗情况进行了初步的分析,提出了无线传感器网络节点构架设计的系统方式,确定 FFD 主动的协调方式的架构设计。ZigBee 网络具有低成本、低功耗、低速率、近距离、短时延、高容量、高安全及免执照频段等特点。适合采用 ZigBee 网络来实现。ZigBee 是一个可由多达 65000 个无线数传模块组成的一个无线数传网络平台,在整个网络范围内,每个 ZigBee 网络数传模块之间可以相互通信,每个网络节点间的距离可以从标准的 75m 到几百米甚至几公里,另外整个 ZigBee 网络还可以实现与现有的其它的各种网络例如工业以太网等的连接。 6ZigBee 网络主要应用在工业控制( 例如矿井监控系统 ),汽车控制(例如轮胎压力监测系统) 、农业控制( 例如精确耕种监控网络)、医学领域(例如血压、体温和心跳监视网络)、家庭智能控制( 例如照明、水电气计量及报警)、消费类电子设备的遥控装置以及 PC 外设的无线连接等领域。 71.4 论文研究的主要内容本文主要研究基于 ZigBee 的无线测温网络中的 FFD 模块设计,本课题选用的是实现基于 STC8052 处理器和 CC2530 射频芯片的实用的、低成本的且可以灵活扩展的 ZigBee系统,并在此基础上移植 ZigBee 协议栈,组建 ZigBee 网络,实现与节点间的信息交互。本次设计的内容是无线测温网络中的 FFD 模块,要求基于 ZigBee 技术组网,担任网络协调者,形成网络,让其它的 FFD 或 RFD 连结,具备控制器的功能,可提供信息双向传输。主要对组网的方式,控制效率分析设计。完成模块的硬软件设计,硬件体系结构图和软件代码。 82015 届本科毕业论文(设计)8第 2 章 ZigBee 协议及其网络结构2.1 ZigBee 网络结构概述利用 ZigBee 技术组建的是一种低数据传输速率的无线个域网(Low Rate Wireless Personal Network,LR-WPAN),网络的基本成员成为“设备(Device)”。网络中的设备按照功能的不同分为两类:具有完整功能的全功能设备(Full Function Device,FFD )和只具有部分功能的精简功能设备(Reduce Function Device,RFD).其中 RFD 功能非常简单,可以用最低端的 MCU 实现,在网络了只能作为不需发送大量数据的终端设备,只能和某个特定的 FFD 进行通信。而 FFD 可以作为个域网的主协调器、协调器,也可以作为终端设备实用。在一个网络里至少需要一个主协调器。在有些覆盖范围较大的场合,可以组建树簇型 ZigBee 网络,通过路由器实现多跳的数据传输,作为路由器的必须是 FFD。 92.1.1 Zigbee 协议体系结构2015 届本科毕业论文(设计)9看了 Zigbee 的体系结构,联想到 TCP/IP 的体系结构,觉得似乎每个协议都是由 OSI七层协议演化而来的,由图可以看出 IEEE802.15.4 定义了物理层和 MAC 层,而 Zigbee联盟定义了网络层、应用层技术规范,每一层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。每个服务实体通过相应的服务接入点(SAP)为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。各层介绍:物理层(PHY)物理层定义了物理无线信道和 MAC 子层之间的接口,提供物理层数据服务和物理层管理服务。物理层数据服务从无线物理信道上收发数据。物理管理服务维护一个由物理层相关数据组成的数据库。物理层功能1)ZigBee 的激活;2)当前信道的能量检测;3)接收链路服务质量信息;4)ZigBee 信道接入方式;5)信道频率选择;6)数据传输和接收。MAC 层MAC 层负责处理所有的物理无线信道访问,并产生网络信号、同步信号;支持 PAN连接和分离,提供两个对等 MAC 实体之间可靠的链路。_MAC 层数据服务:保证 MAC协议数据单元在物理层数据服务中正确收发。MAC 层管理服务:维护一个存储 MAC 子层协议状态相关信息的数据库。2015 届本科毕业论文(设计)10MAC 层功能1)网络协调器产生信标;2)与信标同步;3)支持 PAN(个域网)链路的建立和断开;4)为设备的安全性提供支持;5)信道接入方式采用免冲突载波检测多址接入(CSMA-CA)机制;6)处理和维护保护时隙(GTS)机制;7)在两个对等的 MAC 实体之间提供一个可靠的通信链路。网络层(NWK)ZigBee 协议栈的核心部分在网络层。网络层主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能,支持 Cluster-Tree 等多种路由算法,支持星形(Star )、树形(Cluster-Tree)、网格(Mesh)等多种拓扑结构。网络层功能:1)网络发现;2)网络形成;3)允许设备连接;4)路由器初始化;5)设备同网络连接;6)直接将设备同网络连接;7)断开网络连接;8)重新复位设备;9)接收机同步;10)信息库维护。应用层(APL)ZigBee 应用层框架包括应用支持层(APS)、ZigBee 设备对象(ZDO)和制造商所定义的应用对象。应用支持层的功能包括:维持绑定表、在绑定的设备之间传送消息。所谓绑定就是基于两台设备的服务和需求将它们匹配地连接起来。ZigBee 设备对象的功能包括:定义设备在网络中的角色(如 ZigBee 协调器和终端设备),发起和响应绑定请求,在网络设备之间建立安全机制。ZigBee 设备对象还负责发现网络中的设备,并且决定向他们提供何种应用服务。ZigBee 应用层除了提供一些必要函2015 届本科毕业论文(设计)11数以及为网络层提供合适的服务接口外,一个重要的功能是应用者可在这层定义自己的应用对象。应用程序框架(AF):运行在 ZigBee 协议栈上的应用程序实际上就是厂商自定义的应用对象,并且遵循规范(profile)运行在端点 1 240 上。在 ZigBee 应用中,提供 2 种标准服务类型:键值对(KVP)或报文(MSG)ZigBee 设备对象(ZDO):远程设备通过 ZDO 请求描述符信息,接收到这些请求时,ZDO 会调用配置对象获取相应描述符值。另外,ZDO 提供绑定服务。 2、ZigBee 节点类型三种ZigBee 协调者-coord 为协调者节点a) 每个 ZigBee 网络必须有一个b) 初始化网络信息.ZigBee 路由器-router 为路由节点a) 路由信息ZigBee 终端节点-rfd 为终端节点a) 没有路由功能低价格总结: :ZigBee 协议栈已经实现了 ZigBee 协议,用户可以使用协议栈提供的 API 进行应用程序的开发,在开发过程中完全不必关心 ZigBee 协议的具体实现细节,要关心的问题是:应用层的数据是使用哪些函数通过什么方式把数据发送出去或者把数据接收过来的。所以最重要的是我们要学会使用 ZigBee 协议栈。 112.1.2 ZigBee 网络拓扑结构ZigBee 可以完成很好的组网功能,可以形成星型、树型和网状网,我们选用基本的点对点通信形式,主要操作 zigbee 协议实现;从设备在组网中的功能区别,ZigBee 网络中的功能设备分为三种。第一种终端设备,结构和功能最简单,用电池供电,大部分时间处于睡眠之中,很大程度降低功耗,节约电能,它们称为终端设备(End Device)。每个终端设备中最多可以有 240 个端点,这些端点共享同一个无线收发器,但执行不同的应用任务。处于中间层次的是路由器,它们必须具备数据的存储和转发能力、路由发现能力。路由器必须是 FFD。在网络结构的最顶层的是 ZigBee 协调器。协调器的总处于工作状态,因此它必须有稳定、可靠的电源供给。协调器也必须是 FFD。图 2- 1 星状网、树状网和网状网三种拓扑结构2015 届本科毕业论文(设计)122.1.3 工作模式信标模式实现了网络中所有设备的同步工作和同步休眠,这样可以降低功耗,在一些特殊场合比较有优势。而非信标模式则只允许终端设备进行周期性休眠,协调器和所有路由器 设备必须长期处于工作状态。Zigbee 的特点就是远距离低功耗的无线传输设备,节点模块闲时可以进入睡眠模式,在需要传输数据时候进行唤醒,能进一步节省电量。2.2 ZigBee 协议ZigBee 的协议分为两部分,IEEE 802.15.4 定义了 PHY(物理层)和 MAC(介质访问层)技术规范;ZigBee 联盟定义了 NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。ZigBee 协议栈就是将各个层定义的协议都集合在一直,以函数的形式实现,并给用户提供 API(应用层),用户可以直接调用。 12在开发一个应用时,协议较底下的层与应用是相互独立的,它们可以从第三方来获得,因此我们需要做的就只是在应用层进行相应的改动。TI 推出的 ZigBee 2007 协议栈也称 Z-Stack,用户通过 API 函数就可以轻易用 ZigBee。2.2.3 ZigBee 协议标准ZigBee 协议栈建立在 IEEE 80215 4 的 PHY 层和 MAC 子层规范之上。它实现了网络层(networklayer, NWK)和应用层(applicationlayer,APL)。在应用层内提供了应用支持子层(application support sublayer,APS)和 ZigBee 设备对象(ZigBee Device Object,ZDO) 。应用框架中则加入了用户自定义的应用对象。 ZigBee 的体系结构由称为层的各模块组成。每一层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。每个服务实体通过相应的服务接入点 (SAP)为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。2.3 逻辑设备类型在 ZigBee 网络中存在三种 逻辑设备类型:Coordinator(协 调 器 ) ,Router(路 由 器 ) 和 End-Device(终端设备)。ZigBee 网络由一个 Coordinator 以及多个 Router 和多个 End_Device 组成。2.4 一个简单的无线数据通信时的一般步骤1、 组网 2、 发送3、 接收2.5 节点类型ZigBee 网络包含三种类型的节点,即协调器 ZC(ZigBee Coordinator)、路由ZR(ZigBee Route)和终端设备 ZE(ZigBee End Deviee),其中协调器和路由器均为全功能设备(FFD),而终端设备选用精简功能设备(RFD)。协调器:一个 ZigBee 网络 PAN(Personal Area Network)有且仅有一个协调器,该设备负责启动网络,配置网络成员地址,维护网络,维护节点的绑定关系表等,需要最多的存储空间和计算能力;路由器:主要实现扩展网络及路由消息的功能。扩展网络,即作为网络中的潜在父节点,允许更多的设备接入网络。路由节点只有在树状网络和网状网络中存在;终端设备:不具备成为父节点或路由器的能力,一般作为网络的边缘设备,负责与实际的监控对象相连,这种设备只与自己的父节点主动进行通信,工作方式为节点之间的信息通信。 132015 届本科毕业论文(设计)13第 3 章 系统硬件电路的实现3.1 方案实现总框图本研究的核心电路是无线测温网络中的全功能(FFD)模块的设计,首先需要设计出来符合 ZigBee 标准的 FFD 电路。该电路主要由三个部分组成:射频模块、 MCU 部分及外围电路和 PC 机接口电路,如图 3-2 所示。上位机 P CM C U ( S T C 8 0 5 2 )S Z 0 5 - Z i g b e e 嵌入式无线通信模块L C D 显示电路L E D 指示电路 、 报警电路最小系统RS485ISP图 3- 1 FFD 硬件设计总框图射频部分采用德州仪器公司生产的 CC2530 是用于 2.4-GHz IEEE 802.15.4、ZigBee 和 RF4CE 应用的一个真正的片上系统(SoC )解决方案。外围电路部分包括:程序调试端口、指示电路、报警电路、显示电路等。其中程序调试端口是利用 ISP 接口来调试和下载程序;指示电路使用发光 LED 灯的状态来表示;报警电路可以选用 SPK 蜂鸣器报警电路;显示电路选用 I2C 式液晶显示电路。与 PC 机接口电路采用 RS232 通信方式,通过 RS-232 串口提供调试过程中的信息并与 PC 机互交 ZigBee 组网过程中的信息;同时,在设计 ZigBee 的 FFD 模块时预留了一些端口供灵活使用。3.2 其硬件资源清单项目 名称 型号 说明1 CPUCC2530 内存256M,最大发射功率4.5dBM2 系统时钟 32M 高精度无源晶振3 实时时钟 32.768kHz 无源晶振4 电池 3.7V 3.7V 手机锂电池5 LED 3 色.红、黄、绿 3 色 LED2015 届本科毕业论文(设计)14灯6 键盘 2 路按键7 下载接口8 串口接口 5 UART 接口9 ADC 接口 2 芯10 天线接口 SMA11 天线 2.4G 杆状天线和 PCB 天线12 功放 CC2591 最高放大倍数 22dBm13 电源接口 5V 5V 转 3.3V,200mA3.3ZigBee 系统的总体结构本网络有若干个 ZigBee 终端节点和一个 ZigBee 中心节点( 协调器)搭建一个星型的无线传感器网络,有终端节点上的温度传感器采集环境温度信息并由终端节点通过无线芯片发送到中心节点,中心节点将接受到的信息及时反馈到计算机上。整体网络结构如下图 3-1 所示:温度传感器温度传感器温度传感器R F DR F DR F DF F D图 3- 2 ZigBee 系统总体结构图本课题选用的是实现基于 STC12A32S2 处理器和 CC2530 射频芯片的实用的、低成本的且可以灵活扩展的 ZigBee 系统,并在此基础上移植 ZigBee 协议栈,组建 ZigBee 网络,实现节点间的信息交互。方案:采用增强型 8051 单片机 STC12A32S2 控制器,该产品特点是高速、低功耗、超强抗干扰的新一代 8051 单片机,指令代码完全兼容传统 8051,但速度快 8-12 倍。内部集成 MAX10 专用复位电路,2 路 PWM,8 路高速 8 位 A/D 转换(300K/S ),针对电机控制,强干扰场合。采用增强型 8051 单片机 STC12A32S2 作为控制处理器是本设计的最佳方案,一是该芯片能够完成本设计所有的设计要求,避免浪费;二是其特点是低电压、低功耗符合现代电子产品设计理念;三是经济方面也最为合适,价格低廉,开发成本低,性价比高,稳定好。3.3.1 CC2530 芯片CC2530 采用 40 脚 QFN 封装,其引脚图如下:2015 届本科毕业论文(设计)15图 3.1 13.3.2 应用远程控制系统(需要大于 64-KB 闪存)工业控制和监控低功耗无线传感网络医疗保健,无线设备CC2530 具有一个 IEEE 802.15.4 兼容无线收发器。 RF 内核控制模拟无线模块。另外,它提供了 MCU 和无线设备之间的一个接口,这使得可以发出命令,读取状态,自动操作和确定无线设备事件的顺序。无线设备还包括一个数据包过滤和地址识别模块。(3) CC2530 芯片典型硬件电路CC2530 芯片需要很少的外围部件配合就能实现信号的收发功能。下图 3-3 为 CC2530 芯片的一种典型硬件应用电路。关于 Zigbee 的选型方案,参考下图:正如上图所示目前市场上有三种 ZigBee 芯片方案,单芯片方案、ZigBee 处理器+MCU 方案和 RF 芯片+含 ZigBee 的 MCU 方案。三种方案中,方案一所使用的单芯片方案是空间占用最少的,将微控制器、协议栈和射频收发前端整合到单一的芯片上,从而降低了芯片成本和功耗,成为真正意义上的SoC( System on Chip)解决方案,该方案的优点是利用单芯片集成电路有效地降低系统功耗;内嵌的线路可以减少甚至避免电路板信号传送时所造成的系统信号串扰;减少芯片对外引脚数,简化系统加工的复杂性;减少外围驱动接口单元及电路板之间的信号传递,加快了数据传输和处理的速度。TI 公司的 CC2430、CC2431、CC2530、CC2531 都是第一种方案的典型的应用有。2015 届本科毕业论文(设计)16方案二采用的是 MCU,典型应用有 MSP430+CC2480,CC2480 是德州仪器 (TI)近日推出的最新 Z-Accel 系列 2.4GHz ZigBee 认证网络处理器中的首款产品, CC2480 把已经做好的 ZigBee 协议栈的软件放到芯片内部,用户通过外加一个 MCU,把应用程序放在外面的 MCU,这样就不用花很多的时间去开发 ZigBee 协议栈方面的软件。CC2480 能够处理所有时序关键型与处理密集型 ZigBee 协议任务,而将应用 MCU 的资源占用空间释放出来用于满足其他应用要求。CC2480 能够通过 SPI 或 UART 接口与各种 MCU 通信。方案三采用含有 ZigBee stack 的 MCU+RF 芯片的方案,典型的应用有 MSP430+CC2420,MSP430+CC2520。这种方案的优点是灵活性大,功耗相对较低。P1_71 P1_62P1_53 P1_44P1_35 P1_26DVDD7 P1_18P1_09 RESET_N10P0_011 P0_112P0_213P0_314P0_415P0_516P0_617P0_718XOSC_Q219XOSC_Q121AVDD_SOC20RBIAS122AVDD_RREG23RREG_OUT24AVDD_IF1 25RBIAS226AVDD_CHP 27VCO_GUARD 28AVDD_VCO29AVDD_PRE 30AVDD_RF1 31RF_P32TXRX_SWITCH 33RF_N 34AVDD_SW35AVDD_RF2 36AVDD_IF237AVDD_ADC38AVDD_ADC39AVDD_DGUARD40AVDD_DREG41DCOUPL42P2_443P2_344P2_245P2_146DVDD47P2_048CC2430CC2430XTAL232.768MC44115PF C43115PFC421220nfR26143KXTAL132MC19122PF C21122PFC241220nfR22156KANT50L3218.2nHL3418.8nHL33122nHC3415.6PFr/2 r/23.2-3.6口口图 3- 3 CC2530 典型硬件电路3.3.2SZ05-ZBEE 嵌入式无线通信模块顺舟科技 SZ05 系列为实现无线通信模块,集成了符合 ZIGBEE 协议标准的射频收发器和微处理器,它具有通讯距离远、抗干扰能力强、组网灵活、性能可靠稳定等优点和特性;可实现点对点、一点对多点、多点对多点之间的设备间数据的透明传输;可组成星型、树型和蜂窝型网状网络结构。 SZ05 系列无线通信模块数据接口包括:TTL 电平收发接口、标准串口 RS232 数据接口,可以实现数据的广播方式发送、按照目标地址发送模式,除可实现一般的点对点数据通信功能外,还可实现多点之间的数据通讯,串口通信使用方法简单便利,可以大大简短模块的嵌入匹配时间进程。 SZ05 系列无线通信模块分为中心协调器、路由器和终端节点,这三类设备具备不同的网络功能,中心协调器是网络的中心节点,负责网络的发起组织、网络维护和管理功能;路由器负责数据的路由中继转发,终端节点只进行本节点数据的发送和接收。中心2015 届本科毕业论文(设计)17协调器、路由器和终端节点这三种类型的设备在硬件结构上完全一致,只是设备嵌入软件不同,只需通过跳线设置或软件配置即可实现不同的设备功能。 15图 3- 4 SZ05 系列嵌入式模块典型连接图图 3- 5 SZ05 系列嵌入式模块实物图3.4 MCU 及外围电路MCU 部分使用中国大陆本土宏晶科技生产的增强型 8051 单片机 STC12A32S2,其特点是高速、低功耗、超强抗干扰的新一代 8051 单片机,指令代码完全兼容传统 8051,但速度快 8-12 倍。内部集成 MAX10 专用复位电路, 2 路 PWM,8 路高速 8 位 A/D 转换(300K/S),针对电机控制,强干扰场合。3.4.1 STC12A32S2 简介STC12C5201AD 系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代 8051 单片机,指令代码完全兼容传统 8051,但速度快 8-12倍。内部集成 MAX810 专用复位电路,2 路 PWM,8 路高速 8 位 A/D 转换(300K/S), 针对电机控制,强干扰场合。2015 届本科毕业论文(设计)183.4.2 STC12A32S2 晶振连接电路设计STC12A32S2 单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和 XTAL2 分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2 可以不接,而从 XTAL1 接入,如图 3-6。在本设计系统中采用的是内部振荡电路连接法,如图 3-7 所示。P4.21P1.02P1.13P1.24P1.35P1.46P1.57 P1.68P1.79 RESET10RXD11 P4.312TXD13 P3.214P3.315 P3.4(T0)16P3.5(T1)17WR18RD19X220X121VSS22P4.023P2.024P2.125P2.226P2.327P2.428P2.5 29P2.630P2.7 31PSEN 32ALE33P4.1 34EA 35P0.736P0.6 37P0.5 38P0.439P0.340P0.241P0.142P0.043VDD44U1STC12A32S2口口口口图 3- 6 内部振荡电路连接图CY1 11.0592MHzC220PC120PP4.21P1.02P1.13P1.24P1.35P1.46P1.57 P1.68P1.79 RESET10RXD11 P4.312TXD13 P3.214P3.315 P3.4(T0)16P3.5(T1)17WR18RD19X220X121VSS22P4.023P2.024P2.125P2.226P2.327P2.428P2.5 29P2.6 30P2.7 31PSEN 32ALE 33P4.1 34EA 35P0.7 36P0.6 37P0.5 38P0.4 39P0.340P0.241P0.142P0.043VDD44U1STC12A32S2图 3- 7 外部振荡电路连接图外接晶体以及电容 C1、C2 构成并联谐振电路,接在放大器的反馈回路中,内部振荡器产生自激振荡。对外接电容值虽然没有严格的要求,但电容的大小多少会影响振荡频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。外接晶体时,C1 和 C2 通常选 20pF 左。3.4.3 定时电路设计时钟电路的产生有很多种方式,比如通过 MCU 内部定时器产生时钟周期或是通过时钟芯片来产生时钟周期。由于它们的产生原理与方式不同,所以各有优缺点:MCU 内部定时器产生时钟周期是通过软件的方式来产生,简单易行,易于实现,但是在对时钟精确度要求较高的情况下,不能满足要求;而采用时钟芯片来产生的时钟周期精确度高,能够满足较高要求的情况,但是,其电路结构复杂,实现难。由于本设计对时钟精确度的要求较高,因此,采用时钟芯片 DS3231 来产生精确的时钟周期,以满足设计的要求。DS3231 是低成本、高精度 I2C 实时时钟(RTC),具有集成的温度补晶体振荡器和晶体。该器件包括电池输入端,断开主电源时仍然可保持精确的计时。其与 MCU 连接图如图 3-8 所示。2015 届本科毕业论文(设计)193.3_CPUC3 0.1uF P42P11 BT1BATTERYR210K 32KHZ1VCC2 INT/SQW3/RST4 NC5NC6 NC7NC8 NC 9NC10NC 11NC 12GND13VBAT 14SDA 15SCL16U5 DS3231 P10INT0图 3- 8 定时电路3.4.4 STC12A32S2 复位电路设计单片机在开机时都需要复位,以便中央处理器 CPU 以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。51 的 RST 引脚是复位信号的输入端。复位电平是高电平有效,持续时间要有 24 个时钟周期以上。方案一:上电复位电路上电瞬间,RST 端的电位与 Vcc 相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过 10ms。复位电路的典型参数为:C 取 10uF,R 取 2k,故时间常数=RC=10 10 2 10 =20ms63足以满足要求。其电路如图 3-9 所示。图 3- 9 上电复位电路连接图方案二:外部复位电路按下开关时,电源通过电阻对外接电容进行充电,使 RES 端为高电平,复位按钮松开后,电容通过下拉电阻放电,逐渐使 RET 端恢复低电平,如图 3-10 所示。图 3- 10 手动上电复位电路连接图本设计采用的是 STC12A32S2 单片机,由于其内置看门狗硬件电路,故复位端采取置空或是当做 I/O 口用,设计采用下拉一电阻接地。2015 届本科毕业论文(设计)203.4.5 LCD 显示电路设计LCM 显示电路采用 SMS0801 标准数码笔段型液晶显示模块(LCM),采用数码笔段型液晶显示器(LCD) ,可显示 8 位数字及 7 个小数点宽电压工作范围,微功耗,与 MCU 单片机采用二线式串口连接,广泛应用于手持式仪器仪表,智能显示仪表。其接口电路如下图 3-11 所示CLKDIOP4.21P1.02P1.13P1.24P1.35P1.46P1.57P1.68P1.79RESET10RXD11P4.312TXD13P3.214P3.315P3.4(T0)16P3.5(T1)17WR18RD19X220X121VSS22P4.023P2.024P2.125P2.226P2.327P2.428P2.5 29P2.6 30P2.7 31PSEN 32ALE 33P4.1 34EA 35P0.7 36P0.6 37P0.5 38P0.4 39P0.340P0.241P0.142P0.043VDD44U1STC12A32S2DIOCLK12LCDCON2图 3- 11 LCD 与 MCU 的连接图3.5 PC 机接口电路3.5.1 RS-485 通信本设计采用 RS-485 串行通信与 PC 机相连接,通过串口将采集到的数据发送给计算机,然后计算机根据相应的设置进行操作,其接口电路如图 3-12 所示。RO1 RE2DE3 DI4 GND 5A 6B7VCC 8U3 75LBC184R11100KR10 2KTXDRXDT1S9012R12120ABP3512 43SW2SW DIP-23.3_CPU3.3_CPU图 3- 12 RS-485 通信接口电路3.5.2 无线数传模块无线天线传输数据具有很好的适应复杂环境的能力。2015 届本科毕业论文(设计)21第 4 章 系统软件的实现4.1 总流程图本设计的软件实现是通过 Keil 和 IAR 编译软件来实现的。FFD 模块主要起到协调作用,实现对下位机节点的巡检和对上位机的通信,如下图 4-1 所示为软件的总流程图系统初始化程序开始W D 等待否是否有中断产生执行中断子程序退出中断是图 4- 1 程序总流程图从流程图上可以看出,在主程序中一直在等待,所有的功能均是通过中断来实现的,本次采用了一个外部中断和两个串行中断。两个串行中断分别实现对上位机的串行通信和对下位机 ZigBee 节点进行通信,该处理程序十分重要,它的处理来实现下位的低功耗。与 ZigBee 的通信,就是要通过 DS3231 产生同步时钟,并且每经过一个小时进行与下位机节点的一次校正,保证时钟同步,而且每经一秒巡检一个节点,这样对于节点模块实现低功耗具有很重要的意义;而与上位机的通信,就是将所采集的数据上传给上位机进行存储、处理。4.2 建立工程安装完协议栈 Zstack-1.4.3.1.2.1 后,找到 C:Texas InstrumentsZStack-1.4.3-1.2.1ProjectszstackSamples 下的 Simple App 工程,双击 SimpleApp.eww 打开工程,在Workspace 下拉框中选择 SimpleCollectorEB。保存后将文件夹名“SimpleApp”改为“Coordinator”,协调器工程。4.3 子程序模块分析该系统的子程序主要包括:初始化子程序段、外部中断子程序、串行中断 1 和串行中断 2,在以下各节中将对其分别进行分析。4.3.1 初始化子程序段#include 定义为嵌入系统初始化程序段。其中包括设置堆栈,将2015 届本科毕业论文(设计)22LCD 显示位的存储区间 NUM1_RAMNUM8_RAM 赋值为 0,设置程序状态字 P4SW,将各寄存器清零,设置 DS3231 初始化程序,设置 ZigBee 接收和发送模式,设置串行口 1和串行口 2 工作方式,设置串行通信波特率,开中断,设置中断控制寄存器,置位 RS485使其处于发送状态等。4.3.2 外部中断子程序外部中断由 DS3231 产生,每当 DS3231 产生精确的 1 秒时都会触发外部中断 0 产生中断。在中断处理程序中,读取 DS3231 秒的值,并调用显示子程序,然后向 RFD 子节点模块发送 55H 进行查询。如下图 4-2 所示为外部中断流程图。E X 0 I N T读取 D S 3 2 3 1 秒存储器的值调用 L C D 显示子程序向 R F D 发送 5 5 H 查询和时分秒校验和R E T I图 4- 2 外部中断流程图EX0INT: PUSH ACC;外部中断子程序PUSH PSWLCALL CLRDS3231LCALL DS3231_READLCALL CLRDS3231MOV A,SECONDANL A,#0FHMOV NUM2_RAM,AMOV A,SECONDSWAP AANL A,#0FHMOV NUM1_RAM,AMOV NUM3_RAM,#00HMOV NUM4_RAM,#00HMOV NUM5_RAM,#00HMOV NUM6_RAM,#00HMOV NUM7_RAM,#00HMOV NUM8_RAM,#00HLCALL DISP_NUMLCALL SEND_RFDPOP PSWPOP ACCRETI2015 届本科毕业论文(设计)234.3.3 串行中断 1 子程序图 4-3 所示为外部中断流程图,串行中断 1 负责与上位机的通信,其采用 RS485 通信方式,将节点采集过来的数据通过中心节点(FFD)上传给上位机。由于中心节点的存储空间有限,所以要及时将数据发送给电脑,在电脑中对数据进行分析、存储。UART1: PUSH ACCPUSH PSWMOV A,SBUFCLR RICJNE A,#0FEH,UART1_RETLCALL DELAY_URAT1JNB UART_SUCC_FLAG,UART1_RETMOV A,SUBFCJNE A,#55H,UART1_RETLCALL DELAY_URAT1JNB UART_SUCC_FLAG,UART1_RET MOV A,SBUFCJNE A,#02H,UART1_3LCALL SEND_SUB2_TEMPAJMP UART1_RETUART1_3: CJNE A,#03H,UART1_RETLCALL SEND_SUB3_TEMPUART1_RET: POP PSWPOP ACCRETIU A R T 1读取 S B U F 存储器的值将存储区的数据通过R S 4 8 5 发送给上位机R E T IS B U F = 0 F E H ?是发送校验成功 ?是否否u a r t _ s u c c _ f l a g = 0 ?是否图 4- 3 串行中断 1 流程图2015 届本科毕业论文(设计)244.3.4 串行中断 2 子程序串行中断 2 主要负责对下位机的巡检,并与其通信,将节点对环境温度测试的数据采集过来,并且将接收到的数据存储在相应的存储空间,通过 LCD 显示接收的信息。UART2: PUSH ACCPUSH PSWMOV A,S2CONANL A,#0FEHMOV S2CON,AMOV A,S2BUFCJNE A,#55H,UART2RET1 ;判断接收到的是否为 55H?;不等则跳出中断LCALL UART2_RECEIVE ;等,则继续接收JNB UART2OK_FLAG,UART2RET1;判断接收是否正确;否,则跳出MOV A,S2BUF ;正确则继续接收MOV NUMX_RAM,A ;并存储在 NUMX_RAMLCALL DISP_NUM ;调用 LCD 显示程序UART2RET1:POP PSWPOP ACCRETIU A R T 2读取 S 2 B U F 存储器的值调用 L C D 显示子程序数据存储R E T IS 2 B U F = 5 5 ?接收数据是接收成功 ?是否否图 4- 4 串行中断 2 流程图4.4 系统软件对功耗的影响ZigBee 技术的优势在于其低成本和低功耗的特性,而本设计的思想也是在其低功耗2015 届本科毕业论文(设计)25的基础之上进行的研究。在整个系统中,通过中心节点和终端节点的相互配合,并提高软件的实现效率,以提高 FFD 的巡检速率,进而实现对终端节点模块 RFD 的节能研究。无线收发器可以在不同模式下工作,一般具有 4 种工作方式:发送、接收、空闲和休眠。对于小功率发射来说,发射模式和接收模式消耗的功率大体上相同,甚至接收比发射需要更多的功率,这主要取决于收发器的体系结构。空闲模式的功率消耗可以比接收模式的消耗少,或者与接收功率相同。为了减少低传输流量条件下无线传感器网络的平均功率消耗,使收发模块长期处于空闲模式也会消耗大量的能量。因此,需要将收发器置于休眠状态,而不仅仅是空闲状态,即大部分时间内收发器是关闭的,只在必要时才激活使其在一个低占空比下工作。但是这样处理会增加复杂性,必须考虑额外消耗的时间和功率。 15实验表明:经测试改进前的平均工作电流约为 80 mA,改进后在扫描周期为 60 秒的情况下的平均工作电流为 0.5246mA。其中在一个扫描周期内其工作状态如表 4-1 所示。表 4- 1 RFD 各种工作状态下的功率消耗工作状态 工作电流 工作时间单片机掉电、ZIGBEE 掉电( RES、SLEEP、P0-P4 全高、无 LCD)0.131mA 59.714s单片机正常、ZIGBEE 掉电 6.80mA 0.019s单片机休眠、ZIGBEE 等待接收状态 68.50mA 0.150s单片机正常、ZIGBEE 正常处在接收状态 300mA 0.003s单片机正常、ZIGBEE 正常处在发送状态 800mA 0.006s单片机正常、ZIGBEE 等待 75mA 0.1s单片机正常、ZIGBEE 掉电 6.29mA 0.008s因此,一个优化的程序对节点的功耗影响是十分关键的,基于 TKS 的软件编写就是最大化的对程序进行了优化。本设计 FFD 模块通过 DS3231 产生精确地同步时钟,并且每经过一个小时进行与下位机节点的一次校正,保证时钟同步;每经一秒巡检一个节点,此时其它节点处于掉电状态,
收藏