点对多点的无线系统对无线传输提出了双向通信的要求,即主机和从机都可以进行发射与接收,并且相互之间协调有序,不会产生冲突和干扰。其实现方式有多种,本文从基于无线收发芯片CCl020实现这种点对多点无线系统出发,详细论述了该系统的3种简单实现方式。
1 基于CCl020实现点对多点系统
1.1 CCl020概述
CCl020是为极低功率、极低电压的无线应用而设计的单片UHF收发芯片。电路主要应用于402、424、426、429、433、447、449、469、868和915 MHz的ISM和SRD频带,也可以通过编程工作于402~470 MHz和804~940 MHz的其他频率。
CCl020电源电压为2.3~3.6 V,有接收、发射和低功耗3种模式。在接收模式下,电流消耗为17 mA。CCl020尤其适用于信道间距为12.5 kHz或25 kHz的窄带系统。在12.5 kHz带宽的信道中,灵敏度可达一119 dBm,数据速率高达153.6 kbps。CCl020具有ASK、FSK和GFSK三种数据调制方式,有数字接收信号强度指示器、载波检测指示器和镜像抑制混频器,无需温度补偿晶体振荡器(TCXO)即可补偿晶体温度漂移。
在典型应用系统中,CCl020与单片机和少量外部无源元件结合使用。图2为CCl020与单片机AT89C2051连接的电路示意图。图中DVDD与AVDD均为3 V。
CCl020的工作是建立在对其33个可编程配置寄存器进行编程基础上的,33个配置数据可由SmartRF Studio软件根据参数选取的不同生成最佳搭配值,再根据自己的实际需要调整个别寄存器的参数。
单片机使用3或4个I/0引脚与CCl020的结构配置SPI兼容接口(PDI,PDO,PCLK和PSEL)连接。PD0接单片机的输入,PDI、PCLK和PSEL接单片机的输出。如果PDI和PD0连接在一起,则可以节省一个I/0引脚,此时单片机使用一个双向引脚。单片机的一个双向引脚与CCl020的DIO引脚连接,用于数据的发射和接收(输入与输出)。DCLK提供数据时钟,必须连接到单片机的一个输入端。当工作在同步模式时,根据DCLK引脚端提供的同步时钟从DIO引脚进行数据的收发。
在点对多点系统的实现中,重点在于对CCl020的结构配置与收发软件的设计上。
1.2 基于地址码的点对多点系统
点对多点系统中从机与主机的交流可以通过地址码的形式来实现,地址码包含在数据帧中。最简单的数据帧形式如下:
Lead为引导字节(即同步码),通过测试和试验发现,OxFF后跟OxAA、Ox55在噪声中不容易发生,接收协议规定只接收以OxFF后跟OxAA、0x55开始的包;Address为从机地址码;地址码后跟规定字节的数据;CheckSum为数据帧校验字节。
工作时,主机根据所选的从机改变地址码,紧跟着发送指令数据;从机则在识别到同步码后,首先根据地址码判断此数据帧是否是发给自己的,然后相应地选择放弃或接收。从机发送、主机接收的协议与此类似。图3与图4分别给出了基于CCl020使用地址码应用于点对多点无线数据采集系统的主从机软件工作流程。