基于RF芯片的无线传感器网络节点设备设计
1 引言
随着微电子技术、计算机网络技术和通信技术的发展,无线传感器网络日渐成为互联网领域研究的热点之一。无线传感器网络具有“无处不在”和节点数量庞大等特点,适用于军事、智能家居、环境监测和预报、医疗护理、建筑物状态监控、工业控制等领域。无线传感器网络节点设备是构成无线传感器网络的基础,基本组成和功能包括如下几个单元:传感单元(由传感器和模数转换功能模块组成)、处理单元(由嵌入式系统构成,包括CPU、存储器等)、通信单元(由无线通信模块组成)和电源单元,如图l所示。此外,可选择的其他功能单元包括定位系统、移动系统及电源自供电系统等。通常,此类设备具有微型、低功耗、低成本、可扩展性、高安全性等特点。
2 CC2510的功能及内部结构
2.1 功能
CC2510是Chipcon公司于2005年11月推出的一款2.4 GHz射频收发器。该器件成本低,包含UHF RF收发器和高性能低功耗8051微控制器,集成了32 KB在系统可编程Flash和外设内嵌4 KBSHAM。CC2510功能强大,拥有128位AES安全协处理器和DMA功能;系统时钟是16MHz片内RC振荡器或26 MHz晶体振荡器,实时时钟采用低功耗32.768 kHz晶体振荡器或内部34 kHz RC振荡器;具有高灵敏度(10 kb/s下为-100 dBm)和较高的接收灵敏度和阻塞功能,支持2-FSK,GFSK和MSK等调制方式;支持数字RSSI/LQI,工作电压2.0 V~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存储器或者SVR寄存器。系统通过中断控制器维护4种不同优先级的18个中断源,这些中断源被分成6组,每组关联一种中断优先级。为降低功耗,系统可支持4种工作模式。表1给出了这4种工作模式的特点和状态。
CC2510包含有8路8~14位ADC,支持单端输入和差分输入两种模式,能够采用可选正向参考电压。ADC中还包含了一个温度传感器通道,可以直接连接片内集成的温度传感器。ADC的输入端口复用通用I/O端口的PO部分作为AIN0-AIN7端口。图3给出了ADC模块的框图。CC2510的ADC转换结果一般为13位,这些结果通常存放于ADC数据寄存器ADCH及ADCL中。ADC转换结束能够触发自己中断。即便是由于在ADCH与ADCL之间读取而造成ADC无法访问数据寄存器,并因此丢失了转换数据,中断仍会被触发。
天线接收的射频信号经过低噪声放大器和I/Q下变频处理后,中频信号只有2 MHz,此混合I/Q信号经过滤波、放大、AD变换、自动增益控制、数字解调和解扩,最终恢复出传输的正确数据。发射机部分基于直接上变频。CC2510的发射部分基于RF频率的直接合成。频率合成器包括一个完整的片上LC压控振荡器和一个90°的相移器,产生接收模式时下变频器所需的I和Q路信号。26 MHz晶体振荡器产生的频率作为合成器、AD时钟和数字部分时钟的参考频率。系统使用SFR(特殊功能寄存器)寄存器作为接口为来自CPU的数据进行缓冲,寄存器的配置和状态可以从寄存器映射存储器XDATA中查询。数字基带信号支持通道配置,包处理和数据缓冲。片上的电压校正器产生一个校正过的1.8 V供电电压。
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或者SFSTX0N命令发布时,如果是畅通的信道就进入TX状态。如果信道不畅通,器件仍将处于RX状态。在任何时候,SIDLF命令总是能够迫使射频控制器进入空闲状态。
注意:由于使用了PQT、CS、最大同步字长和同步字评价模式,可以有效减少探测到错误同步字的可能性。在成功地接收到数据包以后,射频控制器将根据系统设置进入如下状态:
IDLE:空闲;
FSTXON:在TX频率时,频率合成器打开并且已经准备好。用STX激活TX;
TX:开始发送开端;
RX:开始搜寻一个新的包。
类似地,当TX被激活时,器件一直处于TX状态,直到当前的包被成功地发送出。然后状态会根据MCSMl.TXOFF_MODE设置提示的状态改变。有关状态转换条件需要根据实际应用场合人为地选择设定,在此不再赘述。
4 配置传感器网络节点间的通信
根据CC2510的特点,可以人为设定MAC层协议以完成节点间通信,从而构成星型或者网型(MESH)无线传感器网络。本文设计了一种基于载波侦听、冲突避免机制的可变包长的MAC层协议——MAC_S,采用8 bit地址标识各个无线传感器节点,该协议支持基于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.4 GHz工业、科研和医疗频段。通过添加简单的外设,可构成功能强大的传感器网络节点设备。Chipcon公司在推出芯片的同时,还提供该器件的系列评估软件-Smart RFStusio。通过该软件设置可以对器件进行性能和功能测试,方便用户进行二次开发。