无线传感网络课程设计.docx
《无线传感网络课程设计.docx》由会员分享,可在线阅读,更多相关《无线传感网络课程设计.docx(11页珍藏版)》请在冰豆网上搜索。
无线传感网络课程设计
第一章绪论
无线传感器网络(Wireless Sensor Network, WSN)是信息感知和采集的一场革命,将给人类的生活方式带来颠覆性的改变。
2003年美国《商业周刊》将无线传感器网络列入四大新技术之一,美国《技术评论》将无线传感器网络列为未来新兴十大技术之首。
无线传感器网络经过四代的发展,综合了通信技术、嵌入式计算技术、分布式信息处理技术和传感器技术,使机器具备触摸世界的皮肤,使机器具备灵魂!
无线传感器网络使人们Anywhere&Anytime都能获取详实、可靠的信息,实现“无处不在的计算”梦想,它在国防军事、环境监测和医疗卫生等领域具有庞大的生命力。
无线传感器网络让Anywlan的梦想——随时随地无线——不只是一个美丽的梦,它在未来将是如此真实地存在着——在每个人的身边。
将它作为本月专题,翼望促进无线传感器网络技术的发展和普及,实现人类生活的革命。
本专题涵盖无线传感器网络研究领域的主要方向,包括无线传感器网络的通信协议、节能管理、数据管理、安全性与可靠性等。
而从上世纪末开始,现场总线技术开始应用于传感器网络,人们用其组建智能化传感器网络,大量多功能传感器被运用,并使用无线技术连接,无线传感器网络逐渐形成。
无线传感器网络(Wireless Sensor Network, WSN)是信息感知和采集的一场革命,将给人类的生活方式带来颠覆性的改变。
2003年美国《商业周刊》将无线传感器网络列入四大新技术之一,美国《技术评论》将无线传感器网络列为未来新兴十大技术之首。
无线传感器网络经过四代的发展,综合了通信技术、嵌入式计算技术、分布式信息处理技术和传感器技术,使机器具备触摸世界的皮肤,使机器具备灵魂!
无线传感器网络使人们Anywhere&Anytime都能获取详实、可靠的信息,实现“无处不在的计算”梦想,它在国防军事、环境监测和医疗卫生等领域具有庞大的生命力。
无线传感器网络让Anywlan的梦想——随时随地无线——不只是一个美丽的梦,它在未来将是如此真实地存在着——在每个人的身边。
将它作为本月专题,翼望促进无线传感器网络技术的发展和普及,实现人类生活的革命。
本专题涵盖无线传感器网络研究领域的主要方向,包括无线传感器网络的通信协议、节能管理、数据管理、安全性与可靠性等。
无线传感器网络是新一代的传感器网络,具有非常广泛的应用前景,其发展和应用,将会给人类的生活和生产的各个领域带来深远影响。
发达国家如美国,非常重视无线传感器网络的发展,IEEE正在努力推进无线传感器网络的应用和发展,波士顿大学(BostonUnversity)还于最近创办了传感器网络协会(SensorNetworkConsortium),期望能促进传感器联网技术开发。
除了波士顿大学,该协会还包括BP、霍尼韦尔(Honeywell)、InetcoSystems、Invensys、L-3Communications、MillennialNet、Radianse、SensicastSystems及TextronSystems。
美国的《技术评论》杂志在论述未来新兴十大技术时,更是将无线传感器网络列为第一项未来新兴技术,《商业周刊》预测的未来四大新技术中,无线传感器网络也列入其中。
可以预计,无线传感器网络的广泛是一种必然趋势,它的出现将会给人类社会带来极大的变革。
虽然无线传感器网络的大规模商业应用,由于技术等方面的制约还有待时日,但是最近几年,随着计算成本的下降以及微处理器体积越来越小,已经为数不少的无线传感器网络开始投入使用。
目前无线传感器网络的应用主要集中在以下领域:
1、环境的监测和保护
2、医疗护理
3、军事领域
第二章ZigBee网络节点设计
ZigBee可以组成星形、网状、树形的网络拓扑,可用于无线传感器网络(WSN)的组网以及其他无线应用。
ZigBee工作于2.4GHz的免执照频段,可以容纳高达65000个节点。
这些节点的功耗很低,单靠2节5号电池就可以维持工作6~24个月。
ZigBee协议由ZigBee联盟制定,是ZigBee的核心。
目前国外带有ZigBee协议栈的全功能开发系统的价格非常高昂,而且ZigBee/802.15.4协议栈全部只提供二进制/不可修改的目标代码库供用户使用。
ZigBee精简版协议栈代码开放,在某些应用中可以达到标准版协议栈的效果,但是费用却低很多,因此应用十分广泛。
2.1、1ZigBee精简协议栈简介
美国密西西比州立大学的RobertReese教授出于教学、科研目的开发出一套精简版(subset)ZigBee协议栈。
标准协议栈和精简协议栈的功能对比如表1所列,可以看出,精简协议栈实现了ZigBee的主要功能。
国内一些研究机构在此精简协议上进行扩充,实现了一些其原本不具备的功能。
协议栈术语:
IEEEAddress节点的8位802.15.4网络地址,也称为长地址。
NetworkAddress节点的2位网络地址,也称短地址。
PAN个人局域网。
PANID个人局域网标识符。
HAL协议栈物理抽象层。
PHY协议栈物理层。
MAC协议栈媒体访问控制层。
NWK协议栈网络层。
APS协议栈应用支持层。
APL协议栈应用层。
2.2、节点程序设计
如果节点作为协调器(coordinator),那么需要定义LRWPAN_COORDINATOR;而如果节点作为路由器(router)则需要定义LRWPAN_ROUTER;如果两者都没有定义,将作为RFD节点。
协调器节点形成网络,然后进入一个无限循环并调用apsFSM()运行协议栈。
调用aplFormNetwork()服务后调用函数aplGetStatus(),如果返回了LRWPAN_SUCCESS则表示服务调用成功。
代码如下:
main()
{
halInit();//初始化HAL层
evbInit();//初始化评估板
aplInit();//初始化协议栈
ENABLE_GLOBAL_INTERRUPT();//开中断
aplFormNetwork();//形成网络
while(apsBusy)()){apsFSM();}//等待完成
while
(1){apsFSM();}//运行协议栈栈}
路由器节点通过调用aplJoinNetwork()运行协议栈。
代码如下:
main()
{halInit();//初始化HAL层
evbInit();//初始化评估板
aplInit();//初始化协议栈
ENABLE_GLOBAL_INTERRUPT();//开中断尝试接入网络直至成功
do{aplJoinNetwork();//接入网络
while(apsBusy)()){apsFSM();}//等待完成}
while(aplGetStatus()!
=LRWPAN_SUCCESS);
while
(1){apsFSM();}//运行协议栈}
2.3、发送消息
应用程序通过调用aplSendMSG()函数发送消息包。
此函数的定义如下:
aplSendMSG
(
BYTEdstMode,//目标地址的地址模式
LADDR_UNION*dstADDR,//目的地址的指针
BYTEdstEP,//目标端点(直接消息方式不用)
BYTEcluster,//簇号(仅用于直接消息)
BYTEscrEP,//消息源端点
BYTE*pload,//用户数据缓冲区指针
BYTEplen,//缓冲区字节数
BYTEtsn,//消息的事务队列数
BYTEreqack//如果非0则要求确认
)
消息从源节点的源端点发送到目标节点的目标端点。
消息分直接消息(指定了目标地址)和非直接消息(仅定义了源节点、源端点和簇,没有指定目标地址)。
端点号从1到255由应用程序设置(端点0由栈保留使用)。
消息发送以,协议栈会向父节点路由此消息。
如果收到APS的ack确认,协议栈就会将消息发送给目标端点。
2.4、接收消息
协议栈使用以下APL访问函数接收数据包。
aplGetRxDstEp()返回目的端点
aplGetRxCluster()返回簇号
aplGetRxSrcEp()返回源端点
aplGetRxSADDR()返回源端点的短地址
aplGetRxMsgLen()返回消息长度
aplGetRxMsgData()返回消息数据的指针
aplGetRxRSSI()返回收到消息的信号强度
第三章温度数据采集节点的设计
3.1、DS18B20的测温原理
DS18B20的测温原理:
低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
图3—1DS18B20原理图
另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数
3.2、DS18B20温度传感器的特点
(1)、只要求一个端口即可实现通信。
(2)、在DS18B20中的每个器件上都有独一无二的序列号。
(3)、实际应用中不需要外部任何元器件即可实现测温。
(4)、测量温度范围在-55。
C到+125。
C之间。
(5)、数字温度计的分辨率用户可以从9位到12位选择。
(6)、内部有温度上、下限告警设置。
3.3、DS18B20的引脚介绍
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
图3-2DS18B20详细引脚功能描述
3.4、DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的复位时序
图3-3DS18B20时序复位图
DS18B20的读时序
对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
图3-4DS18B20的读时序
DS18B20的写时序
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
图3-5DS18B20的写时序
3.5、节点的温度数据采集
main()
{
unsignedcharTH=110,TL=-20;
unsignedcharw;
SCON=0x40;
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
TR1=1;
while
(1)
{pt=ReadTemperature(TH,TL,0x3f);
delay(100);
covert1();
for(w=0;w<7;w++)
{SBUF=TempBuffer1[w];
while(TI==0);
delay1ms(500);
TI=0;
}}}
3.6、cc2430核心芯片
图2-1CC2430芯片的典型硬件应用电路。
图3-2-2系统模拟数据采样
(1)图3-2-3系统模拟数据采样
(2)
参考文献
[1]郁有文常健《传感器原理及工程应用》西安电子科技大学出版社2001年
[2]何希才《传感器及其应用电路》电子工业出版社2001年
[3]陈杰黄鸿《传感器与检测技术》高等教育出版社2002年
[4]方佩敏《新编传感器原理.应用.电路详解》电子工业出版社1994年
[5]贾伯年俞朴《传感器技术》东南大学出版社1992年
[6]栾桂冬等《传感器及其应用》西安电子科技大学出版社2002年
[7]M.Elwenspoek,R.Wiegerink著,陶家渠等译,《RamonPallas-Areny》中国宇航出版社,2003