基于RF芯片CC2510的无线传感器网络节点设备设计
1 引言
随着微电子技术、计算机网络技术和通信技术的发展,无线传感器网络日渐成为互联网领域研究的热点之一,无线传感器网络具有“无处不在”和节点数量庞大等特点,适用于军事、智能家居、环境监测和预报、医疗护理、建筑物状态监控、工业控制领域,无线传感器网络节点设备是构成无线传感器网络的基础,基本组成和功能包括如下几个单元[1]:传感单元(由传感器和模数转换功能模块组成)、处理单元(由嵌入式系统构成、包括cpu、存储器等)、通信单元(由无线通信模块组成)和电源单元,如图1所示,此外,可选择的其他功能单元包括定位系统、移动系统及电源自供电系统等,通常,此类设备具有微型、低功耗、低成本、可扩展性、高安全性等特点。

2 cc2510的功能及内部结构
2.1 功能
cc2510是chipcon公司于2005年11月推出的一款2.4ghz射频收发器,该器件成本低,包含uhf rf收发器和高性能低功耗8051微控制器,集成了32kb在系统可编程flash和外设内嵌4kb
sram,cc2510功能强大,拥有128位aes安全协处理器和dma功能;系统时钟是16mhz片内rc振荡器或26mhz晶体振荡器,实时时钟采用低功耗32.768khz晶体振荡器或内部34khz
rc振荡器,具有高灵敏度(10kb/s下为-100dbm)和较高的接收灵敏度和阻塞功能,支持2-fsk,gfsk和msk等调制方式;支持数字rssi/lqi,工作电压2.0v-3.6v;具有21个通用i/o接口、两个uart/spi接口和可编程看门狗计时器,片内有1个16位定时器和3个8位定时器,真正的随机号码发生器,支持硬件是,有两个数据指针。cc2510采用chipcon公司的smart
rf 04技术,以0.18μm cmos工艺制成,只需极少外部元件就可以构成性能稳定且功能极低的片上系统(soc)。cc2510的选择性和敏感性指数优越,可确保短距离通信的有效性和可靠性,除上述特点外,该器件还包含8路8-14位adc,具备4种灵活的降功耗模式,从休眠状态到工作状态的过渡时间非常快,内嵌温度传感器,非常适合作为无线传感器网络节点设备。
2.2 cc2510内部结构
cc2510器件的部结构如图2所示,其中cc2510的处理器采用兼容8051单片机内核的结构及指令系统,该内核通过3种不同的内存访问总线(sfr,data和code/xdata)对内存进行访问控制,sfr总线负责将所有的外设同内存仲裁相连接,还负责cpu与射频寄存器之间的交互,此外,在系统中还存在有一个处于核心地位的设备——内存仲裁。内存仲裁通过sfr总线将cpu、dma模块、存储器以及其他外设连接在一起。内存仲裁通过4个内存器指针选择接入sram、flash存储器或者sfr寄存器。系统通过中断控制器维护4种不同优先级的18个中断源,这些中断源被分成6组,每组关联一种中断优先级。为降低功耗,系统可支持4种工作模式,表1给出了这4种工作模式的特点和状态。

cc2510包含有8路8-14位adc,支持单端输入和差分输入两种模式,能够采用可选正向参考电压,adc中还包含了一个温度传感器通道,可以直接连接片内集成的温度传感器,adc的输入端口复用通用i/o端口的p0部分作为ain0-ain7端口,图3给出了adc模块的框图,cc2510的adc转换结果一般为13位,这些结果通常存储于adc数据寄存器adch及adcl中,adc转换结束能够触发自己中断,即便是由于在adch与adcl之间读取而造成adc无法访问数据寄存器,并因此丢失了转换数据,中断仍会被触发。

天线接收的射频信号经过低噪声放大器和i/o下变频处理后,中频信号只有2mhz,此混合i/o信号经过滤波、放大、ad变换,自动增益控制、数字调节和解扩,最终恢复出传输的正确数据,发射机部分基于直接上变频,cc2510的发射部分基于rf频率的直接合成。频率合成器包括一个完整的片上lc压控振荡器和一个90°得相移器,产生接收模式时下变频器作为合成器、ad时钟和数字部分时钟的参考频率,系统使用sfr(特殊功能寄存器)寄存器作为接口为来自cpu的数据进行缓冲,寄存器的配置和状态可以从寄存器映射存储器xdata中查询。数字基带信号支持通道配置,包处理和数据缓冲,片上的电压校正器产生一个校正过的1.8v供电电压。

