当前位置:首页 >> 工学 >>

基于ARM和ZigBee无线传感器网络节点的研究_图文

一 一 — — — — — — — — — — — — — — — — — — — — —一
分类号……………一

密级……………

十I初大学
CENTRAL SoUTH UNIVERSITY

硕士学位论文

论文题目

……基王乡迅M.与.Z绝B熙.鸯燃……,
………传感器.网络苴点数砑巍………. …………一鱼王科学与技术……………
………………一衰IJ威鹏…………………

学科、专业 研究生姓名
导师姓名及专

业技术职务

…………一奎长庚…剧教援…………~

原创性声明
本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。

作者签名:壮吼业年上月望日
学位论文版权使用授权书
本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到《中国学位论文全文数据库》, 并通过网络向社会公众提供信息服务。

摘要

摘要
无线传感器网络(WSN)作为一个综合了多学科内容的全新领域, 成为了目前IT领域内的研究热点之一。无线传感器网络和ZigBee技 术有着广泛的应用前景。WSN节点是无线传感器网络功能的具体执 行单元,通过相应的软件协议驱动节点执行数据传感,网络拓扑,路 由等功能。本论文研究了一种基于32位ARM处理器和Zigl3ee技术 的WSN节点软硬件系统,可满足复杂环境和多监测任务的需要,同 时实现了低功耗,低成本,微型化和高性能。 论文概述了无线传感器网络的原理,发展背景和特征,介绍了 ZigBee的网络原理,网络规范,各层介绍和相应的术语概念。详细 阐述了基于LPC2114和CC2420的硬件节点的设计方法和设计过程。 分析了各模块的原理和具体设计实现方法。软件方面,分析了
Microchip ZigBee协议栈的架构和规范,并根据所设计的硬件节点的

具体情况对协议栈进行了修改和移植。重点研究了PHY层和MAC 层的具体实现方法,给出了网络功能的软件实现方法。并对所设计的 节点进行了通信距离测试和功耗测试。最后,以环境温度监控为应用 对象,利用所设计的节点软硬件平台和基于Delphi编写的上位机应 用软件无线环境温度监测系统,给出了无线环境温度监控系统完整的 解决方案,并对系统功能进行了测试和分析。 测试表明,本论文所设计的节点满足了低功耗,低成本,微型化 的设计要求,并具有良好的可扩展性和移植性。实际开发过程中,针 对不同的应用硬件方面只需通过预留的扩展接口外接相应的传感器, 软件方面通过使用移植好的协议栈提供的API在应用层添加相应的 任务即可快速应用于无线传感器网络的多种具体应用中。本设计可以 为工程应用提供基础平台。 关键词: 无线传感器网络,ZigBee,节点,ARM,协议栈



中南大学硕士论文

ABSTRACT
As
sensor



new research field which integrates many

subj ects,now wireless

network(WSN)has been one of the researching hotspots in the IT field.Wireless sensor network and ZigBee technology have the very
wildly application prospect.The WSN node is the basal unit of
can

WSN.It

execute

functions

of data

sense

and communication,network

topology and routing by using software driver.This paper researches the

software and hardware system of WSN node based
of


on

3 2一bits processor

ARM

and ZigBee technology which

can

meet the needs of complex


-t





and multitask.And it also realizes the low—cost,low—power, micromation and high performance.
environment This paper summarizes the theory,history and features of introduces the

WSN and and

network theory,network

standard,levels introduction

some related terms of ZigBee.It expounds the design methods and design
process of hardware node in detail based
OD

LPC2 1 1 4 and CC2420

and

analyzes the theory and specific
paper also analyzes

design

methods of every module.This
standard of

the architecture and

Microchip ZigBee

protocol and it always designs the software protocol from amending and transplanting the ZigBee protocol
to

direct

at

the

designed

nodes.It

emphasizes the specific design methods of PHY level and gives the software realization methods of
tests

MAC level and
some
for

network

functions.And


of the communication,distance,and power

cost

are also taken

the

designed designed
on

nodes in this paper.After all,this paper provides

more

complete solution for the wireless temperature monitor system from using

the

node system and the wireless temperature monitoring system
test

based

Delphi.Some

and analysis

are

always taken for the system

function.

The

test

results show that designed nodes meet the design needs of

low—power,low-cost,micromation,expansibility and portability.So in
the actual development process,it
specific applications corresponding
sensors can

be quickly applied

to a

variety of

of

WSN just simply by connecting external

with reserved extension interface and using the

API provided by

transplanted protocol to adding the appropriate tasks in the application layer.So it Can be the basal platform for proj ect.


KEY stack

WORDS:wireless

sensor

network,ZigBee,node,ARM,protocol

III

中南大学硕士论文

术语缩略语对照表

术语缩略语对照表

AES
APDU API APL APS

Advanced Encryption

Standard

高级加密标准 应用层协议数据单元 应用程序接口 应用层 应用支持子层 空闲信道评估

Application Layer Protocol Data Unit Application Programm Interface Application Layer Application SuppoIrt Layer Clear Channel Assessment Carrier Collision Sense

CCA CSMA.CA

Multiple

Access、析tll

载波侦听,多路访问,冲 突退避 直接序列扩频
能量检测

Avoidance

DSSS
ED FFD GTS IEEE

Direct Sequence Spread Spectrum
Energy Detect Full Function Device

全功能设备 保护时隙
and

Guard Time Slot
Institute Engineers

of

Electrical

Electronics

国际电工电子委员会

ISM LQI MAC
MCU MPDU

Industry,Scienc,Medical
Link Quality Indication

工业,科学,医疗 链路质量指示 介质访问控制层 微处理器 数据链路层协议数据单 元

Media Access

Control Layer

Micro Control UIlit MAC
Protocol Data IJnit

N硼<
0-QPSK
PHY PSDU RFD

Network Layer

网络层
Phase Shift Keying

Offset—Quadrature
Physical Layer

差分正交相移键控 物理层 物理层服务数据单元 精简功能设备 接收信号强度指示 串行外围接口 个人区域网络 无线传感器网络 ZigBee设备对象

PHY Service Data UIlit

Reduce Function Device Receive Signal Strength Indicator Serial Peripheral Interface

RSSI SPI

Ⅵ恻
WSN
ZDO

Wireless Wireless

Personal Area Network
Sensor

Network

ZigBee Device

Objeet

IV

1.2国内外研究现状………………………………………………………………5 1.3课题研究的主要内容…………………………………………………………7 第二章ZigBee网络原理与技术……………………………………………………9
2.1

ZigBee网络的特点………………………………………………………….9 2.2无线技术的比较……………………………………………………………1 0
2.3 2.4

ZigBee网络相应概念介绍…………………………………………………11 ZigBee网络体系结构………………………………………………………1 3 2.4.1物理层…………………………………………………………………l 3
2.4.2

MAC层……………………………………………………………………………………1 5

2.4.3网络层………………………………………………………………..18 2.5本章小结…………………………………………………………………….20 第三章WSN节点的硬件设计与实现…………………………………………….21
3.1

WSN节点设计要求………………………………………………………一21

3.2系统硬件节点整体架构……………………………………………………21 3.3处理器底板设计……………………………………………………………..22 3.3.1微处理器模块设计…………………………………………………..22 3.3.2系统电源电路的设计………………………………………………..24
3.3.3

JTAG接口………………………………………………………………………………..24

3.3.4串口电路…………………………………………………………………………..24 3.4射频部分的设计……………………………………………………………。25 3.4.1射频芯片的选取……………………………………………………….25
3.4.2

CC2420外部电路设计…………………………………………………26

3.4.3射频天线的设计………………………………………………………27
3.4-4 CC2420与LPC21 14的连接………………………………………………………28

3.5传感器板的设计…………………………………………………………….29 3.6系统硬件抗干扰设计………………………………………………………..30

目录

中南大学硕士论文

第一章绪论

第一章绪论

无线传感器网络是一个综合性的研究领域,它融合了无线通信,传感器技术, 微机电系统,网络通信等技术。作为目前IT领域内中的研究热点之一,对于无 线传感器网络技术的研究和应用已经吸引了全球越来越多国家和研究机构的关 注【¨。

1.1无线传感器网络概述和课题研究背景
无线传感器网络(wireless
sensor

network,WSN)f2】是一种特殊形式的Ad.hoc

