0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于无线传感器网络技术实现msstatePAN协议栈的移植

电子设计 来源:单片机与嵌入式系统应用 作者:陈彦明;王秋光 2021-05-19 10:04 次阅读

无线传感器网络(Wireless Sensor Networks,WSN)是由多个节点组成的面向任务的无线自组织网络,一般不需要很高的信道带宽,但应具有较低的传输延时和极低的功率消耗,使用户能在有限的电池寿命内完成任务。IEEE 802.15.4/ZigBee标准把低功耗、低成本作为主要目标,为无线传感器网络提供了一种互连互通的平台。因此将ZigBee技术与无线传感器网络技术结合起来研究具有现实意义。

1 ZigBee技术的体系结构

在ZigBee技术中,其体系结构通常由层来量化它的各个简化标准。每一层负责完成所规定的任务,并且向上层提供服务。各层之间的接口通过所定义的逻辑链路来提供服务。ZigBee技术的体系结构主要由物理(PHY)层、媒体接入控制(MAC)层、网络/安全层以及应用框架层构成,其各层的分布如图1所示。

2 ZigBee技术的网络拓扑结构

ZigBee技术网络有2种拓扑结构:星型拓扑结构和对等拓扑结构,如图2所示。其中定义了两种设备:全功能设备(Full Funetion Device,FFD)和精简功能设备(Re—dueed Function Device,RFD)。与RFD相比,FFD在硬件功能上比较完备。在通信能力方面,FFD可以与所有其他的FFD或RFD通信,而RFD只能和与其关联的FFD进行通信。与RFD相关联的FFD设备称为该RFD的“协调器(Coordinator)”。在整个网络中,有一个FFD充当网络协调器(PAN Coordinator)。除直接参与应用外,网络协调器还需要完成成员身份管理、链路状态信息管理以及分组转发等任务。

本文移植的协议栈拓扑结构是对等拓扑网络中的一种——树簇网络。在树簇网络中大部分没备为FFD,RFD只能作为树枝末尾处的叶节点,这主要是由于RFD 一次只能连接一个FFD。任何一个FFD都可以作为主协调器,并为其他从设备或主设备提供同步服务。在整个PAN中,只要该设备相对于PAN巾其他设备具有更多资源,这样的设备都可以成为该PAN的主协调器。

在建立一个PAN时,首先,PAN主协调器将其自身设置为一个簇标识符(CID)为O的簇头(CLH)。然后,选择一个没有使用的PAN标识符,并向邻近的其他设备以广播的方式发送信标帧,从而形成第一簇网络。接收到信标帧的候选设备可以在簇头中请求加入该网络,如果PAN主协调器允许该设备加入,该设备就将主协调器作为它的父节点加到它的邻近表中,成为该网络的一个从设备;同样,其他设备都按照同样的方式,请求加入到网络中。如果候选设备不能加入到该网络中,那么它将寻找其他的父节点。在树簇网络中,最简单的网络结构是只有一个簇的网络,但是多数网络结构由多个相邻的网络构成。一旦第一簇网络满足预定的应用或网络需求,PAN主协调器将会指定一个从设备为另一个簇的簇头,使得该从设备成为一个主协调器。随后其他的从设备将逐个加入,形成一个多簇网络,如图3所示。

3 无线传感器网络的节点结构

本文移植的目标板是自行设计的无线传感器网络节点模块。其中,处理器模块采用Atreel公司的AT—megal28L,无线通信模块采用TI公司的CC2420,电源模块使用NCPl402芯片将2节电池进行DC—DC变换后得到,传感器模块采用DSl8820。

CC2420利用SFD、FIFO、FIFOP和CCA四个引脚表示收发数据的状态。ATmegal28L通过CC2420的SPI接口(CSn、SO、 SI、SCK)与CC2420交换数据、发送命令,利用RSTn引脚复位芯片;并且利用VREG_EN引脚使能CC2420的电压调整器,使其产生 CC2420所需要的1.8 V电压,从而使CC2420进入正常工作的状态。CC2420通过单极天线PCB天线进行通信。节点总体框图如图4所示。

4 zigBee协议栈的移植

4.1 msstatePAN协议栈的移植

msstatePAN协议栈是由密西西比大学的R.Reese教授为广大无线技术爱好者开发的精简版ZigBee协议栈,基于标准C语言编写,基本具备了 ZigBee协议标准所规定的功能,最新版本为V0.2.6,该版本支持多种开发平台,包括PICDEM Z、CC2430评估板、MSP430+CC2420(Tmote)以及WIN32虚拟平台。由于该协议栈的上述特点以及源代码的开放性,本文选择它作为学习和移植的对象。