3 无线传感器网络节点设备设计
3.1 硬件设置
针对无线传感器网络的特点,依据cc2510的内部结构,针对器件内部已嵌入的温度传感器,添加其他传感器件,可以设计基于多传感器的无线传感器网络节点设备,图4给出了基于片内温度传感器和光敏器件的温度-光强传感器的节点设备电路图,其中pa为光敏电阻,c21为去耦电容,器件本振信号可由外部有源晶体提供,也可以由内部电路提供,由内部电路提供时需外加晶体振荡器和负载电容,电容的取值取决于晶体的频率及输入容抗等参数,该设备可采用3.0v电池供电。

射频输入/输出匹配电路主要用来匹配器件的输入/输出阻抗,使其输入/输出阻抗为50ω,发射部分经过前端π型匹配网络向50ω垂直天线馈电,如果不希望采用上述匹配网络,可以采用t型pcb天线直接与器件相连。
3.2 软件设置
软件设置主要包括三个方面:主机调度函数、数据采集与处理方式、射频数据收发处理函数,对于应用多传感器的传感器网络节点设备,主机调度函数可以采用有竞争的中断方式进行全局调度,数据采用与处理方式依据硬件自身特点实现,希望通过描述性语言给出主机调度函数的实现思想:

cc2510内置一个可以在不同操作状态(模式)之间转换的状态机,应用该状态机,可以通过使用写入指令来实现状态之间的转换,图5给出了射频控制的状态转换图。这里借用marcstate状态寄存器中读出的状态字作为各个状态的标识。

在节点工作过程中,设定两个激活状态:接收(rx)和发送(tx),通过cpu向rfst寄存器中写入srx和stx指令来实现状态的迁移。当rx被激活时,器件将处于接收状态,直至rx终止定时器超时或成功地收到一个包。如果射频控制及当前位于发送状态,并且srx写入,当前的发送状态被中止,开始向rx过渡。如果射频控制器当前位于rx状态,当stx或者sfstxon命令发布时,如果是畅通的信道就进入tx状态,如果信道不畅通,器件仍将处于rx状态,在任何时候,sidle命令总是能够迫使射频控制器进入空闲状态。
注意:由于使用了pqt、cs、最大同步字长和同步字评价模式,可以有效减少探测到错误同步字的可能性。在成功地接收到数据包以后,射频控制器将根据系统设置进入如下状态:
idle:空闲;
fstxon:在tx频率时,频率合成器打开并且已经准确好,用stx激活tx;
tx:开始发送开端;
rx:开始搜寻一个新的包。
类似地,当tx被激活时,器件一直处于tx状态,直到当前的包被成功地发送出,然后状态会根据mcsm1.txoff_mode设置提示的状态改变。有关状态转换条件需要根据实际应用场合人为地选择设定,在此不再赘述。
4 配置传感器网络节点间的通信
根据cc2510的特点,可以人为设定mac层协议以完成节点间的通信,从而构成星型或者网型(mesh)无线传感器网络,本文设计了一种基于载波侦听、冲突避免机制的可变包长的mac层协议——
mac_s,采用8bit地址标识各个无线传感器节点,该协议支持基于rssi的lqi链路质量描述、物理层采用曼彻斯特码编码的2-fsk调制方式,在这里,可以利用cc2510中通过软件设定让信号通过一个高斯滤波器,从而产生一个gfsk调制信号,限于篇幅有关这一mac层协议的细节将另撰文论述,这里仅简单介绍包格式及其处理过程,图6给出了上述mac_s协议的包格式。

其中,4字节引导字用于标识报文开端,同步字用于提取同步信息,包长度通常包括自身在内的后续地址和载荷报文长度,校验域通过crc-16算法进行校验,在发送模式下,包处理器过程如下:发送的数据帧被送入ram中的缓存区进行相应的帧打包操作,取发送净荷依据转发表填入地址并计算包长度,将一定数量的可编程的开端字节,mac_s协议用4个开端字节,然后添加两字节的同步字,在数字据中计算和加入crc校验和并发送出去,在接收模式时,包处理支持将会分解数据包:首先进行开端检测、提取rssi信息,然后进行同步字检测,接着检测地址、进行地址长度匹配并计算和检查crc。最后将数据净荷提交上层进行处理,从而完成一次接收交互。
5 结束语
cc2510是一款高集成度的工业用射频收发器,其mac层和phy层可以适用于多种协议标准,工作于2.4ghz工业、科研和医疗频段。通过添加简单的外设,可构成功能强大的传感器网络节点设备。chipcom公司在推出芯片的同时,还提供该器件的系列评估软件-smart
rfstusio。通过该软件设置可以对器件进行性能和功能测试,方便用户进行二次开发。
评论