网络,由部署在监测区域内大量的低成本的微型传感器节点组成,通过无线通信 方式形成的一个多跳的自组织的网络系统,其目的是协作感知、采集和处理网络 覆盖区域中感知对象的信息,并将此以无线通信的形式发送给监测系统的上层 [31。无线传感器网络系统可以被广泛地应用于国防军事、国家安全、医疗卫生、 环境监测、电力系统故障预报、制造业等领域【41。 1.1.1无线传感器网络的特点 (1)大规模的网络。为了准确的获取测量数据并保证监测的广泛性,就需要 在监测区域内随机撒播大量的节点,这就要求网络具有足够大的容量以容纳足够 数量的节点。这种大规模的网络通过相应的数据处理算法可以提高监测的精度, 还能增大监测区域并尽可能地减少监测盲区的存在【51。 (2)自组织的网络。在实际的应用中,传感器节点的部署是通过随机撒播的 形式完成的,节点的位置事先是无法精确预测的,所以必须要求网络具有自组织 的功能,能够自行发起建立网络,管理维护网络,通过拓扑控制机制和网络路由 协议等实现数据的多跳无线传输【6l。 (3)动态的网络。在具体的网络应用中,传感器节点可能会因特殊的极端客 观环境或者自身能量耗尽等原因而失去工作能力,这时候网络应能及时发现并与 其断开连接,从而保证数据传输的可靠性;此外,有时网络中会补充增加新的节 点,所以网络应能适应这种变化,及时将这些新节点加入网络以提高整个网络工 作的效率。 (4)可靠的网络。无线传感器网络一般都是部署在露天自然环境或者极端工 况中,需要适应恶劣的自然环境或者极端的工业现场环境,这就要求节点设计要 稳定可靠。有时节点还会因能量耗尽或其他原因而失去工作能力,所以网络应具 有一定的冗余节点,使系统具有很强的容错性能,保证网络的可靠性。? (5)低功耗的网络。无线传感器网络一般部署在无需人为看管的自然环境或

1.1.3

WSN相关技术介绍 无线传感器网络由三个部分组成:传感器节点,汇聚节点(Sink)和任务管理

器节点fll】。在无线传感器网络中,节点任意散落在被监测区域内,这一过程可以


中南大学硕士论文

第一章绪论

通过飞行器撒播,人工埋置或预安装等方式完成的。所有节点通过tl组织的方式 构成网络。普通的传感器节点执行数据监测功能,并通过多跳路由的方法将监测 数据传到汇聚节点,再通过汇聚节点的远距离通信功能以有线或者无线的方式将 整个区域内的数据传到远程的任务管理器节点进行集中处理f12J。图1.1为无线传 感器网络的体系结构。 普通的传感器节点一般是一个微型的嵌入式设备,通过电池供电,可以实现 ~定的数据采集,数据接收,数据发送,数据处理和数据存储等功能。部分节点 还兼有路由的功能,除了能进行自身数据处理和通信外,还能对其他节点转发来 的数据进行存储,管理等处理,同时还可与其它节点相互协作完成一些特定的任 务。汇聚节点也是一个微型的嵌入式系统,它的处理能力,存储能力和通信能力 相对较强,一般通过固定的持续电源供电,负责将监测区域内传感器节点采集到 的数据通过Internet,GSM/GPRS等网络传输到远程任务管理中心进行处理,往 往充当网关的作用。传感器节点的软硬件技术是传感器网络研究的重点。

图1-1传感器网络体系结构

无线传感器网络节点是无线传感器网络功能的具体执行单元,通过相应的软 件协议驱动节点执行数据传感,网络拓扑,路由等功能。无线传感器网络的节点 是无线传感器网络功能的具体执行单元,作为一个微型嵌入式系统设备,一般由 数据采集单元,数据处理单元,数据传输单元和电源供给单元四部分组成【13l。 数据采集单元一般是针对需要而安装的特定功能的传感器,负责对监测数据的采 集和转换;数据处理单元作为整个节点的核心,负责控制整个传感器节点的操作 和管理以及任务调度,处理接收到的命令或数据;数据传输单元负责与其他传感 器节点进行无线通信,传输或接收控制命令,收发采集数据,它是节点执行通信 功能的硬件基础和具体实施单元;电源供给单元为传感器节点提供整个节点运行 所需的能量,通常采用微型电池。 无线传感器网络要求的是在完成信息采集和组网并传输数据的基础上尽量 的降低系统的功耗。针对这种特殊要求的低速无线个人区域网络(WPAN),

中南大学硕士论文

第一章绪论

IEEE802.15工作组的任务组四制定了IEEE802.15.4标准。但是此标准只是规定 了物理层和MAC的标准Il刖。2001年8月,ZigBee联盟成立,此联盟在2004年 12月发表了第一版协议,该协议在IEEES02.15.4标准定义的物理层和MAC层 的基础上,定义了网络层,应用层和网络安全机制。目前已有ZigBee2006协议。 相比于其他无线技术,比如蓝牙,红外,Wi.Fi,GSM/GPRS等,ZigBee是

一种短距离,低功耗,低复杂度,低数据传输速率,低成本的无线通信新技术【15】。
无线技术的选取涉及到具体的射频收发机制,信道问题,载波频率,能量消耗等 问题,这也决定了采取何种射频芯片。而事实上,ZigBee技术也是完全针对无 线传感器网络要求而制定的1161。 1.1.4课题研究的意义 无线传感器网络和ZigBee技术具有十分广阔的应用前景,已经成为国内外 一个公认的新兴前沿热点研究领域。无线传感器网络的核心技术是自组网,多跳 路由,定位和安全技术等。而ZigBee协议则提供了实现这大多数功能的解决策 略和具体方法。通过在传感器板上扩展各种不同的传感器,可以实现温度,湿度, 磁场,光学,声学,压力,震动等信号的监测,并通过稳定,廉价,覆盖度广的 无线网络进行信息的传输。对节点硬件进行部分针对性的具体设计和软件协议栈 的针对性修改即可应用于军事方面的战场实时监测和目标定位等;应用于环境监 测方面的自然环境数据采集等;应用于智能家居方面的远程遥控等。此外,还能 广泛的应用于医疗护理,智能建筑等。总之,无线传感器网络和ZigBee技术提 供了一种廉价但却性能突出的数据采集和传输的无线网络解决方案。无线传感器 网络节点是无线传感器网络的具体组成部分,对于节点软硬件技术的设计和开发 是很有必要和现实意义的。 近几年来,对于无线传感器网络节点的设计吸引了越来越多的人和研究机构 的关注。国内外已有类似比较成熟的产品出现。大多数的硬件解决方案是8位或 者16位的高性能单片机加射频收发模块的基本架构。其典型代表是TI公司的 MSP430单片机+射频收发芯片方案和Freescale公司的HCS08核单片机+MC系 列射频收发芯片解决方案以及Crossbow公司的ATmegal28L单片机+CC系列射 频收发芯片解决方案。目前业界一线厂商已经在酝酿推出基于32位处理器架构 的硬件解决方案,Crossbow公司的最新产品IMOTE节点就是其典型代表。在软 件协议方面一般分为两种:一种是基于TinyOS操作系统的设计思路,一种是采 用ZigBee的协议栈。国内目前主要以ZigBee技术的应用研究为主,暂无免费发 布的协议栈。国内的多数应用都是以Mierochip或Freescale公司所提供的开发套 件为平台,进行定位和组网等功能的研究,这种研究是把精力放在上层应用程序 算法的开发上。少数机构拥有自主开发的硬件平台,这种硬件平台一般都是参考



中南大学硕士论文

第一章绪论

了业内公司所提供的解决方案的典型电路的,并且其软件仍是在Microchip或 Freescale公司所提供的底层协议API接口基础之上来开发实现的【171。

1.2国内外研究现状
起初传感器网络源自美国先进国防研究项目局(DARAP,Defense
Research Advanced

ProjectsAgency)的一个研究项目Il引,出于军事机密的限制和研究条件

的局限,当时传感器网络的应用只限于军方的一些项目中。近年来随着无线通信 技术、微机电技术、片上系统和传感器技术的发展,其应用范围已经越来越广f191。 2003年,美国自然科学基金委员会制定了传感器网络的研究计划,并投资 3400万美元支持相关基础理论的研究。其中以美国加州大学伯克利分校和英特 尔公司的研究工作最有代表性;与此同时,美国国防部和各军事部门非常看好传 感器网络的实用价值,并设立了一系列的军事无线传感器网络应用研究项目。与 此同时,还有很多国家的大学和研究机构也对无线传感器网络开展了卓有成效的 研究工作。国际上比较有代表性和影响力的无线传感器网络研究计划与项目主要 有:SenslT,Smart
Dust,Sensor

Webs,SeaWeb等【20l。

在国内传感器系统方面的研究出现于1999年,但直到近几年来才受到越来 越多的关注。“传感器网络系统的基础软件及数据管理关键技术的研究”已被列 为国家自然科学基金委员会信息科学部与微软亚洲研究院正式签署的第二期联 合资助项目之一,国家2010年远景规划和“十五"计划中也把传感器网络列为 重大研究项目和重点发展产业之一。对传感器网络关键技术的研究,顺应了IT 技术发展的潮流,对国防军事技术和国家经济建设具有重要的战略意义12l】。目 前国内已经有不少高校和研究机构开始了此方面的关键技术的研究。 目前国内国外对无线传感器网络节点的设计所采用的方案都是处理器加射 频收发芯片的基本架构。处理器一般选用8位或者16位的高性能单片机。在实 现节点功能上所采用的软件设计思想一般都采用嵌入式设计架构。嵌入式系统架 构设计首先要考虑的问题是关于底层系统软件的选择和开发。操作系统在计算机 体系结构中,其主要负责管理底层软硬件资源,管理文件,存储分配,进程管理 和系统调度等,并为上层应用提供服务接口,因此,对于整个系统的开发设计而 言,首要考虑的就是操作系统的选择。使用操作系统对于嵌入式系统的开发而言, 能在一定程度上保证系统的可靠性和开发的快捷性,也能使上层代码拥有一定的 可移植性。但考虑到嵌入式系统对硬件等硬件条件要求较高,系统开销达,也有 一些嵌入式设计不采用操作系统,而自行对底层的硬件驱动和相关服务进行设计 和管理。这种设计的优点在于不受操作系统设计的限制和影响,完全对底层软硬 件进行操作和控制。但完全自行设计和实现底层驱动及相关服务也存在一定的缺



中南大学硕士论文

第一章绪论

点,即可能会增加开发工作量,并对测试和验证有一定的要求。 所以由此可以看出,常用的WSN软件设计一般主要有两种设计思路。 第一种是基于TinyOS操作系统的设计思路。此种方法是指在MCU上植入 TinyOS操作系统,然后利用这个系统的内核所提供的接口函数实现特定功能。 常用的MCU有AVR系统单片机和TI的MSP430系列单片机,其典型代表就是 ATmegal28L单片机。在植入此种操作系统之后,通过系统所提供的API来编写 物理层和MAC层协议。因为无线收发芯片多采用的是兼容IEEE802.15.4标准的 芯片,所以实现物理层和MAC层功能与机制的方法是遵从了IEEE802.15.4协议 的。换而言之,就是等于是用nesC语言把IEEE802.15.4协议改写了出来。因为 IEEE802.15.4协议只提供了物理层和MAC层的协议,所以那么上层协议包括网 络层传输层和应用层等,就需要根据WSN的功能要求在TinyOS环境中编写程 序。此环境中的编程语言为nesC。此种设计思路的典型代表就是美国Crossbow 公司的Mica,Mica2,Mica2dot和IRIS系列节点。
TmyOS是UC Berkeley(htl':『IH大学伯克利分校)开发的一个针对嵌入式无线传

感器网络技术的操作系统,这是一个完全开源的操作系统,其基于组件 (component-based)的架构使得快速的开发成为可能,而这又减小了受传感网络存 储器限制的代码量。TinyOS的构件包括网络协议、分布式服务器、传感器驱动 及数据识别工具。其良好的电源管理源于事件驱动执行模型,该模型也允许时序 安排具有灵活性。TinyOS已被广泛应用于一些商用平台的开发中。TinyOS使用 nesC编写,nesC是对C语言的一种扩展,是一种基于组件化的语言【221。运用这 种方法进行开发时可以使开发者无需关心相对繁琐的底层寄存器驱动的实现,而 是通过模块化编程的思想使用户把精力集中在上层功能的实现上,从而降低了开 发的难度。 第二种是基于ZigBee协议的设计思路。此种思路是指在MCU上植入ZigBee 的协议栈。通过协议栈所提供的API函数实现应用层的功能。可植入ZigBee协 议的处理器相对来说比较多,一般只要其程序存储器具有32K即可。精简功能 协议栈一般甚至6K的ROM就可以了。事实上,国内外很多从事无线传感器网 络应用的机构都是采用了此种设计方法。也有很多无线芯片完全兼容了ZigBee 协议的要求。国际上ZigBee芯片的主要研究和供应商有三家:Chipcon公司(已 经被TI收购),Fressscale公司,Ember公司。其中以Chipcon公司为首。常用的 有Chipcon的CC2410/2420,Ember的EM2420,Freescale的MCl3192/13193。 Chipcon公司还推出了CC2430芯片,它兼容了IEEE802.15.4标准,实际上是具 有8051核的无线单片机,其在芯片上集成了I心前端,存储器和MCU等。它所 提供的ZigBee硬件解决方案是真正的系统级芯片解决方案。与之类似的还有



目前国内外对于无线传感器网络节点设计的典型解决方案是采用8位或16 位高性能单片机+射频收发机的基本架构。此种方案可以基本完成数据采集和数 据处理的功能,但对于~些复杂应用就还有不足之处。近年来随着32位处理器 技术的蓬勃发展,其在提供更高的性能和更快的处理速度更丰富的外部接口的同 时,又实现了低功耗,微型化和低成本。考虑到以后复杂环境的需要和功能的扩 展以及市场的具体情况,本文设计了~种基于ARM7处理器和ZigBee技术的节 点平台,并根据所设计的硬件平台有裁减的设计实现Microchip的ZigBee协议 栈。本课题的研究可以为无线传感器网络和ZigBee技术的进一步研究提供硬件 和软件的平台,为节点的硬件设计提供参考的模版,为算法的实现提供实验平台, 并期望为实验室课题的深入研究奠定一定的基础。 本论文全文共分为6章,内容安排如下所述: 第一章为绪论,介绍了无线传感器网络的概念,原理和特点以及应用领域: 介绍了IEEE802.15.4标准与ZigBee的关系;指出了本课题的研究意义和研究现 状,并给出了课题研究的内容。 第二章介绍了ZigBee技术的相关内容,将ZigBee与其他无线技术进行比较, 得出它是最符合无线传感器网络要求的短距离无线通信技术;介绍了ZigBee技 术的特点,重点分析了ZigBee标准的体系结构的各层规范,数据帧结构,并阐 述了与ZigBee技术相关的一些术语概念。 第三章首先给出了无线传感器网络节点设计的原则和要求,并以此为标准, 从芯片选型到具体的电路实现介绍了各个模块的具体设计实现,重点分析了处理 器与无线模块的连接;给出了具体的设计过程中的硬件抗干扰设计方法,并将其 应用,以提高系统的抗干扰性和稳定性。 第四章研究了协议栈的软件设计。首先介绍了Microchip ZigBee协议栈的特 点和架构,然后重点分析了协议栈移植过程中对PHY层和MAC层代码的修改, 重新编写和实现;实现了对协议栈其他层的修改和裁减;并以温度监控为例,完 成了温度数据采集的应用程序的设计。 第五章介绍了对于节点软硬件设计的测试方法,并给出了测试结果。包括通 信距离的测试,功耗的测试。并以温度监控为应用对象,通过在协议栈中加入相 应的温度监控程序,并使用Delphi编写了无线环境温度监测系统的上位机应用 软件给出了无线环境温度监控系统的完全解决方案,并以此应用为对象,对整个 监测系统的网络功能予以实现。



!堡型兰塑銎兰坠奎—一.

-_。。‘’。。。。。‘。。。’‘‘。。‘_-—?_?__--__-_?___?-?_____●_。?_-________-____-___-_-————————————————————一

…”,U 苎二童堑堡

第六章是结论和展望,对课题研究工作进行总结,并对今后进一步的研究工 作提出一些建议。



中南大学硕士论文

第二章ZigBcc网络原理与技术

第二章Z i gBee网络原理与技术

从3G到Wi.Fi,从无线ATM到WL.Mq,无线网络技术已经越来越广泛的 进入到了我们的日常生活中,各种不同的无线网络技术以不同的方式,不同的覆 盖距离,不同的传输速率为人们提供了各种不同的无线接入和无线互联方式。 wP蛳N(无线个人区域网络)技术甚至提供了更近距离的无线接入方案,使人们的 生活实现真正意义上的无线覆盖。WP,M呵网络作为终端接入,需要其满足低成本, 低功耗,低数据传输率,短距离的要求,在这种情况下,ZigBee技术应运而生.
2.1

ZigBee网络的特点
2001年,在Motorola,Invensys,Mitsubishi,Philips等公司的倡导下,ZigBee

联盟成立,该联盟完成了ZigBee无线网络技术标准的制定1231。ZigBee技术受到 了众多芯片制造商和系统集成商等的关注,目前他们已经推出了多种相应的芯 片,协议软件和应用产品。ZigBee联盟已经拥有100多家成员。ZigBee技术为 实现WPAN,环境监测,医疗监护,智能建筑,远程抄表等提供了优秀的实现方 案。ZigBee网络的特点有: (1)低功耗。低功耗是ZigBee技术的突出优势,这可以使ZigBee设备有更长的 工作寿命。在这种低功耗的工作模式下,2节5号干电池可支持一个ZigBee 设备工作6 ̄24个月,甚至更长,从而保证节点乃至整个网络有着更长的生命 周期。ZigBee技术采用了很多种低功耗设计方法。 (2)低成本。ZigBee网络协议相比其他网络技术较为简单,对处理器要求不高, 完整版协议栈需要32K的存储空间,精简版的协议栈更是只需8K存储空间 即可,因此具有普通计算能力和存储能力的MCU即可满足要求。此外,在 无线传输方面,ZigBee技术选用了无须注册的ISM(T业,科学,医疗)频段, 避免了因使用无线频谱资源而付费;再次,ZigBee技术作为短距离传输技术, 对于硬件无线部分要求不高,无须大的发射功率和复杂的硬件构成,这也相 应的降低了硬件成本。 (3)低速率。ZigBee标准规定的最高的传输速率为250kb/s,这完全满足了低速 率传输数据的应用需求同时还能实现低功耗的要求【24J。 (4)近距离。ZigBee技术作为WPAN的典型实现手段,其传输范围一般介于 10--200m之间,在增加RF发射功率后,可增加到l--.3km,这指的是相邻节 点间的距离,如果通过多跳路由进行节点间的通信接力,传输距离可以更远。 短的通信距离可以保证ZigBee设备的低功耗。 (5)高容量。ZigBee可采用星形,网状和簇状网络结构。一个主节点管理若干子


中南大学硕士论文

第二章ZigBee网络原理与技术

节点,最多一个主节点可管理254个子节点;同时主节点还可由上一层网络 节点管理,最多可以组成65000个节点的网络。 (6)安全可靠。ZigBee提供了3级安全模式,包括无安全设定,使用接入控制清 单防止非法获取数据和采用高级加密标准(AESl28)的对称密码,以灵活确定 其安全属性。ZigBee在物理层和MAC层采用IEEE802.1 5.4协议,并使用载 波侦听多路访问冲突避免(CSMA—CA)的数据传输方法,采用确认机制和数据 校验等方法以保证数据的可靠传输【251。

2.2无线技术的比较
无线技术涉及到具体的射频收发机制,信道问题,载波频率,能量消耗等问 题。它决定了采取何种射频芯片。目前主流的无线技术有蓝牙,Wi.Fi,GPRS
在盘

寸o

Bluetooth和ZigBee技术一样,都是IEEE802.15工作组制定的一簇标准之一。 这个工作组致力于WPAN网络的物理层和MAC的标准化工作,目标是为在个 人操作空间内相互通信的无线通信设备提供通信标准。任务组TGl制定了 IEEE802.15.1标准,又称蓝牙无线个人区域网络标准。这是一个中等速率,近距 离的WPAN网络标准,通常用于手机,PDA等设备的短距离通信。该版本协议 采用2.4GHz工作频段,发射功率可为lmW,10roW,100mW。通信距离为 lff--100m,通信速率最高为3Mb/s。后来又推出了Bluetooth的修订版的协议标准, 通过降低其通信距离达到10m之内和相应的传输可靠性处理,较好地解决了和 WLAN共存的问题。 Wi—Fi是一种可以将个人电脑、手持设备等终端以无线方式互相连接的技术。 Wi.Fi是一个无线网络通信技术的品牌,由Wi.Fi联盟(Wi—Fi Alliance)所持有。目 的是改善基于IEEE802.11标准的无线网络产品之间的互通性。其常见的版本协 议有:802.1la,802.11b,802.119等。其中802.1la版本规定工作频段为5.8GHz, 传输速率可达54Mbps:802.11b和802.1lg版本的工作频段都为2.4GHz的ISM 频段,前者传输速率为1Mbps---1 1Mbps,后者最高可达54Mbps。Wi.Fi优异的带 宽和极高的数据传输率是以较高的功耗为代价的,所以它对电源设备要求较高, 一般采用固定电源供电。 GPRS是通用分组无线服务技术(General Packet
Radio

Service)的简称,它是

GSM移动电话用户使用的一种移动数据业务。GPRS和以往连续在频道传输的 方式不同,是以封包(Packet)的形式来传输,因此使用者所负担的费用是以其 传输资料单位计算,并非使用其整个频道,理论上较为便宜。GPRS的传输速率 可提升至56.1 14Kbps。GPRS是介于GSM和3G网络之间的移动通信技术,被

lO

中南大学硕士论文

第二章ZigBee网络原理与技术

称为是2.5代移动通信网络技术。移动通信网络可保证设备有着出色的通信距离, 但其本身通信协议复杂,设备本身成本较高。 ZigBee技术是一组基于IEEE 802.15.4无线标准研制开发的、有关组网、安 全和应用软件方面的技术,IEEE 802.15.4仅处理MAC层和物理层协议,ZigBee 联盟对其网络层协议和API进行了标准化。ZigBee是一种低速无线个域网技术, 它适用于通信数据量不大,数据传输速率相对较低,分布范围较小,严格要求低 功耗和低成本的应用场合。
表2-1相关无线技术比较

如表2.1所示,相比于其他无线技术,比如蓝牙,红外,Wi.Fi,GSM/GPRS 等,ZigBee是一种短距离,低功耗,低复杂度,低数据传输速率,低成本的无 线通信新技术。可以说ZigBee技术是完全针对无线传感器网络要求而制定的。
2.3 Zi

gBee网络相应概念介绍

如图2—1所示,ZigBee网络标准共分为4层,从下到上依次为物理层(PHY), 媒体访问控制层(MAC),网络层(NWK)和应用层(APL)。其中物理层和MAC层 采用了IEEE 802.15.4标准,ZigBee联盟在此基础上制定了网络层和应用层标准。 每一层向它的上层提供数据和管理服务。

图2-1 Zig,Bee标准的分层结构

12

中南大学硕士论文

第二章ZigBce网络原理与技术

过路由器进行信息的转发,甚至多次路由最终和协调器建立连接。因此簇形 网络是一种多跳网络。此种网络结构中,协调器和路由节点必须为FFD,终 端设备既可以为FFD,也可以为RFDl2¨。 (3)网状拓扑结构。如图2.4所示,此网络中任何一个设备都能和其无线信号覆 盖范围之内的一个FFD进行通信,每一个FFD都具有路由的功能,在设备 发起数据传输时会根据网络的路由协议选择周围合适的节点进行路由和信息 的转发,并最终通过多跳路由的方法和网络中唯~的协调器进行通信。因此 网状网络也是一种多跳网络。此种网络结构中,每一个节点都是FFD。
2.4

ZigBee网络体系结构
ZigBee网络标准规定其体系共分为4层,从下到上依次为物理层(PHY),媒

体访问控制层(MAC)层,网络层(NWK)和应用层(APL)。每一层为它的上一层提 供数据和管理服务。 2.4.1物理层 ZigBee的物理层采用了IEEE802.15.4标准,通过定义对于射频硬件操作的 规范和方法为MAC层提供了和物理信道之间的接口,为MAC层提供物理层数 据服务和物理层管理服务。物理层数据服务是指从物理无线信道上收发数据,物 理层管理服务通过调用物理层的管理功能函数为该层的管理服务提供接口并维 护一个由物理层相关数据组成的数据库【28】。该数据库包含有物理层PAN的基本 信息。如图2.5所示。
物理层数据 服务接入点

一I匣
射频服务接入点 图2-5物理层结构模型

物理层管理实体 服务接入点

2.4.1.1物理层的功能 物理层的任务是在硬件驱动程序的基础之上,通过无线信道实现安全,可靠 的数据通信。其主要功能有: ①控制射频收发器的状态。具体就是在需要进行数据传输时打开射频收发 器,空闲时使射频收发器进入休眠状态以减少功耗。 ②通信信道的选择。ZigBee标准定义了多个无线信道,具体运用中需要选

中南大学硕士论文

第二章ZigBee网络原理与技术

择一个空闲信道以用于设备通信。 ③通信质量的评判。设备通信能否成功或者通信质量如何需要一定的评判。 在物理层,可以对当前信道能量进行检测(ED),可以进行空闲信道评估(CCA), 可以检测接收数据包的链路质量指示(LQI)。这些由硬件本身完成的功能使通信 更安全可靠。 ④收发数据包。设备可通过射频收发机进行数据的收发,这是PHY层的基 本功能。 2.4.1.2物理层硬件通信规范 ZigBee标准的物理层规定了ISM频段作为其载波频段用于收发数据: 868MI-Iz~868.6MHz、902MHz-928MHz和2400MHz-2483.5MHz共三个频段。 常被欧洲地区使用的是第一个频段,其数据传输率为20kbps:常被北美地区使 用的是第二个频段,其数据传输率为40kbps;我国常用的是第三个频段,其数 据传输率为250kbps。在这三个频段上ZigBee一共定义了27个信道,其中在第 一个频段上定义了1个信道,在第二个频段上定义了10个信道,在第三个频段 上定义了16个信道。每个信道的中心频率按下式计算: 正=868.3MHz 正=【906+2(k—O]MHz 工=【2405+5(k一11)]MHz
七=0

(2-1) (2?2)

七=1,2,…,10

七=11,12,…,26(2-3)

式中,k为信道编号。频率和信道分布如图2-6所示。 868删z


868.3瑚z

Channel 0

915姗z

Channels卜10

219lz—叫卜.一

。口口口口口口口口口口。
902tIlHz b.9 1 5MHz频段上信道的分配

928删z

a.868MHz频段上信遭的分配
2.4GHz

channels 1l一26

5删z—叫卜卜

。口口口口口口口口口口口口口口口口。
2.4GHz 2.4835GHz

c.2.4GHz频段上信道的分配
图2-6 Zig,Bee规范的频率使用和信道分布

在2.4GHz频段,物理层采用直接序列扩频(DSSS)技术进行数据通信,将发 射的高频信号扩展到一个较宽的范围,可提高设备抗干扰性。为了降低设备功耗 同时又不影响通信质量,ZigBee规定射频收发器的发射功率为0,-.10dBm,接收 灵敏度为.85dBm。其具体的方法如图2.7所示。

14

中南大学硕士论文

第二章Zig,Bee网络原理与技术

首先把需要发送的数据送入位.符号转换器进行转换。转换时首先将一字节 分为低4位和高4位。这4位数据称为一个“符号’’。然后再将一个符号通过符 号.码片转换器转换成一个32位的“伪随机序列码”,这称为一个“码片”。表2—2 为符号.码片映射表。这在事实上完成了直接序列扩频。经扩展后得到的码元序 列采用O.QPSK方式对高频载波进行调制[291。
信号

图2-7扩频调制器结构筒图

表2-2符号到片序列映射表

2.4.1.3物理层数据包规范 为了保证通信的可靠和操作的规范,ZigBee规定了物理层数据包的结构, 如图2.8所示。
4字节 1字节 l字节 可变
PSDU

前同步码 帧定界符 帧长度(7位) 保留位(1位) 同步包头
图2-8

物理层包头

物理层载荷

PHY层数据帧格式

同步包头的作用是保证接收端和发送端实现通信同步。同步包头由4字节的 前同步码和1字节的帧定界符组成。IEEE802.15.4规定前同步码为32个0,帧 定界符为2进制数11100101。ZigBee的同步包头由硬件自动生成,无需用户手 动添加。PSDU为物理层数据包即载荷,是物理层需要发送的数据,其最大长度 为127字节。当长度值等于5字节或大于7字节时,PSDU是MAC层的有效帧。
2.4.2 IIAC层

ZigBee的MAC采用了IEEE802.15.4标准,MAC层通过使用PHY层向其

15

—————————————————————————————————————一一

!堕奎堂堡圭丝苎

第二章zigB∞网络原理与技术 :::::=竺::::=::::.
::::

提供的接口操作设备的通信功能,并向其上一层提供两种服务:MAC层数据服 务和MAC层管理服务。前者可以通过PHY层数据服务发送和接收MAC层协议 数据单元(MPDU),后者负责维护MAC层所有的管理对象的数据库(MAC 该数据库包含了MAC层的PAN网络信息数据1301。
2-4.2.1 PIB)。

MAC层的功能

MAC层的主要功能是为两个ZigBee设备提供可靠的数据通信链路。其主要 功能有: ①网络的管理。这包括网络协调器产生并发送信标帧,检测,跟踪信标帧, 维持设备与信标的同步,管理设备与网络之间连接的建立和断开。 ②在两个设备的MAC实体之间提供一个可靠的通信链路。这包括处理和维 护保护时隙(GTS),通过CSMA.CA机制解决信道访问时的冲突。 ③安全机制。MAC层提供的安全机制有:访问控制,数据加密,帧完整性 验证,序列号更新等。 2.4.2.2超帧的结构 ZigBee的MAC层有个重要的概念,即超帧。超帧是指包含了若干个不同类 型帧的特殊的数据帧。在有信标的ZigBee网络中,网络协调器通过超帧来管理 信道的访问顺序和时间。如图2-9所示,超帧包括“活动"和“不活动,,两部分, 在活动部分各设备通过竞争或非竞争的方式使用信道,而在非活动部分各个设备 进入休眠状态以节省功耗。
信标

1}



,;?


GTS

-i
GTS

一卜























0fl出2

13

l捌15

16

中南大学硕士论文

第二章ZigBee网络原理与技术

aBaseSuperframeDuration,SO,BO为MAC层PIB的一些属性确定【3¨。
2.4.2.3 CSMA-CA算法

CSlVIA—CA(载波侦听,多路访问,冲突退避)算法是ZigBee技术的关键之一。 因为无线信道是共享信道,同一时间只能有一个设备使用,否则就会因冲突而发 生传输错误。在ZigBee网络中提供了两种CSMA.CA算法:一种是用于信标使 能的PAN,使用带时隙的CSMA.CA:一种是用于信标不使能的PAN,使用不 带时隙的CSMA.CAl321。本设计是信标不使能的网络,故只介绍不带时隙的 CSMA.CA。其算法流程图如图2.10所示。

图2-10无时隙的CSMA-CA算法流程图

图中,NB为执行当前发送任务时,实现CSMA—CA算法需要进行退避的次 数,每第一次调用该算法时被置0,BE为退避指数,其与设备在使用信道进行 发送消息之前需要等待的退避周期有关。其他为MAC层PIB的一些属性.在执 行每次CSMA.CA算法时,NB都被清为0,BE被初始化为macMinBE,其范围

为肚3,一般采用默认值3,如果BE设置为O,那么第一次执行算法时将不能实
现冲突避免的功能。完成参数的初始化后,MAC层将延迟2hE一1个退避周期。 每个退避周期为aUintBackoffPeriod个符号,这是一个MAC层常量,其值规定
17

18

中南大学硕士论文

第二章ZigBee网络原理与技查

型子域值应设置为0X00,以标识其为一个数据帧;命令帧的帧类型子域值为 0X01。其有效载荷的第一个字节是网络层命令标识符,用于标识该帧为不同的命 令帧类型:有效载荷的其余部分则为网络层命令载荷。
2字节 帧控制 2字节 目的地址 2字节 源地址 o/l字节 广播半径域 路由域 网络层帧首部 网络层有效载荷 0/1字节 广播序列号 帧载荷 可变长



图2一12网络层的数据帧格式

2.4.4应用层 ZigBee的应用层由应用支持子层(APS),ZigBee设备对象(ZDO),ZigBee设 备模板和制造商定义的应用对象(AF)组成。 在应用层中,ZigBee提出了端点地址的概念,节点具有64位的IEEE地址 和16位的网络地址的同时,每个节点还提供了8位的应用层入口地址,对应于 用户应用对象。端点0为ZDO接口,端点1至240供用户自定义用于对象使用, 端点255为广播地址,端点241"--'254保留将来使用【341。 2.4.4.1应用层的功能 应用层的功能是在网络层所提供的API基础之上,为具体应用提供相关的 具体应用协议。 ①数据传输处理。应用层通过相应的机制保证APL帧数据在不同设备的不 同端点之间进行正确可靠的数据传输,并对APL帧数据进行处理。 ②提供节点间的应用对象的绑定【35】。 2.4.4.2应用支持子层 APS为NWK和APL之间提供接口,以向ZDO和用户定义的应用对象提供 数据和管理服务,以及对应用层信息库(AIB)的操作。 APS层的功能有: (1)数据服务。应用支持子层层可生成应用数据单元(APDU)并附加协议信息 以使应用支持层数据帧可以得到有效传输。 (2)管理服务。应用支持子层管理服务包括构造和维护绑定表,操作AIB属 性,建立与其他设备间的安全关系等【361。
2.4.4.3 Zi

gBee设备对象

ZDO位于APS与应用对象之间,其主要功能有: (1)初始化APS,NWK。 (2)发现节点和节点功能

19

———————————————————————————————一
(3)维护网络,提供安全管理,绑定管理等服务。

±堕奎堂堡主笙苎

第二章ZigBee网络原理与技术 :::== ::::二::竺==竺:!:

2.5本章小结
本章介绍了ZigBee技术的特点,并将其与其他常用的无线通信技术进行比 较,并分析得出ZigBee技术是最为符合无线传感器网络要求的无线通信技术。 然后介绍了ZigBee技术中一些重要的术语和概念,研究了ZigBee网络的拓扑结 构,体系结构。并重点研究了ZigBee标准中各层的功能以及相应的数据帧结构 以及MAC层的超帧结构和CSMA.CA算法。

中南大学硕士论文

第三章WSN节点的硬件设计与实现

第三章WSN节点的硬件设计与实现

传感器节点是无线传感器网络的基本组成单元,是网络功能的具体执行机 构。因为在具体应用中一般使用网状结构的ZigBee网络,在此种网络结构中, 每个节点都是FFD,都具有数据采集,数据处理,路由等功能。所以本设计将重 点分析和研究这种节点的硬件选型,设计过程等。
3.1

WSN节点设计要求
无线传感器网络的硬件节点是无线传感器网络功能的具体执行单元,它为数

据采集,节点通信,多跳路由,数据处理等提供硬件支持。因为传感器节点工作 环境的不确定性和其电池供电的特点,所以要设计出使用寿命长,性能稳定,适 用范围广的无线传感器网络节点,必须满足一下要求: (1)低功耗。无线传感器网络节点一般采用电池供电,这就要求必须着重考 虑低功耗设计才能使节点有更长的工作寿命。这包括:软件设计中尽量采用高效 简洁的算法以使节点能快速完成数据处理和数据传输,并使节点在不工作的时候 处于休眠状态;硬件设计中尽量选用低功耗方案,选取低功耗元器件。 (2)微型化。无线传感器网络节点工作环境的特殊性要求在节点设计中尽量 实现微型化,这就要求在硬件电路设计中尽量选用微型封装的芯片和元器件,电 路板布局在不影响功能实现的基础上尽量紧凑。 (3)模块化和可扩展性。模块化的设计可以降低开发难度,提高开发效率【371。

3.2系统硬件节点整体架构
传感器节点由数据采集单元,数据处理单元,数据传输单元和电源供给单元 四部分组成。数据采集单元负责监测区域内信息的采集和数据转换;数据处理单 元负责控制管理整个传感器节点的操作和任务调度,对所采集到的数据或所接收 到的数据进行处理或存储;数据传输单元负责以无线互联的方法执行数据和命令 的收发;电源供给单元通常以微型电池的形式存在,负责为节点提供运行所需的 能量。 综合以上的设计要求和国内外节点设计方案以及目前微电子技术的发展情 况,本论文设计了基于LPC2114和CC2420的硬件平台和软件协议栈。本方案 所设计的硬件节点既能够解决普通8/16位单片机架构的节点在数据处理和任务 调度方面的不足,又能很好的满足低功耗,微型化,性能稳定等要求。节点硬件 结构图如图3.1所示。

2l

中南大学硕士论文

第三章WSN节点的硬件设计与实现

本设计中将节点分为处理器底板,射频部分,传感器板三大模块,进行分模 块设计和分模块调试。这种堆积木式的方式也方便了以后的系统升级和二次开 发。此外,节点还应预留相应的扩展接口,可用于扩展传感器,以丰富节点功能 和进行系统升级。

哥一
3.3处理器底板设计
路的设计等方面。 3.3.1微处理器模块设计

姗LPC2黻1

14

1UI C即C2黻420

兽 譬 弓


电源供给管理模块 图3-1节点硬件结构图

处理器底板的设计包括处理器选型和最小系统的设计,电源的设计,调试电

微处理器是整个节点系统的核心,用来实现整个节点系统的控制,任务调度, 数据处理,网络功能的实现等,处理器模块的设计包括处理器选型,处理器外围 电路的设计,调试电路设计等。 3.3.1.1微处理的选型 本设计中选用的处理器LPC21 14是Philips公司推出的一款基于16/32位
ARM7 TDMI.S的微控制器,它自带128KB的片内Flash存储器,足以容纳完全

版的ZigBee协议栈,这样就无需外扩存储器;128位宽度的存储器接口和独特 的加速结构使代码能够在最大时钟速率下运行;对代码规模由严格控制的应用可 使用16位Thumb模式将代码规模降低30%,而性能的损失却很小;16KB的片 内静态RAM用来存储临时数据;LPC2114具有2个SPI口,可以用于和CC2420 通信;还有4路10位A/D转换器可用来直接采集数据;较小的FQFP64封装: 极低的功耗,有空闲和掉电两种低功耗模式,可通过个别使能/禁止外部功能来 优化功耗;12个独立外部中断引脚;多达46个的GPIO口,为用户提供了丰富 的外设资源。其被广泛的应用于工业控制,通信网关、协议转换器、嵌入式软 moderm等的设计【39l。 如图3.2所示,ARM7 TDMI.S的微控制器使用三级流水线作业的形式来提 高处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连 续操作,能提高0.9MIPS/MHz的指令执行速度【391。

中南大学硕士论文

第三章WSN节点的硬件设计与实现

l坚塑I堡翌l垫堡I

匡Ⅱ蔓咽 匝妇蔓咽

图3-2 ARM7三级流水线示意图

3.3.1.2微处理及外围电路的设计 对于LPC2114,其要处于正常运行状态至少需要3.3V,1.8V两组电源,晶 振电路,复位电路等。 为了保证串口波特率的准确性,LPC2114采用11.0592M的晶振,若需要CPU 以更高的速度运行,可通过片内PLL倍频到一个更高的频率f40】。由于ARM芯 片工作频率高,操作电压低,所以对电源的稳定性有高的要求,本设计的复位电 路选用了专用的微处理器电源监控芯片MAX708,保证系统的可靠性。 MAX708是一种微处理器电源监控芯片,可同时输出高电平有效和低电平 有效的复位信号。复位信号可由VCC电压手动复位输入或由独立的比较器触发。 独立的比较器可用于监视第二个电源信号,为处理器提供电压跌落的预警功能。 这一功能是为器件发出复位信号前的正常关机,向操作者发送警报或电源切换而 考虑的14l】。 此外,PO.14引脚应该接一个上拉电阻,以禁止ISP功能。图3.3所示为处 理器最小系统和外围基本电路。

图3-3处理器外围电路原理图

中南大学硕士论文

第三章WSN节点的硬件设计与实现

3.3.2系统电源电路的设计 系统电源为整个节点的运行提供能量。因本设计V1.1版本节点是为调试考 虑故用USB供电,同时也预留有稳压电源的直插式接口。 LPC2114需要3.3V和1.8V双电源才能正常工作,所以需要进行电压转换以 满足系统要求。本设计选用LMlll7.3.3和LMlll7.1.8来实现电压转换的目的。 LMlll7系列芯片提供多个固定电压输出。该系列电压转换芯片外围电路简单, 精度高,并且提供电流限制和热保护等功能【421。 图3-4所示为节点的电源模块原理图。为保证输入的稳定性和芯片的正常工 作,LMlll7要求在输入端使用旁路电容,同时在输出端使用输出电容,这样可 以提高输出的稳定性和瞬态性能。输入电容一般采用10uF的钽电容,输出电容 一般最小为10uF。





图3-4节点电源模块原理图
3.3.3

JTAG接口
ACTION

JTAG是JOINTTEST

GROUP的简称,是一种国际标准测试协议

(IEEE 1149.1),主要用于芯片内部测试及对系统进行仿真,调试。其基本原理是

在器件内部定义一个TAP(TestAccess Port;测试访问口),通过专用的JTAG测 试工具对内部节点进行测试。JTAG是调试开发嵌入式系统的常用手段,通过它 可对芯片内部的所有部件进行访问,还可实现ISP(In-System Programmable,在 线编程),对FLASH等器件进行编程。 LPC2114使用JTAG功能时占用P1.26~P1.31引脚。具体应用当中,当复位 信号为低时,P1.26的低电平能使P1.26--P1.31复位后用作一个调试端口,所以 常把P1.26引脚(RTCK)通过一个下拉电阻接地,使其保持低电平状态。具体的接 口电路如图3.5所示。 3.3.4串口电路

中南大学硕士论文

第三章wsN节点的硬件设计与实现

网络协调器和上位机进行通信时需用到串口电路,也可用串口电路来进行调 试。LPC21 14自带两个UART控制器,可以方便的进行串口操作。本设计选用 SP3232E来实现LPC21 14I/O电压(3.0V ̄3.6V)到RS232电平的转换。 SP3232E接收器满足EIA/TIA.232和V.28/V.24通信协议,它所具有的l,u A 关断模式电流能减少功耗和延长便携式系统的电池寿命。其接收器在关断模式仍 然有效,所以其常应用于使用电池供电,便携的手持式设备等t43l。其具体的引 脚连接原理图如图3-6所示。

,时



6 8 lO 12 14 16 18 20

图3-5节点ITAG接口原理图

蘑嚣
广—————一V+
cl?

,.:堕b,,、u4.磊
?Ilp?心

12
:"

5llI


?

4。 l

蔗≈伽毓一
3.4射频部分的设计

]韶

