基于CC2530的短距离无线通信系统的实现
扫描二维码
随时随地手机看文章
引 言
随着半导体技术、无线通信技术的迅猛发展,短距离无线通信需求不断增加。目前,短距离无线通信的技术标准包括 WiFi 技术、蓝牙技术、ZigBee 技术。其中,ZigBee 技术具有低速率、低功耗、灵活组网等特点,被广泛应用于无线传感器网络领域。TI 公司设计生产的 CC2530 是一个满足ZigBee 技术标准的系统级SoC 芯片,TI 公司还开发出基于CC2530 芯片,符合 ZigBee 技术标准的软件包 Z-Stack 协议栈[1-3]。Z-Stack 协议栈是一个复杂的软件包,仅为用户提供应用函数接口,用户无法灵活实现数据通信。因此,本文详细说明了CC2530 的无线射频参数、数据传输的帧格式及数据收发的流程控制,用户可以开发适合自己工程应用的无线通信系统。
1 硬件设计
1.1 CC2530处理器
CC2530 内部主要包含增强型 8051 微控制器、无线数据收发器以及其他相关模块,其具有高集成度、低电压、低功耗等特点 [4]。其中,无线数据收发器支持 IEEE 802.15.4 协议, 通信频率为 2.4 GHz,传输速率为 250 kbps,非常适用于短距离无线通信。由于无线通信采用直接序列扩频技术,具有抗噪声干扰等优点,因此,即使发射信号功率较低也能实现准确的数据通信。
1.2 外设电路
CC2530的电路系统如图 1所示。CC2530芯片的引脚包含P0端口、P1 端口、P2端口、XOSC_Q1和 XOSC_Q1晶振引脚、RESET_N复位引脚、RF_N和 RF_P射频信号引脚以及电源 VDD 和 GND 等[5-6],外设由天线、时钟、复位系统、电源等组成。
2 软件设计
为了实现无线数据传输,需要对 CC2530 芯片进行编程控制,包含载波频率的选择、发射功率的控制、通信数据帧格式的设置、数据收发过程的控制等。
2.1 载波频率和输出功率
根据 IEEE802.15.4—2006协议规定 [7],CC2530芯片内部可选择 16个载波频率进行数据传输,频率范围在 2.405~2.480GHz之间,中心频率间步长为 5MHz,通道编号 k为11 ~26。通道 k 的实际频率表达见式(1):
fc= 2 405+5(k-11),k∈[11,26](1)
为了得到通 道 k 的频率, 通 过寄 存器 REQCTRL. FREQ[6 :0] 的 7 位数可以设置频率,频率设置见式(2):
FREQCTRL.FREQ=11+5(k-11),k∈[11,26](2)
在满足一定通信距离的条件下,为了降低功耗,应尽可能选择较低的发射功率,由 TXPOWER 寄存器控制输出不同的发射功率。发射功率设置见表 1 所列。
2.2 通信数据帧格式
CC2530 芯片收发的数据支持 IEEE 802.15.4—2006 的帧格式 [8],IEEE 802.15.4—2006 的帧格式如图 2 所示。帧引导序列和帧开始定界符(SFD)构成的同步头(SHR)是 CC2530 芯片硬件自动生成的无线通信同步信息,PHY 头(PHY)和PHY 数据服务单元(PSDU)(MAC 协议数据单元)是软件编程的有效数据,开发人员参考 IEEE 802.15.4—2006 帧格式的内容说明来设置相应的参数。
2.3 数据收发过程
数据发送过程如图 3 所示 [9]。
(1) 按照帧长度、MAC头和 MAC负载的先后顺序,使用 RFD寄存器将它们写入数据缓冲器TX_FIFO中,TX_ FIFO最多可以存放 128 B 数据,且一次只能产生一帧 ;
(2) CPU向无线收发器发出STXON或 STXONCCA选通指令,无线收发器将 TX_FIFO中的数据全部输出;
(3) 在成功发送一个完整的数据帧后,产生 TX_DONE中断信号。
数据接收过程如图 4 所示。
(4) CPU向无线收发器发出SRXON选通指令,无线收发器准备接收数据 ;
(5) 在接收一帧数据的过程中, 帧引导序列和帧开始定界符 SFD不会写入数据缓冲器 RX_FIFO, 只有帧长度、MAC头和 MAC负载的有效数据会写入 RX_FIFO中;
(6) 在准确接收一帧数据后,产生 RXOK中断信号。
3 通信抗干扰性设计
在无线通信过程中,极易受各种各样的电磁波干扰,例如自然界的雷电干扰、电器设备故障干扰、地面电磁环境干扰等,这些干扰严重影响通信质量。CC2530 芯片采用直接序列扩频(DSSS)技术和循环冗余校验(CRC)算法,可以保证数据传输的可靠性。
图3 数据发送过程图4 数据接收过程
直接序列扩频技术是一种增加发射信号带宽的通信技术 [10],发射后的扩频信号与发射前原始信号的频带宽度之比范围为 10 ~100。接收数据时,经过解扩处理降低干扰信号的功率谱密度,可有效抑制干扰信号。同时也能够有效抑制相邻信道的干扰,阻塞假象频率的信号。
循环冗余检查(CRC)算法是数据通信领域中最常用的检错纠错方法。CC2530 芯片支持IEEE 802.15.4-2006 帧格式, 在帧结构中 MAC 协议数据单元的帧尾包含一个 16 位的帧校验序列(FCS),FCS 是基于ITU-T 标准的 16 位循环冗余校验(CRC)算法。在发送数据时,FCS 由硬件自动生成,在接收数据时,FCS 由硬件自动验证。如果传输的数据受到干扰, FCS 验证出错,接收的数据不会写入 RX_FIFO 中。
4 结 语
综上所述,本系统可以灵活设计无线射频参数和无线通信数据帧,控制数据收发过程。实验表明,整个系统具有功耗低、抗干扰性强、软件设计灵活等特点,非常适用于智能家居监控、农业大棚的温湿度监测、路灯照明的智能控制等领域。