TinyOS在CC2530下移植及AODV路由协议实现_第1页
TinyOS在CC2530下移植及AODV路由协议实现_第2页
TinyOS在CC2530下移植及AODV路由协议实现_第3页
TinyOS在CC2530下移植及AODV路由协议实现_第4页
TinyOS在CC2530下移植及AODV路由协议实现_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、tinyos在cc2530下移植及aodv路由协议实现摘要:首先介绍了以ti的无线传感器网络芯片cc2530 为核心部件的节点硬件实现,接着介绍tinyos操作系统的 运行机制及其在cc2530平台下的移植过程;并在此基础上 以nesc语言实现了 aodv路由协议,最后对系统进行组网测 试,测试结果表明平台各功能正常运行并且实现aodv协议 的基本功能。关键词:无线传感器网络;tinyos; cc2530; aodv中图分类号:tn71134文献标识码:a文章编号:1004 373x(2012)09 004104收稿日期:2012 01 06基金项目:教育部博士点基金(201001211200

2、20)0引 言无线传感器网络(wireless sensor network)是由具有 感知、计算和通信能力的大量微型传感器节点组成1,被 广泛地应用于国防军事、环境监测等领域。加州大学 berkeley分校设计的基于事件驱动、组件模块化的无线传感 器网络操作系统tinyos具有核心程序小、对硬件要求低等 优势,但它不支持功能强大的无线传感网络芯片cc2530,为 此需要将tinyos移植至cc2530平台,以使其得到更好的应 用。同时为了节省传输能量,需要采用相应的路由协议,以 多跳中继的方式将数据经由多个节点组成的路由传回汇聚 节点或基站2。本文选用ti的cc2530作为传感器节点的核心部

3、件,采 用tiny os操作系统作为软件平台,成功将tiny os移植至 cc2530平台,并添加了 timer. uart、rf等组件;在移植的 平台上,以nesc语言实现了 aodv路由协议,并且实现了传 感器节点的组网,数据包的多跳转发;为tinyos和aodv的 研究和应用奠定基础。1无线传感器网络系统结构1.1传感器节点硬件结构传感器节点一般由供电单元、数据采集单元、数据处理 单元(由微控制器和存储器组成)、无线通信单元组成。其中, 数据处理单元中的微控制器负责对其他三个单元的控制。本文的系统采用无线传感器网络节点芯片cc2530作为 微控制器。cc2530使用了增强型8051cpu

4、,运行时钟频率为 32 mhz,具有8 kb ram;包括一个普通16位定时器和两个 8位定时器,21个可编程程i/o引脚,两个支持多种串行通 信协议的usart, 一个符合ieee 802. 15. 4标准的2. 4 ghz 无线收发器和mac定时器。cc2530是用于 ieee. 802. 15. 4,zigbee和rf4ce应用的一个真正的片上系统 (soc)解决方案3o本文节点核心部分的硬件设计如图1 所示。1.2传感器节点软件结构tinyos是加州大学berkeley分校专门为无线传感器网 络开发的微型操作系统4 5o该系统采用轻量级线程 (lightweight thread)、主

5、动消息(active message)通信模 块、事件驱动(event driven)模式和组件化编程 (component based programming)等技术,有助于提高传感 器网络的性能,发挥硬件的特点,降低其功耗,并且简化了 传感器网络应用的开发。tinyos采用基于事件驱动、两层调度的并发模型。内核 支持两种执行线程,即中断处理和任务,主控构件维护两个 数据结构支持内核的两层调度:中断向量表和任务队列。 tinyos系统采用组件化思想,其应用程序都是由若干个模块 组件和配置组件构成的,其组件有四个相互关联的部分6: 一组命令处理程序句柄,一组事件处理程序句柄,一个经过 封装的私

6、有数据帧,一组简单任务。每一个组件声明自己使 用的接口及其需要用信号的通知的事件。一个应用程序的组 件结构图如图2所示,高层次的组件通过命令调用低层次组 件,低层次组件发送信号事件给高层次组件,最低层次组件 直接与硬件相互作用。图2 tinyos应用程序组件结构1.3 tinyos操作系统移1.3. 1修改编译工具链tinyos开发环境为unix,若要为tinyos开发应用程序, 首先要使用nesc进行编程,产生以“.nc”为扩展名的源文 件;然后再调用unix的ncc(nesc comp订er)编译器将源文 件编译成硬件可以执行的二进制/十六进制机器码7,如 图3(a)所示。但nesc的编译

7、器ncc调用的是unix的gcc(gnu comp订er collection)编译器,而gcc编译器并不支持 cc2530所使用的8051处理器。为此,需要在编译过程使用 perl语言,转换c语言编译器不能识别的nesc关键字,将 nesc语言编写的“.nc”文件编译为常规的c语言源文件, 然后绕过unix的gcc编译器,改由支持8051的keil进行 编译,其过程如图3(b)所示。具体的实现为编写脚本文件 mangleappc. pl,在编译规则文".rules"中添加该perl脚 本的引用,以生成中间文件app. premangle, c,并通过建立 批处理文件cc2530 f256.bat,调用keil程序编译生成目 标文件app. hexo图3 tinyos应用程序编译过程1.3.2 tinyos平台搭建tinyos应用程序的编译是以平台为对象的,但tinyos 并不支持cc2530平台,因此必须先建立能被tinyos承认的 平台。根据tinyos最小平台的定义,需要创建的目录及编 写的文件为8:(1) /tos/platforms/cc2530 目录,及其下的“platform” 文 件 、 platformh 、 platformcnc 禾口 platformp. nc文件,这些文件包含平台初始化的实现代码和 平台的环境变量;(2) /tos

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论