射频部分的设计包括射频IC的选型,射频IC外围电路的搭建等。 3.4.1射频芯片的选取 本设计中RF模块选用CC2420作为射频收发机。CC2420是Chipcon公司推 出的第一款兼容IEEE820.15.4标准的射频收发芯片,它以0.18,urn的CMOS工 艺制成,集成度高。采用QLP.48超小封装,体积只有7?7mm,功能稳定且功 耗极低,具有休眠模式切从休眠模式到被激活的时延短,保证了其可以有更多的

中南大学硕士论文

第三章WSN节点的硬件设计与实现

时间处于极低功耗的休眠模式下。射频工作频率选在ISM频段2.4GHz上,其最 高数据传输率可达到250kbps。硬件集成了DSSS,CRC校验等功能并具有较强 的抗干扰性。其接收灵敏度可达.94dBm。CC2420内部使用1.8v工作电压,外 部接口使用3.3V电压,保证了与3.3V逻辑器件的兼容性。 图3-7为CC2420的内部结构图。CC2420是低中频收发器。接收到的射频 信号被低噪声放大器放大后,正交下变频为2MHz的中频,形成中频信号的同相 分量和正交分量。这两路信号被滤波和放大后,将直接被模数转换器数字化。之 后的自动增益控制、信道滤波、符号关联和位同步等也都采用数字化实现。 CC2420发射是基于直接正交上变频。数据首先存放在128字节的发射缓冲器中, 前导和帧分隔符由硬件产生,每个符号(4比特)用IEEE802.15.4扩频序列扩频成 伪码片,并经数模转换器输出为模拟信号。输出的模拟信号经低通滤波器后又被 混频器变频,最终通过功率放大器放大并反馈到天线上脚】。

