基于无线传感器网络的温度采集与传输
工学硕士学位论文
基于无线传感器网络的温度采集与传输
学位申请人: 焦鹏鹏
指导教师: 陆原 高级工程师 学位类别: 工学硕士 学科专业: 通信与信息系统 授予单位: 河北大学 答辩日期: 二○一三年六月
Classified Index: CODE:10075 U.D.C: NO:20101325
A Dissertation for the Degree of Master
Temperature acquisition and transmission based on wireless sensor
networks
Candidate: Jiao peng peng
Supervisor: Senior Engineer:Lu Yuan
Academic Degree Applied for: Master of Engineering
Specialty Comm.&Info.System University: Hebei University
Date of Accomplishment: June, 2013
摘 要
摘 要
对于某些特殊场合不宜采用有线检测的问题,本文开发了一种基于ZigBee技术的无线温度传感器网络系统。它涵盖了微电子技术、嵌入式计算技术、现代网络技术以及无线通信技术、分布式信息处理技术等先进技术,能够协同地实时地监测、感知和采集网络覆盖区域中各种监测对象的信息,并对其进行处理,处理后的信息通过无线方式发送,并以自组多跳的网络方式传送给监控者。ZigBee技术作为一种新兴的短距离、低速率无线网络技术,是一种介于无线标记技术和蓝牙之间的技术方案。拥有自己的通信标准,各个设备之间可以协调的实现通信。
论文从网络的系统结构、硬件设计、软件编程几方面系统的阐述了基于ZigBee技术的无线温度传感器网络系统的开发过程。首先介绍了无线传感器网络的发展现状以及ZigBee技术的概念、体系结构等。归纳了另外几种常用的短程无线连接技术,通过比较阐述了ZigBee技术在无线传感器网络中的优势。然后针对ZigBee技术的通信规范,对ZigBee的协议栈进行分析。
论文重点介绍了基于ZigBee技术的无线温度传感器网络系统节点的硬件设计,系统节点主要包括由SPI总线控制的无线射频芯片UZ2400,单总线控制的温度传感器。详细分析了各节点中单片机通过对SPI总线、RS232总线以及单总线器件的控制,让不同的总线器件充分发挥各自的优势,并进行了工作总结和展望。
关键词 无线传感器网络 ZigBee技术 UZ2400 C8051f020 PIC16F628A
I
Abstract Abstract
In order to solve the problem that thermometric detection can not be made by cable on some special occasions, a wireless temperature sensor network system is developed. The wireless Sensor Networks synthesizes microelectronic technology, embedded technology, modern networking, wireless communication technology, distributed information processing technology and other advanced technology. It can monitor sense and collect the monitoring objects information in network coverage area in real-time, and then, the information collected will be sent through wireless manners after being processed. Finally, it will be transmitted to the monitor by self-group multi-hop network manners. As an emerging short-range, low-rate wireless network technology, ZigBee technology is a cross program between Radio Frequency Identification technology and Bluetooth technology. It has its own radio standards and achieves communication through coordinating thousands of tiny sensors.
The thesis describes the development process of the wireless thermometric sensor network system based on ZigBee technology, including wireless sensor networks, system architecture, hardware design, software programming. Firstly, the thesis introduces the development of wireless sensor networks, the concept of ZigBee technology, the architecture of ZigBee technology, and the fields where ZigBee can apply and research on ZigBee stack. The dissertation also summarizes several short-range wireless technology in parallel with the ZigBee technology, and explains the ZigBee technology in the advantages of wireless sensor networks by a serial of comparation. Then,the article analyzes the ZigBee stack through the specification for ZigBee technology.
The thesis focuses on the hardware design of the wireless sensor network nodes based on ZigBee technology. The systeam nodes include the RF chip UZ2400 controlled by SPI bus, and the thermometric sensors controlled by 1-wire bus. The SPI bus, RS232 bus, and 1-wire bus are discussed within further explanation, and given full play to their strengths. The work of summary and outlook is also implemented.
Key Words WirelesssensorNetwork ZigBee UZ2400 C8051f020 PIC16F628A
II
目 录
目 录
第1章 引言 ······················································································································ 1 1.1 选题背景及其意义 ··································································································· 1 1.1.1 网络的构成 ········································································································ 1 1.1.2 节点的构成 ········································································································ 2 1.1.3 传感器网络协议栈 ···························································································· 2 1.2 课题主要内容 ··········································································································· 3 第2章 IEEE 802.15.4/Zigbee协议栈 ·············································································· 4 2.1 Zigbee技术概述 ········································································································ 4 2.2 IEEE 802.15.4标准···································································································· 5 2.2.1 PHY层 ················································································································ 5 2.2.2 MAC层 ··············································································································· 6 2.2.3 ZigBee与IEEE 802.15.4标准的关系 ······························································· 6 2.3 ZigBee技术 ··············································································································· 7 2.3.1 ZigBee网络拓扑结构 ························································································· 7 2.3.2 ZigBee特点 ········································································································ 8 2.3.3 原 语 ················································································································ 8 2.3.4 调制技术 ·········································································································· 10 第3章 无线传感器网络的硬件设计 ············································································· 11 3.1 系统总体架构 ········································································································· 11 3.2 发射系统 ················································································································· 12 3.2.1 发射系统主控芯片 ·························································································· 12 3.2.2 UZ2400 ·············································································································· 14 3.2.3 DS18B20 ··········································································································· 17 3.3 接收系统硬件设计 ································································································· 18 3.3.1 接收系统主控芯片 ·························································································· 19 3.3.2 LM1117电压调节器 ························································································· 20
III
目 录
3.3.3 JTAG调试接口电路设计 ················································································· 20 3.3.4 RS232 ················································································································ 21 3.4 本章小结 ················································································································· 22 第4章 无线网络的软件设计及电路调试 ····································································· 23 4.1 编译环境 ················································································································· 23 4.1.1 发射系统的编译环境 ······················································································ 23 4.1.2 接收系统的编译环境 ······················································································ 23 4.2 UZ2400无线通信功能及程序设计 ········································································ 24 4.2.1 SPI总线规范 ···································································································· 24 4.2.2 单片机控制UZ2400 ························································································ 25 4.3 星形网络的实现 ····································································································· 25 4.4 DS18B20的程序设计 ····························································································· 27 4.4.1 单总线规范 ······································································································ 27 4.4.2 单片机控制DS18B20 ······················································································ 28 4.5 本章小结 ················································································································· 29 第5章 总结与展望 ········································································································ 30 参考文献 ···························································································································· 31 附 录 ···························································································································· 33 致 谢 ···························································································································· 40 攻读硕士学位期间发表论文情况 ···················································································· 41
IV
第1章 引言
第1章 引言
1.1 选题背景及其意义
进入二十一世纪以来,人们对无线技术已经不在陌生,生活中随处可以见到无线技术的应用。无线传感器网络(wireless sensor networks,WSN)是由大量传感器节点通过无线通信技术自组织构成的网络,综合了传感器、嵌入式计算、现代网络及无线通信和分布式信息处理等技术[1]。该技术受到了各国无线技术爱好者的广泛关注。
目前常用的无线技术主要有ZigBee、蓝牙、Wi-Fi等[2]。红外线技术成本低廉,实现起来也比较简单,缺点是不宜移动且信号易被阻挡,只能是点对点之间的连接,网络构建不灵活;蓝牙技术目前在可移动的设备上应用比较多,但是因为其协议复杂、能耗大、成本高的缺点,大大的限制了在其它方面的应用。ZigBee是一种网络容量大、节点体积小、架构简单、低速率、低功耗的无线通信技术,由于其节点体积小,且能自动组网,布局十分方便。又因其强调由大量的节点进行群体协作,网络具有很强的自愈能力,任何一个节点失效都不会对整体任务的完成造成致命性影响,所以特别适合用来组建无线传感器网络,ZigBee技术以其经济、可靠、高效等优点在WSN中有着广泛的应用前景。
1.1.1 网络的构成
无线传感器网络系统是由无线传感器节点、汇聚节点、处理数据中心以及数据存储中心构成的一种新型的信息采集检测系统[3-5]。采集节点把采集的所覆盖区域的信息,通过相关协议传送到汇聚节点,汇聚节点再把所收集的信息通过互联网等途径传送到监控室,这时工作人员便可以实时的对覆盖区域进行监控(如图1-1)。
互联网和卫星汇聚节点AB用户计算机任务管理节点DC 图1-1无线传感器网络
1
河北大学工学硕士学位论文
无线传感器网络的基础组成部分是传感器节点。传感器节点包括电源、MCU和存储器,节点和节点之间进行数据通讯是通过特定的网络协议。当某些不可预知的情况发生,如自然灾害等,使得网络结构发生变化,这时想要网络可以正常的保持工作,就要求其有自适应周围环境、自组的能力。
1.1.2 节点的构成
如下图所示,传感器节点可分为四大块,分别是传感器模块(传感器、数据转换器)、处理器模块(处理、存储器)、无线通信模块(网络、MAC、收发器)和电源模块。传感器模块主要负责所监测范围内信息的采集和数据的转换,处理器模块主要负责控制传感器节点正常工作,存储和处理节点采集的数据,无线通信模块主要负责与其他传感器节点进行无线通信,能量供应模块为传感器节点进行供电[6]。另外,传感器节点的计算能力和无线通信能力使得网络能够重新自动编程,能够应对多变的环境和无线传感器网络自身的一些变化。
处理器模块传感器模块处理器传感器AC/DC存储器网络MAC收发器无线通信模块能量供应模块
图1-2 传感器节点
1.1.3 传感器网络协议栈
无线传感器网络的协议栈被分为五层:物理层、网络层、应用层、传输层和数据链路层[7]。为了使传感器节点能工作在最佳状态下,协议栈还引入了相应的管理平台:
物理层规范网络的通信频率;
数据链路层主要负责链路管理、帧管理、差错检测和恢复; 网络层提供数据服务和管理服务实体;
传输层负责数据分割从组,连接管理,端口寻址; 应用层包含一系列的层元件; 能量管理平台为节点提供能源管理; 移动管理平台监控节点移动,维护路由;
2
第1章 引言
任务管理平台监控网络中的任务执行。
1.2 课题主要内容
通过对IEEE802.15.4规范的学习研究,并与Zigbee协议进行了深入对比分析之后,完成了无线星形网络的组建。接收节点采用C8051f020为主控单片机,发射采用PIC16F628A为主控单片机,设计制作了无线发射、接收模块,编写相应程序来实现星形网络的组建,能有效的将所采集数据信息传到上位机。主要工作有:收发节点的电路设计,主控器件与从器件的使用,对各个节点进行调试,使其能够达到稳定的工作状态,编写相应协议使节点在上电后能够自组网工作。
3
河北大学工学硕士学位论文
第2章 IEEE 802.15.4/Zigbee协议栈
本文通过对IEEE 802.15.4/Zigbee协议的学习研究,设计了无线传感器网络的发射系统和接收系统,首先介绍了我们生活中常用的一些无线技术,通过相互对比来体现Zigbee协议的优点。
2.1 Zigbee技术概述
在广阔的市场应用背景下,许多种无线通信技术相继诞生,各自的技术规范也逐渐成熟起来。2004年ZigBee联盟正式的颁布了ZigBee协议[9]。自此ZigBee无线技术开始被广泛关注。ZigBee技术开始被应用于多个领域,ZigBee技术能够在无线通信技术领域占得一席之地,源自于它自身的一些特性。ZigBee一词来源于蜜蜂群在发现花粉位置后,通过跳类似字母Z形状的舞蹈来通知同伴,以达到交换信息的目的,是动物间的“无线”沟通,人们借此称其为一种低功耗、低成本、低复杂程度、低速率的近距离无线网络通信技术。本文设计的无线网络系统有大两部分组成,发射系统包含主控芯片、无线传感器、天线、电源等,接收系统包含无线接收电路、液晶显示、RF解调器、天线、电源等。
表2-1 常用的几种无线技术
4
第2章 IEEE 802.15.4/Zigbee协议栈
2.2 IEEE 802.15.4标准
IEEE 802.15.4是独立于ZigBee标准而开发的,也就是说,仅基于IEEE 802.15.4而不使用详细的ZigBee协议层来建立短距离无线网络是有可能的。这样,用户就需要在IEEE 802.15.4的PHY层和MAC层之上来开发他们自己的网络层和应用层。本章中对其PHY层和MAC层进行详细介绍。
2.2.1 PHY层
PHY层是距离硬件最近的层,它直接控制并与无线收发器通信。PHY层主要负责激活发送或接收数据包的无线设备。PHY层还负责选择信道的频率并确保该频道当前没有被任何一个其他网络中的设备所使用。
最新版本的IEEE 802.15.4发布于2006年9月,该版本共中有三种频率带[8]: 868~868.6 MHz (868 MHz band) 902~928 MHz (915 MHz band) 2400~2483.5 MHz (2.4 GHz band)
5
河北大学工学硕士学位论文
868 MHz频带常应用于欧洲,且应用十分广泛,包括短距离无线网络。另外两个频带(915 MHz和2.4 GHz)是工业、科研、医学(ISM)频带的一部分。915 MHz频带主要用于北美,而2.4 GHz则是全球通用的。
表2-2 Zigbee频率带
频率(MHZ) 信道数目 调制方式 码片率 868-868.6 902-928 868-868.6 902-928 868-868.6 902-928 2400-2483.5 1 10 1 10 1 10 16 BPSK BPSK ASK ASK QPSK QPSK QPSK 300 600 400 1600 400 1000 2000 比特率 20 40 250 250 100 250 250 符号率 20 40 12.5 50 25 62.5 62.5 传输方式 DSSS DSSS PSSS PSSS 16阵列正交 16阵列正交 16阵列正交
2.2.2 MAC层
媒介访问控制(MAC)层为PHY层和NWK层提供了接口。MAC负责产生信标和为信标(beacon-enabled网络)同步设备。MAC层还提供建立连接和解除连接的服务。IEEE 802.15.4定义了4种MAC帧结构。
表2-3 MAC帧结构
信标帧 数据帧 应答帧 MAC命令帧 功能说明 用来同步同一个网络内的所有设备 用来发送数据 在成功接收到一个帧后进行相应的应答 用来发送MAC命令 一个完整的MAC帧长度不会超过127字节。802.15.4 标准的MAC层相比于蓝牙“瘦”了很多,其中就包括802.15.4 标准的MAC层管理服务源语仅有26条,而蓝牙是131条源语。
2.2.3 ZigBee与IEEE 802.15.4标准的关系
常见的建立一个通信网络的方式就是使用“网络层”的概念。各层的职责都有严格的划分,层与层之间可以相互“对话”。ZigBee协议层是基于开放系统互连(OSI)基本相关模型。协议较底下的层与应用是相互独立的,我们在应用时只需在应用层进行相应的改动[10]。网络的最下面两层是由IEEE 802.15.4标准所定义的,该标准是由IEEE802标准委员会所开发并于2003年最初发布的。IEEE 802.15.4定义了PHY层和MAC层, ZigBee标准在此基础上定义了网络层、应用层和安全层[11]。因此,任何遵循ZigBee标
6
第2章 IEEE 802.15.4/Zigbee协议栈
准的设备也同样遵循IEEE 802.15.4标准。
User Application Layer用户定义APLNWKZigBee联盟MACIEEE.802.15.4PHL 图2-1 ZigBee网络体系
2.3 ZigBee技术
2.3.1 ZigBee网络拓扑结构
星形网络中终端设备只能和网络协调器连接,终端设备之间要想进行对话需要通过网络协调器中转。网络协调器做的第一件事情是选择一个在其射频覆盖范围内没有被其他网络使用的特殊PAN标识符,在该射频覆盖范围内无线电之间可以成功的进行相互通信[12]。换句话说,它保证了PAN标识符没有被其他相邻的网络所使用。
在点对点网络中,任何FFD都可以充当网络协调器的角色。看哪一个设备是网络协调器的方法是看哪个FFD设备是最先作为网络协调器进行通信的。在整个网络中,所有数据的传输都要经过FFD设备。通过在相互通信的设备间规定限制条件,点对点网络可以有不同的形状。如果没有限制,点对点网络就成为了网状拓扑。ZigBee支持的另一种点对点网络形式是树状拓扑,在这里,网络协调器建立了初始网络,ZigBee路由则组成了分支并转发信息,而ZigBee终端设备作为树叶且不参与信息路径选定[13]。当设备A需要发送一条信息到设备B,但它们之间有障碍物,信号难以穿透。这时树形拓扑就可以通过转发信息绕过障碍物来帮助其到达设备B。这有时也被叫做多跳(multihopping),因为信息从一个节点跳到另一个节点直到到达目的地为止。
不考虑拓扑的话,一个ZigBee网络总是由一个网络协调器所创建,网络协调器负责控制网络并且履行下面最小职责:
为网络中的终端设备分配16位地址; 初始化、中止、收发送整个网络中的信息; 为网络选择一个唯一的PAN标识符。
在一个无线网络里终端设备可以有许多个,但是协调器是唯一的。它作为唯一的数
7
河北大学工学硕士学位论文
据接收节点,其除了接收数据并传给上位机外,还有为新加入的子节点分配十六位的短地址,监控网络等功能。因此协调器是没有休眠的,始终处于上电工作状态。终端设备采用电池供电,最小的系统网络包括网络协调器、终端设备[14]。
PAN协调器Coordinator00End-Device09End-Device04End-Device05End-Device08
树形拓扑 星形拓扑
PAN协调器全功能设备Full function device精简功能设备Reduced function device
网状拓扑
图2-2拓扑结构图
2.3.2 ZigBee特点
一个无线网络的性能可以从多个方面体现。 ZigBee无线网络技术的特点有[15]: 低功耗:发射功率仅为1mW,通常使用睡眠模式,两节五号电池可工作6个月以上。
低成本:协议相比蓝牙非常的简化,这就降低了对通信控制器的要求,并且协议专利是免费的。
短时延:由睡眠转入工作状态一般只需15ms,节点入网只需30ms。相比之下蓝牙需要3-10s、wifi需要3s。
近距离:覆盖范围不超过百米,可通过增加发射功率来增大覆盖范围。
容量大:一个主节点最多可以管理若254子节点,同时主节点还由上一层网络节点管理,最多可以组成65000个节点的大网络。
安 全:ZigBee提供了数据完整性检查功能,加密算法采用通用的AES-128。
2.3.3 原语
整个协议栈里各层的工作是在使用下层提供的服务中完成的,在完成自己工作的同时也为上层提供服务。网络里的通信是在同级别的层之间进行的。网络节点通过发送服
8
第2章 IEEE 802.15.4/Zigbee协议栈
务原语来实现这些服务。服务原语就是对应服务的符号参数的一种标准化、规范化的表示[16]。参数的个数、形式因原语的不同而不同,它们共同描述了该项服务。在ZigBee技术中包括有四种类型的原语:请求原语、指示原语、响应原语、确认原语。
服务提供者(本层)服务使用者(上层)服务使用者(上层)RequestIndicationResponseConfirm
图2-3 原语对话
对等层之间的通信数据和命令都是以数据包的形式存在的,一个数据包的总体结构见图2-4。PHY数据包包括前同步码(SHR)、帧长(PHR)、物理层帧载荷(PHY payload)。前同步码允许接收器同步和锁定数据流,帧长包含帧长度信息,物理层帧载荷是由上层提供的,它包括发送给接收设备的数据和命令[17]。
作为一个物理层帧载荷被发送到其他设备的MAC帧有三个部分。MAC层首部(MHR)包含类似寻址和安全等的信息,MAC层帧载荷(MAC payload)有各种长度的大小并且包含数据和命令,FCS是一个用来验证数据的16位帧检测序列。
网络层帧有两部分:网络层首部(NHR)和网络层帧载荷(NWK payload)[18]。网络层首部有网络级地址和控制信息,网络层帧载荷是由应用支持子层提供的。在应用支持子层帧中,应用层首部(AHR)具有应用层控制和地址信息。应用层帧载荷(APS payload)包含数据和命令。消息完整性代码(MIC)是APS帧中的一个安全特性,用来检测消息内容中未授权的改变。
图2-4表明,最先发送的位是前同步码中的最不重要位(LSB),物理层帧载荷的8位中最后一位最不重要位(MSB)也是最后被发送。
9
河北大学工学硕士学位论文
应用层首部应用层帧网络层首部网络层帧载荷MAC层首部MAC层帧载荷FCS前同步码定界符帧长物理层帧载荷(最长127字节) 图2-4 帧结构图
2.3.4 调制技术
ZigBee技术使用的是国际上统一免费频段2.4GHz,在当初进行协议规范时就确定了它理论上最快的信息传送速度不会超过250kb/s,节点的信息传输使用扩频调制技术。扩频技术是把传输的信号扩展到一个比较宽的频带的系统中,该频带所占的带宽要远大于传输原始信号时所需要的最小带宽。这种方法是把发射信号的频率扩展到一个较宽的范围内,来提高抗干扰性,也可减少对其它设备的干扰[19]。
ZigBee技术采用的是直接序列扩频系统。该技术先把要发送的数据进行转换,以组为单位,一组有4位数据,一组也称为一个“符号”[20]。接着把符号转换成16位的“伪随机序列码”,称之为“码片(Chip)”,最后用转换得到的伪随机序列码进行高频载波调制。4位数据的二进制码对应着伪随机序列码,它们之间的关系是相互“正交”的。扩频系统有许多优点,决定这些优点的是其自身的编码形式和带宽。主要优点有:抗干扰性强,抗衰落能力强等。
欲发送的二进制数据已调制信号位-符号转换器符号-码片转换器O-QPSK调制器 图2-5扩频调制器结构简图
10
第3章 无线传感器网络的硬件设计
第3章 无线传感器网络的硬件设计
本文设计的星形网络是通过无线射频芯片来进行数据信息的发射和接收,取代了传统的有线连接方式,避免了繁琐的布线工作且在很大程度上降低了设计成本。文中应用到的主要器件包括无线射频芯片UZ2400,单总线温度传感器DS18b20,负责数据采集和发送的主控单片机PIC16F628A,负责接收数据并把数据传送给上位的主控单片机C8051F020,电压调节器,稳压器等。
3.1 系统总体架构
根据ZigBee网络中的节点类型及网络应用,硬件设计可分为两类:发射系统和接收系统。发射系统主要负责采集数据,并与接收系统进行通信。发射系统选用PIC16F628A作为主控单片机,通过单总线控制DS18B20进行测温,然后将采集的数据通过无线射频芯片UZ2400进行无线传输。接收系统负责监控整个网络,接收测温节点发送过来的信息,把接收到的数据信息通过RS232口传送给上位机[22,23]。接收系统选用C8051F020为主控单片机,通过控制UZ2400匹配通信协议后对温度数据进行无线接收。如图3-1
PC液晶显示器C8051F020JTAGUZ2400UZ2400UZ2400UZ2400UZ2400PIC16F628APIC16F628APIC16F628APIC16F628A18b2018b2018b2018b2018b2018b2018b2018b20
图3-1 硬件结构图
11
河北大学工学硕士学位论文
3.2 发射系统
主控模块的设计是整个发射系统的核心。从图3-2中可以看出测温节点的主控单片机的电路设计并不复杂,仅仅使用一个引脚(RA2)作为数据总线DQ来控制温度传感器DS18B20采集温度。
VCC1SPI SIVCC1100kSPI SCLKSPI SENR617181235678910111213R1100kR2R3100k100kR4100kVCC1R8100kVCC1R9100k1641415SPI SO132R515kDS18B20R7100kPIC16F628AVCC1 图3-2 温度采集电路图
3.2.1 发射系统主控芯片
发射节点需要达到低功耗、工作寿命长的特点,所以选用PIC16F628A单片机做发射节点的主控芯片。PIC单片机是Microchip公司生产的,其硬件系统设计简洁。其特点如下[26]:
在一般的单片机中,指令总线和数据总线是共用的。PIC16F628A采用了经典的哈佛总线结构,把数据总线与指令总线分开,在执行当前指令的同时不影响下条指令的操作;
系统的指令集非常的精简,相比于拥有上百条指令的芯片,它仅有35条; 支持多种寻址方式;
PIC单片机的功率消耗低,这也是我们选择用PIC取代51系列单片机做无线传感器的MCU的原因。其中的某些型号在4MHz时钟下工作电流2mA,在睡眠模式下电流可低到1uA以下;
PIC单片机支持I2C和SPI两种总线,有些型号甚至专门预留了I2C和SPI端口,可以很方便的与外设连接;
PIC单片机可以直接与其他主控器件对接,如CPU、DSP等;
12
第3章 无线传感器网络的硬件设计
包含EEPROM数据存储器:PIC单片机内部配置了64~256字节的数据EEPROM存储器;
PIC单片机内置有上电复位电路、定时器等。
图3-3 PIC16F628A
PIC16F628A单片机(图3-3)是一款18引脚的8位CMOS闪存单片机。具有多用途、低成本、高性能和全静态等特点。工作速度可以从DC到20MHz,具有极强的中断能力,既可以采用内部振荡器也可以采用外部振荡器。PIC16F628A单片机的工作电压在2.0V~5.5V之间,可进行低电压编程和在线串行编程(通过RA2和RA5两个引脚)。PIC16F628A单片机低功耗特点主要体现在待机电流在电压为2.0V时,典型值为100nA。工作电流在电压为2.0V频率为32KHz时,典型值为12A;频率为1MHz时,典型值为120A。PIC16F628A单片机有十六个双向的I/O口,可以很方便的和外围设备相连接。三个定时器/计数器分别是:带有八位可编程预分频的八位Timer0,有外部晶振或时钟功能的十六位Timer1,八位周期寄存器和预分频器的八位Timer2。10位PWM模块,以及可寻址的通用同步/异步收发器(USART/SCI)[26]。
13
河北大学工学硕士学位论文
图3-4 PIC16F628A内部结构
3.2.2 UZ2400
无线收发模块是一射频集成电路模块(RFIC),作为ZigBee无线网络的物理层射频前端实现无线数据的收发[27]。无线射频芯片UZ2400是UBEC公司推出的用来实现嵌入式ZigBee应用的片上系统。它支持2.4GHz IEEE802.15.4/ZigBee协议[25]。支持硬件调试,工作电压范围3.0V~3.3V。芯片共有34个引脚,其中用于与外部相连的有18个引脚。其中10~13引脚为SPI总线的4条连接线。7脚为单片机控制的复位引脚,8脚为睡眠唤醒引脚,9脚为中断输入引脚,14脚为时钟输出引脚。
14
第3章 无线传感器网络的硬件设计
VCC1234567891011121314151617UZ240034333231302928272625242322212019181234antenne100k100k100k100kR1R2R3R4VCCR5100kSPI SOSPI SISPI SCLKSPI SENVCC 图3-5 UZ2400
UZ2400是一个基于ZigBee技术的传输模块,集成了线性功率放大器UP2202,以及一个宽带低噪声放大器UA2723。UZ2400属于串行总线控制设备(SPI总线控制),内置了无线射频收发器工作在802.15.4标准的基带滤波和MAC层的功能模块[27,28]。主要由发射/接收FIFOs,CSMA-CA控制器,超帧架构,接收帧过滤器,安全引擎和数字信号处理模块等组成。能够确保数据信息稳定的传输。(如图3-6)。
MAC层模块物理层模块安全校验模块电源管理模块图3-6 UZ2400内部模块
存储模块接口模块
低中频(LOW-IF)接收是UZ2400的特性之一。UZ2400收到的RF信号后,信号被低噪声放大器(LNA)放大,并将它所收到的同相信号和正交相位信号(I/Q)降频转换成为中频(IF)信号。UZ2400过滤掉多余的信号,再把有用的中频信号(2MHz)进行放大。信号先后经过模数转换、增益、字节同步等相应的工作,帧定界符产生后进入中断。收到的数据存储在RXFIFO中,通过特殊功能寄存器来读这个RXFIFO队列。UZ2400通过硬件校验CRC,再把RSSI值添加到数据中,当处在接收工作状态时,利用中断来完成对空闲信道评估(CCA)。
UZ2400的发送是基于直接升频序列转换的。数据存放在128字节的TXFIFO中。其中引导帧、定界符的生成来自于硬件。统一使用IEEE802.15.4扩展序列扩展为32位码片序列,输出到DAC中。经过数模转换器后,进行低通滤波最后送至混频器 [30]。射频(RF)信号通过功率放大器(PA)馈送到天线。
15
河北大学工学硕士学位论文
芯片中的频率合成器包括一套完整的片上电感器电容器(LC)、电压控制振荡器(VCO)和一个90°分电压控制振荡器(VCO)工作频率范围是4800~4966MHz。在分相I/Q时,频率被一分为二。数字基带的任务则包括帧的操作、地址识别、数据缓冲、CSMA-CA选通处理器和MAC安全等[30](如图3-7)。
图3-7 UZ2400无线收发模块的工作机理
由于射频芯片的工作场合中有些是比较特殊的,为了确保出厂的芯片即使是在这些特殊的场合也能够正常的工作,在出厂之前已经对每一个射频芯片做了全面的测试(见图3-8)。
图3-8 UZ2400功率测试图
16
第3章 无线传感器网络的硬件设计
3.2.3 DS18B20
温度传感器DS18B20只需一个接口引脚就可以与单片机进行通信。每个单总线数字温度传感器DS18B20在出厂前都被分配了全球唯一的六十四位序列码。其外接电路非常简单,有两种方式供电(独立电源供电和总线供电),电压范围:+3.0V~+5.5 V,测温范围:-55℃ ~+125 ℃,在-10℃~+85℃范围内精度为±0.5℃,分辨率0.0625℃[29]。最高可支持十二位的读取;温度转换速度快,即使在转换为十二位的数字信号时也不会超过750ms,当转换为九位的数字信号时更是达到了93.75ms;在使用时可根据需要设置所测温度范围值。告警搜索命令可识别和定位那些超过报警限值的DS18B20[29]。一条总线上可挂接多个温度传感器,完成对多个目标的温度监测,最大距离不能超过两百米。支持多点组网的功能,多个DS18B20温度传感器可以并联在惟一的三线上,实现多点测温;当电源极性反接时,DS18B20不会因发热而烧毁,但不能正常工作。DS18B20采用3个引脚的TO-92小体积封装,其内部结构如下图所示。它主要由四部分组成:64位得ROM序列码、温度传感器模块、非易失性的温度报警触发器TH和TL、配置寄存器(如图3-9)。
图3-9 DS18B20内部结构
单总线数字温度传感器DS18B20的供电方式有:寄生电源供电,外部电源供电。当DS18B20选择寄生电源供电时,需把DQ线或VDD引脚变为高电平。寄生供电相比于独立供电的优势为:在有线环境下测温时无需其它外围电路;缺少正常电源条件下也可以读ROM。当DS18B20进行温度转换时,要求总线能够保证有稳定的功率。通常在寄生供电情况下采用以下方法来保证总线能提供稳定的功率,当温度传感器进行温度转换时,给总线接一个上拉,整个温度转换过程中总线上不可以有其它操作。通过使用一个场效应管把DQ线直接接到电源上便可以实现。这时DS18B20工作在寄生电源工作
17
河北大学工学硕士学位论文
方式,在该方式下VDD引脚必须连接到地[29]。
图3-10 寄生电源供电
外部电源供电这种方法相比于寄生供电省去了主机在总线上的强上拉电路,简化了电路设计,能够为温度传感器提供稳定的供电,即使是在进行温度转换时,总线上也可以有数据传输。另外,在单总线上可以并联多个DS18B20,且均采用外部供电,主机可发送相关指令是多个温度传感器同时工作。
图3-11 外部电源供电
3.3 接收系统硬件设计
接收系统采用新华龙生产的C8051F020为主控制单片机,用SPI总线与UZ2400相连接,C8051F020通过对UZ2400长短地址的读写控制来实现协议的匹配和数据信息的接收,最后把收到的数据信息经串口送至上位机显示。整个系统中只有接收节点是与上位机相连的,它除了执行数据接收转发之外,还负责网络建立、维护等工作,自始至终都处于工作状态。在设计时考虑到主控芯片C8051F020的工作特性,接收系统采用5V供电,然而射频芯片UZ2400能正常工作的最高电压仅为3.3V,为了解决这个问题,我们在设计电路的时候加入了低压调节器LM1117[31],来满足两个芯片能正常工作的电压需求。
18
第3章 无线传感器网络的硬件设计
MOSIMISOSSSCLKUZ2400C8051F020PCTXDRXDMAX232RS232串口线 图3-12 接收系统电路图
3.3.1 接收系统主控芯片
C8051F020是新华龙公司出产的高性能,低电压单片机。有丰富的外接引脚,仅I/O口就有六十四个,包含八位的模数转换器,两个十二位的数模转换器,六十四字节的flash存储器,五个十六位的定时器等。C8051F020是能独立工作的片上系统,所有的模拟、数字外设均可由用户固件使能/禁止和配置,flash存储器还可重新编程,可用于非易失性数据存储[32]。
图3-13 C8051F020
C8051F020作为接收系统的主控单片机并没有专用的SPI接口,这里使用单片机的P0.2~P0.5口来模拟SPI总线的四条数据线接口,分别是主机输入从机输出、主机输出
19
河北大学工学硕士学位论文
从机输入、时钟、片选有效位,通过对UZ2400的长短地址控制来实现与发射节点间的数据传输。
3.3.2 LM1117电压调节器
LM1117电压调节器的输出电压范围在1.25V~13.8V之间。另外还有5个固定电压输出(1.8V、2.5V、2.85V、3.3V和5V)的型号。LM1117提供电流限制和热保护。电路包含一个齐纳调节的带隙参考电压以确保输出电压的精度在±1%以内[31]。通过在它的两端各加一个钽电容来提高电路的稳定性。如图3-14
VinLM1117Vout10uF钽电容10uF钽电容
图3-14 LM1117连接图
3.3.3 JTAG调试接口电路设计
下图为网络节点模块JTAG调试接口,用于用户连接仿真器调试程序和仿真使用。程序下载时使用1,2,3,4,7脚,协议分析时全部使用。仿真器JTAG线2脚可以向实验板供电,供电电压为3.3V,电流300mA。DC(Debug Clock)表示时钟,DD(Debug Data)表示数据,是双向数据口。
图3-15 JTAG调试接口电路
20
第3章 无线传感器网络的硬件设计
3.3.4 RS232
RS-232是由美国电子工业协会 EIA(Electronic Industry Association)在1969年颁布的一种串行物理接口标准。RS(Recommended Standard)是英文“推荐标准”的缩写,232为标号。该标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特,目前常用的微机都是采用9针的D型连接器[33]。RS-232除通过它传送数据(TXD和RXD)外,还对双方的互传起道了协调作用,也就是握手信号。
表3-1 RS232串口说明
串口的工作电平也是由美国电子工业协会规范的,在工作时当发送数据线和接收数据线的逻辑电平为高,表示电压在-15V到-3V之间,当两个数据线的逻辑电平为低时,表示电压在+3V到+15V之间。其它引脚线在有数据通过时,电压在+3V到+15V之间;相反没有数据通过时,电压在-15V到-3V之间,除这两个电压区间外的任何电压都是没有意义的。所以在工作中务必保证电压处在上述两个区间内。
正是考虑到RS-232的电气特性, RS-232的EIA标准是以正负电压来表示逻辑状态的,而TTL却是以电平的高低来表示的。所以,要实现与端口间的有效连接,就必须要在EIA电平与TTL电平之间进行电平交换。MAX232芯片可完成TTL和EIA之间的电平转换,只需要一个+5V电压源即可正常工作。
由下图可知,一个MAX232芯片可连接两对收/发线[37]。MAX232把通信接口的TXD和RXD端的TTL电平(0~5V)转换成RS-232的电平(+10~-10V),并送到传输线上;也可以把传输线上RS-232的+10~-10V电平转换成0~5V的TTL电平,并送到通信接口的TXD和RXD端(如图3-16)。
21
河北大学工学硕士学位论文
图3-16 RS232接口电路
3.4 本章小结
本章首先阐述了组网ZigBee网络的总体设计方案,并分别选择了C8051F020、PIC16F628A作为主控芯片的解决方案。接着以主控芯片为核心,设计制作ZigBee网络无线模块,其中包括RS232接口电路、LM1117电压调节电路和JTAG调试接口电路设计与制作。
22
第4章 无线网络的软件设计及电路调试
第4章 无线网络的软件设计及电路调试
无线传感器网络节点的工作包括组网、数据采集、传输等。发射节点的主要任务是完成数据的采集,无线传输和决定何时进入睡眠模式。接收节点的主要任务是完成数据的无线接收,通过串口把数据传送到上位机。本章先从软件的编译环境和程序调试工具开始介绍,接着重点介绍控制芯片通过SPI总线、Dallas一总线对从器件的控制。
4.1 编译环境
本文设计的无线星形网络可分为发射系统和接收系统。两个系统的主控制芯片不一样,所对应的开发软件也不一样。PIC16F628A作为发射系统的主控单片机,所使用的开发软件是MPLAB(v8.33)。可以与在线调试仿真器ICD2直接相连,在加载HI-TECH PICC9.6版编译器后,就可以进行相关的编译调试了。接收节点的控制单片机选择C8051F020单片机,使用的编译软件是汉化版的Keil uVision3,在连接C8051F MCU适配器后便可进行编译。
4.1.1 发射系统的编译环境
发射系统使用的仿真软件MPLAB-IDE v8.33是由Microchip公司开发的。因为MPLAB仿真软件集成了Microchip公司所有的开发工具,在进行仿真时首先的选择PRO ICD2为开发工具。PRO ICD2不仅是调试器适配器,还可以当做烧写器使用,在菜单栏的调试下拉菜单中选择用途。在对PIC单片机进行调试时,在线调试器PRO ICD2是利用Flash工艺芯片的程序区读写功能,把监控程序连同用户程序一同烧入待调试的芯片中,利用监控程序来实现仿真调试的基本功能[34]。此外,ICD2也具备程序烧写的功能。
图4-1 MPLAB ICD2在线仿真
4.1.2 接收系统的编译环境
在对接收节点进行调试时所使用的调试软件为Keil uVision3(汉化版),安装好软件后需要手动添加一下SiC8051F_uv3驱动程序。Keil软件是所有单片机开发软件中最
23
河北大学工学硕士学位论文
常用的,它几乎涵盖了我们日常使用的所有库函数,易操作并具有简洁的操作界面。尤其是在开发比较大型的软件时更能体现出其功能的强大,目标代码的生成效率高,汇编代码紧凑,工作人员很容易理解。在直接连接C8051F MCU调试适配器后,就可以对接收节点进行仿真。
4.2 UZ2400无线通信功能及程序设计
无线传感器的通信是由主控单片机PIC16F628A通过SPI总线即MOSI、MISO、SCLK、SEN四条线通过模拟I/O口控制,通过对长短地址的读写来实现数据的收发。
4.2.1 SPI总线规范
SPI(Serial Peripheral interface)总线系统是摩托罗拉公司生产的一种同步串行外设接口[38]。这种总线系统使得微处理器可以与其外设以串行方式进行通信。常见的有FLASH存储器、LCD显示驱动器、A/D转换器和MCU等。SPI总线是一种高速、全双工、同步串行总线,在与外围设备连接时只占用该芯片的四个引脚,大大的减少了设备引脚的使用数,在设计PCB板时也节省了布局的空间[39]。SPI总线系统支持各个公司出产的外围设备,并且可以直接相连。通常包含四条线:串行时钟线SCLK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SEN。
SPI总线的结构如图4-2所示。本文设计的两个系统中,每个系统内都有一个主控制设备与其外围设备通过I/O口相连接。MCU主要控制着数据向其外围设备传递信息。外围设备在收到主控芯片的指令后才能开始接收数据或者向主控芯片发送数据的工作,传送数据时是先传高位再传低位。当多个外围设备通过SPI总线连接到主控设备时,务必要满足以下两点要求:外围从设备要有片选端,MISO线的引脚接口要有三态,当片选失败后成高阻态,这样可以有效的避免影响其它外围设备的工作(如图4-2)。
SCLKSISO器件1SEN1器件2SEN2器件3SEN3MCU
图4-2 SPI总线结构示意图
24
第4章 无线网络的软件设计及电路调试
4.2.2 单片机控制UZ2400
本文的主控单片机没有专门的SPI接口,通过使用其四个I/O口来模拟SPI总线,四条连接线分别为串行时钟线、数据输入输出线、片选线。发射系统中PIC16F628A单片机选用RA0、RA1、RA6、RA7口来模拟SPI总线的四条连接线,接收系统中C8051F020单片机选用P0.2-P0.5口来模拟SPI总线的四条连接线。按SPI总线的数据和时钟相位关系来看,它是由片选信号有效前的电平和数据传送时的有效沿来区分,传送8数据的时序[38]。本文设计的两个系统都采用低电平有效的片选信号,每当时钟信号从低电平到高电平跳变时,就进行一位数据的读写。相关程序见附录。
图4-3 SPI总线时序图
4.3 星形网络的实现
组建星形网是基于ZigBee技术的一种简单的网络拓扑结构,星形网络通常包含一个网络协调器和多个终端设备,终端设备仅能与网络协调器进行通信。终端设备之间若是想要进行通信,只能通过“中介”进行转发,即协调器转发。星形网络的拓扑结构简单,本文设计的星形网络采用一个协调器和两个终端节点构成。当设备被设置为网络协调器后,需要进行相关的初始化和定义一些网络参数,再通过调用NLME-NetworkFormationRequest()函数,网络的创建就完成了[40]。先是网络层发送请求原语让MAC层执行一项任务,进行信道能量检测,扫描结束后将扫描信道能量的结果展示给上层,此时上层便会从中选出一个最好的信道,假如应用层事先确定了PAN ID
25
河北大学工学硕士学位论文
参数,网络层将会在选择网络PAN ID参数时避开事先所给的网络的PAN ID参数,以避免发生冲突,当找不到适合的信道时,网络层便会返回信息,建立失败。如果找到了合适的信道就会确定下来,此时网络层管理实体会把0x0000当作16位短地址,同时传达给MAC层[41]。
对于终端设备,它上电后将会调用NLME_NetworkDiscoveryRequest()函数在协议栈指定的信道内进行扫描,此时网络协调器若是在工作状态下,并且和网络有一样的PAN ID,便调用NLME_OrphanJoinRequest()函数请求孤立连接的方式来入网络。入网成功后网络协调器给终端设备分配16位的短地址。到此,星形网络建立完成。
图4-4 协调器建网示意图
图4-5 子节点入网示意图
26
第4章 无线网络的软件设计及电路调试
初始化初始化串口显示该模块的版本和地址等信息串口显示该模块的版本和地址等信息否入网是否成功建立一个网络是无信号串口显示该节点地址和父节点地址信息给该节点分配网络号有节点加入监测无线信号发送数据给协调器否否是否收到数据入网是否成功是是串口显示收到数据发送数据给协调器
图4-6 协调器及节点流程图
4.4 DS18B20的程序设计
温度采集节点由主控芯片PIC16F628A通过单总线连接温度器DS18B20来完成测温。
4.4.1 单总线规范
达拉斯公司研发的单总线(1-wire)技术近年来得到了广泛的应用。单总线不同于其它标准的串行总线,只用一根信号线进行时钟、数据的传输,有效的减少了I/O口的使用,并且它结构简单、成本低、易于扩展、维护等优点,现被应用于多个领域,如家用电器、生产制造等领域。
单总线主要用于一个主控设备控制一个或者若干个从设备的系统。仅有一个从设备的情况是最简单的,可以当成是单节点系统;若挂接多个从设备时,系统按多节点系统进行操作。主控设备通常是微控制器,从设备为单总线器件。达拉斯公司出产单总线设备有:温度传感器 、一线存储器、A/D转换器等[35]。相比于并行、串行,单总线的特
27
河北大学工学硕士学位论文
点是主控设备的地址线、数据线和控制线是共用一条线的,通过这一条线与从设备进行数据的相互传输[35]。当有多路多个测控对象时便体现出了单总线的优势,大大的简化了PCB板布线结构。
单总线是集地址线、数据线、控制线于一身,当总线上挂接多个从设备时,就要求总线能够有效的分辨出总线上的设备,才能使得总线上的每一个设备都能够在相应的时间段内驱动总线。为了解决这个问题,所有单总线器件在出厂时都给了全球独一无二的64位ROM序列号,这样通过寻址便可以有效的识别总线上的所有器件。单总线器件采用CMOS工艺,能耗低,在不进行单独供电的情况下,利用总线的少量供电就能完完成对ROM的操作。单总线一般情况下处于高电位,挂接在总线上的设备要求是漏极开路或是三态门输出,这样在从设备不工作的情况下可以降低总线的负担。单总线的传输速率为16.3Kbps,在超速模式下,用户可以将其设定为100Kbps,主要用在对速率要求不高的系统中[36]。单总线技术的作用距离通常可达到200m左右,可挂接上百个从设备。
4.4.2 单片机控制DS18B20
发射系统中温度的采集使用数字温度传感器DS18B20,相比于需要模数转换的传感器简化了许多,并且精度也得到了提高。由于只有一条总线进行控制,所以对总线进行操作时必须按照规定的指令序列进行,否则会造成从设备无响应,执行指令序列如下图。
发送64位序列号发送读取ROM指令初始化发送跳过ROM指令发送温度转化命令读取温度值延时等待温度转换完毕否发送复位指令是发送匹配ROM指令结束访问完毕?
图4-7 测温流程图
发射系统的温度采集节点是控制单片机PIC16F628A通过单总线严格按照上述指令
28
第4章 无线网络的软件设计及电路调试
序列控制温度传感器DS18B20进行采集。首先进行初始化,初始化过程是单片机发出复位、从机响应信号,主机若收到应答信号说明总线上有从设备挂接。当主机确定了总线上有从设备挂接后,发出ROM指令。这些指令与各个温度传感器的唯一64位ROM序列码相关,当单总线上连接多个DS18B20时允许主机指定控制某一个温度传感器工作。主机可以通过这些指令知道其总线上挂接了多少外设,再就是可以通过这些指令检测到有多少或者有没有外设是处于报警状态的。执行完上述指令后发送相应的操作指令, 发送ROM操作指令(ROM操作指令的作用是在主机与其总线上挂接的某个从设备之间建立通信关系),接着主机发送功能指令(功能指令的作用是使主机能驱动温度传感器工作),采集完数据后,从设备会把数据以串行的方式传送到总线上。
表4-1 ds18b20功能表
4.5 本章小结
本章详细阐述了发射系统和接收系统的节点是怎样进行工作的,并完成了相关程序的编写。及单片机如何通过SPI总线、达拉斯单总线对从设备的控制,按照不同的总线标准进行操作,使得它们能够实现在该无线网络中所需的功能。通过流程图,可以直观立体地看出发射系统的主要任务是上电进行数据采集、发送等工作,为了降低功耗,在工作结束后就进入睡眠。而接收系统作为主要的监控节点,一直处于上电工作状态,他承担着自动建网,分配节点地址,并不断接收各节点传输的数据,数据收到后进行整理然后再传到上位机。
29
河北大学工学硕士学位论文
第5章 总结与展望
ZigBee技术的主要特点是传输距离短、能耗低、速率低等,正是这些特点,使得它被应用到越来越多的领域中。本文通过对ZigBee技术的学习研究,完成了基于无线传感器网络的硬件设计及程序的编写,并实现了星形组网。
本文开始介绍了无线传感器网络的背景知识及发展现状。随后在第二章具体介绍了ZigBee技术,主要包括IEEE802.15.4的无线通信标准、以及在它之上ZigBee联盟后来制定协议规范,对这两种协议规范进行了详细的对比分析,并列举了ZigBee技术的独特之处,最后介绍了ZigBee物理层的通信原理。
在了解了ZigBee技术的特性之后,第三章着重的讲述系统中一些主要器件的选择和使用。本文设计的无线星形网络包含一个负责接收数据并与上位机通信的接收系统和两个负责采集温度数据的发射系统。发射节点采用单片机PIC16F628A控制温度传感器DS18B20采集温度,通过无线射频芯片UZ2400进行无线数据传输。接收节点采用单片机C8051F020控制UZ2400进行无线数据接收,并通过串口RS232将数据显示到上位机上。文章还深入分析了SPI、单总线器件的控制原理并编写相应的程序。结合实际的应用过程详细介绍了主控芯片通过SPI、单总线对从设备的控制并给出了编写的相应程序,最后实现了网络的组建。
由于时间等原因,此系统只在实验室环境下实现成功组网,还未投入到现场进行使用。在后续工作中还有一些需要改进提高的地方:
1. 能量消耗:各个节点在工作时需要从自身低功耗的特性出发来降低能耗,使节点可以有更长的使用时间。
2. 传输距离:在传输距离上还存在这不稳定的因素。
3. 节点数量增加,覆盖面积扩大,要求节点具有自组和强抗干扰的能力。 4. 串口助手界面比较简化,编写监控界面程序,使观察者能够更加直观的监视网络状况。
5. 尝试引用到个人家庭内,比如电灯开关、窗帘制动等。
30
参考文献
参考文献
[1] 刘晓明,陶昆.无线传感器网络节能技术的研究[J].山西电子技术.2009(2):67-68.
[2] 李文仲,段朝玉等编著.ZigBee无线网络技术入门与实战[M].北京航空航天大学出版社.2007.4:5 [3] 卢珊,吴礼裕,李强.基于ZigBee无线网络传感器[J].中国科技博览,2010(36):356.
[4] 李文仲,段朝玉等编著.PIC单片机与ZigBee无线网络实战[M].北京航空航天大学出版社.2007.12:1 [5] 李文仲,段朝玉等编著.ZigBee2006无线网络与无线定位实战[M].北京航空航天大学出版
社.2008.1:1
[6] 吕治安编著. ZigBee网络原理与应用开发[M].北京航空航天大学出版社. 2008.2 [7] 夏俐,陈曦,赵千川等.无线传感器网络及应用简介[J]. 自动化博览. 2004,1:34~37. [8] 王兰红.基于ZigBee技术的RFID系统设计[J].测试测量技术. 2009,9:23~27. [9] ZigBee 2006协议规范.郑州新双恒技术有限公司,2006
[10] 闫沫. ZigBee协议栈的分析与设计.硕士学位论文.厦门大学.2007
[11] 许灵军. 基于ZigBee通用无线传感器网络硬件平台的设计[J]. 2008.04.16. [12] 电子产品世界.无线传感器网络系统解决方案研讨会. 2008.11.07. http://www.eepw.com.cn/article/89311.htm
[13] 孙利民,李建中,陈渝,朱松红.无线传感器网络[M].清华大学出版社. 2005.5: 5
[14] WUKD,LIAO W J. On constructing low interference topology in multihop wireless sensor
networks[J].
[15] 王然. ZigBee无线组网技术的研究与实现 [D].吉林大学.2006.11.10 [16] 何颜平.基于ZigBee协议的无线传感器网络组网.天津大学,2009.
[17] 贺文.基于IEEE802.15.4/ZigBee的无线传感器网络研究[D]. 浙江大学. 2006.5 [18] 李文.基于ZigBee和GPRS的远程监控系统设计[J].消防与安防. 2009,12:37~39. [19] 张艺.基于ZigBee的无线组网技术的研究与实现.硕士学位论文,上海大学,2009. [20] 樊昌信.通信原理[M]. 国防工业出版社. 343
[21] 施承.基于ZigBee协议的无线传感器网络关键技术的研究和实现[D]. 东南大学.2006.4
[22] 王钦.基ZigBee技术的无线传感网络研究与实现[J].重庆理工大学学报:自然科学,2011(8):46-51. [23] 卢崇.无线传感器网络节点的研制及网络管理软件的开发[D]. 西北工业大学. 2007.3 [24] 杜丽敏.基于ZigBee技术的无线传感器网络研究[D]. 天津工业大学. 2007.1 [25] 郭壮辉.基于ZigBee网络的无线路由算法研究.硕士学位论文,同济大学,2008. [26] 李学海著. PIC单片机实用教程M].北京航空航天大学出版社. 2008.2 [27] UZ2400.说明书. http://baike.baidu.com/view/3932671.htm
[28] 王朝霞.ZigBee无线传感器网络节点硬件与组网协议设计.硕士学位论文,内蒙古大学,2011.
31
河北大学工学硕士学位论文
[29] DALLAS SEMICONDUCTOR.DS18B20 Programmable Resolution 1-Wire Digital
Thermometer.http://pdfserv.maxim-ic.com/en/ds/DS18B20.pdf, 2003-10-20.
[30] 高芳.温度湿度实时监测与报警系统的设计与实现[D].河北大学电子信息工程学院. 2005. [31] LM1117/LM1117I-800mA低压差线性调压器说明书. [32] C8051F02X数据手册.
[33] RS-232.百度百科. http://baike.baidu.com/view/196461.html?wtp=tt [34] MPLAB ICD2系列说明书. http://www.itool.com.cn/soft/ICD2-0625.doc
[35] 刘鸣,陈兴梧,赵煜.单总线技术及其应用[J]. 仪表技术与传感器, 2002. 1:40~42. [36] 陈志英,李光辉.单总线(1-Wire Bus)技术及其应用[J].国外电子元器件,2003,8:4~7. [37] 李群芳,肖看.单片机原理、接口技术及应用. 清华大学出版社. 2005.3 [38] SPI总线.百度百科. http://baike.baidu.com/view/245026.htm
[39] 黄智伟.印刷电路板(PCB)设计技术与实践[M].北京:电子工业出版社,2009,121-145.
[40] 陈丽华,刘晓文,戴吉等.基于无线传感器网络的矿用温度测控系统设计[J]. 仪表技术与传感器,
2008(12):87-89.
[41] 冯立波,李永战,吴银锋等.一种通用的无线传感器网络监控平台[J].仪表技术与传感器,
2008(10):55-57.
32
附录
附录
硬件电路原理图
JP2HEADER 2212345678910111213141516171819202122+5RELAY1+541R91k532RELAY2+5VCC1D3DIODER3HCPL-060110k75684321R6TX1k+53.3VREPACKJP6REPACKC1642GND20.1uf3.3VR14VCC1+5HCPL-0601R15125DCDCVCC161B0505LM10k7568C150.1uf+5HCPL-060110kalarm12345678161514131211109+3.3vR16+5330LS1C310.1ufSPEAKER21VCC1C170.1ufC310ufSN65LBVCC1R410k543124321R71k3.3Valarm speakeralarm lampGNDSPI_SOSPI_SISCLKSENVCCGNDGNDZigbee module1C191ufR10330+5RXuln2003a3.3V100768VCC110kR512348657C14JP7R1JP1876543214RELAY1RELAY2x05010k132BAT54S32BAT54SD1RB1544120.1uflm2575235C13VCC11R810kR181kR190.1ufTMSTCKTDITDOVCC1+53.3VC241k0.1uf+5330uhL1D2C2330ufIN5819TexTexGND2100ufC01C120.1uf3.3VU2+51DC2GND26DC543C25C40.1uf100uf3LM11173.3V21100ufC5C110.1ufTMSTDI3.3V12345109876TCKTDOR24.7k+5C2110412XTAL433.3V123456789101112131415161718192021222324259998979695949392919089888786858483828180797877761C8051F02075747372717069686766656463626160595857565554535251+3.3vC291uf3.3vTXRXSPI SCLKSPI SOSPI SISPI ENSDASCLERWDICSB100.1uf3.3VR2010kR2110kSDASCLWPVCCGNDA2A1A0JTAGR1110kJP521HEADER 2C230.1uf10kR12C220.1uf26272829303132333435363738394041424344454647484950+3.3v3.3VC301ufC7AT24C040.1ufC80.1uf 33
河北大学工学硕士学位论文
VCC1234567891011121314151617UZ24003433323130292827262524232221201918100k100k100k100kR1R2R3R4VCC1234antenneR5100kSPI SOSPI SISPI SCLKSPI SENVCC
VCC1SPI SIVCC1100kSPI SCLKSPI SENR617181235678910111213R1100kR2R3100k100kR4100kVCC1R8100kVCC1R9100k1641415SPI SO132R515kDS18B20R7100kPIC16F628AVCC1
34
附录
射频芯片相关程序:
#define sclk RA0//SPI时钟线 #define ss RA1//SPI片选线 #define miso CLKO #define mosi CLKI #define sclk_DIR #define ss_DIR #define miso_DIR #define mosi_DIR #define led_DIR
//*************************UZ2400的短地址读写********************// unsigned char spi_rs(unsigned char ch) { unsigned char gsdata,i;
sclk_DIR=0;//SPI时钟输出
ss_DIR=0;//SPI片选输出
miso_DIR=1;//SPI主机输入从机输出 mosi_DIR=0;//SPI主机输出从机输入 ch=(ch<<1)&0x7e; i=8; ss=0; while(i--) {
sclk=0; //_nop_(); if(ch&0x80) mosi=1; else mosi=0;
//mosi=ch&0x80; ch=ch<<1; sclk=1; //_nop_(); }
for(i=0;i<8;i++) { sclk=0; //_nop_ (); sclk=1;
gsdata = gsdata<<1; // 左移一位,或_crol_(temp,1) if(miso == 1)
gsdata = gsdata|0x01; // 若接收到的位为1,则数据的最后一位置1 else
gsdata = gsdata&0xfe; // 否则数据的最后一位置0 }
sclk=0; // _nop_ (); ss=1;
return gsdata; }
void spi_ws(unsigned char address,unsigned char value) {
unsigned int i;
35
河北大学工学硕士学位论文
sclk_DIR=0;//SPI时钟输出
ss_DIR=0;//SPI片选输出
miso_DIR=1;//SPI主机输入从机输出 mosi_DIR=0;//SPI主机输出从机输入 address=(address<<1)|0x01; i=8; ss=0; while(i--) {
sclk=0; // _nop_();
if(address&0x80) mosi=1; else mosi=0;
// mosi=address&0x80; address=address<<1; sclk=1; // _nop_(); } i=8;
while(i--) {
sclk=0; // _nop_(); if(value&0x80) mosi=1; else mosi=0;
//mosi=value&0x80; value=value<<1; sclk=1; // _nop_(); }
sclk=0; //_nop_(); ss=1; }
测温程序:
bit reset(void)//初始化18B20 {
static bit existence; DQ_LOW();
delay1(70); DQ_HIGH(); delay1(5);
existence=DQ;//接收应答信号 delay1(20); return(existence); }
36
附录
bit read_bit(void)
{ static bit i; DQ_LOW(); DQ_LOW(); DQ_HIGH(); asm(\"nop\"); asm(\"nop\"); asm(\"nop\"); i=DQ; delay1(3); return(i); }
void write_bit(uchar bitval)
{ DQ_LOW();
delay(1); if (bitval==1) {
DQ_HIGH(); } delay1(3); DQ_HIGH(); }
unsigned char read_byte(void) {
uchar i; uchar j;
uchar value=0; for (i=0;i<8;i++) {
j=read_bit();//调读位函数 if (j)//如果是 1 置1 { value= value| (0x01<}//否则置 0 return(value); }
void write_byte(uchar val) {
uchar i;
uchar temp; for (i=0;i<8;i++) {
temp=val>>i;
37
河北大学工学硕士学位论文
temp&=0x01;
write_bit(temp);//调写位函数 }
asm(\"nop\"); asm(\"nop\"); asm(\"nop\"); }
void tem_caiji(void) { delay(1);
while (reset()); write_byte(0XCC);
write_byte(0X44);
delay1(25);//延时100-300us do { ; }
while( reset()); write_byte(0XCC); write_byte(0XBE);
tplsb=read_byte(); tpmsb=read_byte(); DQ_HIGH();//释放总线 }
发射主函数:
main() {
unsigned char SendBuf[2], i,sendtest; gPANID[0] = 0x51; gPANID[1] = 0x52; g64Address[0] = 0x51; g64Address[1] = 0x52; g64Address[2] = 0x5a; g64Address[3] = 0x00; g64Address[4] = 0x00; g64Address[5] = 0x00; g64Address[6] = 0x00;
g64Address[7] = 0x00;//64位IEEE长地址 for(i=0;i<8;i++) {
pDestAdd[i]=g64Address[i]; }
pDestAdd[2]=0x5b;
init_2400();//对UZ2400初始化 EnablePA();//打开功率放大器 LowPower();//低功耗设置
EnableLNA();//打开低噪声放大器
FillPANID(gPANID);//填充个域网标示符
Fill64Address(g64Address);//填充64位IEEE长地址 spi_ws(0x36,0x02);//RF tx mode tem_caiji(); //温度采集 SendBuf[0]=tplsb;
38
附录
SendBuf[1]=tpmsb;
Send64Address(10,SendBuf,pDestAdd);
接收主函数:
main() {
unsigned char i; while(1) { P00=1; no1();
spi_ws(0x36,0x00); SCON=0x40; PCON=0; REN=1;
TMOD=0x20; TH1=0xe8; TL1=0xe8; TR1=1;
for(i=0;i<19;i++) {
senddata[0]=0xff; SBUF=senddata[i]; while(TI==0); TI=0; }}}
39
河北大学工学硕士学位论文
致 谢
在攻读硕士学位期间,自始至终得到导师陆原高级工程师在学习研究上给予的悉心指导和在生活中给予的热心帮助。陆老师渊博的学术知识、开阔的科研视野、精益求精的科研和工作态度,给我留下了深刻印象,将使我受益终身。在此我衷心地向陆老师表示我深深的感谢和敬意。
同时感谢在我这两年的学习和生活中给予我大力支持和鼓励的学院老师和同学们,感谢在我论文研究工作中给予热心帮助的华北电力大学郭教授,是他们的帮助使我顺利而愉快的度过了三年的学习时光。
感谢我的家人和朋友,正是他们无私的亲情与关怀,才使得我在遇到困难的时候勇往直前。祝愿我的家人和朋友健康、平安。
感谢所有鼓励和帮助过我的朋友们,以及所有参加论文审阅和答辩的各位专家教授!
最后,向所有给予我帮助的河北大学的老师,领导,同学表示衷心的感谢。
40
攻读硕士学位期间发表论文情况
攻读硕士学位期间发表论文情况
[1] LU Yuan,JIAO Peng-peng,ZHANG Bin.The principle and realization of single-phase SPWM wave
based on the counter method.ICSEM 2012.2012 .10.20-21
41
因篇幅问题不能全部显示,请点此查看更多更全内容