CC2420的Zigbee无线网络系统的实现( 二 )


在点对点网络中,每个节点必须一直保持它们的接收器为开启状态或者同意在一个时间段内开启它们的接收器 。这将答应节点发送数据帧并确保数据帧会被其它节点接收 。
2; RF收发芯片CC2420
CC2420是Chipcon公司推出的首款符合2.4GHzIEEE802.15.4标准的射频收发器 。该器件是第一款适用于Zigbee产品的RF器件 。它基于Chipcon公司的SmartRF03技术,以0.18um CMOS工艺制成,只需极少外部元器件,性能稳定且功耗极低 。CC2420的选择性和敏感性指数超过了IEEE 802.15.4标准的要求,可确保短距离通信的有效性和可靠性 。利用此芯片开发的无线通信设备支持数据传输率高达250kbps,可以实现多点对多点的快速组网 。

;CC2420只需要极少的外围元器件,其典型应用电路如图3所示 。
图3; CC2420典型应用电路图
它的外围电路包括晶振时钟电路、射频输入/输出匹配电路和微控制器接口电路三个部分 。芯片本振信号既可由外部有源晶体提供,也可由内部电路提供 。由内部电路提供时需外加晶体振荡器和两个负载电容,电容的大小取决于晶体的频率及输入容抗等参数 。
射频输入/输出匹配电路主要用来匹配芯片的输入输出阻抗,使其输入输出阻抗为50Ω,同时为芯片内部的PA及LAN提供直流偏置 。CC2420可以通过4线SPI总线(SI、SO、SCLK、CSn)设置芯片的工作模式,并实现读/写缓存数据,读/写状态寄存器等 。通过控制FIFO和FIFOP管脚接口的状态可设置发射/接收缓存器 。注重:在SPI总线接口上进行的地址和数据传输大多是MSB优先的 。CC2420片内有33个16比特状态设置寄存器,在每个寄存器的读/写周期中,SI总线上共有24比特数据,分别为:1比特RAM/寄存器选择位(0:寄存器,1:RAM),1比特读/写控制位(0:写,1:读),6比特地址选择位、16比特数据位 。在数据传输过程中CSn必须始终保持低电平 。另外,通过CCA管脚状态的设置可以控制清除通道估计,通过SFD管脚状态的设置可以控制时钟/定时信息的输入 。这些接口必须与微处理器的相应管脚相连来实现系统射频功能的控制与治理 。p;如前所述,CC2420是一款符合IEEE802.15.4标准的RF收发芯片 。CC2420硬件支持一部分IEEE802.15.4数据帧格式 。数据帧格式示如表1所示 。
表1; 数据通信帧格式
同步头包括前导序列和开始帧分隔符 。在CC2420中,前导序列长度和开始帧分隔符是可以配置的 。默认值4字节和1字节是符合IEEE802.15.4协议的 。物理头为1字节,帧控制和序列号分别为2字节和1字节,地址包括个人区域网身份识别号码、目的地址和源地址共6字节,待发数据段长度为帧长度减去地址和帧校验序列 。当MODEMCTRL0.AUTOCRC控制位置位时,这个帧校验序列自动产生2字节,并由CC2420硬件自动插入 。
3; 配置寄存器实际系统需要做以下配置:
(1)CC2420
内部寄存器的设置:CC2420内部有33个16位结构寄存器和15个命令脉冲寄存器以及2个8位访问独立的发射和接收缓冲器的RXFIFO、TXFIFO寄存器 。这些寄存器在芯片复位时都已设置了一些初始值 。例如:MDMCTRL0.AUTOCRC自动循环冗余校验;IOCFG0.FIFOP_THR设置RXFIFO缓冲器中字节门限值;BATTMON.BATTMON_E电池监控使能;TXCTRL.PA_LEVEL输出功率编程(输出功率单位为dBm);IN0.XOSC16M_BYPASS使能外部晶体振荡器等 。实际使用时,应根据需要对初始值进行修改 。
(2)初始化:定义信息包传输的基本格式;定义单片机和CC2420的端口;打开电压调节器,复位CC2420,开启晶体振荡器,写入所有必须的寄存器和地址识别(为自动地址识别预备),注重晶体振荡器应该一直处于工作状态 。寄存器设置如下:SXOSCON打开晶体振荡器;MDMCTRL0=0x0AF2打开自动应答;MDMCTRL1=0x0500;设置关联门限值为20;IOCFG0=0x007F设置FIFOP门限至最大值128;SECCTRL0=0x01C4关闭安全使能 。

推荐阅读