…i厅聂赫蟊否藤专萄莳;i5C_一一o ——l



ADC

Dg■ODUL^T曲
O-口昀I RS掣 GmC∞h。■
Sefial voltage regulator

0lGfl‘^L

×

j翟螫量鬯呸建窖k一?一上
ADC

咖?s“翱mH¨∽ ch∞∞¨嗽嗍
D■nOa幢■啪
Fr●●,■

●”K姆0删t■●at

¥黝t/IfF固I
gC2420

名目。鲥FR町EOH
7-k[(DAC



DiQitaf and Anal09 test interface

翮BIAS两岐妒=[驴—唑
图3-7 CC2420内部结构图

CC2420内部有33个16位的配置寄存器,15个命令选通寄存器,一个128 字节的RX RAM,一个128字节的TX RAM,一个112字节的安全信息存储器。
3.4.2

CC2420外部电路设计

CC2420具有完全集成的压控振荡器,只需要天线,晶振,匹配网络电路等 非常少的外部接口电路即能正常工作【451。参考TI公司所提供的关于CC2420的

图3-8射频模块原理图

CC2420内部使用1.8V工作电压,因而功耗极低,很适合于电池供电的设备。 外部数字I/O接口使用3.3V电压,这样可以保持和3.3V逻辑器件的兼容性。其 内部集成了一个直流稳压器,能够把3.3V电压转换成1.8V电压。 为了保证CC2420能够正确地进行250kbps速率的数据收发和数据处理,基 准时钟必须是16MHz。本设计使用的加于XOSC QI和XOSC Q2引脚之间的外 部晶振。 3.4.3射频天线的设计 选择一个射频系统的天线时需综合考虑大小,成本,性能等多种因素。对于 2.4GHz的短距离通信而言,天线从实现形式上来分,有PCB天线,芯片天线, 外接鞭状天线三种形式【46】。 天线的设计是极其复杂和严格的。TI官方网站上所给的CC2420的典型设计 电路中,提供了CC2420的多种天线设计方案。对于短距离通信而言,从实现形 式上分,有PCB天线,外接天线,如表3.1所示。PCB天线一般有微带天线, 倒F形天线,环形天线等几种形式。考虑到本节点设计为协调器,以可靠通信为 主,而鞭状天线有着全方向的辐射图,性能优越,故选用外接鞭状天线。通常也 把天线划分为单端天线和差分天线,单端天线也叫做不平衡天线,相反地差分天 线叫做平衡天线。本设计所采用的鞭状天线是单端不平衡天线,单端天线由一个 相对地的信号进行反馈而且特征阻抗一般都为50欧姆,而CC2420射频信号的 收发采用差分方式进行传输,其最佳差分负载是1 1 5+j
1 80

Q,因此需要BULUN

中南大学硕士论文

第三章WSN节点的硬件设计与实现

电路完成差分一单端的转换和阻抗匹配以使射频能量传输最大化MT]。上述设计电 路中,C6,C8,Cll,C12,L1,L2,L3组成匹配网络,其中L1和L3完成组 成匹配的功能;C6,C8,Cl l,C12,L2作为BULUN电路完成差分.单端的转

捌4引。
表3-1几种类型的天线比较

3.4.4

CC2420与LPC2114的连接

PcB天线美等票髫戮一 S迎 鞭状天线性能女『有些芝馨栗适合一
尺寸小

低频时天线尺寸鬻呼竺磷缢鼍≤妒争强—?鬻

将增大电路板面积
性能中等

邑;二晶篓辫委笠


:i

贴片天线尺寸小

懦种

有些场合不适合———尸

CC2420与LPC2114是通过SPI口连接进行命令和数据的通信的。图3-9为
LPC21

14和CC2420的引脚连接图。
P0.30 P0.13 P0.21 P0.25 RSTn VREG FIF0 EN

CSn
SI

P0.6
P0.5 P0.4 P0.24

SO
SCLK CcA SFD FIFOP

P0.23 PO.16
LPC2114

CC2420

图3-9 LPC2114和CC2420引脚连接图

LPC2114自带两个SPI口,本设计选用SPl0用于和CC2420通信。LPC21 14 的SPI口有SCK,SSEL,MOSI和MISO共四根线。其中SCK为串行时钟,用 于输出同步SPI接口间数据传输的时钟信号,其由主机驱动从机接收,可由编程 决定高有效还是低有效;MISO为主机输入从机输出信号,这始终是一个单向的 信号;MOSI为主机输出从机输入信号,这也始终是一个单向的信号;SSEL为 从机选择信号。相比于其他微处理器,这是一个比较特殊的引脚,实际使用中

中南大学硕士论文

第三章WSN节点的硬件设计与实现

LPC21 14配置为主机时,该引脚不能作为GPIO,并且必须使该引脚始终保持高

电平。本设计中通过使用上拉电阻R12使SSEL0保持高电平状态。 CC2420的SPI时序要求输入时钟为高有效并且在传输每个字节时以高位为 先,这都可以通过LPC21 14关于SPI的设置寄存器进行设置。 此外,RSTn用于复位CC2420,其为低电平有效的脉冲信号。
VREG

EN为CC2420电压调节器的控制引脚。当该引脚为高电平有效的时

候即打开内部电压调节器。 FIFO和FIFOP为表示接收FIFO状态的引脚。当RX FIFO中至少有一个字 节未被读出,FIFO引脚为高电平。当最后一个字节读出后,FIFO引脚变为低电 平;当在接收FIFO中的未读出的数据字节超过IOCFG0.FIFOP THR设定的值 时(默认为64字节)或一个完整的数据包的被接收以后,FIFOP变为高电平, 在这种情况下。 SFD为帧开始分隔符。在接收过程,当检查到有效的帧开始分隔符后SFD 会变为高电平,整个数据包接收完后变为低电平;在发送过程,当起始帧被传送 后SFD信号变为高电平,整个数据包传完则立刻变为低电平。如果启动了地址 辨识,在地址辨识失败后,SFD引脚立即转为输出低电平[491。 CCA为空闲信道评估信号。在接收状态下,经过8个的符号周期,CC2420 可以对信道状态进行评估。如果信道内没有数据CCA信号变为高电平否则为低 电平。 CSn用于片选CC2420。

3.5传感器板的设计
通过将微处理的一些多余GPIO引出,可作为传感器板的扩展接口,用于灵 活安装各种传感器。但考虑到本设计的硬件平台为调试实验板,所以在本硬件节 点上预装了一个简单的温度传感器LM35。

+5V

j■ 图3-10 LM35引脚连接原理图

LM35是一款精密集成电路的模拟式温度传感器,其输出电压与摄氏温标成 线性关系;在常温下,LM35不需要额外的校准处理即可达到±1/40C的准确率。

在规定的电压范围内,芯片从电源吸收的电流几乎是不变的(约5(3l衅),所以芯

中南大学硕士论文

第三章WSN节点的硬件设计与实现

片自身几乎没有散热的问题。自身发热对测量精度影响也只在0.1℃以内【501。此 种特性完全满足了低功耗的要求。LM35输出信号为模拟信号,送入微处理器的 A/D口,由处理器进行采样和A/D转换。 LM35外围电路简单,5V供电。如图3.10所示。

3.6系统硬件抗干扰设计
WSN硬件节点系统作为一个电子设备,设计时必须考虑电磁兼容,抗干扰 等问题。此外,由于LPC2114芯片工作频率高,操作电压低,为了保证其能正 常工作,在数据传输和处理时不至于出错,更应该注意此方面的设计。 本设计中,LPC2114等数字集成电路的所有电源输入端都接一个O.1,uF的 去藕电容,防止电源线上的开关噪声尖峰。 在布线的过程中,数据线应适当宽一些,以减少阻抗。其宽度一般不小于 12mil(约为0.305mm)。注意高频和低频部分分开,数字地和模拟地分开,具体在 本设计中就是在天线的附近不能有地层;LM35的模拟地和电路板其他部分的数 字地单独敷铜,并通过一个0欧姆的电阻进行连接。 此外,电源线,地线的走向和数据线最好平行走向,以提高抗干扰能力;同 时布线时要注意使电源线尽可能宽,以减少环路电阻;所布信号线应可能短,各 元器件间的连线尽可能短,以减少分布参数和相互间的电磁干扰;正反两面的信 号线应相互垂直;在需要拐角的地方应以135度角为宜。因为PCB板上的过孔 会带来大约10pF的电容效应,所以要尽可能减少过孔数量【511。

3.7本章小结
本章介绍了设计无线传感器网络节点的原则和要求,并以此为标准,分模块 研究了微处理电路部分,电源模块,JTAG模块,串口电路,传感板模块的硬件 选型,电路原理和具体设计实现方案,给出了无线芯片的选型,无线模块电路的 搭建,BULUN电路的设计,设计了处理器和无线模块的接口并给出了相应的引 脚定义。最后对整个硬件节点进行了电磁兼容和硬件抗干扰的分析与设计。

●__●-_-__-●-●_●‘_-‘__●_-I_-_-_-_--_‘●__-●-‘_l_--_-‘●_●'_-'__I___’-_●'__’__--●’---____-_●-●_I_-I--___●‘-__●--_●_-‘_-。-__‘-_。,--___--_。-。-____I-。_

中南大学硕士论文

第四章系统软件设计

第四章系统软件实现

无线传感器网络节点是执行传感网络功能的硬件平台,要实现具体的传感功 能,路由功能,网络功能等还需要相应的硬件驱动程序,网络通信协议栈和上层 应用程序。编写这种底层通信协议栈是极其繁琐而复杂的工作。现在已有多家公 司开发了与其推出的射频芯片相关的协议栈,但这些协议栈一般都不是免费和开 源的,都需要付费或者购买相应的开发平台而得到。Microchip(F丁,被TI收购)公 司推出的基于ZigBee技术的Microehip ZigBee协议栈是目前可以得到的唯一的 全免费ZigBee协议栈。
4.1

ZigBee协议栈分析
Microchip

ZigBee协议栈是在Microchip所推出的符合IEEE802.15.4标准的

射频芯片系列的基础之上,基于ZigBee规范而开发的。协议栈作为ZigBee技术 的核心,是由数万行的C51代码所组成的f52l。本设计选用Microchip ZigBee协 议栈的V1.0—3.8版本,对其进行移植,修改以使其能运行在所设计的硬件平台上 从而实现数据收发,网络拓扑,路由计算等复杂功能。该版本协议栈的特点: 1)经认证的符合ZigBee协议v1.0的平台 2)支持2.4 GHz频带 3)支持所有ZigBee协议设备类型(协调器、路由器和终端设备) 4)实现对邻接和绑定表的非易失性存储 5)可在大多数PICl8系列单片机之间移植 6)与RTOS和应用无关 7)模块化设计,标准术语与ZigBee协议和IEEE802.15.4规范中使用的术 语一致


如图4.1所示,Microchip协议栈根据ZigBee规范的定义将其逻辑分为多个 层。实现每个层的代码位于一个独立的源文件中,由一组具体的函数组成,这些 C头文件定义该层所支持的API。每层为紧接着的上一层所提供的服务和应用程 序接口则在头文件中进行声明,顶层通过使用这些API和其下一层进行交互从 而实现了抽象性和模块性。在具体应用中需要指出的是:用户应用程序总是与应 用编程支持层(APS)和应用层(APL)交互。由每层提供的很多API都是简单 的C语言宏,调用下一层中的函数。此方法可以避免与模块化相关的典型开销【531。

中南大学硕士论文

第四章系统软件设计

用户应用程序 APL(zAPL.木)

ZDO(ZDO.木) APS(zAPS.:lE)

册((zNWK.宰)
MAC(zMAC.木) PHY(zPHlf.h)
图4-1 Microchip协议栈的架构

Microchip ZigBee协议栈由多个源文件组成,共用的文件存储在一个目录中,

特定的文件存储在另一个目录。每个演示应用程序存储在其各自目录中。表4.1 所示为协议栈主要的目录结构。
表4-1 Microchip协议栈文件的目录结构
目录名
Common DemoCoordinator

内容 协议栈底层代码源文件

演示ZigBee协议协调器应用程序的源代码,以及一个创建其他ZigBee 协议协调器应用程序的模板。 演示ZigBee协议RFD应用程序的源代码,以及一个创建其他ZigBee协
议RFD和FFD终端设备应用程序的模板。 演示ZigBee协议路由器应用程序的源代码,以及一个创建其他ZigBee

DemoRFD

DemoRouter

协议路由器应用程序的模板。
ZigBeeStack

Microchip ZigBee协议栈的源文件。

表4-2 Microchip协议栈源文件
文件名
SymbolTime.c/h 2|APL.h

说明 执行Microchip ZigBeeTM协议栈的计时功能。

协议栈的应用级接口头文件。这是应用程序代码需要包含的唯一
文件。 ZigBee协议的APS层。 ZigBee协议的家居控制的照明配置文件信息。 一般ZigBee协议常数。 指挥各层协议间的程序流程。 一般IEEE 802.15.4TM MAC层的头文件。
Microchip MRF24J40收发器的IEEE 802.1 5.4 MAC层。

zAPS.c/h zHCLighting.h
zigbee.h

ZigBeeTasks.c/h

zMAC.h zMAC MRF24J40.c/h zNVM.e/h
zNW,l(.c/h
zPHY.h zPHY

执行非易失性存储器的存储功能。
ZigBee协议的NWK层。 一般IEEE
802.15.4

PHY层的头文件。

MRF24J40.c/h

Microehip MR_F24J40收发器的IEEE 802.1 5.4 PHY层。

zSecurity.h
zSecurity

ZigBee协议的安全层头文件。
Microchip MRF24J40收发器的ZigBee协议的安全层。

MRF24J40.e/la

zZDo.c..h

ZigBee协议的ZDO(ZDP)层。

中南大学硕士论文

第四章系统软件设计

4.2协议栈的移植
Microchip ZigBee V1.0.3.8版本的协议栈是针对该公司的PICl8系列单片机

加CC2420的节点平台架构而设计的,PIC系列单片机在数据格式,存储体系, 寄存器定义,中断机制,编程规范等方面和LPC2114有着不同的区别,要想移 植到LPC21 14上正常工作,就需要对协议栈进行修改。Microchip ZigBee协议栈 在设计过程中把与硬件有关的设置和程序安排在PHY层和MAC层,每层向上 一层提供服务和API,这使得其网络层和应用层脱离了具体硬件平台的限制,从 而有助于开发和不同平台之间的移植。所以,具体开发过程中,只需把精力放在 PHY和MAC层的底层驱动的修改上和上层应用程序的编写上。移植是建立在对 ZigBee协议栈和LPC21 14处理器的硬件架构以及相关配置有深刻理解的基础之 上的。如表4.2所示为Microchip ZigBee协议栈源文件组成。本文的软件设计就 是基于这些文件进行修改和移植。 4.2.1数据格式和宏的修改 数据格式决定了变量类型变量长度,这影响了程序中变量的定义,结构体, 共用体的定义和类型。协议栈所针对的PIC为8位单片机,其支持的数据类型在 文件genetic.c中使用类型定义的方法定义了8种数据结构,其中1种是枚举类 型,3种为结构体类型,4种为PICl8系列单片机的编译器MPLAB C18所支持 的常用的数据类型。MPLAB C18编译器支持由ANSI定义的标准整型,并且还 支持特殊的24位整形【541。LPC2114为32处理器架构,修改相应的数据类型定 义如表4.3所示:
表4-3移植中对应的数据结构

其中LPC2114不支持24位的数据结构,此处用32位数据结构来替代。 此外,在协议栈的Compiler.e文件中,以宏的形式定义了处理器PICl8F的 端口,各类内部寄存器等。所以移植过程中需要对该文件进行替换,使其变为
LPC21

14的端口定义和寄存器定义。

4.2.2工作模式

中南大学硕士论文

第四章系统软件设计

豁<

厂用户模枷R)
厂系统模那YS)

