2节点硬件设计
CC1110芯片只要极少数外围元件就能够搭建稳定可靠且功耗低的SoC,大大简化了RF电路的设计过程。设计的传感器节点工作在433 MHz频段。图2是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的方式下(一般采用市电供电),实现远距离传输。设计的传感器节点实物图如图3所示。
节点的传感器模块采用瑞士SENSIRION公司的基于Sensirion技术的全校准数字式温湿度传感器SHT71。在一个芯片上,集成了温湿度传感器、信号放大调整器、A/D转换器和总线接口,可以提供-40℃~120℃范围内分辨率为14 bit的温度测量以及0~100%范围内分辨率为12 bit的湿度测量。SHT71采用串行接口与CC1110相连,它的串行时钟输入线SCK和串行数据线DATA直接与CC1110的GPIO口线相连,电路连接示意图如图4所示。
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字节,如图5所示。
为了方便通信过程中的数据处理,软件上定义了如下数据收发处理结构:
其中,标志位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来计算这些寄存器设置值。