学士学位论文
题目名称: 基于ZigBee的无线温度采集系统的设计 学生姓名: ___________________
院 系:信息技术学院专业年级:2006级电子信息 指导教师: ________ 职 称: 讲师
2010年05月25日
题目 ......................................................................... I 摘要及关键词 ................................................................. I
1前言 ........................................................................ 1 1.1研究的背景及意义 .......................................................... 1 1.2国内外研究现状及发展趋势 .................................................. 2 1.3论文的主要工作 ............................................................ 4 2系统总体设计 ................................................................ 5 2.1系统总、体设计方案 ........................................................ 5 2.1.1系统总体结构 ............................................................. 6 2.1.2上位机操作主要部分 ....................................................... 8 2.1.3各部分功能介绍 ........................................................... 9 2.2硬件系统总体设计 ......................................................... 13 2.3无线收发模块 ............................................................. 15 3 ZigBee收发器CC2430主要结构 .............................................. 18 3.1 CC2430功能特点与结构 ................................................... 18 3.2 CC2430内部一些重要单元模块 ............................................. 19 3.2.1 电压调节器(Voltage Regulators) ................................................................................ 19 3.2.2调试仿真接口 ............................................................ 19 3.2.3 SLEEPTIMER .............................................................................................................. 19 4 ZigBee无线网络节点的软彳牛设计 ........................................... 20 4.1
ZigBee 协议栈 .......................................................... 20 4.2 ZigBee信道分配 .......................................................... 20 4.3网络的建立与加入 ......................................................... 20 4.3.1数据的发送与接收 ........................................................ 21 5系统;福呈图 ................................................................ 22 5.1温度监测点软件设计 ....................................................... 22 5.2缽测量节点的功耗估算 ..................................................... 24 5.3软件设计 ................................................................. 25
5.4温度监控软件模块 ......................................................... 27 6总结与展望 ................................................................. 27
参考文献 .................................................................... 31 致谢 ........................................................................ 32 附录 ........................................................................ 33 附才 ........................................................................ 33 附录二 ...................................................................... 34
基于Zi gBee的无线温度采集系统的设计
姓名:李鸿飞 专业:电子信息科学与技术
指导教师:宫鹤
摘要:文章对ZigBee技术进行了研究,应用无线技术进行数据采集。无线传感器网 络是
由分布在各个区域的自组织节点设备的无线网络。这些节点设备通过自身的传感 器来监测周围的物理或者环境状况,比如温度、声音、压力、震动等,通过汇总和分 析这些信息做出决策。无线传感网络最初应用在军事领域,用以战地的一些监测。随 看无线传感器网络应用的越来越广泛,它成为了当前研究的热点之一。无线传感器网 络是由大量的节点组成的,节点在无线传感网络中具有路由和感知的功能。通常无线 传感网络由大量的低成本、资源受限的传感器节点组成,用来部署在复杂的环境中, 节点往往通过电池来供电。ZigBee技术作为一种新兴的近距离、低复杂度、低功耗、 低数据速率、低成本的无线网络技术,主要用于近距离无线连接。它有自己的协议标 准,在数千个微小的传感器之间相互协调实现通信,这些传感器只需要很少的能量, 以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以其通信效率 非常高。本文首先介绍了 ZigBee技术的发展现状、
ZigBee技术规范及ZigBee芯 片CC243O的特点。其次具体论述了采用CC243O完成分
布式温度测量系统的设计 方案,讨论了无线网络的功耗管理方法、无线网络的配置、利用片内遍度传感器检测 环境遍度、从节点温度数据的发送、主节点对温度数据的接收及上传给上位机显示等 内容。
关键词:无线传感器网络;数据采集;ZigBee; 802.15.4; cc2430;无线通信
The Design of Wireless Temperature Collection System Based on
ZigBee
Name : Li Hongfei
Major : Electronic Information Science and Technology Tutor : Gong He
Abstract: This essay mainly studies the technology of ZigBee, using wireless technology to collect dates・ A Wireless Sensor Network (WSN)is a network consisting of spatially distributed self-organizing devices. These devices use their sensors to monitor devices. Their sensors to monitor environmental conditions, such as temperature, sound, Pressure vibration»
I
and so on. WSN were originally motivated by military applications, such as battlefield surveillance. They become one of the hottest research directions of computer science now days・ WSNs consist of large number of sensor nodes which have the capability of computing, sensing and communicating. Most sensor nodes are low-cost and resources-constrained compared to other embedded systems, so it can be deployed in a large scale・ ZigBee technology as one king of emerging wireless network technology with near distance, low complexity, the low powerless, the low cast, is mainly used in the near distant wireless connection・ It has its own agreement standard to communicate between several thousand small sensors Interco ordination realization communications. These sensors only need very few energies, pass the date by Hie relay way through the radio wave from a sensor to anther, therefore they communicate with an extreme by high efficiency wireless connection. This article briefly introduced the development of ZigBee technology and the specification of it, also the characteristics of the CC2430 chip on which the ZigBee technology can be implemented・ Beside, in give a sample application example on how to realize a distributed temperature measure task, including power consumption management, configuration of wireless network , using the on-chip temperature sensor to detect the environment temperature, the way the temperature data is send from child-device, and the receiving of temperature. Data on the coordinate side, and the way the data is up-loaded to a PC, on which the data is further display.
Key words: ZigBee; data collection; 802.15.4; CC2430; wireless communication
II
仁前言
1・1研究的背景及意义
随看电子产业的发展,无线通信、无线控制、无线定位、无线组网等进入各 个领域。ZigBee,在中国被译为\"紫蜂\",它与蓝牙相类似•是一种新兴的短距 离无线技术⑴.用于传感控制应用(sensor and control).此想法在IEEE 802.15工作组中提出,于是成立了 TG4工作组,并制定规范IEEE 802.15.4. 2002 年,ZigBee Alliance 成立.2004 年,ZigBee V1.0 诞生•它是 ZigBee 的 第一个规范•但由于推出仓促,存在一些错误.2006年推出ZigBee 2006上匕 较完善.2007年底,ZigBee PRO推出ZigBee的底层技术基于IEEE 802.15.4.物理层和MAC层直接引用了 IEEE 802.15.4
在蓝牙技术的使用过程中,人们发现蓝牙技术尽管有许多优点,但仍存 在许多缺陷。对工业,家庭自动化控制和工业遥测遥控领域而言,蓝牙技 术显得太复杂,功耗大,距离近,组网规模太小等,而工业自动化,对无 线数据通信的需求越来越强烈,而且,对于工业现场,这种无线数据传输 必须是高可靠的,并能抵抗工业现场的各种电磁干扰。因此,经过人们长 期努力,ZigBee协议在2003年正式问世。另外,ZigBee使用了在它之前 所研究过的面向家庭网络的通信协议〔2】Home RF Lite。长期以来,低价、 低传输率、短距离、低功率的无线通讯市场一直存在看。自从Bluetooth 出现以后,曾让工业控制、家用自动控制、玩具制造商等业者雀跃不已, 但是Bluetooth的售价一直居高不下,严重影响了这些厂商的使用意愿。 如今,这些业者都参加了
IEEE802.15.4小组,负责制定ZigBee的物理层 和媒体介入控制层。IEEE802.15.4规范
是一种经济、高效、低数据速率 (<250kbps )、工作在2.4GHz和868/928MHZ的无线技术,用于个人区 域网和对等网络。它是ZigBee应用屋和网络层协议的基础。ZigBee是一 种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技 术,它是一种介于无线标记技术和蓝牙之间的技术提案。主要用于近距离 无线连接。它依据
802.15.4标准,在数千个微小的传感器之间相互协调实 现通信。这些传感器只需要很少
的能量,以接力的方式通过无线电波将数 据从一个传感器传到另一个传感器,所以它们的通信效率非常高。
目前,短距离无线通信技术已经成为无线通信技术的一个重要的分支,这是 因为在现实生活中,存在看许多这样的应用情况,系统所传输的数据通常为小量 的突发数据信号,即数据特征为数据量小,需要构建网络,要求进行实时传送因 此用户希望利用具有成本低、体积小、和能耗小的短距离无线通信技术⑶。ZigBee 技术符合以上的要求,并且可应用于军事、工业控制、环境、楼宇控制、保健、 交通等领域,针对ZigBee的应用背景,对其终端的要求是尽量节省系统能量消 耗、尽量节省信息处理以及简易的信号收发。而对于ZigBee网络中的网络协议 的要求是:用简单易操作的协议栈支持ZigBee网络的有效运行,并利用广播信 息,避免交互应答,简化的协议层次,简练的信令方
1
式,极少的系统开销等。 ZigBee技术的产生正是基于以上的要求。ZigBee技术是一种近距离、低复杂度、 彳氐功耗、低数据速率、低成本的双向无线通信技术,主要适合于短5巨离无线通信、 组网、自动控制和远程控制等领域,并可以嵌入至各种设备中。
ZigBee协议是 专用于ZigBee网络的通信协议通过好的算法能最大可能的节省网络中的
能量, 可突发接入大量节点,具有高容错性,强鲁棒性,逐渐成为了成熟的简洁网络协 议。由传感器和ZigBee系统组成的ZigBee无线传感器网络,可自动采集、分 析和处理各个节点的数据,同时,ZigBee技术具有很强的网络扩展能力,理论 上,一个ZigBee网络可容纳65536个节点⑷,适合于各种自动组网领域,具有 极其广阔的应用领域和很高的研究价值。
1.2国内外研究现状及发展趋势
近年来,数字家庭、无线通信、无线控制、无线定位、无线组网和移动连 接等
词语频频映入眼帘。正是由于IT产业的高速发展、网络的普及、嘉定的智 能化以及单片机强有力的功能拓展,才使得他们逐渐来到我们身边,进入我们的 生活。有增无减的相关信息报道足以预测这些新事物意见具有强大的生命力和广 阔前景。无线通信技术在医疗领域的应用主要包括跟踪治疗、移动观察、远程医 疗、患者数据管理、药物跟踪、手机求救、病人的数据收集、医疗垃圾跟踪和短 信沟通等多方面的新应用。最近几年,无线通信技术在国内外医疗市场得到了广 泛的应用,无线医疗设备应用迅猛增长。一个报告指出,欧洲的无线医疗设备销 售额将从2003年的9800万美元增加到2010年的
8.35亿美元。尽管在无线网 络方面同时存在看其他几种无线网络技术,比如802.11b. Bluetooth. UWB、 RFID、IrDA、可视光通信等,但是ZigBee技术荏苒以其独特在众
多的无线网 络技术中熠熠闪光。ZigBee技术目前主要应用在短距离无线网络通信方面,相 信在不远的将来,在很多领域都可以看到ZigBee的身影。
尽管只能家庭的概念已经提出很多年了,但是由于相应的通信技术及应用 方面
的发展速度缓慢,智能家庭一直没有走向实用化。随看ZigBee技术的出现, 使得智能家庭可能在未来的两到三年内普及到各个家庭。
ZigBee联盟在2001年8月成立。2002年,美国Motorola公司、英国 Invensys
公司、日本三菱公司及荷兰飞利浦半导体公司同时宣布,它们将加盟 VigBee联盟”,以研发为名的\"ZigBee\"的下一代无线通信标准,这一事件 成为该项技术发展过程中的里程碑⑸。根据ZigBee联盟最初的设想,ZigBee 的目标市场主要有PC外设、消费类电子设备、家庭内智能控制、玩具、医护、 工控等广阔的领域。目前,除了摩托罗拉、
Invensys.三菱电子和飞利浦等知名 企业外,ZigBee联盟大约已有30多家成员企业,并
还在迅速发展壮大。其中 涵盖了集成半导体生产商、IP服务提供商、消费类电子厂商及OEM商等,例如 Honeywell. Eaton 和 Invensys Metering Systems 等工业控制和自
2
动化的企 业,甚至还有像Mattel之类的玩具企业。所有这些企业都加入了开发ZigBee 物理和媒体控制层技术标准的IEEE 802.15.42工作组⑹。根据ABI Research于 2008年发布的调研数据,自2005年到2012年IEEE802.15.4与ZigBee芯片 组经济呈上升趋势,其收入的复合年均增长率为63%[刀。2004年11月,ZigBee 联盟Robert
F.Haile来到中国,希望中国本地企业合作,其方式为免专利 费的方式。ZigBee技术在ZigBee联盟和IEEE802.15.4在中国的推动下,并与 其他技术共存,可以实现功能更强
的网络。它不仅在传统领域如军事、工业、环 境、农业、医疗等实现其应用价值,在将来,其应用可以涉及到人类日常生活和 社会生产活动的所有领域。由于某些地方的制约,ZigBee技术的大规模商业应 用还有待时日,但现在己经表现出了其^凡的应用价值,随看技术的发展和推进, 在不久的将来,一定会得到更大的应用⑻。最近ZigBee联盟推出了 ZigBee PRO 的新技术,以前我们用的ZigBee是直接扩频技术,现在利用可以利用自动朗濒 技术对信息进行处理,并且利用网型网络在多路径路由自动选择,复杂网络,突 变的网络单元以及网络安全等方面取得了突破型的进展,使无线网络运行得更可 靠,功耗将更低。以 TI/CHIPCON. EMBER(ST). JENNIC(捷力)、FREESCALE.
MICROCHIP为代表的一批集成芯片厂家也陆续推出了免费的ZigBee协议栈, 新的无
线SOC芯片和典型扩展电路,这些芯片以低成本,微功耗为主导,加快 了 ZigBee技术的工业化、产品化和实用化的步伐,使ZigBee技术更快的融入 我们的生活各个方面,也更快的进入各行各业,在新能源、节能、环保、数字家 庭、现代农业、工业自动化和健康等领域得到更加广泛的应用。据有关市场研究 机构对ZigBee进行估计,到2010年,全球的ZigBee芯片销售额将达到5亿 8千万片。在我国,ZigBee技术的研究工作相对于国外是比较晩的,它的技术、 应用都还远远比不上国外,国内企业应该稳定自身发展的同时,抓住商机,推动 整个行业成熟的发展。目前,ZigBee技术很多都是应用于现代无线传感网络, ZigBee技术的加入将给其他无线传感网络技术带来很大的突破。从2002年起, 我国的高校如哈尔滨工业大学和黑龙江大学已经开始了对无线传感器网络的研 究。现在,国内一些硏究所与\"211\"高等院校为首的机构正积极开展无线传感 器网络的相关研究工作。ZigBee技术在学术界的研究领域主要集中在无线传感 器网络技术的无线通信技术和通信协议方面,此外进行了一些数据查询处理方面 的研究,取得了一些初步的研究成果〔9】。ZigBee技术和传感器结合起来使得 ZigBee技术的应用领域非常广泛,作为一项新技术,它弥补了低成本、低功耗、 低速率无线通信市场的空缺,在全球范围内被迅速看好。支持无线传感器网络的 无线通信技术、网络技术、超微型嵌入式3实时操作系统以及突发数据的出来等 若干关键技术的硏究将成为未来应用硏究的趋势和热点。
3
3论文的主要工作
本论文拟设计出一种对于多种环境应用ZigBee无线数据采集。主要工作范围是 无线通信模块的实现,该系统采用半双工模式,以ZigBee发射模块为参考温度 采集系统中通信部分进行设计,中心控制芯片采用CC2430 ,达到控制整个 发射或接收系统,实现软件控制。论文具体结构如下:
第一部分引言。简要介绍了研究的背景和意义,概述了国内外研究态势,并介绍 了
本文的整体结构。
第二部分ZigBee技术分析。分析了 ZigBee技术的特点、网络拓扑结构、协议 体
系结构,及干扰抑制技术,最后对其它无线通信技术进行比较,并对ZigBee 技术与其它无线通信技术间的干扰进行了分析。
第三部分ZigBee技术在温度采隼通信中的应用。主要讲述的是ZigBee技术
的 硬件、软件的实现。
第四部分ZigBee无线网络节点的软件设计,主要是温度采集的软件部分和算法 以及
软件流程图。
第五部分总结与展望。对本文工作进行总结,并对后续工作进行了展望。
4
2系统总体设计 2.1系统总体设计方案
降低无线节点功耗的方法是尽量降低其MCU、无线收发芯片的活动时间, 延长
它们的\"睡眠\"时间,但这需要综合考虑系统响应时间、功耗等因素。休眠 时间太长,虽可获得更低的功耗,但势必降低采样温度的实时性。下图2-1所示 为一个基本工作周期T ,其中只有TI时间段芯片处于工作状态,通过竞争取得 信道的使用权,完成数据收发,剩下的很长时间芯片处于低功耗休眠状态。占空 比q二TI汀越小,功耗越低.
T 4
« ---------- T -------------------- S
图2-1.无线收发芯片的一个基本工作周期 Figure ・ A basic work cycle of wireless transceiver chip
TI i
I
方案1:从节点按一定的周期定时醒来后使用一种简单的非时隙CSMA - CA机 制,通过竞争取得信道使用权,主动向主节点发送数据,随后进入休眠。此种方 法实现较简单,工作量小,但当从节点数量较多时,信道访问冲突较厉害,因此, 这种方法不适用于从节点数量很多的情况。方案2:通过协调器发送超帧,同步所 有的从设备,使它们协调起来。在超帧活动期,各子设备使用时隙CSMA - CA 算法竞争取得信道使用权,实现数据收发,在非活动期,统一地进入休眠状态。 从设备将在ZigBee协议代码的控制下,适时跟踪信标,保持与协调器的同步。 此种机制在从节点数量很多的情况下依然能表现出很强的通信效率和低功耗性 能,但软件实现略复杂,工作量大。考虑到论文任务书只要求做到2个从节点和 1个主节点,数量不多,可使用CC243O芯片的sleep Timer,并使芯片工作在 PMZ模式,方便地实现长时间低功耗睡眠。故选择方案1。分布式温度测量系 统主要由一台数据集中器(ZigBee协调器)、一台Pc机和放置在各处的温度监测 节点(ZigBee设备)组成。数据集中器与各个温度测量节点组成一个ZigBee星型 网络。CC2430芯片的标准通信距离时50m ,温度节点放置范围可在以数据集 中器为中心
80m半径范围内。适当的增大发射功率可加大通信距离。增强型 ZigBee模块有效通信
距离可达1000mo
5
2.1.1系统总体结构
Zig Bee无线温度温度测量系统由上位计算机.网络协调器、路由器、51单 片机以
及传感器组成。如图2-2图2-3所示
节点2 1 ZigBee路由器 51单片机 节点3
◄► ZigBee路由器 51单片机 线网调器
图2-2 ZigBee无线温度测呈系统框图
Figure 22 ZigBee wireless temperature measurement system block diagram of the temperature
该系统通过遍度传感器将土壤遍度信号采集出来,模拟信号通过AD594转 换为数字信号,经过包括差分放大在内的三级放大后(采用差分放大的方法主要 是提高测量的精准度),将数字信号传输给单片机处理。而温度部分则由18b20 直接采集传给单片机。
图2-3三级放大电路图
Figure 2-3. Three amplification circuit
6
经单片机处理的数字信号,通过ZIGBEE无线收发模块进行传送,与单片机 连接在一起的ZIGBEE路由模块与单片财口传感器一同组成一个节点,与另外N 个节点终端共同组成了一个数据收发的网络。同时ZigBee无线传感器执行网络 必须要有一个协调器作为整个网络的传输与控制中心,并与上位计算机相连。如 图2-4所示:
5
nr
x.2k 图2-4总体电路图
Figure 24 Overall circuit diagram
系统的整体工作过程是:首先由协调器节点成功创建ZigBee网络,然 后等待终端节点加入。当终端节点及传感器上电后,会自动查找空间中存 在的ZigBee网络,找到后即加入网络,并把该节点的物理地址发送给协 调器。协调器把节点的地址信息等通过串口发送给计算机进行保存。当计 算机想要获取某一节点处的传感器值时,只需要向串口发送相应节点的物 理地址及测量指令。协调器通过串口从计算机端收到物理地址后,会向与 其相对应的传感器节点发送数据,传达传感器测量指令。传感器节点收到 数据后,通过传感器测量数据,然后将测量结果发送给协调器,并在计算 机端逬行显示。
在系统中,节点上电加入网络后,协调器会通过RS232向PC机发送新加 入节点的
IEEE地址。PC机将从串口接收到的物理地址和短地址进行存储, 并改变计算机中
所存储的房间地图中的节点颜色进行指示。该程序使用 Visual C + + 6 ・ 0 编写。
7
2.1.2上位机操作主要部分
操作界而
主要包括:试验设置、打开串口 /关闭串口、开始接收、数据分析、曲线 分析.查找节点.单步存储.退出8部分。如图2・5所示
图2-5操作界面 Figure 2-5 Operating interface
8
2.1.3各部分功能介绍
⑴■湖佥设置
1) ・试验编号 主要是设定此次试验的编号,即试验代码,以方便下一次对 此次
试验数据进行查找与操作。设置好的试验代码可长期跟踪操作。如图2-6
试鑿设置
叵注
试验设置
试验编号: |333|
接收方式:
I单步接收
Io
3
定时时闾:
图2-6试验设置
Figure 2-6. Test setting
2) .接收方式分为单步接收、定时接收、批量接收三种接收方式。
① 单步接收:鼠标点击\"接收数据\"一次,程序执行一次,即数据接收一 次。单击\"单步存储\"进行数据存储。
② 定时接收:由下面的定时时间来设定时间间隔,即隔多长时间自动进行 数据的接收。点击\"停止接受\"进行数据存储。
③ 批量接收:主要针对多节点的大量数据接收,默认间隔为1秒。点击\"停 止接受\"进行数据存储。
3 ) •定时时间 只与定时接收相对应,当定义为其他接收方式时,此 栏为灰色。定
时时间以分钟为单位,支持小数点,最多可设定20个数字。 当基本设置完成后,单击\"确定\"按钮,回到主界面,单击\"取消\"按钮 后依旧回到主界面,但是此时没有进行试验设置,需要重新设置。
(2).打开串口 /关闭串口
由鼠标左键控制切换,当串口打开时,主界面显示为”关闭串口 ” •当
9
没有连接串口时,会显示串口连接错误的提示・
注意:当准备接受数据进行实验时,此处状态必须为\"打开串口\"。
HM
(3).开始接收/停止接收
此操作必须在打开串口时方可进行,当没有打开串口时,进行此操作, 为显示出”请先打开串口,再接收数据”的提示•
(4)•数据分析
数据分析界面包括查询条件和数据显示两部分・如图2-7所示
爾叶
丄甲
hi
SM8均值$
|203・ S39935
|192・220078
126 126 126 126 126 12& 126 126 126 126 126 126 126 126 126 126 126 126 126
1节克 8 站闵 6803040506 36560603030«105« 0箔冈G旳O30qQ6箇
试越时冋 172.220001 13:26:2? 173.220001 13:26:28 174.220001 13;26;29
13:2&:35 180.220001
131.220001 13:26:3&
33:26:37 182.220001
195.220001 13:26:50 m. 220001 13:26:
13:2$:S5 200.220001
175.220001 13:26:30 176.220001 13:26:31 177.220001 13:26:32 172.220001 13:26:33 179.220001 13:26:34 133. 220001 13:26:38 134.220001 13:26:39 185. 220001 13:26:49 186.220001 13:26:41 187.220001 13:26:42 138. 220001 13:26:43
---„ --
--
丨晚日期 2DOMO-1S 3309-10-15 3J0M0-1S 200&-W-1S 3309-10-15 2OOMC-15 2309-10-15 200M0-15 3JOMO-1S 3309-10-15 2D09-10-15 3309-10-15 200^-10-15 200MO-1S 3309-10-15 2XJOM0-15 2Q0W0-15 2309-10-15 200W0-15 2309-10-15
▲厶 ▲ i
a&5€060Q030<105C6 8 筠闵 6 饲 03040506 a€5e06M030405C6
^^£<16X030405% a&5€06Cva030405C6 a65W6WO30«W506 ae5W6M030405C6
126 ▲ __
购 6X0303506 a€5€060Q030405C6 Q65 闵 6 为03040506
饵O3Q4O5丙
a&5W60Q03040DCB aeSW60a03040506 ae5W6W030405C6 __ dL A 厶▲ A-X
厶 uaZ^AZvgtAA
__
L幻 339995 L&J 339996 1ES 339996 191 33999& 192 539996
$39998 L如 2C6 5976 210 339996 213 33嘶 IK 339996 187 339996 LE3 339996 L&9 S39996 L90 339996 LM 339996
339996 L笔 339996 L药 L9T 339996 198 $39996 199 339996 rzi.A\"— |r CA
如杲节点迭择为 空.捋宝询所有 节点!
或击记求将和昨
.
此
lean
■
图2-7数据分析 Figure 2・7. Data analyses
查询条件包括:
1) 2)
试验编号选择 在下拉菜单里可以选择一个曾设置的试验编
号,主要 针对”试验设置”里的”试验编号”,也可以手动输入要查询的试验编号.
节点选择 在下拉菜单里可以选择一个节点或者多个节点.此
3 )查询 上面两部设定无误后,单击\"查询\",完成对查询数据的相
项 与”查找节点”界面相关.
关显示。
数据显示包括:
记录条数 温度均值 温度均值 试验编号 节点
即为所显示的数据的条数• 即为本次操作所有温度数据的均值. 即为本次操作所有温度数据的均值. 即为所选择的试验编号。 显示此试验编号的对应节点信息。
显TJX此试验编号下的对应节点的温度值。
温度
10
温度 试验时间
显示此试验编号下的对应节点的温度值。 显示此次试验的时间(小时、分)
实验日期 显示此次试验的日期(年-月-日) 删除所有记录
删除界面所有数据
删除选择记录 删除所选择的记录,所选择的记录由用户用手表左键 单击一次选择,若连续单击两次,则会对所单击的数据进行单条的数据删 除。
若没有进行接收或者数据无法存储接收,则当单击\"数据分析\"时,会 显示\"数据库连接失败,无法分析数据”的提示•
图2-8曲线分析
(5)•曲线分析
执行此操作前,必须设定一个数据库对分析数据进行储存•如图2-8所示
Figure 2・8. Curve analyses
1)试验编号 2 )节点选择 3)参数选择 4 )方式选择
即所要分析数据的试验编号。 选择要进行曲线分析的节点。
可以选择遍度或者温度作为参数进行曲线分析。 选择”单节点显示”或”多节点显示\"。单节点显示只会
画出一条曲线,而多节点显示时,将会有多条不同颜色的曲线进行显示。
5 )曲线表度 分为日期、时间、日期+时间三种显示方法,对应为曲线 显示时
的横坐标变化,在此应该注意的是,坐标的间隔是由所输入数据的多少自 行设定的,即当数据多时,间隔大,数据少时,间隔小。
完成设定后,点击\"输出曲线\"即可观察到所要分析的数据形成的曲线。 此
11
外,数据曲线图像可以根据用户要求进行拉伸。
(6) 直找节点
查找节点网络的所有节点.
(7) •单步存储
与”单步接收”相对应,当实验设置为单步接受时,需要点击此按钮 进行数据存储,当设定为其他接收方式时,此栏为灰色•
(8) 退出
退出操作界面.对用户而言,当想要获取传感器所测量区域土壤的温温 度等情况时,只需要点击PC机所显示的地图上相应的节点。程序会调用已 存储在相应位置的传感器节点的物理地址,通过串口和ZigBee网络向该节 点发送测量传感器数据的指令,并等待接收传感器传回的温度,并在PC机 界面进行显示。实验表明,节点的功耗较低,每个节点使用电池供电可以 工作3 ~ 6个月,可见应用ZigBee构建土壤遍度温度的传感执行网络是可 行的。
基于ZigBee无线技术的分布式温度监测系统,主要由1台以32位S3C2410 芯片与CC2420芯片为核匕、的温度数据集中器(ZigBee协调器)和安装在各处的 温度监测点(ZigBee设备)组成星形结构网络.温度监测节点主要由CC2430芯片 与数字温度传感器DS18B20组成•温度集中器通过发送超帧使各ZigBee设备与 它同步,并使各遍度监测点周期性地进入低功耗状态,以达到降低功耗的目的•遍 度监测点将采集的温度值利用ZigBee网络,以无线方式传输给温度集中器,温度 集中器在收到温度监测值后,将数据存入数据库,并以数值和曲线的方式在 数据集中器人机界面上显示•数据集中器还可以通过串行或以太网与PC机连接 传输数据•系统结构如图2-9所示.
图2-9.分布式温度监测系统结构
Figure 2-9. Distributing temperature measure system configuration
遍度监测点的结构较为简单,是一组ZigBee精简功能节点(RFD),由8路温 度传感器、射频收发芯片和RS232串口通信接口组成•温度监测节点主要完成各 监测点的温度测量,并向FFD节点发送所采集温度数据.同时,预留RS232通信接 口.具体
12
的电路如图2-10所示.
图2-10.温度监测点硬件电路
Figure 2-10. Temperature monitoring hardware circuit
射频收发芯片使用CC2430芯片,该芯片内部包括了一个工作频率为2.4 GHz的直接序列扩频方式射频收发器和_颗工业级8051控制器.CC2430天线 接收的射频信号经过低噪声放大器和I/Q下变频处理后,中频信号为2 MH乙此混 合I/Q信号经过滤波、放尢A/D变换,自动增益控制,数字解调和解扩,最终恢复 出传输的正确数据•发射部分基于直接上变频•要发送的数据先被送入128字节的 发送缓存器中,头帧和起始帧由硬件自动产生•根据IEEE 802.15.4标准,所要发送 的数据流每4个比特被32码片的扩频序列扩频后,送到D/A变换器,再经过低通 滤波和上变频混频后的射频信号,最终被调制到2.4 GH乙并经放大后送到天线发 射。
由于温度监测的实时性不强,因此在传输数据过程中选用了超帧周期,以使各 温度监测节点处于低功耗睡眠状态的时间较长,并尽量减少工作电能的需求.分布 式温度控制系统信标选取序号为14,对应的信标周期为251.658 24 s,超帧的序 号取0,对应的活动时间为15.36 ms,每台ZigBee设备仅使用其中的一个时隙, 时间为11.92 ms,占空比约为0.000 000 762 9.温度监测节点传感器采用一线器 件DS18B20,其温度测量范围为-55-125°C,它本身输出数字信号,无需外部信号 放大调理电路.8路DS18B20硬件以串联的方式相连.
2. 2硬件系统总体设计
图2-11为ZigBee无线网络节点的硬件系统总体框图⑷ 该系统由CC2430 器件模块和无线收发模块组成。CC2430射频器件模块由CC2430器件和相关外 围电路构成。虽然CC2430内部集成有无线收发器和8051内核,可以简化电路 设计,在单片机和无线收发器之间不加接口电路也能通信,但通信距离有限。经 测量发现,两个网络节点在空旷地面的通信距离是10-100 m ,这个距离有时不 能满足应用需要。在
13
CC2430器件与天线之间加一级接口电路即无线收发模块, 用来放大接收和发送信息
的功率,从而加大数据传送距离。
图2-11 .乙gBee无线网络节点的硬件系统总体框图
Figure 2-11. ZigBee wireless network node hardware system overall block diagram
CC2430器件模块CC2430器件模块的电路原理如图2-12所示,该模块 主要包
括3.3 V和1.8 V电源滤波电路、芯片晶振电路、巴伦电路和复位电路。 芯片本振信号既可由外部有源晶体提供,也可由内部电路提供,这里由内部电路 提供,需外加晶体振荡器和2个负载电容,电容的大小取决于晶体的频率及输入 容抗等参数。R2和
R3为偏置电阻,电阻R3主要用来为32 MHz的晶振提供 合适的工作电流。用1个32 MHz的石英谐振器(XI )和2只电容(C9和C10 ) 构成1个32 MHz的晶振电
路。用1个32 . 768 kHz的石英谐振器(X2 )和2 个电容(C7和C8 )构成1个
32.768 kHz的晶振电路。CC2430射频信号的收 发采用差分方式传送,其最佳差分负
载是U5+J180Q ,阻抗匹配电路应根据该 数值进行调整。设计采用50Q单极子天线,由于CC2430的差分射频端口具有 两个端口,而天线是单端口 ,因此需采用巴伦电路〔11】(平衡/非平衡转换电路\"I 完成双端口到单端口的转换。巴伦电路由电感(LI、
L2、L5 )和电容(C15、 C17、C26 )构成。CC2430内部使用1.8 V工作电压,适
合于电池供电的设备, 外部数字I/O接口使用3.3 V电压,以保持和3.3 V逻辑器件兼容。CC2430片上 集成有自流稳压器,能将3.3 V电压转换为1.8 V电压,这样只有
33 V电源的设 备无需外加电压转换电路就能正常工作。Cl、CU、C15等为去耦电容,
主要用 于电源滤波,以提高器件的工作稳定性。
14
VD&3.3V
U1
■■■■■■■■■■■卩■■・•AVDD.DtUAR
D
DVDD.ADC AVDO.AOC AVM)JF2 AVDI) RF2 AVDD.SW AVDD.RF) AW. PRE AVDD VCC VCO.GUARC AVDD.C1IP AVDD IF:
RF.P TXRX SWITCH
RF.J P2-4/XOSC-Q2 21 P2.3/XOSCQ19
OCHIEEDEDN s N L L L - p ./ 1/ T D D DDMO12O1234$6? 01234 5 67E> D D D nr C/> D vvvv C2-IA2111H11 ]1 looonuooo orxvn A A DD/PPPPPPPP PPPPPPPPPPRG Cl r l~II ----------
220nF PA EN《»
RFJN/OUT
TXRX-STITCH
VDD.J. 3V
■■■■■■■】 XOSC-Q] 26
XOSC.Q2
24
KB1AS1 RB1AS2 PREG-OVT
—Ol->
r,32. ?68kll
才®
平疔
,一OAYDD丄
工
RESET
丄
CC243ORTCF128
卫
5pP
Cl I. 220cF^j220nF
图2-12 CC2430器件模块电路原理图
Figure 2-12・ CC2430 module circuit diagram
2. 3无线收发模块
CC2430发送数据时,信号从差分射频端口 RF_P、RF_N经巴伦电路变为 单
端信号,由RXTX_SWITCH信号控制2个逻辑开关,选通功率放大电路(PA ), 放大后的信号从天线发射出去。接收信号时,在RXTX_SWITCH信号控制下, 从天线接收的信号经低噪声放大电路(LNA )放大,巴伦电路转换,由RF_P、 RF_N端口接收。图2-13为无线收发模块与CC2430的连接框图。
功率放大
电路(PA)
CC2430 RF.P RF-N 电路 TXRX一■rl1 ■ SWITCH TX/RXSWITC巴伦H TX/RXSWITCI1
低噪声放大
电路(LNA )
■■ ■ ■ ■ ■ ■■
电路
图2-13.无线收发模块与CC2430的连接框图
Figure 2・13. CC2430 wireless transceiver module and the connection diagram
15
无线收发模块的电路原理如图2-14所示。该电路主要由2个逻辑开关电 路、
功率放大电路(PA \\低噪声功率放大电路(LNA \\阻抗匹配电路、电源
图2-14.无线收发模块电路原理图
Figure 2・14. Wireless transceiver module circuit diagram
功率放大电路采用Buber公司的功放UP2202V ,该器件由3.3 V电源供 电,
与CC2430供电电源相同,无需另外设计电源电路,1 dB压缩点输出功率 为23 db,线性增益为26 dB ,内部输入已匹配到50Q。低噪声功率放大电路 采用Bubec公司的
UA2723 ,该器件采用3.3 V电源供电,内部输入输出均已 匹配到50Q ,设计时无需阻
抗匹配,频率范围是0.05-4 GHz ,在2.2 GHz时 功率增益是20 dB,在2.5 GHz时1
dB压缩点输出功率大于-1.5 dBm。为了 保证低噪声功率放大器的灵敏度,3.3 V电源
经Richtek公司的超低噪声,低静 态电流电源调整器RT9193-33PB调整后再送给
UA2723Z ,如图2-15所示。
16
vcc o
C38
C39 Tl~I
n d inn V GE 47011F
~[TOnF
RT9193-33P
图2-15低噪声功率放大器的供电电路
Fisure 2-15. Low-noise power amplifier supply circuit
r p VOLB 3 Z i gBee收发器CC2430主要结构 3. 1CC2430功能特点与结构
CC2430芯片是Chipcon公司生产的首款符合ZigBee技术的2.4GHz 射频系统
单芯片。适用于各种ZigBee无线网络节点,包括协调器、路由器和终 端设备。CC2430芯片以强大的集成开发环境IAR作为支持,它结合Chipcon 公司全球先进的ZigBee协议栈、工具包和参考设计,是全球领先的ZigBee解 决方案。它集成了増强型51内核
MCU、闪存、IEEE802.15.4所需要的全部硬 件。CC2430soe家族包括3个不同系列
的产品,CC2430 — F32 , CC2430 — F和CC2430 - F128O它们的区别在于内置闪存的容量不同,分别是32K、 K和128K片内闪存。
高性能和低功耗的8051微控制器核
具有32//I28KB可编程闪存和8KB的RAM
集成符合IEEE802.15.4标准的2.4GHZ的ZigBee射频(RF)前端,有优良的 无线接收灵敏度和强大的抗干扰性
CC2430芯片采用0.25娜emos 1艺生产,7x7nunQLP4s封装。工作时的 电流损耗
为27mA ,在接收和发射模式下,电流损耗分别低于27mA和25mA
在休眠模式时仅0.9叭的流耗,外部的中断或RTC能唤醒系统;在待机t莫式时 少于0.6叭的流耗,外部中断能唤醒系统
CC2430的休眠模式和转换到主动模式的超短时间的持性特别适合那些要求 电池
寿命非常长的应用场合
硬件支持CSMA/CA功能 较宽的电压范围(2.0-3.6V) 强大的DMA功能
具有电池监测和温度感测功能
上电复位电路(PO-OnReset)、掉电检测电路(Brownout detention),以及 21个可编程10引脚
17
集成了 14位模数转换的ADC 集成AES安全协处理器。
带有2个强大的支持几组协议的USART ,以及1个符合正EE802.15.4规范 的
MAC计时器,1个常规的16位计时器、2个8位计时器、32.768KHZ晶振 下工作的睡
眠定时器(sleep timer)和看门狗定时器(Watchdog timer).
3. 2 CC2430内部一些重要单元模块 3. 2.1 电压调节器(VoItage Regulators)
芯片内部集成有两个低压降高效率电压调整器,其中一个为芯片内部数字部 分(如MCU内核、DMA、存储器、定时器、USART等)提供1.SV数字电源, 另一个电压调整器为芯片内部模拟部分如射频前端、RC振荡器、晶体振荡器、 片内温度传感器、ADC部分提供1.8V稳定的模拟电源。
3. 2. 2调试仿真接口
芯片上有一个片上调试接口(no-chip debug module),此调试接口支持对片内
FLASH编程、访问内部MEMORY和SFR ,还支持断点调试、单步运行、寄存 器修
改等功能。此调试接口使用两个线控制,分别是DEBUGD和 DEBUGCLOCK ,占用两个F0 口,当不需要调试功能时,被占用的F0 口可配 置为通用F0 口使用。利用此调试接口,可开发出低成本的芯片烧写器和芯片仿 真器,极大地方便了应用。
3.2.3SLEEPTIMER
SLEEPTIMER是一个低功耗的工作在32.768KHZ时钟下的24bit向上计数 睡眠
定时器“I ,上电复位后即自动开始运行,支持24位捕获,可触发中断和 DMA。利用其低功耗、低时钟下工作特性,工作在PMZ模式,实现芯片定时 唤醒。3.2.4CC2430存储器结构芯片内部有4类物理存储器空间,分别是:SKB 静态RAM、硬件SFR寄存器、硬件孙寄存器和FLASH存储器。芯片将物理存 储器空间分别对应到8051内核
MCU、CODE、DATA、SFR、XDATA逻辑存储 区域。CODE区是16位宽度的只
读程序存储器区域。DAT A区是8位宽度的 可读写数据存储器区域,CPU访问速度快,—个CPU周期访问。SFR区是7位 宽度可读写寄存器区域,可位寻址,CPU访问速度快,—个CPU周期访问。 XDATA区是16位宽度可读写数据存储器区域,CPU访问速度最慢,通常要4-5 个CPU周期访问。为了充分发挥DMA控制的优势,CC2430设计成将所有物 理存储器区域(Physical Memory)映射到XDAT A区域上,以使DMA可在不 同物理存储器区域
18
4 ZigBee无线网络节点的软件设计 4.1 ZigBee协议栈
ZigBee协议由一组子层构成。每层为其上层提供一组特定的服务;数据实 体提供
数据传输服务;管理实体提供全部其他服务。每个服务实体通过一个服务 接入点(SAP )为其上层提供服务接口,并且每个SAP提供一系列基本服务指 令来完成相应的功能。
ZigBee协议栈的体系结构包括:ZigBee应用层、ZigBee 网络层、IEEE.802.15.4 MAC
层和 IEEE802.15.4 PHY 层。IEEE.802.15.4 2003 标准定义最下面的2层:物理层(PHY )和介质接入控制层(MAC \\ ZigBee 联盟提供了网络层和应用层(APL )框架的设计。其中应用层框架主要包括3部 分:应用支持子层(APS \\ ZigBee设备对象(ZDO )和由制造商制定的应用对 象。
ZigBee信道分配
ZigBee的通信频率在物理层规范,在不同的国家或区域ZigBee提供了不同的 工作频
率范围,其所使用的频率范围为2.4 GHz和816/915 MHz。因此,在 ZigBee中定义2.4
GHz和816/915 MHz 2个物理层标准,它们都基于直接序 列扩频
(DSSS )技术。这里采用全球统一的2.4 GHz波段,无须申请ISM频段,适合 ZigBee
设备推广及降低生产成本。2.4 GHz物理层采用16相调制技术,能够 提供250 kb/s的传输速率,提高数据吞吐量,缩短通信时延和数据收发时间, 降低功耗。
4. 3网络的建立与加入
ZigBee设备通过NLME-NETWORK-FORMATION.reques原语来启动一个新网 络的
建立过程。仅当具有ZigBee协调器能力且当前无与网络连接的设备,才可 尝试建立一个新网络。如果此过程由其他设备开始,则网络层管理实体将终止该 过程,并向其上层发出非法请求报告。该步骤通过发出状态参数为 INVALID_REQUEST 的 NLME-
NETWORK-FORMATION. confirm 原语来完成。 只有当设备为ZigBee协调器或路
由器时,才能试图允许设备与网络的连接。可 通过 NLME-PERMIT-JOINING. request 原语允许连接。
4. 3.1数据的发送与接收
发送数据时,首先按照协议中规定的帧形式构建帧数据。帧数据包括帧头和 帧内容。其中帧头包括帧类型、源地址、目的地址、PAN、CLUSTERID等信息。 帧构建好后调用MAC层的原语21MCPS-DATA. request,并将接收到的结果通过 MCPS-
DATA. confirm返回。在Z-Stack中,数据的发送和接收都必须通过应用 层调用。应
用层提供的Flash发送函数,其程序如下: void Sampleapp_SendFlashMessage ( uintl6
19
flash Time )
{uint8 buffer[3]; buffer[O]= ( uint8 ) ( SanipleAppFlashCounter++ ); buffer! 1]=LO_UINT 16 ( flash Time ); buffer[2]=HI_UINT16 ( flash Time ); if
( AF_DataRequest ( & SampleApp_Flash_DstAddr z & SampleApp_ epodes 〃发送的
模式和目的网络地址
SAMPLEAPP_FLASH_CLUSTERID , 〃串 ID3 , 〃数据长度 buffer , 〃数据 & SampleApp_TransID ,
AF_DISCV_ROUTE , AF_DEFAULT_RADIUS ) ==afStatus_SUCCESS ) 〃发送状态 Else }
为了接收数据,设备必须打开其接收机。上层使用NLME-SYNC. request原 语初始化设备,打开其接收机,该原语将引起网络层使用MLME-POLL. request 原语对其父设备进行轮询。ZigBee协调器或路由器的网络层必须在最大程度上 保证任何时间接收机总是处于接收状态。网络层使用NLDE-DATA. indication原 语向其高层表明所接收到的数据帧。一旦接收到帧信息,网络层数据实体将会检 查帧控制域中安全子域的值。如果该值不为零,则网络层数据实体将把该帧传送 到安全服务提供单元并根据所指定的安全标准对其进行安全处理。接收到Flash 发送方式的数据后,网络层会根据发送的数据计算小灯闪烁的数据间隔,其源函 数程序如下: void
SampleApp_MessageMSGCB (afIncomingMSGPacket_t*pkt) {uintl6 flash Time; switch (put->clustered) {Case SAMPLEAPP_PERIODIC_CLUSTERID: break; Case SAMPLEAPP_FLASH_CLUSTERID:
flashTime=BUILD_UINT16 (put->cmd.Data[l], put->cmd. Data[2]);
Halle Blink (HAL_LED_4, 4, 50, (flashTime/4)); break; } 5系统流程图 5・1温度监测点软件设计
温度监测节点采用CC2430芯片,软件部分采用IAR Embedded Workbench平台开发完成,主要完成各数字温度传感器的温度数据读取,以及 ZigBee无线数据传输的相关功能,并能以RS232串口方式与PC机数据交换•温 度监测节点上电后首先进行信道扫描,信道设置成与现有的协调器使用的信道相 同,并提供正确的认证信息,然后与数据集中器建立连接•节点加址、ZigBee网络 地址以及数据集中器规定的拓扑参数•然后开始按周期采集本处的温度值,并将测 量值传送给数据集中器•软件流程如图5-1所示.集中器,具有操作简单、管理功 能强大和运行稳定可靠等优点•系统具有较大的灵活性和扩展性,通过更换传感器, 还可以推广到其它过程控制参数监测场合.
20
图5-1・温度监测节点软件流程
Figure 1 5-1 Temperature detect node software flow chart
5.1.1数据集中器ZigBee模块软件流程
按顺序完成初始化协议栈、无线网络能量检测、选择合适的信道和启动协调 器•此后即可允许温度监测节点与其连接,接收它们传输的各节点的温度值,在人 机界面上显示各温度监测点数据,并绘制温度曲线.同时,将各监测点的数据存入 数据库以备查询42数据集中器ZigBee无线通信模块设计分布式温度监控系 统采用星形拓扑结构,只涉及单一的ZigBee无线网络,只需要1台网络协调器,因 此在软件设计中不需要网络层,直接将无线数据收发程序建立在MAC层上即可. 数据集中器作为ZigBee网络的协调器,在温度监测系统中应先于温度监控节点 工作.上电后首先初始化协议栈,然后进行能量检测,选择合适的信道,启动无线通 信模块建立ZigBee网络•此后,即可允许温度监控节点与其连接,接收它们传输的 各节点的温度值.其软件流程如图5-2所示
21
图5-2数据集中器ZigBee模块软件流程 Figure 52 Data central ZigBcc module software flow chart
5. 2温度测量节点的功耗估算
温度测量节点使用片内集成温度传感器来监测环境温度,可工作的遍度范 围为一
40-120°C ,典型灵敏度为2.45m记C ,典型工作电流为300让A。当 需要进行温度采集
时,把片内ADC的转换通道设置为片内温度传感器并启动转 换,不用时关闭即可,达到省电目的。此种方法比外接高阻值热敏电阻温度传感 器效果还要好,因为外接的热敏电阻温度传感器,其上电流的消耗是始终都有的。 温度节点的电流消耗估算如下:片内温度传感器工作时消耗电流为300uAo ADC 工作在分频后的4MHZ时钟下,消耗的电流为100uA ,当配置为12位精度时, —次转换需256个周期,转换时间为:
Tconv= (256+16) *0.25us==68us
所以采样一次温度消耗的电能为:
(300uA+900uA)*68us==2.27*10mAH
RF部分工作在接收模式消耗电流为27mA ,工作在发送模式消耗电流为 24.7mA。PHY层数据包最大长度为127字节,—次通信过程包括数据的发送 和接收应答帧,由
于一个遍度数据数据量很小,—次就可发送完毕,不需要多次 发送。按照2.4GHZ通信速率62.5千字符少,一次通信的所需的时间为最多为: 127/62500=2(ms)
22
—次通信消耗的电能为:
24.7mA*2ms+27mA*2ms=2.86xlO'5mAH
CC243O在犯MHZ时钟下全速运行,其内核(不包括盯部分、各种集成的外围 设备)消
耗电流为6700叭。工作在PMZ节能模式,消耗电流为0.9认。则在一 个周期其消耗的电能为:
0.9uA*9996ms+6700uA*4ms=9.94* 10'5mAH
Sleep Timer!作电流为0.5认,在105基本工作周期内其有效工作时间为: 10s-4ms=9996ms
消耗的电能为:
0.5uA*9996ms=l .39* 106mAH
总计,在一个基本工作周期即10秒钟内,电能的消耗:
E=2.27*10-8mAH+2.86*10-5mAH+9.94*10-6mAH+L39*10-6mAH
=4.0* 10'5mAH
—天内的电能消耗为:
24*4.0*10% AH=9.6*10-4mAH
拿一只lOOmAH的电池来说,可支持这样一个节点工作: 100mAH/9.6xl0-4
mAH=104116 天
104116天,这个数字这远远超过电池本身使用寿命。当然,上述计算只是理论 上的,
考虑到电池漏电、信道访问冲突时引起的数据重发等因素,实际使用时间 会短一些,但也能保证将更换电池的时间控制再可以接受的范围内。
5. 3软件设计
数据集中器是ZigBee协调器,它上电后,首先初始化协议栈,然后依下图a传 输。温度检测节点上电后首先进行信道扫描然后依下图b传输。软件流程图如 图17
23
图&协调器流程闺
ffibM检裁肯点流稈图
图5-3软件流程图
Figure 5-3. Software flow chart
TIMAC协议栈提供了 maclibcc2430」ib库文件用以实现MAC层底层管理 据收
发。还提供了一些API函数来简化分配、回收信息缓冲区、发送信息、信入 队列、出队列等操作。表5列出了其中的一§0分函数及其说明。很多函数参数结 构体指针,往往有多个成员项。只有熟悉ZigBee通信协议,正确合理的调功能 函数,传入合适的参数才能实现相应的功能。软件的设计就复杂在这一步。些基 本功能函数为依托胸造适合分布式温度测量系统的上层应用程序代码即下面一 个数据结构是
macMcPsDataReq_t结构体的定义:
Type define strict {
Mac Event Harsh dry: SData—t
made:
/^internal use only*/ /*Data Pointer and length*/ /♦internal use only*/ /^Security Parameters*/ /♦DatarequestParaJeters*/
MacTxlntData J internal; Misact
sec:
MacDataReq_t Mac;
24
} Mac Maps Data Red Jt;
5. 4
温度监控软件模块
温度监控软件在Visual Studio 2007软件开发平台下利用C#语言开发完成,包 含
ZigBee网络初始化、各监测点温度采集与显示、温度曲线显示、系统参数设 置、温
度数据存储和查询等功能.温度监控软件模块组成如图5-4所示.在系统上 电后,ZigBee网络初始化软件模块首先开始工作,
图5-4温度监控软件模块组成
Figure 5-4. Temperature monitoring software module constitute
6总结与展望
本文讲述了基于ZigBee技术的井下长距离无线通讯系统的设计。实验结 果表
明,利用ZigBee技术来实现井下无线通讯是完全可能的,并成功地实现了
井下无线通讯的设想。在实验过程中,为了进一步扩大系统的功用,在语音通信 的同时,
25
系统增加了采集、传输多个传感器的实测数据这一功能。实验表明,两 者完全可以通信而互不影响。当然,实验系统还存在有一些不足之处。例如:系 统带网能力还需加大,以便使传输距离更一步增大。性能的增强还需进一步研究 和更多的实验测试。
为了顺应现代先进制造技术向网络化、信息化、虚拟化、智能化方向发展的 趋势,在多项科硏项目的支持下,本论文中,概括介绍了 ZigBee技术的概念、 特点、体系结构、国内外技术发展状况等相关内容,在此基础上,引出了目前正 逐步走向成熟并备受关注的ZigBee技术。全面深入地对ZigBee技术做了研究 分析,重点对协议体系结构、ZigBee技术与其他无线通信技术t匕较、以及干扰 抑制技术进行深入分析,从
ZigBee技术的同步算法、ZigBee无线通信干扰抑 制技术等关键点上进行突破,并以IEEE802.15.4/ZigBee协议为基础,结合 CC2430ZigBee开发套件,对无线温度采集通
信系统项目进行实现。硏究所做 的工作具体总结如下:
(1) •做相关应用背景的研究,做出技术可行性分析,制定工作计划,制定出系 统整体
方案针对网络拓扑结构、协议体系结构以及干扰抑制技术进行深入分析, 并与其它无线通信技术进行比较及对其相互干扰进行研究。
(2 ) •对ZigBee节点时钟同步算法工作原理做了详细的研究,总结了这些算法 的优缺
点,在对比现有的几种时钟同步算法的基础上,对泛洪时间同步协议多跳 时钟同步算法提出了自己的改迸思路。
(3 ).完成无线温度采集通信系统的具体软硬件选型,并给出了通信部分硬件原 理图及
软件流程的关键部分,在制PCB板中电磁兼容问题的解决进行了详细描 述,最后通过实际通信测试,达到系统性能指标。ZigBee技术涉及多学科交叉 的研究领域,本文所作的设计由于时间及本人水平的,加上对ZigBee新技 术了解不够深刻,因此必然很多的不足之处,有非常多的关键技术有待进一步研 究和发现,主要包括以下几个方面:网络拓扑、路由控制、能量问题、数据融合、 网络安全等。今后继续研究下去的思路是:
1) 网络拓扑
网络拓扑控制对于无线的ZigBee技术而言非常重要。现实项目中,我们往 往忽略拓扑的分析,通过拓扑控制能够提高MAC协议和路由协议的效率,有利 于节省节点的能量来延长网络的生存期。网络拓扑控制主要研究的问题是通过功 率控制和骨干网节点选择,消除节点间冗余的无线通信链路,进而产生一个高效 的数据转发的网络拓扑结构[均。本项目在组网方面只做了星型网络的研究,今 后要在对等拓扑网络组网方面进行硏究,以便能够构成较为复杂的网络结构,达 到远距离多节点、经过路由完
42网络应用。 2) 路由控制
传统Internet是通过TCP/IP协议实现。但是在ZigBee网络中,不能使用 IP。因
26
为在ZigBee网络中,常常要用到成千上万的节点,IP中的路由一般是基 于固定的地理位置信息的,原因是对于不断变换拓扑结构的ZigBee网络来说, 要维持路由表需要耗费大量的时间和资源。传统的距离向量和链路状态路由协议 不适用于ZigBee网络,理根的ZigBee网络的路由协议应该具有以下性能【切: 分布式运行、无环路、支持单向链路、考虑安全性、按需运行、高效地利用能量 和维护多条路由,所以ZigBee网络需要有一套适合自己的控制和路由协议。
3) 能量问题
很多情况下,项目的能量问题都是系统考虑的重点,ZigBee网络中的节点 都是由电池供电,而电池容量非常有限且不可再生,并且对于有成千上万节点的 ZigBee网络来说,更换电池^常困难,但是却要求网络生存时间长达几年甚至 数年。如果网络中的节点因为能量耗尽而不能工作,则会带来网络拓扑结果的改 变以及路由的重新建立,甚至造成通信的中断。所以,在ZigBee网络的电池能 量设计中[⑹,既不能影响系统功能,又要尽可能地节约能量。在功能上,ZigBee 网络设计应考虑两点原则:第一,减少不必要的功能、延长网络工作时间以及突 出的专用性。第二,可以设计专门的提高网络能量效率的协议以及采用专门的技 术,例如物理层可以采用超宽带无线通信技术,
MAC层可以采用适合节点在休 酹口工作状态间切换的接入协议,网络层可以以能量
作为路由度量等。此夕卜,还 可以采用跨层设计的方式,提高网络的能量效率。另外,我们可以考虑利用可再 生能源给ZigBee网络供电,如太阳能、风能、生物能等。
4) 数据融合
由于ZigBee网络存在能量的约束,所以在从各个节点收集数据的过程中, 可以利用节点的本地计算和存储能力处理数据的融合,去除冗余信息,进而达到 节能的目的。由于节点的易失效性,ZigBee网络也需要数据融合技术对多份数 据进行综合,提高信息的准确度。数据融合技术可以与ZigBee网络的多个协议 层次进行结合。且数据融合技术己经在目标自动识别和目标跟踪领域得到了广泛 的应用。在ZigBee网络的设计中,只有面向应用需求设计针对性强的数据融合 方法,去除冗余的数据信息,才能更加优化系统。
5) 网络安全
ZigBee网络作为任务型的网络,不仅要进行传输数据,而且要进行数据采 集和
融合、任务的协同控制。所以怎样保证任务执行的机密性、数据产生的可靠 性、数据融合的高效性以及数据传输的安全性,就成为ZigBee网络安全问题需 要全面考虑的内容。ZigBee网络受到的安全威胁与移动通信网络所受到的安全 威胁不同,所以现有的网络安全机制不适合此领域,需要开发针对ZigBee网络 的专门协议。一种思路是从维护路由安全的角度,寻找确保网络的安全。安全路 由协议一般采用多路径路由、身份认
27
证、链路层加密和鉴权、双向连接认证和认 证广播等有效机制,増强路由的安全性,提高网络抵御信息窃取和外部干扰的能 力。另一种思路是把看重点放在安全协议方面主要有两种方式:密钥管理:在 ZigBee网络中有很多,因为通信的耗电将大于计算的耗电量,所以在 ZigBee网络中去除冗余数据,尽量减少通信问。安全组播:ZigBee网络为了 防止信息提供者向网络注入伪造信息,需要在ZigBee网络中利用基于源端认证 的安全组播。本文没有考虑在其他节点非法侵入和破坏信息的情况,今后将在数 据传输的安全方面还要做一定的硏究。由于ZigBee工作在2.4GHz的免费频段 上,在这个频段上有很多种的无线通信技术,所以网络会受到很大的干扰,今后 EMC上进行更深入的研究,要在硬件和软件上多做些抗干扰措施。另外,由于 目前仅处于起步阶段,看重考虑的是可行性,因此整个系统采用了模块化设计和 搭建的思想,将不同的模块通过串口连接。如果要实际应用,则需要将各模块集 成在一起,不仅能减少体积,而且能提高系统的可靠性。
28
参考文献
[I]蒋挺,赵成.ZigBee紫峰技术及其应用[M].北京邮电大学出版.2006.
⑵ 昂志敏,金海红,范之国等•基于ZigBee的无线传感器网络节点的设计和通 信实现现
代电子技术,2007(10) : 47-57.
[3] 胡新华,杨继隆•蓝牙技术综述[几现代电子技术,2002.5.
[4] 原拜,苏鸿根•基于ZigBee技术的无线网络应用研究[几计算机应用与软
件2004⑹:
17-20.
⑸马祖长,孙怡宁,梅涛•无线传感器网络综述[J]•通信学报,2004 , 25(4):114-
124.
[6]廖海红•通信系统中的CRC算法的研究和工程实现[J].北京邮电大学.2006.
⑺凌志浩.ZigBee无线通信协议的技术支持及其应用前景[J].网络与通信,2006.
[8] 朱苗药.CSMA/CA协议在传感器网络中的应用与改进[J]•电子科技大
学.2007.
[9] 张宏峰.一个基于ZigBee技术的无线传感器网络平台[D].武汉理工大学, 2006.
[10] 李文仲段朝玉等.ZigBee无线网络技术[M].北京:北京航空航天大学出版
社,
2007.
[II] 杨虞ZigBee无线传感器网络的研究与实现[几浙江大学2006.
[12] 吕强,刘玉华,刘志军•基于ZigBee技术的无线温度检测终端设计[几科学
技术与工 程,2008年23期.
[13] 田亚.基于ZigBee无线传感器网络系统设计与实现[几上海,同济大
学.20073
[14] 王锐华,益小新,于全.ZigBee与Bluetooth的比较及共存分析[J]测控技
术,2005.
[15] 黄大君•基于改进的CSMA/CD协议仿真研究[J].合肥工业大学.2006. [16] 王贺.基于IEEE802.15.4/ZigBee的无线传感器网络的硏究[J].黑龙江大
学,200&
[1刀原羿,苏鸿根•基于ZigBee技术的无线网络应用研究[J].计算机应用与软
29
件.2004.
[18]王权平,王丽.ZigBee技术及其应用[几现代电信科技.2004.
[19] 徐展琦,裴昌幸,董淮南•一种通用多通道并行CRC计算及其实现[几南京
邮电大学学 报.200&
[20] 高超,侯春萍,侯永宏.突发模式OQPSK数字解调器设计[几天津大学.2008.
致谢
时光如梭,转眼间,短短四年的大学生生涯就要结束了,这四年,有挫折、 有
失落、有艰辛,更有进步、有成功、有快乐,希望这篇论文能为这段难忘的时 光划上一个比较的句号。此刻,我有太多的人要感谢,也有很多感激的话要 诉说。值此论文完成之际,首先衷心的感谢我的指导老师宫鹤老师在工作、学习 和生活上给予的所有关怀、照顾和指导。宫老师以其严谨和实事求是的治学态度、 渊博的学识、富有创造性的思维、丰富的实践经验以及爽朗谦和的性格影响看我, 使我在提高专业知识技能的同时,学习了许多为人处世方面的宝贵经验。在宫老 师的悉心指导下,我的论文得以顺利完成,宫老师对我的谆谆教诲时时刻刻都不 会忘记。在毕业论文完成期间,还得到电子教研室各位老师的给我的支持和帮助, 使我获益非浅,在此也向他们——表示衷心的感谢!
30
附录1硬件电路原理图
535 ••一• 一• 乡 2 z .・ • flyu 38-= ? z •・ — ■ ・■•*- * ■ 4 - 000= 2 >xx¥ >xb- >xxz >KS § i Q.- n
附录2软件程序
1 •程序中定义了一些宏来配置网络参数:
#define MSA_MAC_CHANNEL MAC Chanel #define MSAWAITPERIOD
隔,单位ms
〃通信使用的信道 〃数据包发送的时间间
100
#define MSA_PAN_ID
0X11CC 〃静态PAN标识符 〃协调器
#define MSA_COORD_SHORT_ADDR OXAABB 短地址 #define MSA_DIRECT_MSG_ENABLED TRUE//子设备之间是否允许直〃
接数据传输
#define MSA_MAC_BEACON_ORDER #define MSA_MAC_SUPEPERAME_ORDER #define MSA_PACKET_LENGTH
15 〃超帧参数BO 15
〃超帧参数SO
20 〃数据包的长度Min二4,
102
#define MSA_PWR_MGMT_ENABLED
//Max 井
FALSE 〃是否开启电源O 2.
在下载程序时即指定好PAN网络标识符为OXI1CC、通信信道为第11信道, 并据此配置网络。当工作环境中有一个以上ZigBee网络存在时,可能会发生 PAN标识符冲突或信道冲突,因此就不能这样简单的静态指定PANID和 CHANNEL NUMER 了 ,需要要在建立网络前调用函数
MAC_MlmescanReq(macMlmescanReq_t*pData)执行信道扫描,根据返回的扫
描结果选择合适网络参数,避免使用已被占用的PAN标识符和信道。
从节点使用片内温度传感器检侧环境温度
〃定义宏函数,配置ADC渗考电压位内部1.25V基准,转换精度为12位, 〃转换通道位内部温度传感器
#define SAMPLE_TEMP_SENSOR(v)\\ do { ADCCONZ=OX3E; ADCCONI=OX73;
While (! ADCCONI&0X80)): v=ADCL;
V} = (((Unsigned int) ADCH) «8): } while (0)
〃*************************************************************
〃温度采集及换算函数 〃返回值:实际的温度数值
34
Float get Temp (void) { Unsigned int devalued; Float output Volage:
SAMPLE_TEMP_SENSOR (adc Value); Adc Value»=4;
output Voltage = adc Value*0.61065;
〃取 12 位精度 〃换算成电压值
return((output 1 vo 1 tage 一 779.75)/2.43 〃转换成实际温度数值 )
3.从节点温度数据的发送
TIMAC协议栈提供了通信相关的底层函数,可直接调用,其中数据发送函数 如
下:
函数名:MSA_MepsDataReq 参数:uint8*data
〃指向待发出的数据的指针 〃数据的长度
〃是否使用直接数据传输模式
Ulnt8 data Length bool directMsg
返回值:无
uint 16 dstshortAddr 〃数据的目的地址 4. 主节点对温度数据的接收
MAC层执行结果的回馈是通过向上层发送消息来实现的,应用程序为此构造 有
一个存储消息的数据结构,并链接成单链表,通过函数
byte*osal_msg_receive(byte task_id)来获取发给任务编号为 task_id 的消息,
应用层对这个消息作处理,可从中提取出通信信息或通信数据。
5. 主节点将温度数据上传PC机
初始化串口的代码如下:
〃串口初始化函数
〃串口参数设置为 57600, 8, None, 1, None 〃打开串口,允许接收
〃****************************************************************
Void HALU ART Init (void)
{
IO_PER_LOC_ARTO_AT_PORTO_PIN2345();〃配置 RXDTXD 脚的位置 UART_SETIJP(O, 57600, HIGH_STOP); //57600 ,高停止位
35
IENOI=URXOIE;
制
〃使能UARTO接收中断控
IEN2I二UTX0IE; }
数据缓冲区通过串口发送函数:
〃使能UARTO发送中断控制
〃****************************************************************
〃串口发送数据服务初始化函数 〃参数:指向待发送数据的指针
〃调用此函数启动缓冲区中数据的发送,之后的数据发送是在串口发送中断 〃服务函数 intenupt void UTX0_IsR(void)中进行。
Void Uart _ Data_ Sent (char*p) {
Tx_Data_Buf.pdata=p,; Tx_Data_Buf.position= 1; UODBUF=*P;
〃己发送数据个数 1
〃先启动一次发送送出第一个数据
//后面的其他数据通过Tx中断依次发出,以、0 ,结
>
〃****************************************************************
//UARTO发送中断服务程序 Pragmatic vector=UTXO_VECTOR —interrupt void UTX0_ISR (void) { Char temp;
IRCO N2&=-UTX0IF;
Temp=*(Tx_Data_Buf.Pdata+Tx_Data_Buf.Position): If (temp! =,\\0,) { U0DBUF=temp; Tx_Data_Buf.position++: } )
36
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务