L特权模式L异常模式厂军垂蠢器①

中止模式(ABT)

表4-4 LPC2114操作模式表

中南大学硕士论文

第四章系统软件设计

一般Boot Block都被映射到片内存储器的顶端,而中断向量位于地址的底 端。LPC2114把片内存储器的0x00000000"-。0xOOOO003F共64字节的空间作为重 映射区,根据不同的需要可以将四个区域重映射到此空间:内部Flash高端的64 字节空间;内部Flash低端的64字节空间;内部RAM低端的64字节空间和外 部RAM低端的64字节空间。 存储器重映射的控制是通过设置存储器映射控制寄存器MEMMAP,当使 MEM[1:01=oo时,系统把内部Flash高端的64字节映射到重映射区使这64位 字节空间不仅具有原先的地址,还被分配了新地址0x00000000---0x0000003F; 当使MEM[1:O】=0l时,系统把内部Flash低端的64字节空问映射到重映射区, 事实上这也是系统上电时的默认状态;当使MEM[I:01=10时,系统把内部RAM 低端的64字节空间映射到重映射区;当使MEM[1:0】=11时,系统则把外部RAM 低端的64字节空间映射到重映射区。
4.2.3.2

IAP操作

协调器节点或路由节点在工作时需要保存一些重要数据到非易失性存储器 中,比如网络号,地址信息,绑定表等。LPC21 14通过lAP的功能将数据保存 在Flash中从而保证数据即使掉电情况下也能保存.

LPC2114的128K的Flash一共分成16个扇区,每个扇区8K字节。lAP的
入口地址为0x7FFFFFFO,其操作代码为Thumb指令。lAP的命令共有7条,命令 码如表4.5所示。
表4-5 IAP命令

通过lAP更新Flash的一般顺序是:关闭PLL和MAM,关闭中断,然后选 择扇区,擦除扇区,查空扇区,再选择扇区,再将数据从RAM复制到Flash中, 最后进行数据校验。实现lAP的每种功能是通过调用lAP入口lAP_entry0实现 的。每次操作时入口参数是命令字和参数,同时还需开辟相应的出口参数缓冲区

用于接收lAP操作的返回参数。本设计中,设计lAP操作的具体API函数如下:
35

中南大学硕士论文

第四章系统软件设计

void Select

8tnsecs., uint see2) iu(rotce l

此函数通过输入起始扇区和终止扇区号进行扇区选择
void

RamToFlash(uint32

rarnadd,uint32 flaadd,uim32 num)

此函数可将指定RAM起始地址的hum个字节复制到指定Flash起始地址中。
void EraseSector(uint8
see

1,uint8 sec2)

此函数通过输入起始扇区和终止扇区号进行扇区擦除
void CheckBlank(uint8
sec

l,uint8 see2)

此函数通过输入起始扇区和终止扇区号进行扇区查空
void

ReadDevlD(void)

调用此函数可读取器件ID情况到lAP出口参数缓冲区中
void

BootCodelD(void)

调用此函数可读取Boot代码版本号情况到IAP出口参数缓冲区中
void DataCheck(uint32 ramadd,uint32 flaadd,uint32

num)

此函数可将指定RAM起始地址的num个字节与指定Flash起始地址的hum个字 节进行校验,校验情况返回到IAP出口参数缓冲区中。 4.2.4中断机制的修改 PICl8有多个中断源和中断优先级功能,该功能可以给每个中断源分配高优 先级中断或者低优先级中断。高优先级中断向量位于0x000008,低优先级中断 向量位于0x000018。原程序中,中断功能的执行是通过进入中断服务函数 HighVector0之后再由goto语句跳转到HighlSR0i函数,执行动作【55】。而在
LPC21

14中,共有32个中断请求输入,可将其编程分为三类:快速中断请求FIQ,

向量中断请求IRQ和非向量中断请求IRQ。 向量中断控制器(VIC,Vectored
Interrupt

Controller)将所有向量和非向量IRQ

相“或"向ARM处理器产生IRQ信号。IRQ服务程序可通过读取VIC的一个 寄存器而立即启动并跳转到相应的地址;否则提供由所有非向量IRQ共用的默 认程序地址。该程序可读取一个VIC寄存器以确认哪个mQ被激活。所有的VIC 寄存器都是字寄存器,不支持字节或半字的读写。 针对原协议栈的中断部分重新编写程序,分配中断向量如表4-6所示:
表4-6中断的分配

中南大学硕士论文

第四章系统软件设计

4.2.5启动文件的编写 作为嵌入式系统应用的无线传感器网络的驱动程序分为引导,启动,装载和 主函数共4部分。一般引导和装载部分由芯片固件Boot Block完成,这是由芯片 制造商提供的,无需用户关心。但是启动文件应根据需要自行编写。启动文件的 执行是在管理模式下进行的。在启动文件中首先对各个模块的私有堆栈进行设 置,然后再对接口和处理器的各个功能模块进行初始化以建立用户程序的硬件运 行环境。最后把系统切换到用户模式,跳转进入用户程序入口main()。PICl8处 理器只有用户模式一种工作状态,故不能自行编写启动文件,一切由硬件自动进 行引导和启动,故协议栈中没有相应的启动文件,需自行编写。 启动文件由两部分组成,一个是Startup.s文件,此文件用来定义中断异常向 量表,定义不同工作模式和中断形式的堆栈大小并初始化堆栈。典型的中断异常 向量表的设置和代码如下:
;中断向量表
Reset LDR LDR LDR LDR LDR

PC,ResetAddr PC,UndefinedAddr

PC,SWI—Addr
PC,PrefetchAddr PC,DataAbortAddr 0xb9205f80

DCD LDR
LDR

PC,[Pc,#-0xff0] PC,FIQ』ddr

在本设计中,只用到三处中断,为了防止程序因某种原因访问了一个未被使 用的中断向量,常采用哑中断的技术来避免产生不可预知的错误。即把未使用的 中断异常处理程序设置成一个死循环程序。这样,当系统程序因跑飞而跳入此中 断向量时,会因进入死循环而最终通过看门狗复位来脱离故障状态。 启动文件的另一个文件是target.c。这是个C程序源文件,其可实现对系统 中的硬件进行初始化。文件中一般包含对处理器各寄存器各模块的宏定义,重映 射代码以及设置外设时钟与处理器分频比代码以及设置存储器加速功能MAM 的代码。下面为重映射的代码: #ifdef__DEBUG—.RAM
MEMMAP=0x2;
#endif 衔fdef DEBUG FLASH //remap //remap

MEMMAP=0xl;
#endif 撑ifdef IN CHlP

MEMMAP=0xl;

//remap

37

————————————————————————————————————————一一
#endif 4.2.6

!塑查堂堡主笙奎

第四章系统软件设计 :::::::=二:::::=:::

SPl通信接口驱动函数

LPC21 14通过SPI口和CC2420进行通信,进行数据的交互,命令传输和状

态查询。根据芯片手册的SPI操作规范,编写相应的驱动函数如下:
void

init_spi(void)//此函数用户初始化SPI操作


SOPCCR=0x52;

SOPCR=0x20;朦止SPI中端;SPI传输高位在先;主机模式;SCK高有效

uint8

SPLWrite_BYTE(uint8 byte)//此函数用于写一个字节到SPI总线上


SOPDR=byte;

while((SOPSR&Ox80)一--O);
byte=SOPDR;

retum(byte); )
uint8 SPl_Read_BYTE(uint reg)//次函数用于从SPI总线上读取一个字节的数据


uint8 value;

SPLWdte_BYTE(reg); value2SPIWrite_BYTE(0);
return value;




r—

=l

心九¥
W嘲tc re卿
钟,R
’S5

—r。’f
萍f0



.∑。f 土 j r J .f f j 7.

叫 n n n几广

J .f J。




EE 雹 雹 冒
一<夏: E
州胁tc
TxFlI o:

气i’ 雹 E E 晒匝 髓 髓 髓 函 匣 砭 强 鲺 固 甄 匣 囝 豆 匝: 至 雹 E 至:

E Z互 E互 雹 E 雹 盈 噩 砭 匣 面 豆 雹盈 强 亚 固 砭 匣 蟹 匣 匝: 雹
?<互
R_d仃|

雹 E气r 譬 E 雹
RXFl

7甜1

雹 E 雹 互 雹雹 雹

瞧匝臣匝匝匝 瞧

r甜


R糟d■

肾 W 1F ’F 气r 歪: _<萤 譬 冠 E 气r 置 E 气一
一_■’



r曩 嚣l啊

o:

:oI”.


R嗨da

d硎1
气一

№t

晒 鲺 磁 匝 匝 匣 题 :漩. 怒 圊 强 囤 蹈 匣 匝: :oI'5一
Ib拇’

IR^^

臼fm

j口k r

h●d,1 州醣●■b ’DO杈

E 。M 气r ’F 气r 互 -(蟊 百r 互 E 互 旦:
_iF eb帅
from

强冠
sIb¨

’一

R^M:

打K啦

,Ie

re

出■

oDo_

j誓 互 E E ir <互 气r 气一 譬 ≮r

E互
-苎三一 -i—
筠1

强雹工 ZZ

雹 Z 1■ E雹 虽匣 受 晒 匣 髓匣 豇 匿. :吖1 豆 匣 匣 匣 圊 。已 匝 也吱一
1■

Z盂
.望: 匿 固 豆

回 雹置 匣

图4-3 CC2420的SPI时序图

4.3

CC2420驱动程序的设计

38

中南大学硕士论文

第四章系统软件设计

ARM7对CC2420的操作是指对其进行写命令滤波,读写配置寄存器,读写 FIFO和读写RAM等的操作。这些操作是通过SPI口进行的。CC2420实现这些 操作的时序图如图4.3所示: 4.3.1命令选通滤波器的操作 CC2420具有15个命令滤波器,用来使能晶体振荡器,切换工作模式等。命 令滤波器是单字节指令,要对命令选通滤波器进行操作,只要在SPI通信过程中 发送一个字节的命令选通滤波器地址即可。此时该地址会被锁存,从而驱动对应 的内部功能开始动作。命令滤波器的操作可以用下述函数实现:
uint8

SPlWriteStrobe(uim8 strobe)


IOOCLR=CSN;

SPI_Write_BYTE(strobe);
IOOSET=CSN;

retum value; )

命令选通滤波器的第一项为SNOP,其对应的地址为0x00。这是没有任何功 能的空操作指令,仅用于读取CC2420的状态.但是这不是检查CC2420状态的 唯一的方法。事实上,从上面的时序图可以看出,任何时候,只要在CSN变低 有效的时候,在SI引脚上给出8个时序,即可得到状态寄存器的值;当在执行 写寄存器命令时,每传输任何一个字节,都会返回当前状态寄存器的值。状态寄 存器值的意义如表4.7所示。
表4-7读状态寄存器的返回值

4.3.2 1

6位配置寄存器的读写

CC2420具有33个16位的配置寄存器,ARM7通过SPI口对其进行读写。 每次读写这33个配置寄存器时要求通信开始的头一个字节满足格式如图4.4所 示。

中南大学硕士论文

第四章系统软件设计

首先发送<一


位位置


一>最后发送
5:0

0:寄存器访问;1:l蝴访闯

0:写操作;1:读操作 寄存器的6位地址

图4-4读写配置寄存器时SPI操作规范

发送完头8位后,要连续发送2字节的寄存器地址,其中首先发送高8位地 址,然后再发送低8位地址。读寄存器的时候,可通过下面的函数实现:
uintl 6 SPIRead_1 6reg(uint8

reg_addr)


IOOCLR=CSN; uint8 temp; uintl6 value;

temp=(reg_.addrlREAD_REG); SPI_Write_.BYTE(temp); value=SPl—,Write_BYTE(0);
vlaue=value<<¥;

value--value+SPkWrite_BYTE(0);
IOOSET=CSN;
return value

) 4.3.3

RAM区域的操作

CC2420内部具有1个128字节的RX—RAM,1个128字节的TX—RAM, 一个112字节的安全信息存储器,ARM7通过SPI口对它们进行读写。RAM区 域读写的格式如图4.5所示。
首先发送<一 位位置

一>最后发送

sI上发送的消息l B7=l,B6:O=RAIl区地址I B7:6=RAM中区域。B5:0=无效I要传送的字节信息
sod:接收



状态信息

B7:6=RAM中区域,B5:O=无效I

读回的RAjl值

图4-5读写RAM区域的操作规范

其中RAM中的内部区域分配地址为:TXFIFO为区域0,RXFIFO为区域1, 安全信息存储区为区域2。
4.3.4

FIF0区域的访问

FIFO区域的访问可以通过RAM操作的方式进行,此时,无论TXFIFO还 是RXFIFO都是即可读也可写的。同时FIFO的操作也可以按照寄存器访问的方

中南大学硕士论文

第四章系统软件设计

式进行,即首先发送一个头字节,声明为读或者写命令并指出操作地址,再紧接 着可以是发送一个字节的数据,也可以是发送多个字节的数据。通过寄存器访问 的方式访问FIFO时,TXFIFO是只允许写的,而RXFIFO是只允许读的。下列 函数实现FIFO的读取操作。
void

SPI_Write_FIFO(uint¥?dma,uint8 lenth)


IOOCLR=CSN; uint8 temp;

temp=(0x3EIWRITE_REG); SPI_Write_BYTE(temp); for(i=O;i<lenth;i++) { SPI_Write_BYTE(data【i】); }
IOOSET=CSN;


void

SPIRead_FIFO(uint8?data,uint8 lenth)


IOOCLR=CSN;

uint8 temp;

temp=(0x3FlREAD REG); SPLWrite_BYTE(temp); for(i=O;i<lenth;i++) { data[i]==SPI_Write_BYTE(O); >
IOOSET=CSN;



表4-8 CC2420基本的寄存器配置

4.3.5 CC2420的配置

41

中南大学硕士论文

第四章系统软件设计

只有经过正确的配置,CC2420才能正确执行数据收发功能。CC2420共有 33个配置寄存器,为了简化操作便于开发,1rI公司提供了Smart
RF

Studio软件

用于实现对寄存器的智能设置。当然用户也可以根据需要自行设计。事实上,只 需要对一些基本的寄存器进行配置即可使CC2420正常工作。如表4.8所示。
4.3.6

CC2420初始化

作为无线通信的硬件基础,对CC2420的初始化其实也就是协议栈物理层的 初始化。 初始化操作首先要通过写命令滤波器中的复位命令复位一次CC2420,使芯 片的所有寄存器和工作状态复位为默认状态。再使能片内1.8V电压输出,使内 部模块上电准备工作。然后通过写命令滤波器中的SXOSCON命令使能晶体振 荡器,再通过SPI写寄存器命令配置16的配置寄存器。代码如下:
void PHYInit(void)


CC2420一STATUS d;
RxData.inUse=0:

PHYTasksPending.Val=O;
IOOCLR=RSTn;

IOOSET=Vre洲;
Delay(500);
IOOSET=RSTn;

Delay(500);
i=O;

while(1) { d.Vai=SPI_Write_Strobe(STROBE_SXOSCON);

if(d.bits.XOSCl6M_STABLE—1)

break;


i++:



SPI_Wfite_BYTE(REG_MDMCTRL0);
#if defined(LAM_COORDINATOR)

SPI_Write_BYTE(0xl A);

SPLWrite._BYTE(0xF2);
#else

SPI_Wdte_BYTE(0x0A); SPLWrite_BYTE(0xF2); 蜘ndif SPLWdte BYTE(REO_MDMCTRLl);

中南大学硕士论文

第四章系统软件设计

SPI_Wdte_BYTE(Ox05); SPI_Write_BYTE(Ox00); SPl_Write BYTE(REG SECCTRL0); SPI_Write_BYTE(0x0 1); SPI_Write_BYTE(0xC4); SPI_Write BYTE(REO_TXCTRL); SPI_Write_..BYTE(0xA0);

//MSB
//LSB

//MSB
//LSB

//MSB

SPI_Wdte_BYTE(PA_LEVEL);l|LSB SPI_Write_BYTE 0毪G_IOCFG0); SPI_Write._BYTE(0x00); SPl_Write_BYTE(0x7F);

SPI_WriteStrobe(STROBE_SFLUSHTX);
#if Mefined(LAM_END DEVICE)

SPI_Write Strobe(STROBE_SACKPEND);
#endif

SPI_Wdte_BYTE O≈EG RXFIFO l CMD_READ); SPLWrite_Strobe(STROBE_SFLUSHRX);

