碧波液压网 欢迎你,游客。 登录 注册

基于TinyOS的CC2420驱动组件的研究

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  引言

  网络节点是构成无线传感器网络的基本单位,无线传感器网络节点有两种常用体系结构:Atmel AVR处理器+TinyOS[1]和MSP430+TinyOS[2]。本文采用ATmega128L+TinyOS的体系结构。因此,CC2420驱动组件设计应符合TinyOS的硬件抽象体系结构(Hardware AbSTractiON Architecture,HAA)[3]。TinyOS中将硬件抽象体系结构分为3层:硬件表示层(Hardware Presentation Layer,HPL)、硬件适配层(Hardware Adapation Layer,HAL)和硬件接口层(Hardware Interface Layer,HIL)。各层功能作用及具体设计原理在本文中作了细致的研究。CC2420是一款基于IEEE802.15.4协议的低功耗无线收发模块。本文根据硬件抽象体系结构的原则,对CC2420无线收发模块在TinyOS平台下的驱动组件设计作了深入的研究,这使得基于CC2420硬件的无线传感器网络(Wireless Sensor Network,WSN)应用程序的开发,可以与TinyOS操作系统的组件模型、主动消息、基于事件驱动等机制有效地结合起来,使应用程序具有代码量小、能耗少、并发性高等特点。

  1 nesC语言及TinyOS操作系统

  早期的面向传感器网络的操作系统TinyOS是用汇编和C语言开发的。但经研究发现,C语言并不能高效地完成传感器网络的应用开发。所以研究人员对C语言进行了一定的扩展,提出了一种新型的编程语言——支持组件化编程的nesC(C language for network embedded Systems)语言[4]。用nesC语言编写的TinyOS[56],将轻量级线程、主动消息通信模型、事件驱动机制和组件化编程等技术相结合,是一种专门为无线传感器网络开发的微型操作系统,使面向传感器网络的操作系统及应用程序开发的复杂度大大降低,使程序的整体性能得到优化,提高了程序的健壮性和安全性。

  

  图1 TinyOS组件模型体系结构

  TinyOS采用组件模型,这种模块化的思想使得应用程序的编写更加方便、高效。程序开发人员可以方便快捷地将独立的组件组合到各种配件文件中,并在应用程序的顶层(toplevel)配件文件中完成程序的整体装配。TinyOS的组件模型体系结构如图1所示。

  上层组件对下层组件发命令,下层组件向上层组件发信号通知事件,最底层的组件直接和硬件打交道。TinyOS中有3种类型的组件:硬件抽象组件、合成组件、高层软件组件。硬件抽象组件将物理硬件映射到TinyOS组件模型;合成组件模拟高级硬件行为;高层软件组件负责数据传输、控制、路由等。本文针对的是实际硬件上的抽象层。

  2 节点硬件模块

  节点采用ATmega128L微处理器和CC2420无线收发模块,硬件连接如图2所示。

  

  图2 ATmega128L与CC2420的硬件连接

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论