当前位置:首页 > 通信技术 > 通信技术
[导读]在无线传感器网络节点上移植了msstatePAN协议栈,并用2个节点完成组网,实现了网络协调器和设备节点的数据互传,验证了无线传感器网络节点硬件设计的合理性和协议栈移植的正确性。

无线传感器网络(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协议栈,从学习和科研角度考虑具有借鉴意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

亘喜生物科技集团宣布正在中国开展的、旨在全面评估GC007g治疗复发/难治性急性B淋巴细胞白血病效果的1/2期注册性临床试验顺利进入2期研究阶段,首例入组患者已给药。GC007g是亘喜生物旗下的一款靶向CD19的供者来源...

关键字: 移植 CD

北京2022年9月9日 /美通社/ -- 诺诚健华(香港联交所代码:09969)今天宣布,tafasitamab (Minjuvi®)联合来那度胺治疗不适合自体干细胞移植 (ASCT) 条件的复发/难治弥漫性大B...

关键字: VI NJU BSP 移植

"企业数字化运营解决方案" 收入在封城影响下仍然取得同比增长 "企业数字化运营解决方案"收入占比创新高达36% 香港2022年8月...

关键字: ICL CK STATE 数字化

苏州2022年8月19日 /美通社/ -- 近日,华中科技大学同济医学院附属协和医院心外科董念国教授团队运用与心擎医疗联合研发的短中期体外全磁悬浮心室辅助装置MoyoAssist®,成功救治三例危重的终...

关键字: 磁悬浮 移植 IC 静脉

上海2022年8月17日 /美通社/ -- 2022年8月16日,聚焦于基因和细胞治疗的上海邦耀生物科技有限公司(以下简称"邦耀生物")宣布,其...

关键字: CD 移植 BSP ISP

上海2022年8月16日 /美通社/ -- 近日,杭州涂鸦信息科技有限公司(以下简称"涂鸦智能",NYSE:TUYA)旗下Zigbee模组(型号:ZSU、...

关键字: Zigbee 网络安全 TI ST

目前大多数物联网(IoT)的节点都是使用ZigBee来进行组网的,然后通过gateway(网关)来连接网络。但是ZigBee的优势并不明显,也有很多公司正在开发新的模块来代替它,例如蓝牙、WiFi、GPRS/3G/4G等...

关键字: 物联网 Zigbee 物联风

(全球TMT2022年7月28日讯)近日,以"创新驱动新变革,数字引领新格局"为主题的第五届数字中国建设峰会在福州举办,浪潮网络作为集团战略的重要成员,携CN9408H、CN9300系列交换机产品亮相现场,并展示了浪潮...

关键字: 网络 网络平台 数字化 Zigbee

合作将为生物制药公司提供 Guardant Health 系列肿瘤检测产品,以推进临床试验开展和创新药物开发。 中国杭州和新加坡2022年7月6日 /美通社/ -- 中国领...

关键字: HEALTH AN STATE BSP

苏州2022年6月28日 /美通社/ -- 2022年6月23日,首都医科大学附属北京安贞医院(以下简称安贞医院)与苏州心擎医疗技术有限公司(以下简称心擎)在北京、苏州两地线上连线,隆重召开体外心室辅助系统临床...

关键字: BSP 磁悬浮 创始人 移植

通信技术

120634 篇文章

关注

发布文章

编辑精选

技术子站

关闭