SPI_WdteStrobe(STROBE_SFLUSHRX);
Return 1;



上述配置为CC2420的基本配置,通过这些配置,它已经具备了无线收发的 基础。初始化时要求首先使能内部1.8V电压调节器后,并通过SPI Write
Strobe

(STROBE SXOSCON)命令打开内部晶体振荡器,待稳定之后即可进入发送和接 收状态。 图4-6为CC2420的状态机。通过SPI Write Strobe(STROBE SRFON)展P可 使芯片进入接收状态。在这种情况下,如果接收机完整的接收到了帧分界符,SFD 引脚电平将会置高。当最后一个字节的有效载荷被完整接收的时候,该引脚电平 将会被拉低。如果使能了地地址识别并且对接收到的数据帧识别错误,那么SFD 引脚电平将会离开变低,并自动清除RXFIFO。 CC2420接收到数据后会把帧头和帧分晃符去掉存入RXFIFO。存入的第一 个字节为MPDU的长度。在RXFIFO接收到这个长度数据之后,FIFO引脚电平 将会变高,直到RXFIFO被读空为止。很显然,如果使能了地址识别并且地址识 别错误时,FIFO引脚电平也会立刻变低。 配置CC2420的寄存器的时候,有一项为IOCFG0.FIFOETHR,该位的值代 表了FIFOP引脚的动作临界值。若RXFIFO中未的数据多于IOCFG0.FIFOETHR 的值的时候,FIFOP将会变高,直到RXFIFO中未的数据少于IOCFG0.FIFOETHR 的值。 通过SPI Write Strobe(STROBE 使芯片进入发送状态。在这种

43

情况下,如果发送机已经发送完帧分界符,sFD引脚电平将会置高。当最后一个 字节的MPDU被完整发送的时候,该引脚电平将会被拉低。
电压调节器关闭

re删设置苎蜗

所有工作状态下。)-—似:

、—————/

零命之先熹跫‘鬻I,1 :1]/1。,"I".- L.I
lI黼li
l完全上电l
SXOSCON命令滤波

preg_脚设置为高

。::==■—]—/ jr

掉电㈣模式/)可读写寄存器

I--’

