基于CC1110的无线传感器网络节点设计
0引言 WSN(无线传感器网络)是一种基于多跳的自组织网络,通过部署在监测区域的大量微型传感器节点,协作地感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。WSN技术在美国商业周刊和MIT技术评论的预测未来技术发展报告中,分别被列为21世纪最有影响的21项技术和改变世界的10大技术之一。WSN在军事、民用及工商业领域都具有广阔的应用前景。通过WSN,在军事领域,可将战场上获取的信息及时迅速地传回指挥部;在民用领域,可以应用在智能家居、环境监测、医疗保健灾害预测等;在工商业领域,应用于工业自动化及空间探索等。WSN是当今国内外通信领域的一大研究热点。 在WSN中,传感器节点是网络中最基本的单元,是构成WSN的基础。传感器节点一般由传感器单元、处理器单元、无线通信单元及电源供应单元4部分组成。传感器节点采用电池供电,节点能量有限,而且它的数据处理能力、存储能力及节点间通信能力也有限,因此,传感器节点设计的好坏将直接影响网络的稳定性。本文根据上述特点要求,采用CC1110芯片设计WSN节点,设计结果较好地满足了特点要求。
1CC111O芯片简介 CC1110芯片是美国TI公司的一款1 GHz以下频带的低功耗RF(射频)SoC(片上系统)解决方案。该芯片采用Chipcon公司Smart RF 04技术,以0.18 μmCMOS工艺制成,只需极少外部元件就可以构成性能稳定且功耗极低的SoC。 CC1110芯片的工作电压为2.0 V~3.6 V,具有丰富的外围接口。片内具有21个GPIO、2个USART接口和可编程看门狗计时器;拥有1个16位定时器、3个8位定时器以及随机数发生器;嵌入式128位AES安全协处理器和强大的DMA功能等。在RF性能上,具有高灵敏度(在1.2 kBaud的速率下为-110 dBm)和较高的接收灵敏度和阻塞功能;支持2-FSK、GFSK和MSK等调制方式,频率范围为300。MHz~348 MHz、391 MHz~464 MHz及782 MHz~928 MHz;支持数字RSSI/LQI;最大输出功率可以达到10 dBm,最大数据率可以达到500 kBaud。 总之,CC1110具有高集成度与低功耗特性,在6 mm×6 mm的QLP封装中,集成了CC1101 RF收发器、增强型8051微控制器、8/16/32 kB Flash存储器及1/2/4 kB RAM等强大功能;拥有4种功耗管理模式,从低功耗状态切换到工作状态的过渡时间非常快。因此,适用于报警与安全、自动读表、工业监控以及楼宇自动化等领域,能够满足WSN对电池使用寿命、尺寸、成本以及产品开发时间的要求。
2节点硬件设计 CC1110芯片只要极少数外围元件就能够搭建稳定可靠且功耗低的SoC,大大简化了RF电路的设计过程。设计的传感器节点工作在433 MHz频段。下图是CC1110的参考设计,主要由CC1110芯片、射频匹配电路和其他外围元件组成。
RF匹配电路用来匹配芯片输入、输出阻抗,使其输入、输出阻抗为50 Ω,同时,为芯片内部的PA(功率放大器)及LNA(低噪声放大器)提供直流偏置。阻抗匹配电路采用BALUN电路,由L232、L242、C234和C241组成。CC1110的RF信号采用差分方式,在433 MHz频段,其最佳差分阻抗为116+j41 Ω。 RF部分电路设计参考图2的典型设计,但对电路进行了少量修改,加入PA。根据实际应用环境需要,节点可以工作在有PA、无PA两种状态,比如Coordi-nator、Range Extender两节点可以工作在加PA的方式下(一般采用市电供电),实现远距离传输。 节点的传感器模块采用瑞士SENSIRION公司的基于Sensirion技术的全校准数字式温湿度传感器SHT71。在一个芯片上,集成了温湿度传感器、信号放大调整器、A/D转换器和总线接口,可以提供-40℃~120℃范围内分辨率为14 bit的温度测量以及0~100%范围内分辨率为12 bit的湿度测量。SHT71采用串行接口与CC1110相连,它的串行时钟输入线SCK和串行数据线DATA直接与CC1110的GPIO口线相连。
3节点软件设计 节点的软件设计主要包括温湿度采集部分和无线数据通信部分。 3.1温湿度采集 温湿度传感器SHT71通过SCK与CC1110保持同步,通过DATA线收发通信协议命令和数据。其控制流如下:CC1110发送一组“启动传输”时序进行数据传输初始化,然后发送一组测量命令,释放DATA线,等待SHT71下拉DATA线至低电平,表示测量结束,同时接收数据。CC1110收到测量值后,可根据如下公式计算出温度T和相对湿度H:
式中:系数d1、d2、c1、c2和c3可以查阅相关手册。
3.2无线数据通信 下面以节点间点对点通信为例,介绍无线传感器节点间通信实现方法及通信过程。CC1110的MAC帧结构简单,剔除物理层的前导码和同步字,只包含一个可选的长度字节n、一个可选的地址字节,用户数据和两个可选的CRC字节,如下图所示。
为了方便通信过程中的数据处理,软件上定义了如下数据收发处理结构:
其中,标志位flags占1个字节,用于表示当前数据帧的类型。flags字节中的flags字节的第0位为1时,表示目标节点在收到该数据帧后不要ACK;第1位为1时,表示目标节点在收到该数据帧后要ACK;第2位为1时表示该帧是ACK帧;第3位为1时,表示该帧是超时重传帧;最高位为1时,表示该帧是数据序列中的一帧。 接着阐述传感器节点的通信射频设置。节点工作时使用的晶振频率为26 MHz,RF初始化时,设置寄存器FREQ2、FREQ1和FREQ0,配置RF的物理层最低信道的工作频率;通过寄存器CHANNR的CHAN位域来设置通信信道;设置寄存器MDMCFG0的CHANSPC_M位域及寄存器MDMCFG1的CHANSPC_E位域来设置信道间隔。具体的载波频率fc可以用下式表示:
式中:fref为26 MHz,最大信道间隔为405 kHz。当然,可以通过TI公司的软件SmartRF Studio来计算这些寄存器设置值。 节点软件设计中通过DMA方式实现RF模块与Memory间数据访问,而不用CPU干预。DMA通道描述的数据结构如下:
以发送为例,阐述DMA的配置过程及每个结构体成员的意义。 在发送时,首先将数据的源地址SRCADDRH和SRCADDRL设为所要发送数据的起始地址,目标地址DESTADDRH和DESTADDRL设为寄存器RFD的地址。 然后,在LENH和LENL位域设置所要发送数据的长度,VLEN位域设为0;将WORDSIZE位域设为0,让DMA一次只传输1个字节;将TMODE位域设置为0(SINGLE模式,DMA的数据传送模式可分成4种),即表示数据传送过程中,一次DMA触发可进行一个WORDSIZE的传输。将TRIG位域配置为RF触发模式(DMA触发信号有31种);CSRCINC位域和DES-TINC位域分别用于设置数据源地址和目标地址的变化方式,可设为不变、增1、增2或减1。本例中数据源地址选择增1,而数据目标地址设置为不变(只有RFD寄存器);IRQMASK位域位用于设置在DMA数据传输完后是否发中断信号,本例设为禁止DMA中断;M8位域是按字节传输时的数据宽度,设为0表示8位传输,为1时表示只传输字节的低7位;将PRIORITY位域设置为低优先级。
4实验结果 传感器节点采用模块化设计,结构紧凑,体积小。设计的CC1110传感器节点在通信频率为433 MHz、调制方式为2-FSK时进行了单包发送、连续发送以及点对点对发测试,并进行了误码率测试。实验结果较为理想,空旷环境通信距离达到1 km左右,误码率为1%左右。功率放大测试中,带PA功能的节点输出功率达到25 dBm左右,很好地满足了设计性能。
5结束语 本文阐述了基于CC1110的无线传感器节点的设计及实现过程。节点能够采集现场环境的温湿度,并上发至上层网络节点。本文的研究工作为进一步研究无线传感器通信协议提供了良好的硬件基础。实现结果也表明,以CC1110为核心的传感器节点为WSN的实现提供了一种解决方案,具有较强的应用价值。
|