CC1101
低成本、低功耗 1GHz 以下无线收发器(增强型 CC1100)
应用
??基于315/433/868/915 MHz ISM/SRD的极低功耗的无线应用。 ??无线报警和安全系统 ??工业监视和控制
产品描述
CC1101 是低成本的 1GHz 以下的无线收发器,为极低功耗的无线应用而设计。电路主要设 计为 ISM(工业、科学和医疗)和 SRD(短距离设备),频段在 315、433、868 和 915,但是可 以很容易的编程,使之工作在其他频率,在 300-348MHz,387-464 MHz
和 779-928 MHz
频段。
CC1101 是 CC1100 RF 收发器改良以及代码一致的版本。CC1101 的主要改进如下:
??改良的伪应答
??更好的关闭相位噪声,因而改善相邻信道功耗(ACP)的性能 ??更高的输入饱和级别 ??改善输出功率斜面 ??扩大工作频段:
CC1100: 400-464 MHz and 800-928MHz CC1101: 387-464 MHz and 779-928MHz
SWRS061D
Page 1 of 42
CC1101
3.6 4线串口配置和数据接口
CC1101 通过 4 线 SPI 兼容接口(SI,SO,SCLK 和 CSn)进行配置,CC1101 作为从设备。 这个接口同事用作读写缓冲器数据。SPI 接口上所有的数据传送都是先传送 MSB。
SPI 接口上的所有传送都是以一个头字节(header byte)开始,包含一个读写位(R/W), 一个突发(burst access)访问位(B)和 6 位地址位(A5~A0)。
在 SPI 总线上传输数据时,CSn 脚必须保持低电平。如果在发送头字节或者读写寄存器 时 CSn 拉高,传送将被取消。SPI 接口上地址和数据的发送时序图见图 12,并参考表 19。
当 CSn 被拉低,MCU 在发送头字节之前,必须等到 CC1101 的 SO 脚变为低电平。这 说明晶振开始工作。除非芯片在 SLEEP 或者 XOFF 状态,SO 脚在 CSn 引脚被拉低后马上 变为低电平。
图 12:配置寄存器读写操作
表 19:SPI 接口时序要求
SWRS061D
Page 2 of 42
CC1101
3.6.1 芯片状态字节
当在 SPI 接口上发送头字节,数据字节或者命令选通(command strobe)时,CC1101
在 SO 引脚上发送芯片状态字节。状态字节包含对 MCU 有用的关键状态信号。第 1 位,S7, 为 CHIP_RDYn 信号,在 SCLK 的第一个上升沿之前,该信号必须变为低电平。CHIP_RDYn 表 示晶振已经开始工作。
第 6、5、4 位组成(STATE)状态值,该值反映芯片的状态。在空闲(IDLE)状态, XOSC 和数字核的电源被打开,但是其他模块全部掉电。频率和信道配置只能在芯片处于该 状态时被更新。当芯片处于接收模式时,接收(RX)状态被激活。同样,当芯片处于发送 模式时,发送(TX)状态被激活。
状态字节的最后 4 位(3:0)包含 FIFO_BYTES_AVAILABLE。在读操作中(头字节的 R/W 位置 1),FIFO_BYTES_AVAILABLE 包含从 RX FIFO 可读到的数据字节数。在写操作中 (头字节的 R/W 位置 0),FIFO_BYTES_AVAILABLE 包含可写入到 TX FIFO 中的字节数。 当 FIFO_BYTES_AVAILABLE=15,15 个或者更多字节是可读的/空闲的。 表 20 为状态字节概要。 位 名称 描述 7 CHIP_RDYn 6:4 STATE[2:0] 保持高电平,直到电源和晶振稳定。当时用 SPI 接口时必须
变为低电平。 显示当前主状态机器模式 值 状态 描述 000 IDLE 空闲状态 001 RX 接收模式 010 TX 发送模式 011 FSTXON 快速 TX 准备 100 CALIBRATE 频率合成器校准运行中 101 SETTLING PLL 设置中 110 RXFIFO_OVE RX FIFO 溢出。读出有用的数 RFLOW 据,时用 SFRX 清洗 FIFO 111 TXFIFO_UND TX FIFO 下溢,使用 SFTX 命令
ERFLOW 3:0 FIFO_BYTES_AVAILA BLE[3:0]
表 20:状态字节概要 3.6.2 寄存器访问
CC1101 的配置寄存器位于 SPI 地址的 0x00 ~ 0x2E。64 页的表 37 列出了所有配置寄存
器。推荐使用 SmartRF Studio 生成合适的寄存器设定值。每个寄存器的详细说明见 67 页的
@
29.1 和 29.2。所有配置寄存器都是可读写的。当写寄存器时,每次一个头字节或者数据字节在 SI 引脚上传送,一个状态字节都在 SO 引脚上传送。当读寄存器时,每次一个头字节在 SI 引脚
上传送时,一个状态字节都在 SO 引脚上传送。
通过设置头字节的 burst 位(B)可以高效的实现寄存器的连续地址访问。地址位(A5~A0)
SWRS061D
Page 3 of 42
CC1101
在内部地址指针中设置起始地址。指针通过每一个新的字节自动增加(每 8 个时钟脉冲)。突
发访问可以是读,也可以是写访问,必须通过将 CS 脚拉高来停止操作。
在0x30 - 0x3D的寄存器地址范围,burst位置1选择状态寄存器,而burst置0选择命令选通
(command strobes)。详见10.3。因此,突发访问不可用于状态寄存器的访问,一次只能访问
一个状态寄存器。状态寄存器为只读。
3.6.3 读 SPI
3.6.4 命令选通(command strobes)
命令选通可以看做是 CC1101 的一个单字节指令。通过寻址一个命令选通寄存器,将启 动内部序列。这些命令用来禁止晶振,使能接收,使能无线唤醒等。
命令选通寄存器通过发送单一的头字节来访问(不传送数据字节)。也就是说,只有一
个 R/W 位,一个突发访问位(置 0)和 6 位地址位(在 0x30~0x3D 范围内)被传送。R/W 位可以是 1 或者 0,这将决定状态字节中的 FIFO_BYTES_AVAILABLE 区域如何确认。
当写命令选通时,状态字节将在 SO 引脚上被发送。
命令选通可以在 CSn 不被拉高的情况下,跟随在任何其他 SPI 访问之后。然而,如果
一个 SRES 命令被执行,下一个头字节被执行之前必须等到 SO 引脚被拉低,见图 13。命令 选通将立即被执行,除了 SPWD 和 SXOFF 命令在 CSn 拉高之后执行。
3.6.5 FIFO 访问
64 字节的 TX FIFO 和 64 字节的 RX FIFO 通过 0x3F 地址访问。当 R/W 位置 0 时,
TX FIFO 被访问,当 R/W 位置 1 时 RX FIFO 被访问。TX FIFO 为只写,RX FIFO 为 只读。
Burst 位用来确定 FIFO 访问时单字节访问还是突发访问。单字节访问方式是一个 burst 位置 0 的头字节和一个数据字节。数据字节之后,跟随一个新的头字节。因此,CSn 可以保
持低电平。突发访问的方式是一个头字节和连续的数据字节,直到将 CSn 拉高来停止访问。
使用下列头字节来访问 FIFO:
??0x3F:单字节访问 TX FIFO ??0x7F:突发访问 TX FIFO
SWRS061D
Page 4 of 42
CC1101
??0xBF:单字节访问 RX FIFO
??0xFF:突发访问 RX FIFO
当向 TX FIFO 写入数据时,在每一个新的字节发送时状态字节在 SO 引脚上输出。图 12)当向 TX FIFO 写入数据时,状态字节可以用来检测 TX FIFO 的下溢。
注意状态字节包含的空闲字节数是正在传送到 TX FIFO 的字节写入之前的值。当最后
一个可以写入 TX FIFO 的字节在 SI 引脚上传送的时候,同时在 SO 引脚上接收的状态字 节将显示 TX FIFO 中有一个字节的空闲。
TX FIFO可以通过SFTX命令刷新。同样SFRX命令可以刷新RX FIFO。SFTX和SFRX命令 只能再IDLE、TXFIFO_UNDERFLOW、RXFIFO_OVERFLOW状态使用。在进入SLEEP 状态时,两个FIFO都将被刷新。
3.6.6 PATABLE 访问
0x3E 地址用来访问 PATABLE,用来选择 PA 功率控制设置。SPI 在接收到该地址后,
传送 8 字节数据。通过编程 PATABLE,可以完成对 PA 功率的增加和减少的控制,以及 ASK 调制的修正以减小带宽。参照 samrtRF studio 推荐的修正和 PA 序列。
PATABLE 是一个 8 字节表,定义 PA 功率控制使用的 8 个字节中的任意值。(通过
FREND0.PA_POWER 中的 3 位值选择)表格可以从最低设置(0)到最高的(7)读写,一次 一个字节。一个索引指针用来控制访问表格。指针在每次读写表格的一个字节时自动增加, 并且在 CSn 拉高时自动设置为最小值。当达到最高值时自动复位。
依靠 burst 位,访问 PATABLE 既可以是单字节访问也可以是突发访问。当时用突发访 问时,索引指针自动增加,当指针达到 7 时,自动复位为 0。R/W 位控制访问时读操作还是 写操作。
注意,当进入 SLEEP 状态时 PATABLE 的内容将全部消失,除了第一个字节(index0)。
3.7 MCU 接口和引脚配置
在典型系统中,CC1101 必须连接 MCU。MCU 必须具备: ??编程 CC1101 到不同的模式。 ??读写数据缓冲器。
??通过 4 线 SPI 总线(SI、SO、SCLK 和 CSn)读取状态信息。
SWRS061D
Page 5 of 42