CC1100的功能特性与在TinyOS环境下的CC1100驱动程序介绍.doc
《CC1100的功能特性与在TinyOS环境下的CC1100驱动程序介绍.doc》由会员分享,可在线阅读,更多相关《CC1100的功能特性与在TinyOS环境下的CC1100驱动程序介绍.doc(7页珍藏版)》请在三一文库上搜索。
1、CC1100的功能特性与在TinyOS环境下的CC1100驱动程序介绍1 概述无线传感器网络(Wireless Sensor Network, WSN)是当前信息技术领域的热点研究方向之一,它综合了传感器技术、遥测技术、嵌入式计算技术、分布式信息处理技术和无线通信技术,是一种通过无线通信方式形成的多跳自组织网络系统。无线传感器网络由大量体积小、功耗低、具有无线通信、传感和数据处理功能的传感器节点组成。节点是无线传感器网络的基本单元,它一般由传感器模块(传感器、A/D转换器)、处理器模块(微处理器、存储器)、无线通信模块(无线收发器)和能量供应模块(电池)组成。本文研发的无线传感器网络节点选用C
2、hipcon公司低功耗低成本单片收发芯片CC1100作为无线通信模块,将其通过SPI串行总线技术与MCU(MSP430F1611)相连。采用加州大学伯克利分校人员专门为无线传感器网络开发的嵌入式操作系统TinyOS作为软件平台。2 设计需求分析无线传感器网络由大量资源受限的节点组成。资源受限的特点决定了在选择无线收发芯片以及开发驱动时,必须满足低功耗,并实现收发分组的基本功能。节点对CC1100的主要功能要求如下:发送时把MCU递交过来的数据封装成帧并实现分组发送;接收时完成分组接收后把数据提取出来交给MCU.无线传感器网络中节点发送一个比特所消耗的能量约等于其处理器进行1 000次32位加法
3、运算消耗的能量1,因此,为了减少分组碰撞,降低因分组重发而消耗的能量,CC1100应实现发送数据之前的信道监听即载波监听功能。为了进一步降低能耗,节点在没有数据发送或接收时应置于休眠状态,并可以按指定方式激活,即具有休眠唤醒功能。具体设计需求如下:(1)收发分组。这是CC1100需要实现的主要功能,CC1100在发送数据前,要完成数据的分组封装,CC1100无线通信协议的分组格式如下:其中,前导码是一连串的10101010?,其数量为8n个比特,n的大小由用户编程决定。同步字的内容和数量均可编程确定,长度为数据域的字节数,数据域内容为MCU递交的数据,CRC校验可以编程选择使用,灰色部分均可编
4、程选择。(2)载波监听。由于无线传感器中节点数量众多,节点密度大,如果不加控制就互相通信,必然会发生分组碰撞。为了减少碰撞机会,提高节点能量效率,本文通过CC1100的电平检测功能实现载波监听。CC1100提供了2种载波监听方式:绝对门限监听和相对门限监听。绝对门限监听是当信道电平超过某个指定数值时通知信道忙,相对门限监听是当信道电平增加量超过指定倍数(如6 dB)时,检测为信道忙。绝对门限监听需要大量信道特性统计来设置绝对门限电平值,相对门限监听方式可以避免上述工作且能适应时变噪声场合。在本文项目中采用相对门限来监听信道,效果很好。(3)睡眠唤醒。由于无线传感器节点能量受限,因此在不必要的情
5、况下,应尽量减少节点上硬件资源的活动时间,在多数情况下,无线模块应处于休眠状态。CC1100通过发送一个命令控制器可以关掉无线收发模块。类似地,发送一个唤醒命令控制器可以激活该模块。实现驱动时,笔者把上述命令封装在一个接口中,供上层调用。3 硬件连接关系节点上MCU与无线收发模块的硬件连接关系如图1所示。左侧是MCU,采用美国Texas Instruments(TI)公司生产的超低功耗微处理器MSP430F1611,它是一个16 位、具有精简指令集(RISC)、超低功耗的混合型单片机,其片上集成了丰富的外围模块,包括看门狗、定时器、硬件乘法器、A/D转换器等,根据其运行打开的模块数目不同(即采
6、用不同的工作模式),芯片的功耗有着显着差异,除了正常的活动模式外,它具有5种低功耗模式(LPM0LPM4),在等待方式下,其电流仅为0.7 A,在深睡眠情况下,最低电流仅为0.1 A 2.右侧是无线收发模块CC1100,它是Chipcon公司采用0.18 m CMOS技术生产的低功耗多频段无线收发芯片,具有尺寸小、功耗低、灵敏度高、独立的64字节收发缓存(TXFIFO/ RXFIFO)、数字化接收信号强度输出(RSSI)等特点,并有前向纠错和数据白化等硬件处理模块。它还具有3个通用数字输出引脚GDOx(x=13),在实际应用时,可以通过寄存器配置让它们为上层实时提供信道或分组状态3.在硬件平台
7、上,CC1100的4个SPI通信管脚(SI, SO, SCLK, CSn)分别连接到相应MSP430F1611的4个SPI串行通信引脚,即MOSI, MISO, UCLK, MCLK上。通过这4根线,处理器可以对CC1100进行寄存器读写和功能配置。由于CC1100只是从机模式,因此处理器只能采用主机模式。另外,本项目采用了其中2个通用数字输出引脚GDO0和GDO2,分别用来实现分组发送指示和载波监听指示。图1 CC1100与MSP430F1611的硬件连接关系CC1100与MSP430F1611通信时,时钟源由MSP430F1611提供,经过配置处理器寄存器,本文采用其外围时钟模块的系统子时
8、钟SMCLK.它们的通信方式为SPI串行通信方式。SPI通信是一种高速、全双工的同步总线通信技术,其硬件功能很强大,仅通过4个管脚,就可以在主机时钟源SCLK节拍的控制下,通过2个双向移位寄存器实现CC1100与MSP430F1611的串行数据交换。CSn引脚主要用来控制数据通信的同步性,在CC1100和MSP430F1611通信期间,要始终保证CSn引脚电平为低。4 软件平台TinyOS操作系统是目前无线传感器网络中应用较广泛的操作系统,它是UC Berkeley开发的源代码开放式操作系统,专门为无线传感网络设计。它基于组件的架构方式,可以快速实现各种应用。此外,其轻量级线程技术、事件驱动模
9、式、主动消息通信技术等思想极大提高了节点的资源利用率2.TinyOS环境下编程语言为NesC,NesC是对C语言的扩展,扩展的目的是将C的模块化思想与TinyOS的事件驱动机制结合起来。为了支持组件化编程模式,NesC语言引入了接口和组件的概念。接口是一系统功能类似或相关的函数声明,根据不同方向命名为命令或事件,具体实现在提供或使用该接口的组件中。组件包括配件和模块,配件负责把不同组件通过接口连接起来,模块提供程序所需的代码实现。组件中的接口是双向的,它给出使用者可以调用的命令或必须处理的事件。不同组件之间通过接口静态连接,以提高程序的运行效率,增加程序的鲁棒性。NesC的并发模型是基于运行到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CC1100 功能 特性 TinyOS 环境 驱动程序 介绍
链接地址:https://www.31doc.com/p-3250405.html