移植是将msstatePAN协议栈在PICDEM Z平台下的代码移植到上面设计的目标板中,采用winavr20070525作为编译器,并通过JTAG接口将程序下载到目标板中。下面介绍一下移植过程。

(1)编写makefile文件

winavr 20070525采用GCC编译器,要编写makefile文件以完成程序的编译。指定MCU为ATmegal28,定义CPU工作频率F_CPU为8 000 000 Hz;定义编译后生成的文件类型FORMAT为ihex;将TARGET改为项目主文件的文件名,由于后面测试用ing_pong.c这个文件,此处将 TARGET定义为ping_pong;最后定义SRC,在SRC中应包含整个项目中的所有文件,并且各个文件名之间要用空格格开。协议栈为规定当前编译器编译的是协调器代码、IEEE 64位长地址等,要用到LRWPAN_COORDINATOR等宏定义,因此要在makefile文件中加入相应的宏定义代码。

(2) 替换与编译器相关的定义

本移植用的是GCC编译器,所以要将与PIC编译器相关的代码进行替换,为此修改compiler.h头文件及特定编译器的数据定义。例如对ROM数据类型进行替换,或者直接删除该数据类型。

(3)移植与硬件平台相关的部分

该部分代码涉及的都是最底层的东西,通过对协议栈的透彻理解,总结出要修改的文件有halStack.c、hal.h、halHeepSpace.h、cc2420.c/.h、 evboard.c/.h、evbRadio.h、evbConfig.h等。其中halStack.c和evboard.c两个文件改动很大。这两个文件中包括硬件接口定义、串口定义、LED灯定义、硬件系统初始化定义,以及中断处理函数和协议栈时钟函数的实现。首先移植中断处理函数,注意采用下降沿触发中断。其次,移植协议栈时钟,目标板用ATmegal28L的定时器1作为协议栈的运行时钟。由于单片机采用8 MHz晶振,当定时器使用64分频时(At—megal28L定时器1没有128分频),此时定时器计数一次所需要的时间为8μs,而在协议栈中每传输一个符号(symbo1)所需要的时间为16μs,故将定时器计数2次定义为一个symbol时间。所以在设计中,要修改hal—MacTicksToUs 函数及SYMBOLS_TO_MACTICKS(x)和MSECS_TO_MACTICKS(x)宏定义。

(4)对协议栈内部各层进行适当修改

这部分的移植工作与第3步相比简单些,一些与硬件联系紧密的MAC层和PHY层相关的函数都放在ev—board.c和halStack.c文件中。具体分析如下:

①根据自己的需求修改协议栈需要的堆栈,协议中默认为l 024字节,可以根据实际情况做些调整。

②debug.c函数中的一些定义在运行时需要大量RAM,如果选择编译的是协调器,则整个协议栈需要RAM存储单元大于6KB,而ATmagal28L 内部只有4 KB RAM,为此屏蔽了一些调试显示信息,以达到系统要求。

③修改staticbind.h函数,由于该协议栈是静态分配地址,而该函数的作用就是定义其地址,所以该函数在整个协议栈运行中至关重要。首先要考虑其地址是不是和makefile中定义的相吻合,如果不吻合应进行相应修改,否则CC2420地址译码就通不过,以至于无法建立网络。其次,应该确定数据存储是按大端模式还是小端模式,如果弄反了,地址就会不一样。ATmegal28L是小端模式,这和PIC单片机是一致的,因此不需要修改,但要修改函数中的宏定义,让编译器选择相应的程序进行编译,生成正确的地址。

(5)编译下载

通过上面的移植,程序应该能正确进行编译以及链接,生成HEX文件;再用AVRStudio4.12软件将程序下载到相应节点中,进行协议栈测试。

4.2 测试方法

为了测试协议栈移植是否成功,采用2个节点进行实验。其中,一个作为协调器,另一个作为RFD设备节点。在makefile中设定协调器的IEEE地址为 Ox001248000001216F,RFD设备的IEEE地址为0x0012480000012170,并使用ping_pong.c文件提供的功能进行测试。

首先完成网络的建立,协调器调用aplFormNetwork()函数建立一个网络;然后等待RFD设备的加入,RFD设备调用 aplJoinNetwork()函数申请加入网络。在网络建立成功后执行ping_pong过程,该过程就像打乒乓球一样,先是协调器发送数据给RFD 设备,RFD设备接收到信息后回发给协调器。如此往返.这也是文件名为ping_pong的原因,具体程序流程如图5所示。

编译、链接ping_pong.c文件时务必注意:如果是协调器,—定要加入宏LRWPAN_COORDINATOR,否则编译的程序为RFD设备的程序。编译完成后,将生成的文件分别下载至各节点,并将节点连接到串口调试助手,按程序要求设置串口调试助手的参数,如波特率、数据位长度等。完成这些设置后,分别打开各节点,首先启动协调器节点,然后再启动RFD设备节点。图6是协凋器连接的串口调试助手的显示信息。

