6LoWPAN传感器节点的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. Changshu Institute of Technology, Jiangsu, Changshu 215500)
Abstract: This paper proposes the design scheme of a 6LoWPAN sensor node
and expounds the hardware and software design of the sensor node. In a small-scale experimental platform the performance parameters of the sensor node, including packet reception rate, average delay time and average consuming-energy, are compared and analyzed. The experimental data demonstrate that the sensor node can perform the connection with an IPv6 node very well and can ensure the continuity of the communication. Key Words:Sensor network, Sensor node, Adaption layer, protocol 1 前言
不分片报文头部格式:
2bit
1bit 5bit IPv6 Packet
LF Pro_Type RSV Payload
LF:链路分片(Link Fragment),其中00表示不分片,01表示第一 片,10表示最后一片,11表示中间分片,此处为00;Pro_Type:指出 Payload中IPv6头部是否为压缩类型,0表示未压缩的IPv6头部,1表示压 缩头部;RSV:保留,全部设置为0;Payload:适配层的负载部分,内 容为IPv6数据包。为了节省空间,适配层并不设置地址字段,它可以通 过硬件抽象层从帧头部获取地址信息。
2 6LoWPAN传感器节点的设计 2.1 概述
传感器节点与IPv6节点实现全IP互联时,它必须实现IPv6协议。但 是在硬件资源受限的传感器节点上实现完整的IPv6网络协议是不可能 的,因此必须对IPv6协议栈进行裁减,此外,本系统中的传感器网络是 基于6LoWPAN的,所以链路层采用IEEE802.15.4帧格式。这样,传感 器节点就必须完成以下两个任务:1)实现精简的IPv6网络协议;2)实 现IPv6数据报文在IEEE802.15.4帧的传输。 2.2硬件设计
2.3软件设计 6LoWPAN传感器节点的软件结构框架如图2所示。
应用层
适配层
硬件抽象层
图2 软件结构框架
其中,硬件抽象层实现小节2.2中所描述的在硬件层面的数据发送 和接收等功能;适配层实现IPv6数据包分片以及分片重组等功能;应用 层主要实现精简IPv6网络协议等功能。 2.3.1硬件抽象层的设计
字节数:1
可变
头部控制
IPv6头部和IPv6报文载荷
图4精简的IPv6报文格式
1bit
2bit
1bit
Version,Traffic Class,Flow Label
Next Header
S_Addr
图5 IPv6头部控制域
1bit 3bit D_Addr RSV
IPv6头部控制域中每个比特位的具体含义如下: Version、Traffic Class、Flow Label: 0:上述三个字段在报文中仍然存在,没有压缩;1:报文中存在上 述三个字段,并且默认值为Version=6,Traffic Class=0,Flow Label=0; Next Header: 00:没有压缩,即在Payload中存在Next Header域;01:在Payload 中不存在Next Header域,并且IPv6载荷是ICMPv6报文;10:在Payload 中不存在Next Header域,并且IPv6载荷是UDPv6报文;11:预留,(因 为无线传感器网络一般不实现TCP); S_Addr: 0:没有压缩,即在报文中是128比特;1:压缩地址,即16位短地
装,否则,对IPv6数据包进行分片,并分别用第一片报文头部与后继报 文头部对其进行封装,最后将封装之后的数据(即帧实体数据)发送给 硬件抽象层处理;
2)适配层从硬件抽象层获取数据,并分析适配层头部结构,如果 是分片报文,适配层将等待其他报文的到来,并负责将同一个IPv6报文 中的分片报文进行重组,最后将整个IPv6报文提交给应用层处理。 2.3.3应用层的设计
当WSN接入承载IPv6的以太网实现传感器节点与IPv6节点之间的全 IP互联方式时,传感器节点必须实现IPv6协议,但是传感器节点受自身 硬件资源以及部署环境中网络基础设施等条件的限制,实现完整的IPv6 网络协议几乎是不可能的。
在这种情况下,本文提出了一种6LoWPAN传感器节点设计方案,此 方案讨论了传感器节点的硬件与软件设计,实现了传感器节点与IPv6节 点的互联。下面对此设计方案进行详细论述。
传感器节点采用如下配置: 1)MCU(Micro Controller Unit):ATmega128L处理器,8位低 功耗、高性能的微处理器;具有片内128 KB 的程序存储器( FLASH); 4KB的数据存储器(SRAM,可外扩到64KB)和4 KB的EEPROM;8个10位ADC 通道;2个8 位和2个16位硬件定时/计数器,可在多种不同模式下工 作;8个PWM 通道、可编程看门狗定时器和片上振荡器、片上模拟比较 器;JTAG、UART、SPI、I2C等总线接口。 2)射频芯片:CC2420为2.4GHz IEEE802.15.4标准的射频收发器; 以0.18um CMOS工艺制成,性能稳定且功耗极低;支持数据传输率高达 250kbps;内部含有368字节的RAM,被分为3个bank,其中,bank0大小 为128个字节的,用于存放待发送的数据,bank1大小为128个字节,用 于存放CC2420接收到的数据,bank2大小为112个字节,用于存储 CC2420的16位网络地址、64位IEEE地址及密钥等一些信息;内部有50 个寄存器,其中状态和配置寄存器33个,用于设置CC2420的工作模 式,命令寄存器15个,对不同的命令寄存器写入特定格式的命令字,就 会执行相应的动作,其余2个是用来访问TXFIFO和RXFIFO的8位数据寄 存器,可以通过这两个寄存器读写TXFIFO和RXFIFO中的数据。 传感器节点的硬件接口图如图1所示。
入RAM中的128字节缓存区进行相应的帧封装和帧拆除操作,即硬件自
动产生和去除同步帧,以及当MODEMCTRL0.AUTOCRC控制位置位
时,帧校验序列自动产生2字节,并由CC2420硬件自动插入帧
中。ATmega128L需要CC2420发送数据时,它首先通过写TXFIFO寄存
器把需要发送的数据包按字节依次写入到发送缓存区TXFIFO中,依次
2bit 1bit
13bit
1Byte IPv6 Packet
LF Pro_Type Identification F_Offset Payload
LF:链路分片(Link Fragment),此处为10或11; F_Offset:指出分片报文偏移原始数据包开始处的位置,偏移的字 节数是此字段值乘以8。 本系统中,适配层实现如下功能: 1)适配层从应用层接收数据,并根据IPv6数据包的大小来确定是 否需要分片,如果不需要分片,则用不分片报文头部对数据包进行封
为数据帧的帧长度[1B]、帧控制字段[2B]、序列号[1B]、PAN标识符
[2B]、目标地址[2B]、源地址[2B]、有效载荷[(帧长度-(2+1+2+2+2)]和
帧校验序列[2B],然后选通寄存器STXON或STXONCCA,等待信道空
闲时从无线信道发送。当CC2420接收到数据包时,把接收到的数据存
6LoWPAN传感器节点的设计与实现
王晓喃1,2钱焕延1唐振民1 (1. 南京理工大学,江苏 南京 210094 2.常熟理工学院,江苏 常熟
215500) 摘要:本文提出了一种基于6LoWPAN的传感器节点的设计方案,对节点 中的硬件与软件设计进行了详细的论述与讨论。在小型实验平台上对本 节点的数据包接收率、平均延迟时间以及平均消耗能量等性能参数进行 了比较分析。实验数据表明,本节点能很好地实现与IPv6节点的互联并 保证其连续性。 关键词:传感器网络,传感器节点,适配层,协议
无线传感器网络(WSN)已经成为当前国际上备受关注的、知识高 度集成的前沿热点研究领域之一。就WSN而言,它必须和一个外部网络 连接在一起,使外部网络可以监测和控制WSN才具有更真实的意义。无 论从地理范围还是从网络规模来讲,Internet都是最大的网络, 此外 IPv6的很多良好特性使得某些WSN的应用成为可能,因此实现WSN和IPv6 Internet网络互联具有重大意义。
入到接收缓存区RXFIFO,同时改变FIFOP引脚的状态,处理器通过FIFOP
的引脚中断读RXFIFO寄存器依次读取整个数据包。
表1 IEEE802.15.4数据帧格式
同步帧
PHY头 帧
MAC帧
前导 帧起始 帧长度 帧控 序列 地址 帧实 帧校验
序列 分隔符
制号
体 序列
Βιβλιοθήκη Baidu
4B 1B
1B 2B 1B 6B nB 2B
IEEE802.15.4帧所能包含的字节数(127byte),因此,在传感器网络中
传输一个完整的IPv6数据包时必须对其进行分片处理。IPv6将分片重组 信息放在扩展头部,而在6LoWPAN中的IPv6头部包含扩展头部势必带 来不小的开销,因此本方案将IPv6分片信息放在适配层。本方案设计了 2种适配层头部:不分片报文头部与分片报文头部,其中,分片报文头 部中又分为第一片报文头部与后继报文头部。
分片报文的第一片报文头部格式:
2bit 1bit
13bit IPv6 Packet
LF Pro_Type Identification Payload
LF:链路分片(Link Fragment),此处为01; Identification:此字段唯一标识一个被分片的IPv6数据包,该值在 IPv6数据包的每个分片中的值都相同。 分片报文的后继报文头部格式:
本系统对IPv6报头进行如下精简:由于传感器节点的报文处理比较 简单,故不实现扩展头部。另外,IPv6报文头部的Version、Traffic Class和Flow Label域一般情况下都是常数,因此可以对Version、Traffic Class、Flow Label以及Next Header域进行压缩。本系统为IPv6报文引入 一个控制域,在控制域后是IPv6头部和IPv6报文载荷,具体的报文格式 如图4所示,控制域定义了IPv6报文头部各个域的格式,具体内容如图5 所示。
本系统中,硬件抽象层的功能为:
1) 从无线接口接收IEEE802.15.4数据帧,并将帧实体提交给适配层处 理;
2) 从适配层接收帧实体数据,并用IEEE802.15.4帧头对帧实体进行封 装,通过无线接口发送出去,这里,IEEE802.15.4帧头中的源地址 为传感器节点的16位短地址。
2.3.2适配层的设计 在6LoWPAN中,由于IPv6数据包支持的最小值(1280byte)大于
图1 传感器硬件接口图
CC2420通过4线SPI总线(SI, SO, SCLK, CSn)设置芯片的工作模式,
并实现读/写缓存数据及状态寄存器等操作,CC2420通过控制FIFO和
FIFOP管脚接口状态来设置发射/接收缓存器。CC2420为 IEEE802.15.4
数据帧格式(如表1所示)提供了硬件支持,发送或接收的数据帧被送
Design and Implementation of a 6LoWPAN Sensor Node
Wang Xiaonan1,2 Qian Huanyan1 Tang Zhenmin1 (1. Nanjing University of Science & Technology, Jiangsu, Nanjing 210094
相关文档
最新文档