logo资料库

CC1101中文手册.docx

第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
资料共42页,剩余部分请下载后查看
低成本、低功耗 1GHz 以下无线收发器(增强型 CC1100)
产品描述
104 线串口配置和数据接口
10.1芯片状态字节
10.2寄存器访问
10.3读 SPI
10.5FIFO 访问
10.6PATABLE 访问
11.MCU 接口和引脚配置
11.1配置接口
11.2基本控制和状态脚
11.3可选的无线控制特性
12数据速率编程
13接收信道滤波带宽
14解调器、符号同步器和数据判定
14.1频率偏移补偿
14.2位同步
15数据包处理的硬件支持
15.1Data Whitening
15.2数据包格式
15.2.1任意长度区域配置
15.2.2数据包长度大于 255
15.3接收模式下的数据过滤
15.3.1地址过滤
15.3.2最大长度过滤
15.3.3CRC 过滤
15.4发送模式的数据包处理
15.5接收模式的数据包处理
15.6固件中的数据包处理
16调制方式
16.1频移键控(FSK)
16.2最小转换键控(MSK)
16.3振幅调制
17接收信号限定和链路质量信息
17.1同步字限定
17.2前导质量门限(PQT)
17.3RSSI
17.4载波监听(CS)
17.4.1CS 绝对门限
17.4.2CS 相对门限
17.5净信道评估(CCA)
17.4 链路质量指示(LQI)
18使用交叉前向纠错
18.2交叉
19无线控制
19.1上电启动序列
19.1.1自动 POR
19.1.2手动复位
19.2晶振控制
19.3电压调整器控制
19.4活跃模式
19.5无线唤醒(WOR)
19.5.1RC 振荡器和时序
19.6时序
19.7接收终止定时器
20数据 FIFO
21频率设置
22VCO
22.1 VCO 和 PLL 自校准
23电压调整器
24输出功率编程
25修整和 PA 斜率
26基本用途/测试输出控制引脚
27异步和同步串行操作
27.1异步操作
27.2串行同步操作
28系统注意事项和指导
28.3当不使用扩频时的宽带调制
28.6连续传输
28.7低功耗系统
28.8电池工作系统
28.9提高输出功率
29配置寄存器
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 10 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 10.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 保持高电平,直到电源和晶振稳定。当时用 SPI 接口时必须 描述 名称 CHIP_RDYn 6:4 STATE[2:0] 变为低电平。 显示当前主状态机器模式 值 000 001 010 011 100 101 110 状态 IDLE RX TX 描述 空闲状态 接收模式 发送模式 FSTXON CALIBRATE SETTLING RXFIFO_OVE RFLOW 快速 TX 准备 频率合成器校准运行中 PLL 设置中 RX FIFO 溢出。读出有用的数 据,时用 SFRX 清洗 FIFO 111 TXFIFO_UND TX FIFO 下溢,使用 SFTX 命令 ERFLOW 3:0 FIFO_BYTES_AVAILA BLE[3:0] 10.2 寄存器访问 表 20:状态字节概要 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
在内部地址指针中设置起始地址。指针通过每一个新的字节自动增加(每 8 个时钟脉冲)。突 发访问可以是读,也可以是写访问,必须通过将 CS 脚拉高来停止操作。 在0x30 - 0x3D的寄存器地址范围,burst位置1选择状态寄存器,而burst置0选择命令选通 (command strobes)。详见10.3。因此,突发访问不可用于状态寄存器的访问,一次只能访问 一个状态寄存器。状态寄存器为只读。 CC1101 10.3 读 SPI 10.4 命令选通(command strobes) 命令选通可以看做是 CC1101 的一个单字节指令。通过寻址一个命令选通寄存器,将启 动内部序列。这些命令用来禁止晶振,使能接收,使能无线唤醒等。13 个命令选通的清单见 63 页的表 36。 Note:一个 SIDLE 命令将清除所有的未定命令,直到达到 IDLE 状态。这意味着比如 当无线处于接收状态时执行 SIDLE 命令,当无线达到 IDLE 状态之前执行任何其他的命令 选通都是无效的。 命令选通寄存器通过发送单一的头字节来访问(不传送数据字节)。也就是说,只有一 个 R/W 位,一个突发访问位(置 0)和 6 位地址位(在 0x30~0x3D 范围内)被传送。R/W 位可以是 1 或者 0,这将决定状态字节中的 FIFO_BYTES_AVAILABLE 区域如何确认。 当写命令选通时,状态字节将在 SO 引脚上被发送。 命令选通可以在 CSn 不被拉高的情况下,跟随在任何其他 SPI 访问之后。然而,如果 一个 SRES 命令被执行,下一个头字节被执行之前必须等到 SO 引脚被拉低,见图 13。命令 选通将立即被执行,除了 SPWD 和 SXOFF 命令在 CSn 拉高之后执行。 10.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都将被刷新。 10.6 PATABLE 访问 0x3E 地址用来访问 PATABLE,用来选择 PA 功率控制设置。SPI 在接收到该地址后, 传送 8 字节数据。通过编程 PATABLE,可以完成对 PA 功率的增加和减少的控制,以及 ASK 调制的修正以减小带宽。参照samrtRF studio 推荐的修正和PA 序列。参照55 页的Section 24 对 PA 功率输出编程的详细说明。 PATABLE 是一个 8 字节表,定义 PA 功率控制使用的 8 个字节中的任意值。(通过 FREND0.PA_POWER 中的 3 位值选择)表格可以从最低设置(0)到最高的(7)读写,一次 一个字节。一个索引指针用来控制访问表格。指针在每次读写表格的一个字节时自动增加, 并且在 CSn 拉高时自动设置为最小值。当达到最高值时自动复位。 依靠 burst 位,访问 PATABLE 既可以是单字节访问也可以是突发访问。当时用突发访 问时,索引指针自动增加,当指针达到 7 时,自动复位为 0。R/W 位控制访问时读操作还是 写操作。 注意,当进入SLEEP 状态时 PATABLE 的内容将全部消失,除了第一个字节(index0)。 11. MCU 接口和引脚配置 在典型系统中,CC1101 必须连接 MCU。MCU 必须具备:  编程 CC1101 到不同的模式。  读写数据缓冲器。  通过 4 线 SPI 总线(SI、SO、SCLK 和 CSn)读取状态信息。 SWRS061D Page 5 of 42
11.1 配置接口 MCU 使用 4 个 IO 口作为 SPI 配置接口。(SI、SO、SCLK 和 CSn)SPI 的描述见 28 页 CC1101 的 Section 10。 11.2 基本控制和状态脚 CC1101 有 2 个专用配置脚(GDO0 和 GDO2)和一个共用脚(GDO1)可以向控制软件 输出有用的内部状态信息。这些脚可以用来向 MCU 产生中断。 GDO1 和 SPI 的 SO 引脚共用。GDO1/SO 的默认设置时 3 态输出。通过选择任何编程 选项,GDO1/S 将变为普通引脚。当 CSn 拉低,该引脚将始终作为普通的 SO 功能引脚。在 同步和异步串行模式,在发送模式下,GDO0 引脚将作为串行 TX 数据输入引脚。 GDO0也可以用作片上模拟温度传感器。通过外部ADC测量GDO0脚的电压,可以计算 出温度。温度传感器的详细说明见18页的Section 4.7。通过默认的PTEST寄存器设置 (0x7F),如果频率合成器被允许温度传感器的的输出时可用的。(例如:MANCAL, FSTXON,RX和 TX状态)在IDLE状态向PTEST寄存器写入0xBF允许模拟温度传感器是必 要的。离开IDLE状态之前,必须恢复PTEST寄存器为默认值(0x7F)。 11.3 可选的无线控制特性 CC1101 有一个可选的控制方式,通过 SPI 接口的 SI,SCLK 和 CSn 的重新使用。这 个特性允许普通的三引脚控制无线的主要状态:SLEEP,IDLE,RX 和 TX。这些附加功能 通过 MCSM0.PIN_CTRL_EN 配置为来使能。 状态变化遵从以下命令:  如果 CSn 被拉高,SI 和 SCLK 依照表 21 设置好想要的状态。  如果 CSn 被拉低,SI 和 SCLK 的状态被锁定,按照引脚的配置在内部产生一个 command strobe。 只允许在功能实现之后改变状态。例如,如果 SI 和 SCLK 设置为 RX 状态,并且已经 由 CSn 触发,RX 将不能再重新启动。当 CSn 拉低吼,SI 和 SCLK 将作为普通的 SPI 功能。 除了 SPWD 外,所有引脚控制命令将立即执行,SPWD 延时到 CSn 拉高后执行。 SWRS061D Page 6 of 42
12 数据速率编程 发送或者接收的数据速率通过MDMCFG3.DRATE_M 和MDMCFG4.DRATE_E配置寄存器 来编程。数据速率由下面的公式来计算。根据公式,数据速率的编程依赖于晶振频率。 CC1101 下面的方面可以计算出适合的数据速率: 如果DRATE_M接近整数并且变为256,DRATE_E加1并且DRATE_M=0. 数据速率可以设置为从1.2K~500K,按照表22的最小步值。 13 接收信道滤波带宽 为了区分不同信道带宽, 接收信道滤波器是可设置的。MDMCFG4.CHANBW_E 和 DMCFG4.CHANBW_M 配置寄存器控制接收信道滤波器带宽,通过晶振频率来衡量。 下面的公式给出寄存器配置和信道滤波带宽之间的关系: 表 23 列出了 CC1101 支持的信道滤波带宽。 SWRS061D Page 7 of 42
CC1101 为了达到更好的性能,信道滤波带宽必须设置以至于信号带宽至多占 80%的信道滤波带宽。 对于晶振精度的信道中心公差应该从信号带宽中减去。下面举例说明: 信道滤波带宽设置为 500kHz,信号带宽保持在 500kHz 的 80%之内,400kHz。发送 和接收设备都在中心频率 915MHz 和±20ppm 频率误差,总共的频率误差是 915MHz 的± 40ppm,即±37kHz。如果整个发送的信号带宽达到接收的 400kHz 之内,发送信号带宽 的最大值为 400kHz-2*37kHz,即 326kHz。 通过修正发送和接收的频率偏移,滤波带宽可以减小,并且可以改善灵敏度。详见 DN005[20]和 Section14.1 。 14 解调器、符号同步器和数据判定 CC1101 包含一个高级的和高可配置的解调器。信道滤波和频率偏移补偿都可以数字化。 14.1 频率偏移补偿 CC1101 有非常好的频率分辨率。(表 12)这个特性可以用来补偿频率偏移和温漂。 当时用 2-FSK、GFSK 或 MSK 调制时,解调器将在发送和接收频率的一定界限内,通 过估计接收数据的中心,补偿频率偏移。频率偏移补偿配置由 FOCCFG 寄存器控制。通过 补偿发送和接收之间最大的频率偏移,可以改善灵敏度,见 DN005。 运算法则的跟踪范围是通过 FOCCFG.FOC_LIMIT 配置寄存器选择一部分信道带宽。如 果FOCCFG.FOC_BS_CS_GATE位设置,频率补偿将被冻结,直到carrier sense生效。 这对于无线常时间处于RX状态而没有通信是非常有用的,since the algorithm may drift to the boundaries when trying to track noise。 追踪循环有两个增益要素,影响设定时间和运算的噪声灵敏度。同步字节被检测到之前由 FOCCFG.FOC_PRE_K设定增益,同步字节检测到之后由FOCCFG.FOC_POST_K选择增益。 注意:ASK和OOK调制不支持频率偏移补偿。 在FREQEST状态寄存器中的预置频率偏移值是可用的。可以用作永久的频率偏移补偿。 通过把FREQEST中的值写入FSCTRL0.FREQOFF,平率合成器将依照预置频率偏移自动被调 整。更详细的关于永久频率补偿计算参照DN015[13]。 SWRS061D Page 8 of 42
分享到:
收藏