从图6中可以知道,节点Ox0012480000012170加入到网络,其IEEE的长地址为Ox0012480000012170;协调器分配给该节点的短地址为Oxl699,协调器有一个邻居节点,2个节点之间已经开始数据的传送。由此可见,移植成功。

结语

无线传感器网络是一门新兴的技术,目前传感器网络硬件节点价格比较昂贵,软件支持也有不足。如果能移植一个相对成熟的协议栈,将最大限度地降低节点成本。本文就是从这个角度出发,设计出了相应的硬件平台,并成功移植了msstatePAN协议栈,从学习和科研角度考虑具有借鉴意义。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2525

    文章

    48120

    浏览量

    740160
  • 无线
    +关注

    关注

    31

    文章

    5304

    浏览量

    171471
  • 电池
    +关注

    关注

    82

    文章

    9816

    浏览量

    123545
收藏 人收藏

    评论

    相关推荐

    无线传感器网络技术及应用现状

    无线传感器网络技术及应用现状摘 要:无线传感器网络是当前信息领域的一个研究热点。本文总结
    发表于 10-26 16:22

    无线传感器网络技术对现代城市发展影响的若干关键应用分析

    节点变得越来越廉价。由数量不等的无线传感器节点构建的无线传感器网络正被广泛配置在各种不同领域的应用【关键词】:
    发表于 04-24 10:05

    无线传感器网络技术发展现状

    无线传感器网络技术发展现状
    发表于 08-14 22:31

    通信、网络技术会议

    层面(MUD)无线资源管理和分配认知无线电和软件无线电卫星与空间通信多媒体通信多址接入技术光通信网络技术
    发表于 04-25 17:08

    浅谈无线传感器技术的选择

    无线传感器网络构架第三部分应用软件,这部分包括各种根据用户现有开发的软件代码,这些代码目前大部分是采用C语言来进行开发,可以之间以接口和API方式,调用软件协议
    发表于 11-05 16:04

    无线传感器网络标准化与协议分析

    ;工业界也在环境监测、军事目标跟踪、智能家居、自动抄表、灯光控制、建筑物健康监测、电力线监控等领域进行应用探索。随着应用的推广,无线传感器网络技术开始暴露出越来越多的问题。不同厂商的设备需要
    发表于 11-08 15:51

    无线传感器网络的特点和关键性问题

    一、引言 无线传感器网络是一种独立出现的计算机网络,它的基本组成单位是节点,这些节点集成了传感器、微处理
    发表于 06-25 07:26

    无线传感器网络简单介绍

    无线传感网络技术是典型的具有交叉学科性质的军民两用战略高技术,可以广泛应用于GF军事、国家安全、环境科学、交通管理、灾害预测、医疗卫生、制造业、城市信息化建设等领域。
    发表于 07-01 06:25

    无线传感器网络有什么难题?

    微小的、资源非常有限的无线传感器网络节点是无传感器网络的基本功能单元,担负着信息采集、数据处理、信息传输等重任。随着MEMS
    发表于 11-04 08:15

    基于S12的无线传感器网络样机的系统设计

    能耗。本文以无线传感器网络技术为理论依据,以教学样机系统为开发目标,提出了以MC9S12DT128为核心处理,由蓝牙无线通信协议
    发表于 04-28 06:49

    无线传感器网络技术在人体参数采集中的应用有哪些

    的测量;在模拟环境(人工气候室)下对真人或假人体表温湿度的测量,根据测量值给出主客观评价。在进行真实环境下人体穿着动态实验时,无线数据采集传输方式会带来很大方便。无线传感器网络技术发展
    发表于 08-27 06:55

    无线传感器网络技术有哪些好处

    无线传感器网络技术有哪些好处?无线传感器网络技术的应用
    发表于 03-17 08:30

    无线传感器网络技术环境应用进展

    无线传感器网络技术环境应用进展摘要: 过去10 年来, 无线传感器网络迅速发展成一门应用
    发表于 05-28 15:00 33次下载

    无线传感器网络技术

    无线传感器网络技术 无线传感器网络(Wireless Sensor Net
    发表于 01-09 12:59 801次阅读

    无线传感器网络技术及设计应用

    本专题为你讲述无线传感器网络技术及其相关设计应用。内容涵盖无线传感器网络含义、体系结构、通信标准
    发表于 10-26 18:01
    <b class='flag-5'>无线</b><b class='flag-5'>传感器</b><b class='flag-5'>网络技术</b>及设计应用