图(6)状态表
注释:(1)sleep:最低功率模式。大多数寄存器值被保持。典型电流消耗:400nA,或 900nA 当电磁波唤醒
(WOR)开启时。
(2) Idle:当通信不被接收或传输时为默认值。典型电流消耗:1.5mA
(3) Manual freq. Synth. Calibration:用来校准在前面的频率合成器(进入接收或发送模式能更快地
运行) 。变迁状态典型电流消耗:7.4mA
(4) 频率合成器开启:频率合成器是开启的,准备开始发送。在接收 STX 命令滤波之后,发送
很快就开 始。典型电流消耗:7.4mA
2.2.4 CC2500无线收发芯片接口和寄存器描述
11
编程控制芯片的实质就是对芯片的寄存器进行配置,这一部分主要介绍芯片的寄存器及相关配置要求。 (1)SPI接口
CC2500通过4线SPI兼容接口(SI,SO,SCLK和CSn)对寄存器进行配置。这个接口同时用作写和读缓存数据。SPI 接口上所有的地址和数据转换被最先在重要的位上进行处理。SPI接口上所有的处理都同一个包含一个读/写位,一个突发访问位和一个6位地址的 头字节一起作用。在地址和数据转换期间,CSn 脚(芯片选择,低电平有效)必须保持为低电平,如果在过程中 CSn变为高电平,则转换取消。当 CSn变低,在开始转换头字节之前,MCU 必须等待,直到 SO脚变低。这表明电压调制器已经稳定,晶体正在运作中。除非芯片处在 SLEEP或 XOFF状态,SO脚在 CSn变低之后总会立即变低。下图(7)描述了对寄存器进行读写操作的时序图,表(6)描述了SPI接口的定时要求,在编写程序是要考虑。
图(7)配置寄存器写和读操作时序图 参数 FSCLK tsp,pd tsp tch tcl trise tfall tsd thd tns 描述 SCLK 频率 CSn 低到 SCLK 的正边缘,功率降低模式下 CSn 低到 SCLK 的正边缘,活动模式下 时钟高 时钟低 时钟上升时间 时钟上升时间 向 SCLK 的正边缘建立数据 在 SCLK 的正边缘之后保持数据 SCLK 到 CSn 高时的负边缘 表(6) SPI 接口定时要求 最小值 0 TBDus TBDns 50ns 50ns 最大值 10MHz TBDns TBDns TBDns TBDns TBDns (2)芯片状态位描述
状态寄存器6,5和 4位由状态值组成。这个值反映了芯 片的状态。当使 XOSC空闲并使数字中心的能量开启,所有其他模块处于功率降低状态时,频率和信道配置才能更新。当
12
芯片处于接收模式时,RX状态是活动的。 同样地,当芯片处于传输模式时,TX状态是活动的。状态字节中的后四位(3:0)包 含 FIFO_BYTES_AVAILABLE。为了进行读 操作,这个区域包含可从 RX FIFO读取的字节数。为了进行写操作,这个区域包含可写入TX FIFO的字节数,当FIFO_BYTES_AVAILABLE=15时,15或者更多字节是可以自由使用的。下表(7)是对状态位的一个简要描述
比特 7 6:4 名称 CHIP_RDYn STATE[2:0] 描述 保持高,直到功率和晶体已稳定。当使用 SPI 接口时应始 终为低。 表明当前主状态机模式 值 状态 描述 000 001 010 011 100 101 110 空闲 RX TX FSTXON 校准 迁移 RXFIFO_OVERFLOW TXFIFO_OVERFLOW 空闲模式 接收模式 发送模式 快速TX准备 频率合成器校准正运行 PLL正迁移 RX FIFO已经溢出。读出任何有用数据,然后用SFRX冲洗FIFO。 TX FIFO已经下溢。同SFTX应答。 111 3:0 FIFO_BYTES_AVAILABLE[3:0] TX FIFO中 的自 由 比 特数。若 FIFO_BYTES_AVAILABLE=15,它表明有 15 或更多个比 特是可用/自由的。 表(7) 状态字概述 (3)数据传输
CC2500芯片通信数据以数据包的形式传输,数据包的格式如下图(8)所示,相关解释与注意事项见图后注释。传输数据率和接收的数据率要进行匹配,由MDMCFG3.DRATE_M和MDMCFG4.DRATE_E 配置寄存器控制,数据率有晶振频率决定,数据率RDATA可由下面公式得到:
同样,利用上式也可以得到:
13
接收信道的滤波带宽也是可以通过设定MDMCFG4.CHANBW_E和MDMCFG4.CHANBW_M编程确定,可以通过下面的式子得到所需的带宽值:
为了得到最高性能,信号带宽最多占 80%信道滤波带宽。取决于晶体精确度的信道中心容差也应该从信号带宽中减去。
单位:bit 前导码 8×n 同步字 16/32 数据长度 8 地址 8 数据载荷 8×n 校验码 16 图(8) 数据包格式
注释:由上图可见,无线收发的一个数据包由8*n bit的附加信息位,16或32bit的同步字,8bit数据包长度控制字,8bit可选地址控制字,8*n bit任意长数据载荷和16bit CRC检校字构成,数据包传送时左边在前,右边在后,但是单包数据长度不能超过256字节。CC2500提供为数据包导向的通信协议,在传输模式下,只需要添加可控制数量的前导字节和一个二字节同步词汇到TX FIFO数据包;在接收模式下数据包处理支持将对数据包进行解析。推荐设定为 4 字节前导和 2 字节同步词汇,而且控制数据包处理特性的寄存器区域必须只能在 CC2500 处于空闲状态时更改。相关更详细的介绍请访问TI中国官网(www.tichinese.com)查看芯片数据手册。
(4)寄存器描述
CC2500的寄存器分为配置寄存器和状态寄存器,地址从0x00~0x2E为配置寄存器,0x30~0x3F为状态寄存器。用户通过配置寄存器对8位寄存器进行配置,可以设定通信数据率、接收信道滤波带宽、调制解调参数、数据包参数和数据滤波参数、电压和功率控制、纠错控制、晶体和频率控制、激活模式控制等等。图(9)给出了SPI 地址空间。供使用的0x2F 之上和之地址通过在左边加入基地址,在顶端加入突发和读/写位的方式给出。注意在 下,突发位对于基地址有不同的意义。表(8)是对地址空间中配置寄存器的描述,表(9)是对地址空间中状态寄存器的描述,(详细配置参数请参看芯片数据手册55~78页) 注释①:数据手册下载地址是:
http://focus.ti.com/docs/prod/folders/print/cc2500.html
14
①
图(9)SPI地址空间
15