CC1020简介
CC1020是一种理想的超高频单片收发器芯片。主要用于ISM(工业、科研及医疗)频带和在426/429/433/868/915MHz频带的SRD(Short Range Device-近距离设备)中,也可经编程后用于频率为402MHz~470MHz和 804MHz~940MHz的多信道设备。CC1020主要的工作参数可通过串行总线接口编程,例如输出功率、频率及AFC。
在接收模式下,CC1020可看成是一个传统的超外差接收器。RF输入信号经低噪声放大器(LNA和LNA2)放大后,翻转经过积分器(I和Q)产生中频IF信号。在中频处理阶段,I/Q信号经混合滤波、放大后经ADC转化成数字信号。然后进行自动获取控制、信道滤波、解调和二进制同步化处理,在DIO引脚输出数字解调数据,DCLK引脚获取同步数字时钟数据。RSSI为数字形式,并可通过窜行接口读出。RSSI还可作为可编程的载波检测指示器。
在发送模式下,合成的RF信号直接馈送到功率放大器PA。射频输出是FSK信号,此信号是由馈送到DIO引脚的数字比特流通过FSK调制产生的。可使用一个高频滤波器来得到高斯频移键控GFSK。芯片内部的收/发开关电路使天线容易接入和匹配。
硬件电路设计
微控制器选型
微控制器采用Cygnal公司生产的C8051F310,该处理器具有与8051完全兼容的CIP-51内核,是一款完全集成的混合信号ISP型MCU芯片,带有模拟多路器的10位200ksps的25通道单端/差分ADC,硬件实现的I2C、增强型UART及SPI接口,Flash存储器具有在系统重编程能力,可用于非易失性数据存储,并且允许现场更新8051固件。该型号单片机体积小、性能高,能够快速存取数据,也易于系统开发以及扩展,很适合本设计的需要。
CC1020结构配置接口
CC1020结构配置接口与微控制器的连接如图1所示。微控制器使用引脚P2.2~P2.5与CC1020的结构配置接口PSEL、PCLK、PDI、PDO连接。PDO与微控制器的一个输入端连接。PDI、PCLK和PSEL连接到微控制器的输出端。如果把PDI和PDO连接在一起,微控制器可以使用一个双向引脚端,则可节省微控制器的一个I/O端口。
当结构配置接口不使用时,连接到PSEL、PCLK、PDI和PDO引脚端的微控制器引脚可作他用。当PSEL引脚端无效(保持高电平)时(PSEL引脚端低电平有效),PCLK、PDI和PDO是高阻抗输入状态。PSEL有一个内部上拉电阻,在低功耗模式时必须断开(由微控制器三态控制),或者设为高电平,以阻止电流流入上拉电阻。
CC1020通过简单的四串行SPI接口进行编程。有8位的结构配置寄存器。每一位寄存器的地址是7位,1位作为读/写位,初始化读或写的操作。CC1020一次完整的配置,要求发送33个数据帧,每帧16位(Address 7位,R/W 1位,Data 8位)。一次完整配置所需时间取决于PCLK的频率。如果PCLK频率为10MHz,完成一次完整配置的时间少于53ms。将CC1020设为低功耗模式,只需发送一帧数据,因此所需的时间不到2ms。所有的寄存器都是可读的。
CC1020信号收发接口
CC1020信号收发接口与微控制器的连接如图1所示。微控制器使用引脚P2.6和P3.4与CC1020的双向同步数据接口DIO、DCLK连接。
微控制器的一个双向引脚与CC1020的DIO连接,用于数据的发射与接收(输入与输出)。DCLK提供数据定时,必须连接到微控制器的一个输入端。
数据输出可以选择使用单独的引脚。这时要设置CC1020的INTERFACE寄存器SEP_DI_DO=1。在同步模式下,LOCK引脚用作数据输出,而DCLK引脚作为异步模式的数据输出,DIO引脚端则只用于数据输入。
微控制器的一个引脚可用来监视锁相环的锁定信号,即LOCK引脚信号。当锁相环锁定时,LOCK引脚为逻辑低电平。它还可以用作载波检测及监视其它内部测试信号。
CC1020能被设置成三种不同的数据传输形式:同步NRZ模式、同步曼彻斯特码模式和异步传输UART模式。这三种模式各有特点,同步曼彻斯特码抗干扰能力最好,但是波特率要低一倍,异步传输UART实现起来最简单,但是抗干扰能力最差,而同步NRZ抗干扰能力比UART要好,但稍差于同步曼彻斯特码,实现难度也介于两者之间。考虑到微处理器基本都支持UART串行通讯,所以选择了这种模式,经测试效果完全能达到要求。
CC1020天线选择
CC1020可以使用多种型号的天线。近程通信中常使用的天线是单极天线、螺旋型天线和环形天线。本设计使用范围最佳且简单的1/4波长单极天线。
电源管理
CC1020提供了非常灵活的电源管理,以适应电池驱动应用中对功耗的严格要求。低功耗模式通过MAIN寄存器和POWERDOWN寄存器控制。MAIN寄存器中有独立的位,用于控制接收部分、发射部分、频率合成器和晶振。这种独立控制方式使得各个应用的功耗可以优化为最小。由于本设计是单独的无线通信模块,所以对功耗要求不太严格。系统采用5V供电,经过NCP500稳定输出3V电压。
抗干扰措施
无线射频收发系统对电源噪声很敏感,因此设计时采用了无线射频部分和其它电路分开供电的方法。高频器件对于噪声敏感,因此给各部分电源加装了滤波器或稳压器,以减少电源噪声对芯片的干扰。另外,对芯片使用电源监控及看门狗电路,以便大幅度提高整个电路的抗干扰性能。
Chipcon公司提供了射频部分的电路参考设计,射频部分的布局参照了参考设计的布局,同时根据实际情况做了一些改动,以获得最佳效果。CC1020的外围元件很少,其中VCO电感属于关键器件,选用了高精度电感,布局上也尽可能靠近芯片,并且尽可能使两个输入引脚对称,以保证性能。另外,设计时让晶振与芯片引脚尽量靠近,并用地线把时钟区隔离起来,晶振外壳接地并固定,还使用了金属罩对射频部分进行了电磁屏蔽。使用以上措施,保证了系统的可靠运行。
软件设计
通信协议采用UART格式(一个开始位,负载数据,一个结束位),另外,数据包前有同步码,同步码的作用是使接收端芯片正确识别UART格式的数据。之后要有识别码,识别码用来标志数据开始,如果正确收到识别码,说明可以正确接收数据。如果数据长度不是一定的,则在数据包开始部分加一个长度码,或在数据包结尾部分加特定结束标志。为了应付无线传输中可能出现的数据错误,在数据包最后加一个校验码,这样就可以根据应用需要选择丢掉该包或是要求重发。实际应用中发现,在数据包之后,最好要有1~2个字节的冗余码,否则,最后1个字节的数据很容易受到噪声干扰,造成错误识别。主要流程框图如图2所示。