南 阳 理 工 学 院 本 科 毕 业 设 计(论文)
基于Zigbee的温度采集系统设计
Design of temperature acquisition system based on ZigBee
学 院: 计算机与信息工程学院
专 业: 通信工程 学 生 姓 名: 翟艳争 学 号: 1206644031 指 导 教 师(职称): 赵天翔(讲师) 评 阅 教 师: 完 成 日 期: 2014年5月
南阳理工学院
Nanyang Institute of Technology
基于ZigBee的温度采集系统设计
基于ZigBee的无线温度采集系统设计
通信工程专业 翟艳争
[摘 要] 本文设计了一个用于检测环境温度的采集系统,采用树形网络拓扑结构,这个系统的温度采集终端设备可以在系统网络的一定范围之内采集温度。同样也可以到网络辐射范围之外进行采集温度,在回到监控室网络的有效辐射范围后,温度采集终端设备再把以前存储在闪存芯片内的采集到的温度信息通过无线网络上传至上位机。在 PC 机上数据信息处理程序对采集到的温度数据进行处理跟显示。这个系统可以应用于工业控制或者农业生产中对温度的检测和控制,减少了有线网络的布线成本。
[关键词] ZigBee;无线传感器网络;温度采集
Design of temperature acquisition system based on ZigBee
Communication Engineering Major Zhai yanzheng
Abstract:This paper designed a collection system for detecting the temperature of the environment, the tree network topology, the system temperature acquisition terminal equipment can collect temperature within certain range system network. Also to the scope of radiation to the network outside the collection of temperature, the effective radiation back to the control room network, temperature acquisition terminal equipment and the previously stored in the flash memory chip inside the collected temperature information through a wireless network to upload to pc.. The temperature data collected data information processing program in PC machine processing and display. This system can be used in industrial or agricultural production for the detection and control of temperature, reduce the wiring cost of cable networks.
Keywords: ZigBee; wireless sensor network; temperature acquisition
基于ZigBee的温度采集系统设计
目录
1引言 .............................................................. 1 1.1 课题背景 ...................................................... 1 1.2 课题研究的目的和意义 .......................................... 2 1.3 国内外研究概况 ................................................ 3 2.ZIGBEE协议及所采用的芯片介绍 ..................................... 4 2.1 ZIGBEE概述 .................................................... 4 2.2 ZIGBEE网络基础 ................................................ 6 2.2.1 网络节点类型 .............................................. 6 2.2.2 网络拓扑形式 .............................................. 6 2.2.3 工作模式 .................................................. 7 2.3 IEEE 802.15.4 规范 ............................................ 8 2.4 CC2430芯片 .................................................. 10 2.4.1 CC2430概述 ............................................... 10 2.4.2 CC2430 芯片的主要特点 .................................... 12 3.基于ZIGBEE的温度采集系统 ........................................ 12 3.1 系统的整体设计 ............................................... 12 3.2节点硬件设计 ................................................. 13 3.2.1 协调器节点的硬件设计 ..................................... 13 3.2.2 路由器节点的硬件设计 ..................................... 14 3.2.3 传感器节点的硬件设计 ..................................... 14 4系统软件设计 ..................................................... 14 4.1系统软件开发环境 ............................................. 15 4.2 ZIGBEE设备建立通信网络的流程图 ................................ 15 4.2.1协调器软件设计 ............................................ 15 4.2.2路由器软件设计 ............................................ 18 4.2.3温度传感器节点设计 ........................................ 19 4.2.4上位机与协调器之间的通信设计 .............................. 20 4.2.5 上位机的功能简介 ......................................... 20 5 无线温度采集系统的入网 ........................................... 21 6.总结与展望 ....................................................... 22 参考文献 ........................................................... 23 致谢 ............................................................... 24
基于ZigBee的温度采集系统设计
1引言
在粮库温度控制系统、冷库温度控制系统、智能化建筑控制系统、中央空调系统等众多温度控制系统中,为了能实时地方便地监测不同点的温度及变化,这就需要多点分布式温度采集系统。然而传统的多点分布式温度采集系统多采用有线传输方式,随着分布式节点的不断增加,采集系统的布线难度和成本也就急剧增加,这就给系统的设计、维护和升级带了诸多不便。如何有效地解决有线网络在使用中的诸多不便已成为当下研究的热点。
ZigBee技术就是一种基于IEEE 802.15.4协议标准的近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术,主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用,已成为当下较为流行的无线通信技术。
本设计意在设计一种基于ZigBee的温度检测系统,用以实现对分散节点的温度采集,采集后的温度实时地以折线图的方式显示。本设计可以有效满足工农业检测过程中对多测点、移动性及便捷性等方面的要求,并且能够有效解决有线网络的布线难题和成本问题,具有十分广阔的应用前景。
1.1 课题背景
信息技术发展日新月异,传统的有线通信方式因为其成本高、布线复杂,已经不能完全满足人们的应用需求了。由此,无线通信技术应运而生。无线网络技术按照传输范围来划分,可分为无线广域网、无线城域网、无线局域网和无线个人域网。无线个人域网即短距离无线网络,典型的短距离无线传输技术有:蓝牙(Bluetooth)、ZigBee、WiFi等。
在工业控制、家庭自动化和遥测遥感领域,蓝牙(Bluetooth)虽然成本较低,成熟度高,但是传输距离有限,仅为10米,可以参与组网的节点少。WiFi虽然传输速度较快,传输距离达到100米,但是其价格偏高,功耗较大,组网能力较差。
相比之下ZigBee技术则主要针对低成本、低功耗和低速率的无线通信市场,具有如下特点:
①成本低:ZigBee模块的初始成本低,并且ZigBee协议是免专利费的,采用直接序列扩频在工业科学医疗(ISM)频段,2.4GHz(全球)、915MHz(美国)和868MHz(欧洲),免执照频段;
②低功耗:由于ZigBee的传输速率较低,传输数据量较小,并且采用了休眠模式,因此ZigBee设备功耗很低,仅靠两节5号电池就可以维持长时间使用;
1
基于ZigBee的温度采集系统设计
③ 低速率。Zigbee工作在20~250 kbps的较低速率,分别提供250 kbps(2.4GHz)、40kbps (915 MHz)和20kbps(868 MHz) 的原始数据吞吐率,满足低速率传输数据的应用需求;
④时延短:ZigBee的响应速度较快,通信时延和从休眠状态激活的时延都非常短,一般从休眠转入工作状态只需要15ms,典型的搜索设备时延为30ms,活动设备信道接入的时延为15ms;
⑤网络容量大:Zigbee 可采用星型、树型和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254 个子节点;同时主节点还可由上一层网络节点管理,最多可组成65000 个节点的大网。
⑥可靠度高:为了避免发送数据的竞争和冲突,采取了碰撞避免策略,同时为需要固定带宽的通信业务预留了专用时隙。MAC层采用完全确认的数据传输模式,每个发送的数据包都必须等待接收方的确认信息,如果传输过程中出现问题可以进行重发;
⑦安全:Zigbee 提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL) 防止非法获取数据以及采用高级加密标准(AES 128) 的对称密码,以灵活确定其安全属性。
⑧传输距离远:传输范围一般介于10~100 m 之间,在增加RF 发射功率后,亦可增加到1~3 km。这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远。
由于ZigBee技术具有上述特点,因而广泛应用在短距离低速率电子设备之间的数据传输。ZigBee联盟预测的主要应用领域包括工业控制、消费性电子设备、汽车自动化、农业自动化和医用设备控制等。
1.2 课题研究的目的和意义
ZigBee技术具有低成本、低功耗、近距离、短时延、高容量、高安全及免执照频段等优势,广泛应用于智能家庭、工业控制、自动抄表、医疗监护、传感器网络应用和电信应用等领域。
智能家庭:现今家用电器已经随处可见了,如何将这些电器和电子设备联系起来,组成一个网络,甚至可以通过网关连接到Internet,使得用户可以方便地在任何地方监控自己家里的情况?ZigBee技术提供了家庭智能化的技术支持,在ZigBee技术的支持下,家用电器可以组成一个无线局域网,省却了在家里布线的烦恼。
工业控制:工厂环境当中有大量的传感器和控制器,可以利用ZigBee技术把它们连接成一个网络进行监控,加强作业管理,降低成本。
自动抄表:现在在大多数地方还是使用人工的方式来逐家逐户进行抄表,十分不方便。而ZigBee可以用于这个领域,利用传感器把表的读数转化为数字信
2
基于ZigBee的温度采集系统设计
号,通过ZigBee网络把读数直接发送到提供煤气或水电的公司。使用ZigBee进行抄表还可以带来其它好处,比如煤气或水电公司可以直接把一些信息发送给用户,或者和节能相结合,当发现能源使用过快的时候可以自动降低使用速度。
医疗监护:医疗工作中,时常要获得病人的生理指标、环境指标,可以通过放置传感器构成传感器网络,实时监测这些数据。由于是无线技术,传感器之间不需要有线连接,被监护的人也可以比较自由的行动,非常方便。
传感器网络应用:传感器网络也是最近的一个研究热点,像货物跟踪、建筑物监测、环境保护等方面都有很好的应用前景。传感器网络要求节点低成本、低功耗,并且能够自动组网、易于维护、可靠性高。ZigBee在组网和低功耗方面的优势使得它成为传感器网络应用的一个很好的技术选择。
此外,ZigBee技术也可以应用到汽车电子、农业生产和军事领域中。随着物联网技术的日渐兴起,ZigBee技术将会扮演更为重要的角色。但是,物联网的全面普及将是一个十分漫长的过程,至少目前还在探索和实验阶段,距离实用还有很长的路要走。
虽然前景一片大好,但是我们应该清楚认识到由于各方面的制约,ZigBee技术的大规模商业应用还有待时日,基于ZigBee技术的无线网络应用还远远说不上成熟,主要表现在:ZigBee市场仍处于起步探索阶段,终端产品和应用大多处于研发阶段,真正上市的少,且以家庭自动化为主;潜在应用多,但具有很大出货量的典型应用少,市场缺乏明确方向;使用点对多点星状拓扑的应用较多,体现ZigBee优势的网状网络应用少;基于IEEE 802.15.4底层协议的应用多,而基于ZigBee标准协议的应用少。
1.3 国内外研究概况
ZigBee作为一种新兴的国际标准短距离无线通信协议,其协议栈体系结构是基于标准七层开放式系统互联参考模型(OSI), IEEE 802.15.4-2003标准定义了下面的两层:物理层和媒体接入控制子层;网络层、应用会聚层、应用层由ZigBee联盟制订。
2002年 ,ZigBee联盟创立,创始者包括IC供应商、无线IP提供商、设备制造商、测试设备制造商和最终产品制造商等,这些企业能提供适应ZigBee的产品和解决方案。
ZigBee联盟于2004年底发布了ZigBee协议1.0版本规范,2006年11月发布了ZigBee协议1.1版本规范,2007年10月发布了ZigBee Pro版本规范。
ZigBee联盟的主要目标是以通过加入无线网络功能,为消费者提供更富有弹性、更容易使用的电子产品。ZigBee技术能融入各类电子产品,应用范围横
3
基于ZigBee的温度采集系统设计
跨全球的民用、商用、公共事业以及工业等市场。使得联盟会员可以利用ZigBee这个标准化无线网络平台,设计出简单、可靠、便宜又节省电力的各种产品来。
飞思卡尔推出了全球首个符合ZigBee标准的平台,使得制造商能够将ZigBee技术应用于传感和监控领域。截止至2005年4月,已有Texas Instruments(收购Chipcon)、Freeseale、CompXs、Ember等四家公司通过了ZigBee联盟对其产品所作的测试和兼容性验证。目前市场上RF主流芯片的供应商包括TI、EMBER、FREESCALE以及JENNIC,他们分别推出单芯片解决方案CC2430/CC2431、EM250、MCl321x以及JN5121,在市场上极具竞争力。主流的商用ZigBee的协议栈为Figure8 wireless提供的F8w Z-Stack。
2.ZigBee协议及所采用的芯片介绍
2.1 ZigBee概述
ZigBee一词来源于蜜蜂赖以生存的通信方式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年,定义了ZigBee协议的网络层(NWK)、应用层(APL)和安全服务规范。协议栈结构如图2-1。
应用层(含应用接口层) 用户 安全层 ZigBee联盟 网络层 MAC层 4
基于ZigBee的温度采集系统设计
IEEE 802.15.4 物理层 图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)及ZDO管理平台组成[1]。
PHY层定义了无线射频应该具备的特征,提供了868MHz-868.6MHz、902MHz-928MHz和2400MHz-24835MHz三种不同的频段,分别支持20kbps、40kbps和250kbps的传输速率,1个、10个以及16个不同的信道Ⅲ。ZigBee的传输距离与输出功率和环境参数有关,一般为10~100米之间。PHY层提供两种服务:PHY层数据服务和PHY层管理服务,PHY层数据服务是通过无线信道发送和接收物理层协议数据单元(PPDU),PHY层的特性是激活和关闭无线收发器、能量检测、链路质量指示、空闲信道评估、通过物理媒介接收和发送分组数据。
MAC层使用CSMA-CA冲突避免机制对无线信道访问进行控制,负责物理相邻设备问的可靠链接,支持关联(Association)和退出关联(Disassociation)以及MAC层安全。MAC层提供两种服务:MAC层数据服务和MAC层管理服务,MAC层数据服务通过物理层数据服务发送和接收MAC层协议数据单元(MPDU)。MAC层的主要功能是:进行信标管理、信道接入、保证时隙(GTS)管理、帧确认应答帧传送、连接和断开连接。
NWK层提供网络节点地址分配,组网管理,消息路由,路径发现及维护等功能。NWK层主要是为了确保正确地操作IEEE 802.15.4.2003MAC子层和为应用层提供服务接口。NWK层从概念上包括两个服务实体:数据服务实体和管理服务实体。NWK层的责任主要包括加入和离开一个网络用到的机制、应用帧安全机制和他们的目的地路由帧机制,ZigBee协调器的网络层还负责建立一个新的网络。
ZigBee应用层包括应用支持子层(APS子层)、应用框架(AF)和ZigBee设备对象(ZDO)。APS子层负责建立和维护绑定表,绑定表主要根据设备之间的服务和他们的需求使设备相互配对。ZigBee的应用框架(AF)为各个用户自定义的应用对象提供了模板式的活动空间,并提供了键值对(KVP)服务和报文(MSG)服务供应用对象的数据传输使用。一个设备允许最多240个用户自定义应用对象,分别指定在端点l至端点240上。ZDO可以看成是指配到端点O上的一个特殊的应用对象,被所有ZigBee设备包含,是所有用户自定义的应用对象调用的一个功能集,包括网络角色管理,绑定管理,安全管理等。
5
基于ZigBee的温度采集系统设计
ZDO负责定义设备在网络中的角色(例如是ZigBee协调器或者ZigBee终端设备)、发现设备和决定他们提供哪种应用服务,发现或响应绑定请求,在网络设备之间建立可靠的关联。
安全服务提供者SSP(Security Service Provider)向NWK层和APS层提供安全服务。
ZigBee协议层与层之间是通过原语进行信息的交换和应答的。大多数层都向上层提供数据和管理两种服务接口,数据SAP(Service Access Point)和管理SAP(Service Access Point)。数据服务接口的目标是向上层提供所需的常规数据服务,管理服务接口的目标是向上层提供访问内部层参数、配置和管理数据的机制。
2.2 ZigBee网络基础
ZigBee网络基础主要包括设备类型,拓扑结构和路由方式三方面的内容,ZigBee标准规定的网络节点分为协调器(Coordinator)、路由器(Router)和终端节点(End Device)。节点类型是网络层的概念,反映了网络的拓扑形式。ZigBee网络具有三种拓扑形式:星型拓扑、树型拓扑、网状拓扑。 2.2.1 网络节点类型
协调器(Coordinator)在各种拓扑形式的ZigBee网络中,有且只有一个协调器节点,它负责选择网络所使用的频率通道、建立网络并将其他节点加入网络、提供信息路由、安全管理和其他服务。
路由器(Router) 当采用树型和网状拓扑结构时,需要用到路由器节点,它也可以加入协调器,是网络远距离延伸的必要部件。它负责发送和接受节点自身信息;节点之间转发信息;允许子节点通过它加入网络。
终端节点 终端节点的主要任务就是发送和接收信息,通常一个终端节点不处在数据收发状态时可进入休眠状态以降低能耗。 2.2.2 网络拓扑形式
星型拓扑是最简单的拓扑形式,如图2-2。图中包含一个协调器节点和一些终端节点。每一个终端节点只能和协调器节点进行通讯,在两个终端节点之间进行通讯必须通过协调器节点进行转发,其缺点是节点之间的数据路由只有唯一路径。
6
基于ZigBee的温度采集系统设计
图2 星形拓扑结构
树型拓扑结构如图2-3。协调器可以连接路由器节点和终端节点,子节点的路由器节点也可以连接路由器节点和终端节点。直接通信只可以在父节点和子节点之间进行,非父子关系的节点只能间接通信。
图3 树状拓扑结构
网状拓扑如图2-4。网状拓扑具有灵活路由选择方式,如果某个路由路径出现问题,信息可自动沿其他路径进行传输。任意两个节点可相互传输数据,网络会自动按照ZigBee协议算法选择最优化路径,以使网络更稳定,通讯更有效率。
图4 网状拓扑结构
2.2.3 工作模式
7
基于ZigBee的温度采集系统设计
ZigBee网络的工作模式可以分为信标(Beacon)模式和非信标(Non-beacon)模式两种。信标模式可以实现网络中所有设备的同步工作和同步休眠,以达到最大限度地节省功耗,而非信标模式只允许ZE进行周期性休眠,协调器和所有路由器设备长期处于工作状态。
在信标模式下,协调器负责以一定的间隔时间(一般在15ms--4mins之间)向网络广播信标帧,两个信标帧发送间隔之间有16个相同的时槽,这些时槽分为网络休眠区和网络活动区两个部分,消息只能在网络活动区的各个时槽内发送。
非信标模式下,ZigBee标准采用父节点为子节点缓存数据,终端节点主动向其父节点提取数据的机制,实现终端节点的周期性(周期可设置)休眠。网络中所有的父节点需要为自己的子节点缓存数据帧,所有子节点的大多数时间都处于休眠状态,周期性的醒来与父节点握手以确认自己仍处于网络中,并向父节点提取数据,其从休眠模式转入数据传输模式一般只需要15ms。
2.3 IEEE 802.15.4 规范
无线网络要求低功耗、低成本为了实现这个要求,IEEE 新标准委员会于 2000 年成立了 IEEE 802.15.4 工作小组,它的任务就是制定低速率无线个人域网(LR-WPAN)标准。它具有复杂度较低、应用成本很小、设备功耗很低等优势,是能在低成本设备间进行低速率信息传输与交换的规范。 2.3.1 IEEE 802.15.4 物理层规范
物理层(PHY)有两种类型的服务:管理服务和数据服务。物理层提供的数据服务能够运用无线信道接收和发送物理层的协议数据单元(PPDU)。ZigBee 物理层主要承担以下一些基本业务:
(1) 启动、关闭、休眠无线射频模块; (2) 在已有信道上探测射频能量; (3) 接收分组链路质量指示(LQI);
(4) 通常对空闲信道进行基于CSMA-CA的评估(CCA); (5) 通信信道频率的选择; (6) 对数据的传输和接收。
ZigBee 进行通信的频率是在其物理层进行规范。ZigBee 可以针对不同的国家或地区为其提供不同的工作频率范围,他们所使用的频率范围为 2.4GHz 和 816/915MHz。所以,在 ZigBee协议中定义 2.4GHz 和 816/915MHz 2 个物理层标准,它们都使用直接序列扩频(DSSS)序列技术,采用全球统一的 2.4GHz 免费频段,不需要申请 ISM 频段,这使得 ZigBee 设备在推广及降低生产成本方面都更加可行。2.4GHz 物理层采用了 16 相相位调制技术,能够提供250kb/s 的
8
基于ZigBee的温度采集系统设计
传输速率,这使得数据吞吐量得以很大提高,进而缩短通信时延和数据收发时间,得以降低系统运行功耗。
2.3.2 IEEE 802.15.4 MAC 层规范
在IEEE 802.15.4 标准中,数据链路层被划分为逻辑链路控制子层(LLC)和介质接入控制子层(MAC)。IEEE 802.15.4中 介质接入控制子层(MAC) 子层负责接收和分解MPDU 包中所包含的信息,封装来自 NWK 层的数据,MAC 层帧中包含数据帧、命令帧、信标帧以及应答帧。ZigBee 的 MAC 协议包括以下功能: (1)设备间无线通信链路的建立、维护和关闭; (2)对确认模式的帧传送与接收; (3)控制信道的接入; (4)帧校验;
(5)对预留时隙管理; (6)对广播信息进行管理; 2.3.3 ZigBee 网络层
ZigBee 的网络层功能就是提供一些必要的函数用于 Zigbee 的 MAC 层工作时调用的,同时能将所需的服务与接口反馈回应用层。在网络层必须定义两个功能服务实体(网络数据实体和管理服务实体),向应用层提供可用接口。 1.网络层数据实体(NLDE)
当在两个或多个设备之间进行数据传输时,NLDE 就会根据应用协议中规定的数据单元(APDU)的格式进行数据传送,只有这些设备必须同时处于一个可通信网络中才能进行数据传送。NLDE 提供的具体服务如下: (1)生成网络层协议数据单元(NPDU)。 (2)确定拓扑传输路由方式。 (3)对通信的准确性和安全性的保证。 2.网络层管理实体(NLME)
NLME 提供的是管理服务,它满足一个应用进程与堆栈之间的互相调用。NLME 提供的具体服务如下:
(1) 新节点的配置:具有足够的处理能力来保证必要的堆栈运行,其中包括一个启动 ZigBee 协调器和加入一个已经存在的网络的操作。 (2)初始化一个无线网络。
(3) 能够 Join、Reset 和 Leave 网络:能够允许节点入网,也可通过 ZigBee 协调器或 ZigBee 路由器提出的请求,使设备与网络脱离。
(4) 发现最优路由路径:具备找到并存储网络中信息传输可能存在的最优路由的能力。
9
基于ZigBee的温度采集系统设计
(5) 发现邻居节点:具备找到、存储、传送相关节点的单跳(One-Hop)邻居信息的能力。
(6) 控制接收周期:为了能够使 MAC 子层同步或者直接接收有关数据,我们必须严格限制一个节点的硬件射频模块接收数据时间周期。 2.3.4 ZigBee 应用层
ZigBee的应用层架构包含应用支持层(APS)、ZigBee 设备对象(ZDO)和制 造商所规定的应用对象;
APS 提供的功能包括:确保绑定表能够于绑定的设备之间能够正常的进行信息传输。绑定的含义是建立起两台设备之间的匹配,这样一来满足他们之间的服务需求。
ZDO 的功能包含:确定网络中的各个节点在网络通信整个过程中所承担的任务,对于那些节点作为终端节点,那些作为协调器节点,这些节点需要事先定义好。 在通过发送和反馈绑定请求信号后,立刻在网络内部的设备之间搭建起稳定、安全的数据传输机制。ZigBee 的数据汇聚节点还需要承担发现网络有效辐射范围内的节点的工作,在新节点入网后,再根据它们的实际需要进行相应的应用服务。在网络层和应用层之间。 ZigBee 设备对象和芯片供应商的应用对象之间的通用服务集合。通常是由以下两个实体来实现这样的服务:APS 数据实体(APSDE)和 APS 管理实体(APSME)。
①APSDE 连接到 APSDE 服务接人点(APSDE-SAP); ②APSME 连接到APSME 服务接人点(APSME-SAP)。
APSDE 提供在同一网络中的两个及多个的应用实体间的数据传输。APSME 给出了多种的服务给应用对象。这些服务包括安全服务和绑定设备,同时维护管理对象的数据库(AIB)。
2.4 CC2430芯片
2.4.1 CC2430概述
CC2430是一颗真正的系统芯片(SoC)CMOS解决方案。这种解决方案能够提高性能并满足以ZigBee为基础的2.4GHz ISM波段应用,及对低成本,低功耗的要求。它结合一个高性能2.4GHz DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器。
10
基于ZigBee的温度采集系统设计
图5 CC2430引脚排列图
CC2430的尺寸只有7×7mm 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.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算法提供定时以及为IEEE 802.15.4的MAC层提供定时。一个一般的16位和两个8位定时器,支持典型的定时/计数功能,例如,输入捕捉、比较输出和PWM功能。
CC2430内集成的其他外设有: 实时时钟;上电复位;8通道,8-14位ADC;可编程看门狗;两个可编程USART,用于主/从SPI或UART操作。
为了更好的处理网络和应用操作的带宽,CC2430集成了大多数对定时要求严格的一系列IEEE 802.15.4 MAC协议,以减轻微控制器的负担。这包括:自动
11
基于ZigBee的温度采集系统设计
前导帧发生器、同步字插入/检测、CRC-16校验、CCA、信号强度检测/数字RSSI、连接品质指示(LQI) 和CSMA/CA协处理器。 2.4.2 CC2430 芯片的主要特点
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 工艺生产;在接收和发射模式下,电流损耗分别低 于27 mA 或25 mA。CC2430 的休眠模式和转换到主动模式的超短时间的特性,特别适合那些要求电池寿命非常长的应用。
3.基于ZigBee的温度采集系统的硬件设计
本设计是在传统的温度采集系统中引入了Zigbee无线技术,可以根据情况在采集区放置温度传感器节点,通过无线网络对温度数据进行采集,以下是整体设计方案,以及各节点的硬件设计。
3.1 系统的整体设计
在这个采集系统中,包括了ZigBee协调器节点、若干个路由器节点、若干个传感器节点。上述所有器件构成树状结构图,其组成示意图如下,其中,ZigBee协调器是分布式处理中心,也就是汇聚节点。多个传感器节点分布于于不同的监测区域,每个传感器节点都会先把数据传送给汇聚节点,接下来汇聚节点会把数据通过串口传送给上位机,上位机做进一步处理并显示给用户。一个协调器节点可以与多个传感器节点通信,这样可以使这个设计系统同时监测多个区域,什么时间采集哪个区域通常是由用户通过协调器节点来控制。如果被检测区域的障碍物较多再或者协调器节点距离传感器节点较远时,必须通过增加路由器节点来增强整个网络的稳定性。如果用户没有数据请求时,传感器终端节点只进行低功耗的信道扫描。
12
基于ZigBee的温度采集系统设计
图6系统总体结构图
3.2节点硬件设计
3.2.1 协调器节点的硬件设计
ZigBee协调器节点硬件设计如图3-2所示,该节点由无线收发器CC2430、射频天线RF、电源模块、晶振电路和串口电路组成。RF的输入/输出是高阻和差动的。当使用不平衡天线(例如单极天线)时,为了优化性能,应当使用不平衡变压器。不平衡变压器可以运行在使用低成本的单独电感器和电容器的场合。电源模块用于CC2430的数字I/O和部分模拟I/O的供电,供电电压为2.0~3.6 V。CC2430可以同时接32 MHz和32.768kHz的两种频率的晶振电路,以满足不同的要求。串口电路用于CC2430将接收到的数据传送给上位机,由于上位机与CC2430的电平不一致,所以需要一个MAX232电平转换电路。
图7协调器节点
13
基于ZigBee的温度采集系统设计
3.2.2 路由器节点的硬件设计
路由器节点的主要任务是将不同区域的数据从传感器节点路由到协调器节点,因此,该电路比较简单,该节点由无线收发器CC2430、射频天线RF、电源模块和晶振电路组成。 3.2.3 传感器节点的硬件设计
传感器节点和硬件设计如图3-3所示,该节点由无线收发器CC2430、射频天线RF、电源模块、晶振电路和串口电路组成。由于CC2430芯片本身带有温度传感器,因而本实验直接采用了CC2430的内置温度传感器监测温度。但是该温度传感器的精度有限,如果要求更高的精度,可以扩展出一个温度传感器,如DS18B20。
图8 传感器节点
下面对每个部分的功能和指标进行详细介绍:
信息收集终端:即协调器,放置于监控室, 完成网络的建立与维护,和节点之间绑定的建立,实现数据的汇总,然后以有线的方式传送到上位机软件,进行进一步数据处理。本设计采用RS-232串口将采集到的数据发送到上位机。
温度采集终端:即节点,放置在需要采集温度的地方。温度采集终端可以实现网络的加入、与协调器绑定的建立、温度的检测。检测到的温度通过ZigBee无线网络发送到协调器。
上位机:位于监控室,完成对所采集温度的汇总与显示。采集到的数据实时保存到文档中,同时以折线图的形式实时反映出温度的变化趋势,使其更为直观。显示的折线图可以在不同节点之间切换。
4系统软件设计
Zigbee无线传感器网络软件包括了Zigbee协议栈以及客户端应用程序两大部分,其中协议栈的设计目的是为了实现Zigbee无线网络通信功能,而客户端应用程序的设计目的是为了实现节点的具体功能。无线传感器网络是将两者通过操作系统结合到一起,协调有序地工作。
14
基于ZigBee的温度采集系统设计
4.1系统软件开发环境
介于到设计节点的通用性,以及为了方便开发使用的问题,在软件设计上应用了TI公司编写的与CC2430配套的Z-Stack协议栈,具有很强的兼容性。Z-Stack协议栈是半开源的协议,网络层以下对于用户来说是完全透明的,目前免费,功能强大,非常符合IEEE802.15.4的要求。由于最重要的目标之一就是降低安装和运转成本,协议栈被嵌入到小而薄的微控制单元。应用者只需根据需要进行选择应用层程序的软件开发,而不必专注于底层细节。在用户应用层已经设置好了API函数接口,用户无需再重新编写,可以直接拿来调用。在TI免费的协议栈之上,通过修改其应用层可以实现不同的功能。使用该协议栈,不但使软件程序的编写难度降低,同时也提高了代码的可靠性,而且缩短了开发周期。
Z-Stack协议栈由main()函数开始执行,它总共做了两件事;首先便是系统初始化,即由启动代码来对硬件系统和软件架构的各个模块进行初始化,接下来开始以轮转查询方式执行操作系统。Zigbee协议栈运行流程如下。 开始
系统初始化
执行操作系统
图9 Zigbee协议栈主要规范
4.2 Zigbee设备建立通信网络的流程图
这个采集系统由协调器、路由器、温度传感器终端设备,这三种设备组成树状网络拓扑结构。无线传感器网络的代码包括协调器代码,路由器代码、温度传感器终端设备代码。这些代码都是在同一个工程中,大多数的代码都是通用的,通过条件编译的方式将这三种设备区分为不同的功能。这样就不用建立多个工程,节省了内存空间,提高了运行速率。 4.2.1协调器软件设计
15
基于ZigBee的温度采集系统设计
在一个Zigbee无线网络中,协调器组建了整个网络,作为网络的核心第一个启动,建立信息传输通道。在系统上电复位以后,首先初始化硬件模块和软件架构的各个模块。在完成这些之后,它就会扫描指定的信道,选择一个合适的信道,并且会为自己所在的网络选择一个PAN-ID,然后进行广播网络ID号、信道等。等到接收到子节点的入网请求信号,子节点如果得到加入网络允许后,协调器就发出入网响应,并且为其分配16位短地址。协调器给上级节点发送路由表状态更新的消息,然后父节点给他们的子节点转发这些消息,直至到达目的的节点,这些才停止转发。协调器会接收下级节点传来的数据包信息 ,将其通过串口传给PC机,得到温度信息以及节点的地址编号。协调器没有休眠模式,它会一直保持工作状态。其流程图如下:
16
基于ZigBee的温度采集系统设计
系统复位上电
协调器初始化
建立一个网络
建立网络 N 成功?
Y 广播网络ID、信道等 接收模式
入网请求 判断接 接收到的数据包 收数据
允许节点加入分接收数据包
通过RS232传给更新设备关联表
中断返回
图10 协调器软件设计流程图
17
基于ZigBee的温度采集系统设计
4.2.2路由器软件设计
在路由器上电前,选择项目设备的名称为“Router”。在上电后,先进行设备的初始化,然后选择在一个能量合适的信道上进行网络搜索。当选择好信道之后,路由器就会周期性的向周围网络发送请求包来寻求协调器的回复。在Router接收到超帧之后,协调器的MAC地址保存在路由器中,并通过这个地址向协调器发送一个关联请求的包,请求的目的是为了寻求加入网络。等到收到MAC层的确认帧之后,然后发送一个数据请求的包来寻求协调器分配给的16 位网络短地址。在路由器收到含有短地址的包之后,接下来就配置自己的短地址,然后就可以通过这个短地址与协调器进行应用层的数据通信,如此一来就表示路由器已经加入网络了。路由器为传感器终端节点转发信息,连接协调器和传感器来实现他们两者之间的数据交换,保障每一个数据准确无误地传输到达目的,其流程图如下。 路由器初始化 尝试加入网络 N 加入网络成 功? Y Y 获取网络地址 判断接 入网请求 收数据 采集的数据包 类型
允许节点加入 发送数据包给 N Y 更新设备关联表 数据包 发送? 18
基于ZigBee的温度采集系统设计
图11 路由器软件设计流程图
4.2.3温度传感器节点设计
这个系统的温度采集传感器节点上电启动,它将会主动扫描指定的频道,并且向协调器发出入网请求和尝试加入网络,如果不成功,则将再次扫描加入网络。加入成功后,就到协调器分配的网络地址,当它没有任务时就进入休眠状态,以降低系统功耗,增加使用时间,当任务出现时,唤醒系统,传感器节点会每隔一定的周期采集、读取周围环境温度值,并将数据打包传给就进的父节点。如果传输成功,将会再次进入休眠状态,如果不成功,需要重新传输数据,直到成功为止。终端设备通信流程如图所示。
传感器节点初始化
尝试加入网络
N 加入网络成 功?
Y 进入休眠状态
是否有数据 N 要发送?
Y 系统唤醒并读取温度 发送数据包给父节点
Y 数据包发送 N 成功?
19
基于ZigBee的温度采集系统设计
图12 终端设备通信流程图
4.2.4上位机与协调器之间的通信设计
协调器与上位机之间的通信是通过RS232串口,传输速率为9600bps,无校验位,8个数据位,1位停止位,流程图如下。 启动
回车检测
串口输入缓串口接收 冲区为空 字符数据 接收数据 传输数据信号 复制串口输入数据
通过串口传输数据
到设备
图13 串口通信软件设计流程图
4.2.5 上位机的功能简介
上位机软件主要完成对每个节点信息的汇总、分析与显示。本设计采用Microsoft Visual Basic6.0(中文版)开发环境进行设计。Visual Basic6.0简单易学同时又功能强大,可以方便的支撑上位机的开发和设计。
本设计中,采集到的数据通过串口读入,并创建Excel文件用来保存数据,同时数据可以实时地显示在文本框中。为了反映数据的变化趋势,温度值还将通过折线图绘制出来,而温度值可能来自于不同的节点,因而在数据从串口读入之后需要提取出节电地址和温度值,不同节点的温度值分别绘图,上位机允许在不同节点的折线图之间切换。
20
基于ZigBee的温度采集系统设计
5 无线温度采集系统的入网
温度采集系统中的每个设备的 ZigBee 协议栈必须对网络层以及应用层进行初始化工作,由于每个网络都只能配备唯一的一个协调器节点,所以,我们需要在事先约定好的协调器上对 PAN 协调器进行初始化的工作。待到 PAN 协调器初始化完毕后,再对其定义一个 PAN ID。我们也可以通过侦听附近网络的 ID,从而来确定自己且不会冲突的 ID。
每一个 PAN 协调器设备都拥有唯一固定的一个 62bit MAC 地址,通常称为扩展地址。但是为了使系统内的所有节点能方便而且高效的进行数据传输,于是在建立网络的同时,网络内的所有温度数据采集节点还被分配了一个 16bit 的网络地址,即短地址来确定自己在网络中的标识。系统网络的组网过程如图 所示:
初始化协议栈 建立PAN协调节点 设置网络的唯一标示识 设置协调器的短地址 选择频率通道 启动Zigbee网络 下级节点加入网络 传输数据 图13 无线采集系统入网流程图
21
基于ZigBee的温度采集系统设计
6.总结与展望
本文详细介绍了ZigBee协议栈和基于ZigBee的温度采集系统的设计过程,设计中将系统分为上位机和下位机两部分。下位机使用成都无线龙C51RF-3-PK开发系统进行开发调试,通过CC2430芯片搭建无线传感器网络,并采集节点的温度值。所采集到的数据值通过RS-232传输到上位机。上位机通过visual Basic编写,用以实时显示数据并绘出折线图,此外,还需要能够查看过往数据。
由于本设计是以当下较为流行的ZigBee无线通信技术为基础的,ZigBee技术具有近距离、低复杂度、低功耗、低速率、低成本等优点,因而成本和功耗方面的是本设计的一大优势。同时,由于ZigBee技术组网方便,网络容量大,可以满足工农业生产上多点的温度检测,应用前景比较广泛。在设计时,也充分考虑了应用的便捷性,充分体现在上位机友好的节面设计上。
当然,本设计仍然存在一些不足,需要改进和提高。例如,本设计的稳定性还不能达到应用的要求,数据的存储方式还可以进一步改善,这些以后都会进一步研究和实现。
然而,ZigBee技术的应用前景是十分明朗的,成本和功耗方面的优势使其在市场中十分具有竞争力。尤其在物联网技术已成为当下热点命题之一的时候,ZigBee技术的应用价值就更为重要了,可以想见,伴随着物联网技术的成长,ZigBee技术也将日趋成熟。
22
基于ZigBee的温度采集系统设计
参考文献
[1] 黄永军. ZigBee 远程数据采集系统的设计与实现[D].武汉:武汉理工大学硕士论文,2009,6
[2] 王雪. 无线传感器网络测量系统[M], 北京:机械工业出版社, 2007:212 [3] 洪文平. ZigBee 在无线感测网路之发展.情报顾问-产业研究报告,2007-3 [4] 孙利民,李建中,陈渝等.无线传感器网络[M].北京:清华大学出版社,2005
[5] 李文仲,段朝玉.ZigBee2006 无线网络与无线定位实战[M].北京 北京航天航空大学出版社,2008.1. [6] 徐小涛,吴延林. 无线个域网(WPAN)技术及其应用[M].北京:人民邮电出版社,2009.5 [7] 顾瑞红,张宏科.基于 ZigBee 的无线网络技术及其应用[J],网络通信世界,2005. [8] 崔逊学,赵湛等.无线传感器网络的领域应用与设计技术[M].北京:国防工业出版社,2009.5 [9] 瞿雷,刘盛德,胡咸斌. ZigBee 技术及应用[M]北京:北京航空航天大学出版社, 2007.9 [10] 赵芸,张浩.彭道刚,ZigBee 无线网络技术的应用[J],机电一体化,2007.9.
23
基于ZigBee的温度采集系统设计
致谢
本人完成的毕业设计及学位论文是在赵天翔老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,深深地感染和激励着我。从课题的选择到试验的实施直至最终完成,赵天翔老师都始终给予我细心的指导和不懈的支持,使我不仅增强了自学的能力,而且对软件仿真有了更加深刻的认识,学会了Zigbee的基本知识。在此特别向赵天翔老师致以真挚的谢意。
此外,我还要感谢在一起愉快的度过本科生活的各位同学。正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。
回顾我的大学学习生活,我要向所有关心和培养我们的各级领导、授予我知识的各位尊敬的任课老师们、关心我们生活的辅导员以及陪伴我大学生涯的同学和朋友们表示真挚的谢意!
24
因篇幅问题不能全部显示,请点此查看更多更全内容