版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计(论文)基ZigBee技术的森林火灾监测系统的网关设计 摘要该文在探讨森林起火的因素的基础上,介绍了一种基于ZigBee技术的森林火灾监测系统。该系统采用无线传感网络结合上位机数据处理中心的框架,采取ZigBee技术无线通信方案,给出了森林火灾网络监测系统的体系结构。在系统的总体框架下,重点设计了基于CC2430芯片的网络节点硬件电路,分析了ZigBee组网的设计方案,包括软件设计和硬件设计,详尽的讨论了网络的数据传输流程。该系统能够检测林区温湿度等相关环境参数的变化。最后,对节点性能和整个检测系统做了测试,证明了系统的稳定性和其数据传输的可靠性。关键词 ;ZigBee ;火灾检测 ;
2、网络节点ABSTRACTCompared with the popular techniques for forest fire detection,a solution of wireless forest fire monitoring system based on ZigBee technology is introduced.This system combines a framework of wireless sensor network host data processing center.The architecture of wireless sensor network
3、 for forest fire detection was described also,And the hardware circuit of networksnode was designed based on the chip of CC2430 in this paper,the design of ZigBee network is mainly analyzed,including its hardware design and software design,as well as the process of data transmission was discussed in
4、 detail.Some environment parameters such as temperature ,in the forest region can be monitored real-timely.Finally,node performance and monitoring system are tested to prove its stability and reliability of transmission.Keywords: ZigBee;fire detection;network node目录1. 绪 论11.1 课题背景11.2 课题研究的目的和意义21.3
5、 国内外研究概况31.4 论文的主要研究内容及论文安排42.ZigBee协议及所采用的芯片介绍52.1 ZigBee概述52.2 ZigBee网络基础72.2.1 网络节点类型72.2.2 网络拓扑形式72.2.3 工作模式82.3 CC2430芯片92.3.1 CC2430概述92.3.2 CC2430 芯片的主要特点103.基于ZigBee的温度采集系统113.1 开发环境简介113.1.1 C51RF-3-PK ZigBee无线网络技术专业开发平台113.1.2 IAR Embedded Workbench简介113.2 系统详细设计123.2.1系统整体结构123.2.2 节点的硬件设
6、计133.2.3下面对每个部分的功能和指标进行详细介绍:143.2.4 系统的程序设计143.2.5 基于ZigBee的温度采集系统程序流程图183.3 上位机193.3.1 上位机的功能简介193.3.2 上位机软件的程序的流程图203.3.3 上位机运行效果224.系统测试234.1系统测试步骤234.2 系统测试结果234.2.1 系统的硬件测试234.2.2 协议栈的测试234.2.3 上位机的测试234.3系统测试结果分析23结 论24致 谢25参考文献261. 绪 论1.1 课题背景信息技术发展日新月异,传统的有线通信方式因为其成本高、布线复杂,已经不能完全满足人们的应用需求了。由
7、此,无线通信技术应运而生。无线网络技术按照传输范围来划分,可分为无线广域网、无线城域网、无线局域网和无线个人域网。无线个人域网即短距离无线网络,典型的短距离无线传输技术有:蓝牙(Bluetooth)、ZigBee、WiFi等。在工业控制、家庭自动化和遥测遥感领域,蓝牙(Bluetooth)虽然成本较低,成熟度高,但是传输距离有限,仅为10米,可以参与组网的节点少。WiFi虽然传输速度较快,传输距离达到100米,但是其价格偏高,功耗较大,组网能力较差。相比之下ZigBee技术则主要针对低成本、低功耗和低速率的无线通信市场,具有如下特点:功耗低:工作模式情况下,ZigBee技术传输速率低,传输数据
8、量很小,因此信号的收发时间很短,其次在非工作模式时,ZigBee节点处于休眠模式。设备搜索时延一般为30ms,休眠激活时延为15ms,活动设备信道接入时延为15ms。由于工作时间较短、收发信息功耗较低且采用了休眠模式,使得ZigBee节点非常省电,ZigBee节点的电池工作时间可以长达6个月到2年左右。同时,由于电池时间取决于很多因素,例如:电池种类、容量和应用场合,ZigBee技术在协议上对电池使用也作了优化。对于典型应用,碱性电池可以使用数年,对于某些工作时间和总时间(工作时间+休眠时间)之比小于1%的情况,电池的寿命甚至可以超过10年。 数据传输可靠:ZigBee的媒体接入控制层(MAC
9、层)采用talk-when-ready的碰撞避免机制。在这种完全确认的数据传输机制下,当有数据传送需求时则立刻传送,发送的每个数据包都必须等待接收方的确认信息,并进行确认信息回复,若没有得到确认信息的回复就表示发生了碰撞,将再传一次,采用这种方法可以提高系统信息传输的可靠性。同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突。同时ZigBee针对时延敏感的应用做了优化,通信时延和休眠状态激活的时延都非常短。 网络容量大:ZigBee低速率、低功耗和短距离传输的特点使它非常适宜支持简单器件。ZigBee定义了两种器件:全功能器件(FFD)和简化功能器件(RFD)。对全功能器
10、件,要求它支持所有的49个基本参数。而对简化功能器件,在最小配置时只要求它支持38个基本参数。一个全功能器件可以与简化功能器件和其他全功能器件通话,可以按3种方式工作,分别为:个域网协调器、协调器或器件。而简化功能器件只能与全功能器件通话,仅用于非常简单的应用。一个ZigBee的网络最多包括有255个ZigBee网路节点,其中一个是主控(Master)设备,其余则是从属(Slave)设备。若是通过网络协调器(Network Coordinator),整个网络最多可以支持超过64000个ZigBee网路节点,再加上各个Network Coordinator可互相连接,整个ZigBee网络节点的数
11、目将十分可观。 兼容性:ZigBee技术与现有的控制网络标准无缝集成。通过网络协调器(Coordinator)自动建立网络,采用载波侦听/冲突检测(CSMA-CA)方式进行信道接入。为了可靠传递,还提供全握手协议。 安全性:Zigbee提供了数据完整性检查和鉴权功能,在数据传输中提供了三级安全性。第一级实际是无安全方式,对于某种应用,如果安全并不重要或者上层已经提供足够的安全保护,器件就可以选择这种方式来转移数据。对于第二级安全级别,器件可以使用接入控制清单(ACL)来防止非法器件获取数据,在这一级不采取加密措施。第三级安全级别在数据转移中采用属于高级加密标准(AES)的对称密码。AES可以用
12、来保护数据净荷和防止攻击者冒充合法器件。 实现成本低:模块的初始成本估计在6美元左右,很快就能降到1.5-2.5美元,且Zigbee协议免专利费用。目前低速低功率的UWB芯片组的价格至少为20美元。而ZigBee的价格目标仅为几美分。由于ZigBee技术具有上述特点,因而广泛应用在短距离低速率电子设备之间的数据传输。ZigBee联盟预测的主要应用领域包括工业控制、消费性电子设备、汽车自动化、农业自动化和医用设备控制等。1.2 课题研究的目的和意义ZigBee技术具有低成本、低功耗、近距离、短时延、高容量、高安全及免执照频段等优势,广泛应用于智能家庭、工业控制、自动抄表、医疗监护、传感器网络应用
13、和电信应用等领域。智能家庭:现今家用电器已经随处可见了,如何将这些电器和电子设备联系起来,组成一个网络,甚至可以通过网关连接到Internet,使得用户可以方便地在任何地方监控自己家里的情况?ZigBee技术提供了家庭智能化的技术支持,在ZigBee技术的支持下,家用电器可以组成一个无线局域网,省却了在家里布线的烦恼。工业控制:工厂环境当中有大量的传感器和控制器,可以利用ZigBee技术把它们连接成一个网络进行监控,加强作业管理,降低成本。自动抄表:现在在大多数地方还是使用人工的方式来逐家逐户进行抄表,十分不方便。而ZigBee可以用于这个领域,利用传感器把表的读数转化为数字信号,通过ZigB
14、ee网络把读数直接发送到提供煤气或水电的公司。使用ZigBee进行抄表还可以带来其它好处,比如煤气或水电公司可以直接把一些信息发送给用户,或者和节能相结合,当发现能源使用过快的时候可以自动降低使用速度。医疗监护:医疗工作中,时常要获得病人的生理指标、环境指标,可以通过放置传感器构成传感器网络,实时监测这些数据。由于是无线技术,传感器之间不需要有线连接,被监护的人也可以比较自由的行动,非常方便。传感器网络应用:传感器网络也是最近的一个研究热点,像货物跟踪、建筑物监测、环境保护等方面都有很好的应用前景。传感器网络要求节点低成本、低功耗,并且能够自动组网、易于维护、可靠性高。ZigBee在组网和低功
15、耗方面的优势使得它成为传感器网络应用的一个很好的技术选择。此外,ZigBee技术也可以应用到汽车电子、农业生产和军事领域中。随着物联网技术的日渐兴起,ZigBee技术将会扮演更为重要的角色。但是,物联网的全面普及将是一个十分漫长的过程,至少目前还在探索和实验阶段,距离实用还有很长的路要走。虽然前景一片大好,但是我们应该清楚认识到由于各方面的制约,ZigBee技术的大规模商业应用还有待时日,基于ZigBee技术的无线网络应用还远远说不上成熟,主要表现在:ZigBee市场仍处于起步探索阶段,终端产品和应用大多处于研发阶段,真正上市的少,且以家庭自动化为主;潜在应用多,但具有很大出货量的典型应用少,
16、市场缺乏明确方向;使用点对多点星状拓扑的应用较多,体现ZigBee优势的网状网络应用少;基于IEEE 802.15.4底层协议的应用多,而基于ZigBee标准协议的应用少。1.3 国内外研究概况ZigBee作为一种新兴的国际标准短距离无线通信协议,其协议栈体系结构是基于标准七层开放式系统互联参考模型(OSI), IEEE 802.15.4-2003标准定义了下面的两层:物理层和媒体接入控制子层;网络层、应用会聚层、应用层由ZigBee联盟制订。2002年 ,ZigBee联盟创立,创始者包括IC供应商、无线IP提供商、设备制造商、测试设备制造商和最终产品制造商等,这些企业能提供适应ZigBee的
17、产品和解决方案。ZigBee联盟于2004年底发布了ZigBee协议10版本规范,2006年11月发布了ZigBee协议11版本规范,2007年10月发布了ZigBee Pro版本规范。ZigBee联盟的主要目标是以通过加入无线网络功能,为消费者提供更富有弹性、更容易使用的电子产品。ZigBee技术能融入各类电子产品,应用范围横跨全球的民用、商用、公共事业以及工业等市场。使得联盟会员可以利用ZigBee这个标准化无线网络平台,设计出简单、可靠、便宜又节省电力的各种产品来。 飞思卡尔推出了全球首个符合ZigBee标准的平台,使得制造商能够将ZigBee技术应用于传感和监控领域。截止至2005年4
18、月,已有Texas Instruments(收购Chipcon)、Freeseale、CompXs、Ember等四家公司通过了ZigBee联盟对其产品所作的测试和兼容性验证。目前市场上RF主流芯片的供应商包括TI、EMBER、FREESCALE以及JENNIC,他们分别推出单芯片解决方案CC2430CC2431、EM250、MCl321x以及JN5121,在市场上极具竞争力。主流的商用ZigBee的协议栈为Figure8 wireless提供的F8w Z-Stack。1.4 论文的主要研究内容及论文安排本文主要研究了基于ZigBee的温度检测系统的设计,包括网关的硬件设计、无线传感器网络的组建
19、以及上位机的编程实现。本文的安排如下:第一部分阐述了设计的背景、目的和意义以及目前国内外的ZigBee研究发展情况。第二部分介绍了ZigBee的协议栈结构、各层的功能、ZigBee的网络节点类型、网络体系结构及工作模式,此外简要介绍了CC2430芯片。第三部分介绍了本设计的开发环境以及相关的软硬件设计,包括上位机的设计。第四部分介绍了该设计的测试过程和调试过程。第五部分对全文进行了总结以及一些个人心得。第六部分为致谢部分,对本次设计中给与帮助和执导的老师以诚挚的感谢。第七部分为参考文献,是本次设计中所用到的知识点参考资料等。2.ZigBee协议及所采用的芯片介绍2.1 ZigBee概述ZigB
20、ee一词来源于蜜蜂赖以生存的通信方式ZigZag形状的舞蹈,是一种低成本、低功耗的近距离无线组网通信技术。2000年,IEEE 802.15工作组成立的任务组TG4(Task Group,TG)制定了IEEE 802.15.4标准。该标准以低能耗、低速率传输、低成本为重点目标,为设备之间的低速无线互连提供了统一标准,就是ZigBee无线通信技术。ZigBee协议是基于IEEE 802.15.4标准的,由IEEE 802.15.4和ZigBee联盟共同制定。IEEE 802.15.4工作组制定ZigBee协议的物理层(PHY)和媒体访问控制层( MAC层)协议。ZigBee联盟成立用于2002年
21、,定义了ZigBee协议的网络层(NWK)、应用层(APL)和安全服务规范。协议栈结构如图2-1。应用层(含应用接口层)用户安全层ZigBee联盟网络层MAC层IEEE 802.15.4物理层图2-1 ZigBee协议栈结构ZigBee协议由物理层(PHY)、介质访问控制子层(MAC)、网络层(NWK),应用层(APL)及安全服务提供层(SSP)五块内容组成。其中PHY层和MAC层标准由IEEE 802.15.4标准定义,MAC层之上的NWK层,APL层及SSP层,由ZigBee联盟的ZigBee标准定义。APL层由应用支持层(APS),应用框架(AF)以及ZigBee设备对象(ZDO)及ZD
22、O管理平台组成。PHY层定义了无线射频应该具备的特征,提供了868MHz-868.6MHz、902MHz-928MHz和2400MHz-24835MHz三种不同的频段,分别支持20kbps、40kbps和250kbps的传输速率,1个、10个以及16个不同的信道。ZigBee的传输距离与输出功率和环境参数有关,一般为10100米之间。PHY层提供两种服务:PHY层数据服务和PHY层管理服务,PHY层数据服务是通过无线信道发送和接收物理层协议数据单元(PPDU),PHY层的特性是激活和关闭无线收发器、能量检测、链路质量指示、空闲信道评估、通过物理媒介接收和发送分组数据。MAC层使用CSMA-CA
23、冲突避免机制对无线信道访问进行控制,负责物理相邻设备问的可靠链接,支持关联(Association)和退出关联(Disassociation)以及MAC层安全。MAC层提供两种服务:MAC层数据服务和MAC层管理服务,MAC层数据服务通过物理层数据服务发送和接收MAC层协议数据单元(MPDU)。MAC层的主要功能是:进行信标管理、信道接入、保证时隙(GTS)管理、帧确认应答帧传送、连接和断开连接。NWK层提供网络节点地址分配,组网管理,消息路由,路径发现及维护等功能。NWK层主要是为了确保正确地操作IEEE 802.15.42003MAC子层和为应用层提供服务接口。NWK层从概念上包括两个服务
24、实体:数据服务实体和管理服务实体。NWK层的责任主要包括加入和离开一个网络用到的机制、应用帧安全机制和他们的目的地路由帧机制,ZigBee协调器的网络层还负责建立一个新的网络。ZigBee应用层包括应用支持子层(APS子层)、应用框架(AF)和ZigBee设备对象(ZDO)。APS子层负责建立和维护绑定表,绑定表主要根据设备之间的服务和他们的需求使设备相互配对。ZigBee的应用框架(AF)为各个用户自定义的应用对象提供了模板式的活动空间,并提供了键值对(KVP)服务和报文(MSG)服务供应用对象的数据传输使用。一个设备允许最多240个用户自定义应用对象,分别指定在端点l至端点240上。ZDO
25、可以看成是指配到端点O上的一个特殊的应用对象,被所有ZigBee设备包含,是所有用户自定义的应用对象调用的一个功能集,包括网络角色管理,绑定管理,安全管理等。ZDO负责定义设备在网络中的角色(例如是ZigBee协调器或者ZigBee终端设备)、发现设备和决定他们提供哪种应用服务,发现或响应绑定请求,在网络设备之间建立可靠的关联。安全服务提供者SSP(Security Service Provider)向NWK层和APS层提供安全服务。ZigBee协议层与层之间是通过原语进行信息的交换和应答的。大多数层都向上层提供数据和管理两种服务接口,数据SAP(Service Access Point)和管
26、理SAP(Service Access Point)。数据服务接口的目标是向上层提供所需的常规数据服务,管理服务接口的目标是向上层提供访问内部层参数、配置和管理数据的机制。2.2 ZigBee网络基础ZigBee网络基础主要包括设备类型,拓扑结构和路由方式三方面的内容,ZigBee标准规定的网络节点分为协调器(Coordinator)、路由器(Router)和终端节点(End Device)。节点类型是网络层的概念,反映了网络的拓扑形式。ZigBee网络具有三种拓扑形式:星型拓扑、树型拓扑、网状拓扑。2.2.1 网络节点类型 (1) 协调器(Coordinator) 在各种拓扑形式的ZigBe
27、e网络中,有且只有一个协调器,它负责选择网络所使用的频率通道、建立网络并将其他节点加入网络、提供信息路由、安全管理和其他服务。 (2) 路由器(Router)当采用树型和网状拓扑结构时,需要用到路由器节点,它也可以加入协调器,是网络远距离延伸的必要部件。它负责发送和接受节点自身信息;节点之间转发信息;允许子节点通过它加入网络。 (3) 终端节点终端节点的主要任务就是发送和接收信息,通常一个终端节点不处在数据收发状态时可进入休眠状态以降低能耗。2.2.2 网络拓扑形式 (1) 星型拓扑星型拓扑是最简单的拓扑形式,如图2-2。图中包含一个协调器节点和一些终端节点。每一个终端节点只能和协调器节点进行
28、通讯,在两个终端节点之间进行通讯必须通过协调器节点进行转发,其缺点是节点之间的数据路由只有唯一路径。 图2-2 星形拓扑结构 (2)树型拓扑树型拓扑结构如图2-3。协调器可以连接路由器节点和终端节点,子节点的路由器节点也可以连接路由器节点和终端节点。直接通信只可以在父节点和子节点之间进行,非父子关系的节点只能间接通信。图2-3 树状拓扑结构 (3)网状拓扑网状拓扑如图2-4。网状拓扑具有灵活路由选择方式,如果某个路由路径出现问题,信息可自动沿其他路径进行传输。任意两个节点可相互传输数据,网络会自动按照ZigBee协议算法选择最优化路径,以使网络更稳定,通讯更有效率。图2-4 网状拓扑结构2.2
29、.3 工作模式ZigBee网络的工作模式可以分为信标(Beacon)模式和非信标(Non-beacon)模式两种。信标模式可以实现网络中所有设备的同步工作和同步休眠,以达到最大限度地节省功耗,而非信标模式只允许ZE进行周期性休眠,协调器和所有路由器设备长期处于工作状态。在信标模式下,协调器负责以一定的间隔时间(一般在15ms-4mins之间)向网络广播信标帧,两个信标帧发送间隔之间有16个相同的时槽,这些时槽分为网络休眠区和网络活动区两个部分,消息只能在网络活动区的各个时槽内发送。非信标模式下,ZigBee标准采用父节点为子节点缓存数据,终端节点主动向其父节点提取数据的机制,实现终端节点的周期
30、性(周期可设置)休眠。网络中所有的父节点需要为自己的子节点缓存数据帧,所有子节点的大多数时间都处于休眠状态,周期性的醒来与父节点握手以确认自己仍处于网络中,并向父节点提取数据,其从休眠模式转入数据传输模式一般只需要15ms。2.3 CC2430芯片2.3.1 CC2430概述CC2430是一颗真正的系统芯片(SoC)CMOS解决方案。这种解决方案能够提高性能并满足以ZigBee为基础的2.4GHz ISM波段应用,及对低成本,低功耗的要求。它结合一个高性能2.4GHz DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器。图2-5为芯片CC2430的引脚及外接电路图。 图
31、2-5 CC2430外接电路图CC2430的尺寸只有77mm 48-pin的封装,采用具有内嵌闪存的0.18微米 CMOS标准技术。这可实现数字基带处理器,RF、模拟电路及系统存储器 整合在同一个硅晶片上。 CC2430包含一个增强型工业标准的8位8051微控制器内核,运行时钟32MHz。 CC2430包含一个DMA控制器。8K字节静态RAM,其中的4K字节是超低功耗SRAM。32K,64K或128K字节的片内Flash块提供在电路可编程非易失性存储器。 CC2430集成了4个振荡器用于系统时钟和定时操作:一个32MHz晶体振荡器,一个16MHz RC-振荡器,一个可选的32.768kHz晶体
32、振荡器和一个可选的32.768kHz RC 振荡器。 CC2430也集成了用于用户自定义应用的外设。一个AES协处理器被集成在CC2430之中,用来支持IEEE 802.15.4 MAC 安全所需的(128位关键字)AES的运行,以尽可能少的占用微控制器。 中断控制器为总共18个中断源提供服务,他们中的每个中断都被赋予4个中断优先级中的某一个。调试接口采用两线串行接口,该接口被用于在电路调试和外部Flash编程。I/O控制器的职责是21个一般I/O口的灵活分配和可靠控制。 CC2430包括四个定时器:一个16位MAC定时器,用以为IEEE 802.15.4的CSMA-CA算法提供定时以及为IE
33、EE 802.15.4的MAC层提供定时。一个一般的16位和两个8位定时器,支持典型的定时/计数功能,例如,输入捕捉、比较输出和PWM功能。 CC2430内集成的其他外设有: 实时时钟;上电复位;8通道,814位ADC;可编程看门狗;两个可编程USART,用于主/从SPI或UART操作。 为了更好的处理网络和应用操作的带宽,CC2430集成了大多数对定时要求严格的一系列IEEE 802.15.4 MAC协议,以减轻微控制器的负担。这包括:自动前导帧发生器、同步字插入/检测、CRC-16校验、CCA、信号强度检测/数字RSSI、连接品质指示(LQI) 和CSMA/CA协处理器。2.3.2 CC2
34、430 芯片的主要特点CC2430 芯片延用了以往CC2420 芯片的架构,在单个芯片上整合了ZigBee 射频(RF) 前端、内存和微控制器。它使用1 个8 位MCU(8051),具有128 KB 可编程闪存和8 KB 的RAM,还包含模拟数字转换器(ADC)、几个定时器(Timer)、AES128 协同处理器、看门狗定时器(Watchdog timer)、32 kHz 晶振的休眠模式定时器、上电复位电路(Power On Reset)、掉电检测电路(Brown out detection),以及21 个可编程I/O 引脚。 CC2430 芯片采用0.18 m CMOS 工艺生产;在接收和发
35、射模式下,电流损耗分别低 于27 mA 或25 mA。CC2430 的休眠模式和转换到主动模式的超短时间的特性,特别适合那些要求电池寿命非常长的应用。 3.基于ZigBee的温度采集系统3.1 开发环境简介3.1.1 C51RF-3-PK ZigBee无线网络技术专业开发平台成都无线龙ZigBee协议栈高级开发系统C51RF-3是一款经济、高效、方便的开发工具套装,满足IEEE 802.15.4标准和ZigBee技术标准的无线网络技术设计开发。C51RF-3-PK开发平台具有以下特点:(1)具有USB高速下载、支持IAR集成开发环境;(2)具有在线下载、调试、仿真功能;(3)可以根据需求选配多
36、种扩展开发板;(4)开发方便、快捷、简单;(5)功能强大的C51RF-3仿真器,不仅可以实现对CC2430/CC2431程序下载,还可实现开发仿真调试;(6)多种扩展板既有简单开发按键、又有液晶显示及各种传感器,不但可以实现简单的CC2430/CC2431开发,还可作复杂的ZigBee无线网络。3.1.2 IAR Embedded Workbench简介IAR Embedded Workbench(简称EW)的C/C+交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。EW 今天已经支持35 种以上的8 位/16 位32 位ARM 的微处理器结构,对不同的微处理器提供一样直
37、观用户界面。EW 包括:嵌入式C/C+优化编译器,汇编器,连接定位器,库管理员,编辑器,项目管理器和C-SPY 调试器。使用IAR 的编译器最优化最紧凑的代码,可以节省硬件资源,最大限度地降低产品成本,提高产品竞争力。IAR Embedded Workbench 集成的编译器主要产品特征: 高效 PROMable 代码 完全标准 C 兼容 内建对应芯片的程序速度和大小优化器 目标特性扩充 版本控制和扩展工具支持良好 便捷的中断处理和模拟 瓶颈性能分析 高效浮点支持 内存模式选择 工程中相对路径支持IAR Systems 的C/C+编译器可以生成高效可靠的可执行代码,并且应用程序规模越大,效果明
38、显。与其他的工具开发厂商相比,系统同时使用全局和针对具体芯片的优化技术。连接器提供的全局类型检测和范围检测对于生成目标的代码的质量是至关重要。IAR Embedded Workbench 是一套完整的集成开发工具集合:包括从代码编辑器、工程建立到C/C+编译器、连接器和调试器的各类开发工具。它和各种仿真器、调试器紧密结合,使用户在开发和调试过程中,仅仅使用一种开发环境界面,就可以完成多种微控制器的开发工作。除上述的几点之外,在IAR Embedded Workbench,IAR Systems 还提供了visual STATE和IAR MakeApp两套图形开发工具帮助开发者完成应用程序的开发
39、,它可以根据设计自动生成应用程序代码和自动生成驱动程序,使开发者摆脱这些耗时的任务同时保证了代码的质量。3.2 系统详细设计3.2.1系统整体结构本设计所实现的无线温度采集系统以C51RF-3-PK开发平台为核心,使用了两块表演板,利用芯片自带的温度传感器采集温度值,充分发挥了C51RF-3-PK开发平台的丰富资源。在上位机上,采集的温度实时地显示出来,并且通过折线图动态描绘出温度的变化趋势。考虑到可能采集多个节点的温度,上位机可以根据客户要求切换不同节点的温度折线图。为了方便对以往数据的查看,采集到的数据被实时保存到了文档之中。本系统由三类节点组成:ZigBee协调器节点、路由器节点、传感器
40、节点。图3-1所示是其组成示意图,其中ZigBee协调器是分布式处理中心,即汇聚节点。多个传感器节点置于不同的监测区域,每个传感器节点会先把数据传给汇聚节点,然后汇聚节点把数据通过串口传给上位机做进一步处理并显示给用户。协调器节点可以与多个传感器节点通信,这样可以使本系统同时监测多个区域,何时检测哪个区域通常由用户通过协调器节点来控制。当被检测区域的障碍物较多或者协调器节点距离传感器节点较远时,可以通过增加路由器节点来增强网络的稳定性。当用户没有数据请求时,传感器节点只进行低功耗的信道扫描。图3-1 温度采集系统示意图3.2.2 节点的硬件设计 (1) 协调器节点的硬件设计ZigBee协调器节
41、点硬件设计如图3-2所示,该节点由无线收发器CC2430、射频天线RF、电源模块、晶振电路和串口电路组成。RF的输入输出是高阻和差动的。当使用不平衡天线(例如单极天线)时,为了优化性能,应当使用不平衡变压器。不平衡变压器可以运行在使用低成本的单独电感器和电容器的场合。电源模块用于CC2430的数字I/O和部分模拟I/O的供电,供电电压为2036 V。CC2430可以同时接32 MHz和32768kHz的两种频率的晶振电路,以满足不同的要求。串口电路用于CC2430将接收到的数据传送给上位机,由于上位机与CC2430的电平不一致,所以需要一个MAX232电平转换电路。图3-2 协调器节点 (2)
42、 路由器节点的硬件设计路由器节点的主要任务是将不同区域的数据从传感器节点路由到协调器节点,因此,该电路比较简单,该节点由无线收发器CC2430、射频天线RF、电源模块和晶振电路组成。 (3) 传感器节点的硬件设计传感器节点和硬件设计如图3-3所示,该节点由无线收发器CC2430、射频天线RF、电源模块、晶振电路和串口电路组成。由于CC2430芯片本身带有温度传感器,因而本实验直接采用了CC2430的内置温度传感器监测温度。但是该温度传感器的精度有限,如果要求更高的精度,可以扩展出一个温度传感器,如DS18B20。图3-3 传感器节点3.2.3下面对每个部分的功能和指标进行详细介绍: (1)信息
43、收集终端:即协调器,放置于监控室, 完成网络的建立与维护,和节点之间绑定的建立,实现数据的汇总,然后以有线的方式传送到上位机软件,进行进一步数据处理。本设计采用RS-232串口将采集到的数据发送到上位机。 (2)温度采集终端:即节点,放置在需要采集温度的地方。温度采集终端可以实现网络的加入、与协调器绑定的建立、温度的检测。检测到的温度通过ZigBee无线网络发送到协调器。 (3)上位机:位于监控室,完成对所采集温度的汇总与显示。采集到的数据实时保存到文档中,同时以折线图的形式实时反映出温度的变化趋势,使其更为直观。显示的折线图可以在不同节点之间切换。3.2.4 系统的程序设计(1) 设备的描述
44、程序中,两种设备被配置:传感器和中心收集设备3。中心收集设备作为协调器或路由器启动,描述为:const SimpleDescriptionFormat_t zb_SimpleDesc =MY_ENDPOINT_ID, / 端点 MY_PROFILE_ID, / Profile ID DEV_ID_COLLECTOR, / 设备 ID DEVICE_VERSION_COLLECTOR, / 设备版本 0, / 保留 NUM_IN_CMD_COLLECTOR, / 输入命令数量 (cId_t *) zb_InCmdList, / 输入命令列表 NUM_OUT_CMD_COLLECTOR, / 输出
45、命令数量 (cId_t *) NULL / 输出命令列表;传感器设备的描述为:const SimpleDescriptionFormat_t zb_SimpleDesc =MY_ENDPOINT_ID, / 端点MY_PROFILE_ID, / Profile IDDEV_ID_COLLECTOR, / 设备 IDDEVICE_VERSION_COLLECTOR, / 设备版本 0, / 保留 NUM_IN_CMD_COLLECTOR, / 输入命令数量 (cId_t *) zb_InCmdList, / 输入命令列表NUM_OUT_CMD_SENSOR, / 输出命令数量(cId_t *)
46、zb_OutCmdList / 输出命令列表;(2) 节点类型的确定传感器程序下载成功之后,传感器节点启动类型就已经确定,而中心收集设备启动时需要确定设备的启动类型,由如下程序可以看出,当按键1按下时,设备作为协调器启动,当按键2按下时,设备作为路由器启动。if ( keys & HAL_KEY_SW_1 ) / 按键2作为路由器启动logicalType = ZG_DEVICETYPE_COORDINATOR;if ( keys & HAL_KEY_SW_2 ) / 按键2作为路由器启动 logicalType = ZG_DEVICETYPE_ROUTER;(3)发现和绑定传感器设备加入网络
47、后将试图发现和绑定它自己到一个中心收集设备。如果发现个收集设备,它将选择第一个响应的中心收集设备建立绑定;如果没有发现收集节点,那么它将不断进行搜索。用osal_start_timer (MY_START_EVT,myStartRetryDelay)函数设置一个时间事件,该事件处理如下:If(event & MY_FIND_COLLECTER_EVT) /继续发送绑定Zb_BindDevice(TRUE,SENSOR_REPORT_CMD_ID,(uint8 *)NULL);该代码在zb_HandleOsalEvent()函数中,是专门为用户留下的事件处理函数。可以看出,如果没有建立绑定,则传
48、感器设备将周期性的发送绑定请求。网络启动建立成功后,中心收集设备必须进入允许绑定模式,才能对传感器发送的绑定请求做出响应。本设计中,确定中心设备的启动模式之后,按下按键1可以使设备进入绑定模式,此时LED1点亮;按下按键4可以退出绑定模式,此时LED1熄灭。(4)数据包的发送和接收绑定建立成功后,传感器设备将根据定义的时间间隔周期地采集温度传感器通过报告命令发送给收集设备。该报告命令要求收集设备应答,通过函数zb_SendDataConfirm()可以指示应答。如果传感器设备有一个应答没有接收到,则传感器设备将移除与它的绑定,重新发现和绑定。通过函数zb_HandleOsalEvent()完成
49、用户定义的事件。Void zb_H andleOsalEvent( uint16 event) uint8 pData2;if(event & MY_START_EVT)Zb_StartRequest();if ( event & MY_REPORT_TEMP_EVT ) /读取温度值 pData0 = TEMP_REPORT;pData1 = myApp_ReadTemperature();zb_SendDataRequest( 0xFFFE, SENSOR_REPORT_CMD_ID, 2, pData, 0, AF_ACK_REQUEST, 0 );osal_start_timerEx(
50、sapi_TaskID, MY_REPORT_TEMP_EVT, myTempReportPeriod );if ( event & MY_FIND_COLLECTOR_EVT ) Find and bind to a collector devicezb_BindDevice( TRUE, SENSOR_REPORT_CMD_ID, (uint8 *)NULL );收集节点接收到传感器设备发送的数据包后,通过串口传输到PC机。该过程通过接收数据指示函数zb_ReceiveDataIndication()完成。CONST uint8 strDevice = 0x;void zb_Receive
51、DataIndication( uint16 source, uint16 command, uint16 len, uint8 *pData ) uint8 buf32; uint8 *pBuf; uint8 tmpLen; uint8 sensorReading;if (command = SENSOR_REPORT_CMD_ID) /读取传感器数据 sensorReading = pData1; /写信息到串口tmpLen = (uint8)osal_strlen( (char*)strDevice ); pBuf = osal_memcpy( buf, strDevice, tmpLe
52、n ); _ltoa( source, pBuf, 16 );pBuf += 4;*pBuf+ = ;*pBuf+ = (sensorReading / 10 ) + 0; / 转换MSB为ASCII*pBuf+ = (sensorReading % 10 ) + 0; / 转换LSB为ASCIIUartTX_Send_String(buf,9); 3.2.5 基于ZigBee的温度采集系统程序流程图基于ZigBee的温度采集系统流程图见图3-4和图3-5所示。上电复位硬件、堆栈初始化发现网络是否加入网络入网成功否是传感器采集数据发送成功?是否尝试重新建立绑定 成功?是否图3-4传感器节点流程
53、图在整个程序运行中,设备初始化后,传感器节点会依据ZigBee协议搜寻网络,并请求加入节点。请求得到确定后,传感器节点会将自身的地址发送给协调器,并自动与协调器建立绑定。在接受到数据传送请求之后,传感器节点就会将温度值按时传给协调器。在整个程序运行中,在设备初始化完毕后,协调器新建无线网络。如果新建网络成功,允许协调器设定为绑定。此时,协调器检测是否有节点要求加入网络,如果接收到节点的加入请求,协调器会记录下节点的地址,并建立绑定,同时向节点发出传送数据请求,得到节点的确认后,协调器开始接收数据,最后通过RS-232串口发送给上位机。否否上电复位初始化硬件建网成功是允许绑定发现设备建立绑定接收
54、数据是将数据发到串口,发给PC机图3-5 协调器的流程图3.3 上位机3.3.1 上位机的功能简介上位机软件主要完成对每个节点信息的汇总、分析与显示。本设计采用Microsoft Visual Basic6.0(中文版)开发环境进行设计。Visual Basic6.0简单易学同时又功能强大,可以方便的支撑上位机的开发和设计。本设计中,采集到的数据通过串口读入,并创建Excel文件用来保存数据,同时数据可以实时地显示在文本框中。为了反映数据的变化趋势,温度值还将通过折线图绘制出来,而温度值可能来自于不同的节点,因而在数据从串口读入之后需要提取出节电地址和温度值,不同节点的温度值分别绘图,上位机允
55、许在不同节点的折线图之间切换。 因此本设计中采用了MicroSoft Comm Control 6.0 控件、Microsoft Common Dialog Control 6.0控件、Label控件、Text控件、PictureBox控件等。此外,由于需要建立Excel文件存储采集到的数据,因而需要引用Mircosoft Excel 11.0 Object Library。采集到的数据通过line函数实时地在各个PictureBox中绘出折线图456。上位机的界面如图3-6所示。图3-6 上位机显示界面3.3.2 上位机软件的程序的流程图程序启动后,首先需要对串口进行设置并且新建Excel文档。待串口初始化之后,上位机MicroSoft Comm Control 6.0 控件开始响应串口读入事件。下位机的数据以字符串的形式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 船务测试题及答案解析
- 尺寸标注考试题及答案
- 手术室护理教育与培训
- 手术室护理科研方法
- 安宁服务的志愿者服务
- 护理职业倦怠与自我调适
- 2024年一级建造师考试《机电工程管理与实务》真题与解析
- 护理文书书写规范
- 抑郁障碍患者的护理国际合作
- 护理团队:协作精神成果
- 2026四川雅安市雨城区河北街道便民服务中心招聘见习人员2人考试备考试题及答案详解
- 2026年七升八数学压轴应用与几何证明专项突破三套组合卷A+B+C(附赠开学摸底卷含多种解题思路与易错清单)
- 建筑施工单位安全生产三级教育制度培训课件
- 2026年广东省大宝山矿业有限公司职工医院医护人员招聘笔试备考题库及答案解析
- 2026年办公室文员笔试试题(含答案)
- 社区老年人健康监测数据采集规范指引
- DB44-T 2846-2026 自然教育径建设规范
- 2025年苏州市社区工作者招聘考试笔试试题及答案解析
- 2026年《关于用好乡镇(街道)履行职责事项清单的具体措施》宣导课件
- 安徽县域高中联盟2025-2026学年高二上学期期末考试数学试题(A卷 )
- 房屋解押合同范本
评论
0/150
提交评论