竺哆;父竺趣瓣泓 r丽氛(,葛泌 垂峨一甓泓
{等待晶振完全起振l 一—————..—.................J
寻找判断SFD

陌葫菇阐

禁止访问FIFo/R柚 不“”“……一

发现sFDl

曳<二南传送起始帧和sFD

气湎两r
’-————,—————,一

项蕊蓠丽
——厂一
, ’

,,,。———————、—~

嗄送起始帧确诞 '、H、————————√—一



少 黼[猁D

1函蒲
图4-6 CC2420状态机

4.4网络功能的买现

具有蒿络建立,网络关联,网络维护,路由等功能,从而保证ZigBee设备之间
可以实现协同工作。
4 4

在硬件基础所提供的无线通信,信道扫描的功能之上,ZigBee协议栈孳竺



PAN网络的建立

PAN网络的建立是网络协调器的基本功能。任何一个FFD节点,在首次上 电后首先要扫描信道,并选择一个合适的信道与PAN标识符,然后建立网络, #允许其他设备加入。 扫描信道就是指检查指定信道的能量状况,判断是否已有其他PAN工作在

!堕奎兰堡主笙茎



第四章系统软件设计

此信道上。扫描的种类有:ED信道扫描,主动扫描,被动扫描和孤点信道扫描。 网络协调器所用的是ED信道扫描和主动扫描【561。
4-9信道扫描服务原语参数
名称
Scantype

类型

有效值范围

描述 Ox00:能量检测扫描 ox01:主动扫描

整型0x00-Ox03

Scanchannels Scanduration

位序列

32位域

低27位表示被扫描的信道

整型0-14

此值用来计算在能量检测扫描, 主动扫描和被动扫描上的时间。

Unscanedchannels位序列

32位域

表示信道是否扫描
1:未扫描 0:已扫描或未请求扫描

Resultlistsize energyDetectlist PANdesciptoyList

整型 整型列表

扫描执行结果
OxOO-OxFF

返回到相应结果列表中元素个数 能量扫描列表 发现的每个信标的PAN描述符列


PAN描述结构体类型 符列表

status

枚举型

SUCCESS, NOBEACON, INVALID PARAMETER

扫描请求的结果

当需要进行信道扫描时,上层向MAC层发送请求原语,原语内容为扫描的 类型,要扫描的信道和扫描进行的时间,如表4-9所示。扫描结束后,MAC层 管理实体向上层发送扫描确认原语,以返回扫描结果给网络层。两种原语格式如 下: 扫描请求原语: MLME—SCAN.request{
scanType

scanchannels scanDuration

) 扫描确认原语: MLME-SCAN.confirm{
Status


Scantype UnscanChannets
45

中南大学硕士论文

第四章系统软件设计

ResultListSize EnergyDetectlist PANDesccriptorlist

) 网络层把检测的结果按各信道能量值的大小进行排序,首先把那些能量值超 过了允许水平的信道丢弃,然后对剩余信道进行主动扫描,以检查所在的区域中 有没有其他的PAN是否存在,并获得所扫描的区域内已有的ZigBee网络的网络 标识符(FANID),网络层根据所得到的这些信息选择一个唯一的地址作为自身的 PANID。在选择PANID时,其最高两位不使用,所以PANID应该总小于或等于 0x3FFF。在确定了PANID之后,它将向MAC层发送请求原语,将选择好的PANID 写入到MAC层的macPANID属性中。然后网络层选择一个等于0x0000的16位 网络地址作为自己的短地址,并将这个短地址通过服务原语写入到MAC层中的 macShortAddress属性中。最后,网络层向MAC层发送服务请求原语启动一个 新的PAN。 4.4.2设备与网络的连接 一个ZigBee设备需要加入PAN才能和网络建立连接。请求加入PAN的节 点称为子设备,响应请求的设备称为父设备,父设备可以是协调器或路由器,但 必须是个FFD设备。子设备加入网络的方式有以请求连接的方式和直接连接的 方式。为了保证网络的可靠性,本设计中使用了以请求连接的方式来实现设备接 入PAN。如图4.7所示,子设备主动扫描信道,如果信道内有ZigBee的PAN存 在,父设备将会发送一个有效长度不为0的信标,此信标内容包括信标设备的地 址,是否允许连接,ZigBee版本号,栈结构,逻辑信道等,如果信标中的协议 标识符与ZigBee协议标识符匹配,子设备将把信标帧中的相关信息复制到其邻 居表中,设备的邻居表中包含有该设备通信范围内每一个相邻设备的信息。最终, 子设备将会在邻居表中选择到达协调器的深度最小的那个连接,如果存在多个深 度最小的合适的潜在父设备,则网络层可任意选取其中一个。之后子设备将向父 设备发送连接请求并等待响应。协调器接到设备的连接请求后根据情况在 aResponseWaitTime个符号时间内做出决定是否允许该设备加入网络,方法是在 其邻居表中查找是否有与该子设备相匹配的64位地址。如果发现了相匹配的64 位地址,则得到与这个64位地址相对应的16位网络短地址;并发送允许连接的 响应;如果没有在邻居表中没有发现相匹配的64位扩展地址,而协调器或路由 器仍有可供分配的16位短地址,则为请求连接的设备分配一个16位短地址,并 将该设备加入到其邻居表中,并发送允许连接响应;如果潜在的父设备已经用光 了其地址空间,将会发送不允许连接的响应信号。如果子设备没有得到回应,或

中南大学硕士论文

第四章系统软件设计

者父设备不允许该请求,则子设备将邻居表中该父设备的潜在父设备子域置为 O,之后设备将不会再试图与其发送连接请求。此时子设备将会在邻居表中选择 其他PAN并发送连接请求,直到连接成功;如果子设备尝试了与邻居表中所有

的潜在父设备发送连接请求均未成功,该设备将停止尝试加入任何PAN,因而
不能在网络中进行通信。

图4-7设备加入PAN流程图

图4-8设备断开PAN流程图

协调器允许请求连接的设备加入PAN时,会为该设备分配地址。ZigBee使 用的是分布式的地址分配方式。地址的分配是根据连接请求命令性能信息域的地 址分配子域决定的。如果该子域值为l,则协调器将根据所支持的寻址模式为其 分配16位地址;如果该子域值为O,则协调器将把地址0xFFFE分配给它。0xFFFE 是一个特殊地址,这表示设备已经与加入该PAN,但并没有16位短地址,节点 仍用其自身的64位地址通信15‘71。 在网状网络中,存在一个网络协调器和若干个路由器以及一些终端设备,网 络中每个设备都可以有一个由其父设备分配的该PAN内唯一的16位短地址。如 果父设备能够拥有的子设备的数量最大值为c。,网络的最大深度为三。,子设备 中允许的路由器的最大个数为尺。,若网络深度为d,则函数Csl.'p(d)是父设备所 拥有的地址数15引。其公式如下:

11+C。?(£用一d一1)


(若尺。--'i1)

似枞力2{坚王譬鲁型兰(其他)



(4-1)

1一R。

地址分配的方法按下列方法: 如果一个父设备



Cskip(d)值大于0,则该设备就可以允许其他设备与其建

47

中南大学硕士论文

第四章系统软件设计

立连接,并为请求连接的设备分配一个唯一的地址,如果请求连接的设备是路由 器,则可以为它分配一组地址,此时第一个路由器的地址比自身地址大1,其余

地址的分布以D坳(d)为间隔增加。网络中终端设备的地址跟在最后一台路由器
的后面安排,如下式所示:

An=彳删+Cskip(d)?Rm+刀(4-2)
式中,A。是第11个设备的地址;彳一是其父设备的地址;R卅是路由器数
量;1≤力≤(C_一如)。 值得指出的是:ZigBee协议的V1.O一3.8版本并不支持地址的动态分配,所 以可能会出现网络地址还有剩余,但是一些父设备连接数已满而无法与其他子设 备建立连接的情况。这需要在进一步的工作中完善。 4.4.3设备与网络的断开 已与PAN连接的设备可以随时断开与该PAN的连接。设备上层向MAC层 管理实体发送断开连接请求原语,MAC层管理实体接收到该原语后,向物理层 发送服务请求原语请求发送断开命令,协调器收到断开请求之后将首先检查其自 身的邻居表,如果存在,则将此设备的信息从邻居表中删除,并发送确认原语允 许断开连接,如果邻居表中查找不到该子设备,则终止当前操作并返回。如图 4.8所示。 4.4.4路由的选择和维护 ZigBee网络的一个重要特点就是数据的多跳传输。路由器的存在保证了此 功能的实现。 ZigBee网络的路由功能包括路由选择,写路由表,维护路由表和路由修复。 路由的规则有很多种,ZigBee网络采用的是Cluster-Tree与按需距离矢量路 Eh(AODV,Ad.hoc
On demand Distance Vector Routing)相结合的算法。

在Cluster-Tree算法中,节点根据分组目的节点的网络地址计算分组的下一 跳。下一跳可能是上行路由或者下行路由。对于一个深度为d,地址是D的目标 设备,如果满足:
A<D<A+Cskip(d—1) (4—3)

则说明该目标设备为本设备的后代节点。如果确定分组的目的节点是接收节 点的一个后代,节点就将分组发送给它的一个子节点,此时如果满足:

D>A+如×Cskip(d)
上述条件,则地址Ⅳ为:

(4-4)

则说明目标节点是其终端子设备,则下一跳地位Ⅳ为:Ⅳ=D。如果不满足

Ⅳ=彳+1+LDQ-坳(A(+d汁D]Q坳(力(4-5)

中南大学硕士论文

第四章系统软件设计

如果目的节点不是接收节点的~个后代,则将分组发送给它的父节点【591。 AODV是一种按需路由协议,它根据业务需求建立和维护路由,是DSDV 协议和DSR协议的结合。事实上,为了在实现路由选取和维护的同时又能降低 系统开销实现低功耗,ZigBee采用的是简化版本的AODV协议,即AODVjr。 Cluster-Tree算法主要适用于节点之间的分组转发,而AODvjr主要用于实 现路由的选取和路由的维护。路由选择是通过路由成本的度量方法来比较路由的 优劣的。路由成本为组成路由的多跳链路成本之和。链路成本的获取方法是基于 IEEE802.15.4的MAC层和PHY层所提供的每一帧的LQI进行平均得到的[60i。

4.5数据采集应用程序的设计
为了便于实验和调试,在所设计的节点上预装了模拟式的温度传感器 LM35。从节点加入网络以后,定时开启并通过LM35采集温度数据并送入微处

理器转换和处理。LPC2114自带的A/I)口具有10位精度,当加数据寄存器
ADDR的DONE位置l的时候,表示一次A/D转换结束,此时该数据寄存器的 15:6位包含的一个二进制数代表了选中的模拟电压输入端的电压值,这个二进 制数是根据VDDA脚上的电压对输入端的电压进行划分的。LM35输出的代表实 际温度值的电压的大小可由公式4.1求得。

%:‰一value?(巧_一‰Z。
一次转换的程序如下:
ADCR=ADCRl(1<<24);

(4.6)

while((ADDR&0x80000000同);
ADC Data=ADDR; ADC Data=(ADC
ADC

//等待一次转换的结束



;FF3x0)6>>ataD.位效无蔽屏并位移/, IIA/D转换并将值扩大l 0倍 //得到扩大10的温度值

Data=(ADC Data?33000)/1 024;

ADC—Data=ADC—Data/10;

为了提高数据采集的精确程度,保证监测和报警的准确性,设计中使用了中 值滤波法对数据进行处理。具体就是每次都完成lO次数据采集,并将这10个数 据进行加权平均作为最终的值输出。

4.6本章小结
本章分析了Microchip ZigBee协议栈的总体架构,指出实现无线传感器网络 驱动程序的最为快捷的方法是移植该协议栈。但考虑到本节点平台与原协议栈在 底层的不兼容性,本章重点研究了对协议栈PHY层和MAC层的修改,设计了 CC2420的操作方法和与处理器相关的软件配置。分析了网络层中ZigBee
PAN

的建立,维护和相应的路由算法。设计了应用于温度监测时的温度测量驱动程序。
49

中南大学硕士论文

第五章系统测试及应用

第五章系统测试及应用

在系统的硬件设计过程中,需要对平台进行调试,以验证硬件平台设计是否 正确;在软件设计过程中,需要对各模块进行单独调试。最终把所设计的通信程 序移植到硬件节点上进行具体功能的测试,以验证系统是否设计合理并满足设计 的要求。图5.1所示为所用的测试平台。

图5-1测试使用的节点实物图

5.1节点通信距离的测试
节点的通信距离跟射频电路的设计,天线类型的选取等硬件设计方面有关, 也跟软件设计过程中CC2420的寄存器配置有关。对TXCTRL.PA LEVEL寄存 器配置可以改变芯片的发射功率从而获得不同的传输距离。表5.1所示为CC2420 的发射功率配置表。本澳8试中,将该寄存器的值设为0xAOFF,这意味着发送功 率为0dBm,电流为17.5mA。此为CC2420所能提供的最大的发射功率。 在配置CC2420的状态寄存器时,如果设置了MODEMCTRL0.AUTOCRC 位为l,则打开了硬件CRC校验功能,那么接收到每包数据帧时,硬件将会在 帧尾自动加上一个字节的RSSI值和一个字节的CRC校验情况(由该字节的最高 位指示)。RSSI(Receive
Signal Strength

Indicator接收信号强度指示)为一个8位

信号(128us)强度数字指示值。对于CC2420而言,芯片在接收到SFD之后对接

中南大学硕士论文

第五章系统测试及应用

收到8位数字信号的基带信号进行功率积分最终求平均得到。RSSI的值与外界 干扰和通信距离有关,距离测试可以参考RSSI的值对通信质量进行评估和分析。 距离测试的具体方法就是固定节点每隔10s广播一次信息,接收端接收信号并串 口输出RSSI值以便进行分析。此外,通过读取RSSI寄存器的低8位的值
RSSI

VAL也可以得到RSSI的值。RSSI值是一个有符号的8位数。接收信号强

度与该值的关系如下:
P=RSSI_VAL+RSSI

OFFSET(dBm)

(5-1)

其中RSSI OFFSET是系统开发时前端增益的经验数值,参考值为.45dBm。 图5.2为CC2420的datasheet上所给出的接收信号强度与RSSI的值的关系。距 离的测试分为无障碍直视环境下的测试和有障碍的室内环境测试两种情况。
表5-1
PA—LEVEL 31 27

CC24 20的发射功率配置

设定值

输出功率(dBm)
0 -1

电流消耗(mA)
17.5 16.5 15.2 13.9

姒佣 姒渊

FF HB F7 F3

23 19

嗽舾 姒∞

.3
-5

lJ

U^^UI二r

。,

l二.J

11 7

OXAOEB 0xAOE7

-10 .15 -25

11.2

9.9 8.5
4,、。二≈’



0xAOE3

移。9。“j
¥ §

,;o

‘一一)7、镕W6,”,~m
Cn

J哦


季 董


》 i


:’


t,

J一
一l 国

厂一一


一一

—,

,’群’
●一V


、,

星一1 轮


j —,∞

.: 8
,,n ‘-u







“■◆

—厂
?≯#ot”m…?一以。 ‰jt£磷i
mj,o


■n

—,。

?÷j:钆:’。q’o劬如一,

”÷,H%瞒f,e£斡毪

RF洲ldBml
图5-2 RSSI值与输入功率关系曲线

无障碍直视情况下,选取四个测试距离,测试结果如表5.2所示

5l

中南大学硕士论文

第五章系统测试及应用

表5-2无障碍环境通信距离的测试

表5-3有障碍环境通信距离的测试

有障碍环境选为实验室和楼道之间,无线信号需要绕过一道墙。选取五个测 试距离,测试结果如表5.3所示。 CC2420的接收灵敏度为.99dBm,这意味着高于此强度数值的信号均可被芯 片所识别并接收。但事实上当信号强度低于一定程度时,接收机接收到的数据往 往会在一定概率的条件下出现误码的情况,并因芯片自带的硬件CRC功能,而 丢弃该数据包,这就属于不可靠的通信。通信距离的测试应该是测试得到可靠通 信距离而不是最远通信距离。经过测试和对实验数据的统计分析,所设计的节点 在无障碍直视情况下,可靠通信距离在70m之内;有障碍环境下可靠通信距离 在40m之内。这完全满足了无线传感器网络节点通信距离的设计要求。

5.2低功耗的测试
节点的低功耗与硬件的选型和软件程序的设计有关,通过选取低功耗的元器 件可以降低一部分功耗;软件方面,通过进行低功耗的优化设置,可以大大降低 整个节点的功耗。本设计中各普通节点在正常情况下,平均30s T作一次,进行 数据的采集和信息的收发,之后就进入休眠阶段以降低功耗。 LPC2114提供两种省电模式:空闲模式和掉电模式。空闲模式下,指令的执 行被挂起直到发生复位或中断为止。外设功能在空闲模式下继续保持并可产生中 断使处理器恢复运行。空闲模式下处理器,存储器系统和相关控制器以及内部总 线不再消耗功率。掉电模式下,振荡器关闭,这样芯片没有任何内部时钟,内部

52

中南大学硕士论文

第五章系统测试及应用

所有的动态操作都被挂起,芯片的功耗降为很低。此时通过不需要时钟的中断, 比如外部电平中断。但此时,无线模式一直处于工作状态,会消耗比较大的电流, 故本设计中选用空闲模式的设置,在完成一次工作后,如果不需要再执行其他任 务,即转入空闲模式,此时应关闭无线功能模块。功耗的两种测试如表5-4所示。
表5-4节点在两种状态下的功耗
工作状态
53mA

休眠状态
0.8mA

实际使用中,常使用两节1.5V的干电池供电。此种电池每节的容量为 300.2800mAh。如果每节为2000mAh,那么节点在此种供电模式下:
2000÷53=37.7h,2000÷O.8=2500h

(5-2)

即节点在正常工作状态下可以工作37.7小时,在休眠状态下可以工作2500 个小时,考虑到节点大部分时间工作在低功耗的休眠状态,所以节点基本满足了 低功耗的设计要求。

5.3网络功能的测试和系统应用
在设计了本节点系统并移植开发了ZigBee协议栈之后,本设计选取环境温 度监控为研究对象,利用本节点上所预装的LM35温度传感器采集数据,协调器 调器。 线温度

络,如

中南大学硕士论文

第五章系统测试及应用

果未加入任何一个PAN,则会选择加入一个周围存在的网络,之后开始数据的

传输;若已经加入一个PAN中,则直接开始定时的数据传输。
本上位机软件基于Delphi所编写。Delphi是Borland公司开发的可视化软件 开发环境。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思 想,采用了可重复利用的,完整的,面向对象的程序语言,为用户提供了方便, 快捷的Windows应用程序开发工具。其编译器是当今最快的编译器,拥有领先 的数据库技术【6¨。 本上位机软件基于Delphi开发,利用第三方控件Mscomm实现串口编程,
MSComm(Microsoft Communication Contr01)是Microsoft公司提供的Windows下

串行通信编程的AcitiveX控件【621。需要安装并在Delphi中调用才能正常使用。

此外通过调用Delphi所提供的ADO控件实现数据库的操作和管理。ADO是微
软公司提供的数据库应用程序设计接口,其主要功能是实现与OLE DB兼容的数

据源。Delphi封装了ADO数据对象的功能,并以组件的形式为用户提供操作接
口1631。最基本的ADOConnection组件用于与数据库建立连接,它位于应用程序 和数据库之间,用ConnectionString属性驱动;ADOQuery和ADOTable是Delphi 为了提供数据库连接接口一致化所提出的数据集组件;整个系统的面板如图54
所示。

图5-4无线温度监测系统界面

在实际的开发中,设置MSComm的InputMode属性为0,表示以文本的形
54

中南大学硕士论文

第五章系统测试及应用

式从串口取回数据。由于数据的发送一般采用数据包的格式,而每包数据的长度 和意义是不相同的,所以不可能设置定长数据包的接收方法。为了解决这个问题, 在上位机软件的开发中,设置了相应的接收数据包通信协议,以协调和同步上位 机和下位机之间的通信。下位机只有按照这种规定的数据包的格式进行通信才能 被本软件所识别并操作。其具体的数据包通信规范见表5.5所示。 上位机软件在初始化所有操作之后,等待串口的驱动。串口每接收到一个字 节的数据就将其接收并存入缓存数组中并判断该字符是否为数据包结束标志位 #10,如果不是则继续,如果是则立刻输出该缓存数组。在执行输出时会判断该 数据包的头字节,头字节的值代表了该数据包的类型。 上位机接收到温度的传感数据时,会将其插入到一个已创建好的Access数 据库中。该数据库的表WSN中共有6个字段,第一个字段是记录的编号数,其 由Access自动编号生成并作为整个数据表的主键。其余字段都为文本类型,包 括每条记录的网络号,节点号,温度值,时间和日期。如图5.5所示。
表5-5监控软件串口通信数据包协议格式

编号 -.

网络号

节点号
1001 i00l 100I 100l 100l


温度
22.9 22.6 22.5 22.4 22.3 22.2

时间
14:56:34 14:58,:38 14:56:42 14:56:46 14:58:50 14:56:54

日期
2010—5一l l 2010—5—1 i 2010-5-l l 2010"-5-1 l 2010—5一l l 2010-5-1 I





0101

2 0101 3 010I 4 0101 5 0101 6 0101

1001

图5-5数据库表WSN的字段组成

网络测试的第一部分是网络建立的实验。取所设计的节点,下载协调器程序.
55

中南大学硕士论文

第五章系统测试及应用

上电后,节点建立PAN网络,相应输出信息如图5 .6所示。 网络建立成功以后,即刻响应其他节点的请求, 同意或者拒绝其他节点加入

图5-6 PAN建立过程

图5-7节点加入PAN的过程

中南大学硕士论文

第五章系统测试及应用

图5-8节点加入PAN的过程

节点在加入网络之后即可以向协调器发送数据。图5—8所示为PAN0101中 的节点Node 1001发送温度信息的情况。上位机接收到温度信息之后,会将数据 在接收信息显示区域进行显示,并对所接收到的数据进行统计绘成折线图,同时 将每条记录存入aCCeSS数据库并用DBGrid控件显示。

5.4系统总体性能总结
通过相应的基础测试,验证了节点硬件和相应驱动程序的基本功能;通过将 所设计的硬件平台和软件协议综合应用到无线温度监控系统,并以所设计的上位 机软件协调管理整个系统,从而验证了本无线传感器网络软硬件平台的网络功能

小到4.4cm2以

软件

中南大学硕士论文

第五章系统测试及应用

上采取高效简洁的协议。通过对节点功耗的测试,可以发现:相比于采用MSP430 单片机为处理器的典型节点平台,本论文所设计的节点功耗稍高一些。这是由于 MSP430单片机本身就是为低功耗的设备而设计,低功耗是该单片机最为突出的 优点,但是ARM7芯片却在工作频率和处理速度上比其有优势;相比于采用PIC 系列单片机和AVR系列单片机的典型节点平台,节点功耗基本相当,但是这两 种处理器却在工作性能上与ARM7芯片有着差距。相比于同样基于32位处理器 架构的功耗为102mA的IMOTE2节点,本论文所设计的节点功耗要比其低。总 而言之,通过测试和对节点工作时间的估计,本论文所设计的节点完全满足了低 功耗的设计要求。 3)低成本。节点处理器采用LPC2114,其内部集成128KB的Flash存储器 和16KB的静态RAM,这完全满足了ZigBee协议栈对存储器大小的要求,从而 无需扩展任何存储器;其内部丰富的外设功能可以使得无需搭建复杂的外围电路 即可得到所需的功能,而LPC21 14的价格基本与MSP430,AVRl28高端单片机 等相当。这样就大大降低了节点的硬件成本。软件方面,由于是移植完全免费的
Microchip ZigBee协议栈,所以无需支付任何的费用。总之,本节点的软硬件设

计达到了低成本的目的。 4)可扩展性。本节点的硬件在设计时预留了相应的扩展接口,接口包括三 组电源,地线,12C总线,中断,A/D转换接口等。这些接口还能作为普通FO 使用,通过这些接口可以灵活的扩展各种传感器以满足不同应用背景下的传感器 的连接。此外,由于本节点系统的软件设计提供了包括底层硬件驱动到网络协议 的完整的操作方法和应用程序接口,这样就相当于提供了一个宽的软件平台,用 户只需针对具体的应用要求并利用所设计协议栈提供的各种API编写上层应用 程序代码即可快速的实现所需功能,开发快捷简单。总之,本节点系统的软硬件 系统具有很强的可扩展性,对软硬件稍做修改即可快速应用于无线传感器网络的 多种具体应用中。

5.5本章小结
本章对所设计的节点的软硬件系统进行了功能的测试验证和分析。包括对节 点通信距离和低功耗的测试。同时,以无线温度监控系统为研究对象,编写了相 应的驱动程序和上位机软件对系统的实际应用进行了验证,同时也测试了系统的 网络特性。通过这些验证和比较,证明了本节点系统在低功耗,低成本,微型化, 可扩展性方面都具有较好的性能,从而达到了设计的要求。

中南大学硕士论文

第六章结论与展望

第六章结论与展望

短距离无线通信技术和无线传感器网络技术作为当今电子信息领域内的新 兴的研究和应用热点,已吸引了越来越多的研究机构和个人的关注,近年来,随 着物联网概念的提出,更是使无线传感器网络的概念深入人心。 作为无线传感器网络的典型解决方案,ZigBee技术从底层硬件平台到应用 规范都为无线传感器网络的实现提供了标准和依据。本论文以此为参考和背景, 设计开发了一整套的无线传感器网络软硬件平台和相应的上位机程序。通过在此 硬件平台上安装相应的传感器和在软件协议上层应用中添加功能代码即可快速 应用于无线传感器网络的多种具体应用中。

6.1结论
本论文研究了无线传感器网络的原理,标准,特征,体系结构;收集阅读了 相应的IEEE802.15.4标准的规范;研究了ZigBee网络的原理,标准和操作规范; 分析了Microchip
ZigBee

V1.0.3.8版本的协议栈,研究了该协议栈的架构,各层

结构和数据规范:完成了系统的软硬件设计,并编写了相应的上位机软件对系统 性能进行了测试。得出结论如下: (1)根据无线传感器网络节点的特性设计了基于LPC2114和CC2420的硬件 节点平台。并对节点硬件进行了基本的通信距离测试和功耗的测试与比较。该节 点解决了普通8位单片机架构的无线传感器网络节点在数据处理,任务调度方面 存在不足的问题,其处理器丰富的外设功能和自身优越的性能可保证节点平台能 满足复杂环境和复杂监测任务对节点性能的高要求,同时也满足了低功耗,低成 本,高稳定性,微型化设计的要求,并具有很强的可扩展性。 (2)针对所设计的硬件平台的特征对Microchip ZigBee协议栈进行了修改和 移植,设计了能应用于所设计的节点上的软件协议栈。实现了基本的网络传感功 能。该软件协议栈基于ZigBee规范标准,详细定义了各层标准和操作方法最终 为应用层提供接口函数。该协议栈具有很好的可移植性和可扩展性,针对不同的 应用只需在上层添加相应的驱动程序即可。 (3)构建应用对象,编写上位机软件对系统性能进行了测试。选取环境温度 监测为应用对象,利用所设计的节点软硬件系统实现了无线环境温度监测系统, 并采用Delphi编写了无线环境温度监测系统的上位机应用软件,用于实现对网 络状态的实时监测和最终数据的处理与存储。该应用也完成了对网络功能的测 试,也再次表明所设计的节点软硬件系统有着很好的扩展性,针对不同的应用, 硬件方面只需通过预留的扩展接口外接相应的传感器,软件方面通过使用移植好

中南大学硕士论文

第六章结论与展望

的协议栈提供的API在应用层添加相应的任务即可快速应用于无线传感器网络 的多种具体应用中。 本系统的软硬件设计达N T低成本,低功耗,微型化,可扩展性,高稳定性 的目的。应用此节点平台可以满足复杂环境多监测任务的需求,能快速完成不同 任务无线传感器网络系统的开发,为工程应用提供基础平台。

6.2展望
在本课题的具体设计中,由于时间有限,存在一些不足之处需要在进一步的 工作之中完善和补充。 (1)下一代节点中,可以在硬件节点上扩展以太网控制器,为节点提供 Intemet接入功能,从而真正实现节点的远程操作和数据的远程监控。 (2)在无线通信系统中,为了保证数据传输的正确性,常采用一些数据校验 机制,比如CC2420中使用了硬件CRC的方法实现数据的校验。在接收数据时, 一包数据中即便出现一位的错误,校验发现后将会丢弃整个数据包而使通信失 败。事实上ZigBee设备不能在更远的距离内通信不是因为接收不到信号,而是 因为接收到的数据包有误码而使得通信不可靠。如果能关闭硬件CRC功能并在 软件CRC校验之前引入纠错编码的机制(例如FEC编码),实现对数据包的自纠 错,则理论上能使节点在现有硬件水平和现有功耗标准情况下使通信距离增加一 倍。希望能在下一步的工作中实现这种功能。 (3)由于时间有限,对于ZigBee协议栈的理解仍存在很多不足,在移植代 码时出于设计的方便快速考虑,未充分考虑协议栈各层之间的独立性和依赖性, 这就降低了新的协议栈的可移植性。同时删减了原协议栈的一些功能。另外,在 网络结构上只实现了星形网一种结构,希望能在下一步的开发中实现Mesh网络 的构建。 (4)所设计的上位机软件兼容性差,其只能适用于本设计的数据采集和处 理,只能对本设计规定的传输数据包进行解析,并且功能相对简单,故有待改善
和加强。

中南大学硕士论文

参考文献

参考文献
[1]
David E C,Wei Hong.Wireless
sensor

networks[J].Communications

of ACM,

2004,47(06):30-33.

[2]

Akyildiz.I.F,Weilian Survey
on

Su.

Sankarasubraman i am.Y,

and

Cayirci.E.A

Sensor

Networks[J].Communications

Magazine,

2002,40(8):

102—114.

[3]

Estrin D,Govindan R,Heidemann J.Next century chal lenges:scalable Coordination Annual
in
sensor

network[A].In:Proceedings
on

of

the Fifth Networks

Internation

Conference

Mobile

Computing and

(MobiCOM’99)[C].Washtington,USA.1999:263-270. [4] 马祖长,恰宁,梅涛.无线传感器网络综述[J].通信学报,2004,25(4):
l 14-124.

[5] 史宁.基于ZigBee技术的无线传感器网络平台的研究与实现[D].长春:吉 林大学,2006. [6]C.Perkins,E.Royer.Ad—Hoc
Proc.2叫IEEE Workshop
on on

Demand Distance

Vector Routing

in

Mobile Computing Systems and Applications,

1999:195-210.

[73

Estrin D,Culler D,Pister K,G Sukhatme.Connecting the Physical World
with Pervasive

Networks[J].IEEE

Pervasive Computing

Archive,2002,

1(1):59-69.

[8]Elson J,Estrin

D.Wireless Sensor Networks:A Brige

to Physical

World.

Wireless Sensor Networks,2004:3—20.

[9]秦书波,无线传感器网络分簇路由及基于ARM节点设计的研究[D].上海:同 济大学,2007. [10]田亚,基于ZigBee无线传感器网络系统设计与实现[D].上海:同济大 学,2007. [11]孙利民,李建中,陈渝,朱红松.无线传感器网络[M].北京:清华大学出版 社,2005:135-156. [12]孙雨耕,张静,孙永进.无线自组传感器网络[J].传感技术学报,2004,(2):
331—348.

[13]杨柳,基于ZigBee的无线传感器环境监测网络设计[D].上海:上海交通大 学,2008.
[14]IEEE 802.15.4,Part 15.4:Wireless Mdeium Access Control(MAC)and
Physical Layer(PHY)Specifications for Low_Rate Wireless Personal
61

中南大学硕士论文

参考文献

Area

Network(LR-WPANs),October

2003. Wireless Sensor Networks-an

[15]Gislason,Drew,Gillman
emerging wirelss
sensor

Tim.ZigBee

protocol

designed for low—cost,high—reliavility Tools for the Professional Programmer,

networks[J].Software

2004,29:40-42.

[16]Fukui

K,Fukunaga S,Tanimoto K.ZigBee technology for low-cost and
radio communication

low—power

systems[J].Journal

Insitiute

of

Electronics Information and Communication 40—45.

Engineers,2005,88(01):

[17]刘辉,ZigBee无线传感器网络的设计与应用[D].苏州:苏州大学,2007. [18]Nagpal
R,Shrobe H,Bachrach J.Organizing
on an a

Global Coordinate System
information

from Local Information

Ad-hoc Sensor Networks:

Network[C].In
Second

Proceeding

in

Sensor

Internat ional

Workshop,IPSN2003(Palo

Al to,Apri 1

2003),no.2634

in Lecture Notes in

Computer Science,Springer—Verlag:333—348.

[19]李新兵,无线传感器网络节点自定位技术研究[D].长沙:中南大学,2007. [20]Warneke
B,Last M,Liebowitz B,et a1.Smart Dust:Communication with


Cubic-millimeter

Computer[J].IEEE

Computer,

2001,34(1):44-51.

[21]张芸薇,基于ZigBee无线传感器网数据采集的设计与实现[D].大连:大连 理工大学,2007. [22]David
Gay,Phil Levis,Rob
to

Von

Behren,et Embedded

a1.The NesC Language:A

Hol istic SIGPLAN

Approach

Network

Systems[A].In:Proc.ACM

PLDI[C],Berlin,2003:1-11.
Layer

[23、Network

Overview.http:f

f删.zigbee。org/.

[24]王东,张金荣,魏延等.利用ZigBee技术构建无线传感器网络[J].重庆大学 报(自然科学版),2006,29(08):95—98. [25飞ZigBee
alliance finalizes

specification.http:{f谰.zigbee.org.
of ZigBee based of fruit

[26]L.Ruiz—Garcia,P.Barreiro,J.I.Robla.Performance
wireless
sensor

nodes

for

real—。time

moni toring

logistics[J].Journal [27]Paolo

of Food Engineering,2008,87:405—415.
sensor

Baronti,Prashant Pillai,Vince W.C.Chook,et a1.Wireless
survey on the state of

networks:A

the

art and

the 802.1 5.4 and Zi gBee

standards[J].Computer Communications,2007(30):1655—1695. [28]金纯,罗祖秋,罗风,陈前斌.ZigBee技术基础及案例分析[M].北京:国防工

业出版社,2008:13—30.
[29]IEEE standards 802.15.4.http://standards.ieee.org/getieee802/802.
15.html.

[30]Kurtis Kredo
sensor

II,Prasant Mohapatra.Medium

access

control in wireless

networks[J].Computer

Networks,2007,51:961—994.

[31]蒋挺,赵成林.紫蜂技术及其应用[M].北京:北京邮电大学出版社,2006:
100—111.

[32]Jennifer
network

Yivk,Biswanath Mukherjee,Dipak Ghsal.Wireless

sensor

survey[J].Computer

Networks,2008,52:2292—2330.

[33]吕治安.ZigBee网络原理与应用开发[M].北京:北京航空航天大学出版 社,2008:104—150. [34]ZigBee [35]Feng
study

2006 specification.http://www.zigbee.org.

Chen,Nan Wang,Reinhard German,Falko Dressler.Simulation of IEEE 802.15.4

LR-WPAN

for

industrial

applications[J].

Wireless Communication and Mobi le

Computing,2009,10(5):609—621.
context—aware

[36]Chin-Feng

Lai,Yueh-Min
remote

Huang,}Jan—Chieh Chao.A

multi—model

controller for electronic home

devices[J].The

Journal

of

supercomput i ng,2009(07):卜1 8.

[37]董云鹏.无线传感器网络节点的设计与实现[D].北京:北京交通大 学,2008. [38]周立功.ARM微控制器基础与实战[M].北京:北京航空航天大学出版社,2005:
203-222.

[39]任哲.ARM体系结构及其嵌入式处理器[M].北京:北京航空航天大学出版 社,2008:17—20. [40]LPC21 14/LPC2124.datasheet.http://www.1pcmcu.com/. [41]MAX708R/S/T
comparator

3V

microprocessor supervisor

circuit with

power

fail

and manual 800mA

reset.datasheet.http:f}、阑.maxim.com/.
Low—Dropout

[42]LMlll7/LMlll71

Linear

Regulator.datasheet.

October 2002.http://datasheet.eeworld.com.cn/.

[43]SP3222E/3232E
Rev.1

True+3.OV to+5.5V RS一232 Transceivers.Datasheet.

I/07/02.http://www.sipex.com/.
IEEE 802.15.4/ZigBee—ready RF Transceiver.datasheet.2008.
‘ .

[44]2.4GHz

http://www.ti.com/.

[45]陈莉.基于ZigBee协议的环境监测无线传感器网络测量节点的设计[D].上

中南大学硕士论文

参考文献

海:上海交通大学.2008. [46]Antenna
guide,Appl ication
Note

AN058.Texas

Instruments.2006.

http://www.ti.coin/. [47]Adapting
TI LPRF Reference Designs for Layer Stacking,Appl ication

Note AN068.Texas

Instruments.2009.http://www.ti.com/.
texas

[48]Anaren
Texas

0404 balun optimized for

instruments CC2420 Transceiver.

Instruments.2007.http://www.ti.com/.
Barenco Abbas,Ricardo Gonzalez,Nelson


[49]Claudia

Cardenas,L.J.Garcia

Villalba,A proposal of

wireless

sensor

network routing

protocol[J].

Telecommunication Systems,Volume 38,PP:61—68.

[50]LM35/LM35A/LM35C/LM35CA/LM35D

Precision Centigrade Temper—rapture

Sensors.datasheet.National Semiconductor Sep.1997.http://www.nat—

ional.com/analog.

[51]黄一杰.基于ARM的ZigBee无线传感器网络的研究与设计[D].上海:上海 交通大学.2008. [52]李文仲,段朝玉.PIC单片机与ZigBee无线网络实战[M].北京:北京航空航天 大学出版社,2007:227-239. [53]Mi crochip ZigBee协议栈.AN965.http://www.microchip.com/. [54](美)马兹迪,(美)麦金莱,(美)考西.PIC技术宝典[M].北京:人民邮电大 学出版社,2008:36-48. [55]李兵.基于ZigBee的无线嵌入式设备的设计与实现[D].北京:北京邮电大 学.2007. [56]查爽.基于ZigBee技术的无线传感器网络网关研究与实现[D].大连:大连 理工大学.2007. [57]陈劫.基于Ad-hoc的无线传感器网络关键技术的研究[D].上海:上海交通大 学.2008. [58]Ling—Jyh
Chen,Tony Sun,Nia-Chiang Liang.An
Evaluation

Study

of

Mobility Support in ZigBee

Networks[J].Journal

of Signal Processing

Systems.2008,59(1):1l卜122.

[593 Zheng,J.,Lee,M.J..A 15.4[C].In:Sensor
2006.PP:218—237.

Commprehensive Prefornmnce Study of IEEE 802.

Network Operations,ch.4.IEEE Press:IEEE Press,

[60]刘瑞霞,李春杰,郭强等.基于ZigBee网状网络的分簇路由协议[J].计算机 工程.2009,35(3):161—163.

中南大学硕士论文

参考文献

[61]杨长春.Delphi程序设计教程[M].北京:清华大学出版社,2008:卜15. [62]张仿彦,赛奎春.Delphi接口技术开发实例解析[M].北京:机械工业出版 社,2007:21—31.


[63]徐谡.Delphi应用与开发案例教程[M].北京:清华大学出版社,2005:
229-249.

附录
(节点硬件电路原理图)



中南大学硕士论文

致谢

致谢

时光荏苒,转瞬三年。恍然间三年研究生生活,七年的湘水之畔,岳麓之旁 的学生生涯即将结束,在这过去的几年中,我认识了很多的老师,朋友,他们在 我的学习和生活中给予了很多的帮助。值此论文付梓之际,特向他们致以我诚挚 的感谢。 首先,衷心感谢我的导师李长庚副教授。在过去的三年中,李老师在科研和 学习中给予了我全力的支持和无私的指导。从课题选题,方案论证到项目实施中 的理论分析,技术开发,总体调试以及最后的理论概括,经验总结和论文成型, 李老师都给了我悉心的指导和帮助。他扎实的专业知识,宽广的知识面,严谨的 治学态度和孜孜不倦的工作精神都深深的影响了我,并将受益终身。此外,李老 师在生活中也给予了我很多的帮助。在此,向精心培养和关心我的李老师致以崇 高的敬意和深深的感谢。 感谢我的师兄李新兵和谭鹏飞,他们给了我很多的指导和帮助使我很快的融 入了课题组中。是他们带我进入到了WSN的领域,并在专业的理论学习和方法论 上给了我很多建设性的意见,并在生活中给予我很多关心。衷心的感谢他们,祝 他们前程似锦。也感谢我们课题组的所有成员,这些年里我们共同学习共同提高, 团结合作。感谢大家。 最后,衷心地感谢我的父母。感谢你们的养育之恩,感谢你们给予我的无怨 无悔的付出和奉献,你们的爱是我继续前进和奋斗的无穷无尽的动力!感谢我的 姐姐和姐夫,你们在任何时候都是最支持和信任的人。你们的关怀会一直鼓舞我 前进1

67

三量堕兰望型兰鱼生————————~. ——————————————————一
所参与的科研项目:

一一

叹陕删工子但朋1日J王赞阴针冗厩果

翌鎏堡圭堂垡塑塑圭墨塑堡壅堕墨

攻读硕士学位期间主要的研究成果

(1]湖南省自然科学基金资助项目:WSN移动节点定位及低能耗路由协议研究
(JJ5044),项目参与者. 发表论文情况:

工程.已收录.

nj李长庚,刘威鹏?基于ARM和ZigBee技术的wsN节点研究与设计[J].计算机

5兰j.譬铮,危韧勇,刘威鹏.电力谐波实验台研究与设计[J].变频器世界.2010, ……一’一”一“一引。 35(4):41-44.


相关文章:
基于arm的无线传感器网络节点的设计_图文..doc
基于arm无线传感器网络节点的设计_图文. - 基于ARM无线传感器网络节点的设计 仲峰 刘从新 何科 朱荣臻 (三峡大学电气信息学院,湖北宜昌。443000)’ 摘要:本文...
Zigbee无线传感器网络的研究与实现_图文..doc
Zigbee无线传感器网络的研究与实现_图文. - 浙江人学硕上学位论立 图 2
基于ZigBee的无线传感器网络节点的设计与通信实现_图文.pdf
基于ZigBee无线传感器网络节点的设计通信实现 - 基于zi班ee的无线传感器网络节点的设计通信实现 昂志敏,金海红,范之国,段勇 (合肥工业大学计算机信息学院...
基于ZigBee的无线传感器网络节点通信的研究.doc
基于ZigBee无线传感器网络节点通信的研究 - 基于 ZigBee无线传感器网络节点通信的研究 摘要:ZigBee 是一种新兴的短距离、低速率无线通信技术,适用于 监控领域。...
ZigBee无线传感器网络节点的能耗研究_图文.pdf
ZigBee无线传感器网络节点的能耗研究 - 2008年2月第2期 忠子测斌 ELEcTRONICTEST Feb.2008No.2 ZigBee无线传感器网络节点的能耗研究 高键 ...
基于ZigBee技术的无线传感器网络及其应用研究_图文.pdf
基于ZigBee技术的无线传感器网络及其应用研究 - 无线方面的学习资料,尤其是
基于ARM和ZigBee的WSN节点设计与实现..doc
TP393 基于 ARM 和 ZigBee 的 WSN 节点设计与实现 李长庚,刘威鹏,胡纯意,侯...无线传感器网络(WSN)因其动态性、自组织、廉价、低功耗和采集信息时的快捷 可靠...
基于ARM与ZigBee的嵌入式无线传感器网络网关的设计..doc
基于ARM与ZigBee的嵌入式无线传感器网络网关的设计. - 基于 ARM 与 ZigBee 的嵌入式无线传感器网络网关的设计 房好帅 李楠 王慧娟 (北华航天工业学院 计算机科学与...
Zigbee无线传感器网络的研究与实验_图文.pdf
Zigbee无线传感器网络的研究与实验 - 信息技术 电 子 测 量 技 术 E
基于ZigBee无线传感器网络节点的研究_论文.pdf
基于ZigBee无线传感器网络节点的研究 - 伴随着通信技术的迅猛发展,无线通信
基于Zigbee技术的无线传感器网络系统研究开题报告_图文.doc
基于Zigbee技术的无线传感器网络系统研究开题报告 - 毕业设计(论文)选题申请表 学生姓名 学 计算机科学技术 年号级 200812110130 2008 基本情况 专题 ...
基于ZigBee协议的无线传感器网络关键技术的研究和实现_....pdf
基于ZigBee协议的无线传感器网络关键技术的研究和实现 - 论文首先介绍了无线传感器网络的发展历史、特点和应用,然后讨论了无线传感器网络 体系结构和基于IEEE 802.15.4...
基于CDA的无线传感器网络网关节点的设计的研究文稿_图文.ppt
基于CDA的无线传感器网络网关节点的设计的研究文稿_计算机硬件及网络_IT/计算机_...为ARM和ZigBee模块供电 嵌入式程序设计基于CDMA无线传感器网络网关节点的数据传输...
多节点的ZigBee无线传感器网络设计_图文.doc
节点的ZigBee无线传感器网络设计 - xx 大学毕业设计(论文) XXXX 大学 本科毕业论文 (设计 ) 多节点的 ZigBee 无线传 感器网络设计 院系名称: 专业:...
基于ARM和ZigBee的WSN节点设计与实现_论文.pdf
基于ARM和ZigBee的WSN节点设计与实现_信息与通信_工程科技_专业资料。设计一种...对节点的性能进行组网测试,结果表明所设计的节点达到了无线传感器网络的设计要求,...
基于Zigbee的无线传感器网络._图文.ppt
基于Zigbee的无线传感器网络. - 无线传感器网络(WSN)综述 ---王宣
基于ZigBee的无线传感器网络节点通信的研究_论文.pdf
基于ZigBee无线传感器网络节点通信的研究 - ZigBee是一种新兴的短距离、低速率无线通信技术,适用于监控领域。介绍了ZigBee无线网络技术、ZigBee设备节点分类和各类节点...
基于ARM9的无线传感器网络网关节点设计.doc
基于ARM9 的无线传感器网络网关节点设计 摘要: 设计并实现了一种基于 ARM9 处理器的无线传感器网络嵌入式网关,用来完成 Zigbee 和 GPRS 之间数据的透明转换。 节点...
一种ZigBee无线传感器网络节点的设计_图文.pdf
一种ZigBee无线传感器网络节点的设计 - 通信信息处理 Communication and Information Processing 《自动化技术应用》20...
基于射频芯片的ZigBee无线传感器网络节点的设计_图文.pdf
基于射频芯片的ZigBee无线传感器网络节点的设计_信息通信_工程科技_专业资料。无线传感器 传 感器仪器仪表文章编号: 0502 】刃8 1 6刁2 1 伽咯- 7(以7 ...