当前位置:首页 > 翻译CC1101中文数据手册 - 图文
CC1101
19 无线控制
CC1101 有一个内部状态机用来切换不同的工作状态(模式)。状态的转换时任意的,通 过使用命令选通或者内部事件像 TC FIFO 下溢等。
简单状态图,包含典型用法和电流消耗,见 27 页图 10。完整的无线控制状态图见图 21。 所涉及到的状态数量可以从 MARCSTATE 状态寄存器读到,这个寄存器主要是用作测试的目的。
19.1 上电启动序列
当电源给电,系统必须复位。通过下面描述的 2 个序列中的一个来完成,即自动上电复 位(POR)或者手动复位。自动上电复位或手动复位之后,推荐转换 GDO0 引脚上输出的 信号。默认设置是以 CLK_XOSC/192 的频率输出一个时钟信号。然而,为了在 TX 和 RX 中优化执行,必须选择 58 页表 35 中的配置来配置 GDO 脚。
SWRS061D
Page 22 of 42
CC1101
19.1.1 自动 POR
CC1101 内部包含上电复位电路。最小的需求见表 15,完整的上电复位功能必须遵循。
当 CHIP_RDYn 变低内部上电序列完成。在 CSn 拉低后在 SO 引脚上可以查看 CHIP_RDYn。
当 CC1101 复位完成,芯片将进入 IDLE 状态,晶振开始运行。如果芯片在上电之后有 足够的时间让晶振稳定,在捕获 CSn 变低之后 SO 引脚将马上变低。如果在复位完成之前 CSn 被拉低,SO 引脚将首先变高,指示晶振没有稳定,变低之前见图 22。
19.1.2 手动复位
CC1101 上的其它全部复位时使用 SRES 命令选通。通过执行这个选通,所有内部寄存
器和状态恢复默认,IDLE 状态。手动复位序列如下(图 23):
??设置 SCLK=1,SI=0,避免引脚控制模式可能出现的问题。 ??选通 CS 低/高。
??保持 CS 为低,然后拉高,至少 40us 才可以拉低 ??将 CSn 拉低等到 SO 拉低(CHIP_RDYn)。 ??在 SI 线上发布 SRES 选通。
??当 SO 再一次拉低,复位完成,芯片进入 IDLE 状态。
注意:以上复位程序只需要在电源给电之后。如果用户在这之后想要复位 CC1101,只 需要执行 SRES 命令选通。
SWRS061D
Page 23 of 42
CC1101
19.2 晶振控制
如果设置 MCSM0.XOSC_FORCE_ON,晶体振荡器(XOSC)是自动控制的或者一直在线。 在自动模式下,如果执行 SXOFF 或 SPWD 命令选通,XOSC 将被关闭;状态机接着讲 变为 XOFF 或者 SLEEP。这只能从 IDLE 状态执行。当 CSn 被释放(变高)XOSC 将被关闭。 当 CSn 被拉低 XOSC 将再一次被打开。状态机将变为 IDLE 状态。在 SPI 接口准备使用之 前,SPI 接口的 SO 引脚必须被拉低。
如果 XOSC 被强制开,即使在 SLEEP 状态,晶振也将保持开的状态。 晶振的启动 时间依赖于晶振的 ESR 和负载电容。晶振的电气规格可以 从 16 页的 Section4.4 查找。
19.3 电压调整器控制
数字和的电压调整器由无线控制器控制。当芯片进入低功耗的 SLEEP 状态时,电压调
整器被禁止。这发生在 SPWD 命令选通被发送到 SPI 接口 CSn 被释放后。接着芯片进入
SLEEP 状态。再一次设置 CSn 为低将打开调整器和晶振,使芯片进入 IDLE 状态。
如果使能无线唤醒,WOR 模块将控制电压调整器,见 Section19.5 描述。
19.4 活跃模式
CC1101 有两个活跃的模式:接收和发送。这些模式直接通过 MCU 使用 SRX 和 STX 命 令滤波,或者自动无线唤醒来激活。
频率合成器必须被有规律的校准。CC1101 有一个手动校准选项(使用 SCAL 滤波)和 3 个自动校准选项,由 MCSM0.FS_AUTOCAL 设定来控制:
??当从 IDLE 进入 RX 或 TX(或 FSTXON)时校准 ??当从 RX 或 TX 自动进入 IDLE 时校准
??每四次从 RX 或 TX 自动进入 IDLE 时校准
如果无线从 TX 或 RX 使用 SIDLE 命令进入 IDLE,不执行校准。校准占用一定数量的 XOSC 周期;校准的详细时序见表 31。
当 RX 被激活,芯片将一直保持在接收模式,直到一个数据包被成功的接收或者定时器 满 RX 中止(见 Section19.7)。降低错误的同步字被检测的可能性可以通过使用 PQT,CS, 最大同步字长度和 Section17 描述的同步字限制。一个数据包被成功接收之后,无线控制器 进入的模式由 MCSM1.RXOFF_MODE 来设定。可能的目的地是:
??IDLE
??FSTXON:同步合成器开并且准备在 TX 频率。使用 STX 激活 TX ??TX:开始发送前导
??RX:开始搜索一个新的数据包
注意:当 MCSM1.RXOFF_MODE=11,并且一个数据包已经被接收,一个有效的 RSSI 值再一次被呈现在 RSSI 寄存器之前需要一定的时间,即使无线从来没有退出 RX 模式。
这个时间是 RSSI 的响应时间,论述见 DN505。
同理,当 TX 被激活,芯片一直保持在 TX 状态直到当前数据包被成功的发送。接下来 状态将按照 MCSM1.TXOFF_MODE 来设定。可能的目的地与 RX 相同。
SWRS061D
Page 24 of 42
CC1101
MCU 也可以手动的通过使用命令滤波从 RX 到 TX 转换状态。如果无线控制器当前在发
送状态,使用 SRX 命令,当前的传送将终止,转换到 RX 模式。
如果无线控制器在 RX 模式,执行 STX 或 SFSTXON 命令,TX-if-CCA 功能将被使用。 如果信道为非空闲,芯片将保持在 RX。MCSM1.CCA_MODE 配置控制 CCA 的条件。详见 46 页 Section17.5。
SIDLE 命令可以一直用来强制无线控制器进入 IDLE 状态。
19.5 无线唤醒(WOR)
附加的 WOR 够哦拿给你允许 CC1101 周期性的从 SLEEP 状态唤醒,不需要 MCU 的交 互监听输入的数据包。
当 SWOR 命令在 SPI 接口上发送,当 CSn 被释放 CC1101 将持续 SLEEP 状态。在 SWOR 命令被使能之前必须使能 RC 振荡器,作为 WOR 定时器的时钟源。片上定时器将设置
CC1101 进入 IDLE 状态,然后 RX 状态。在编程好的 RX 时间之后,芯片将回到 SLEEP 状 态,除非接收到一个数据包。详见图 24 和 Section19.7。
要退出 WOR 模式,设置 CC1101 进入 IDLE 状态。
使用 GDO 引脚当接收到数据包后 CC1101 可以发信号给 MCU。如果一个数据包被接收 到,MCSM1.RXOFF_MODE 将决定数据包接收完成之后的动作。当 MCU 读取数据包,它可 以使用 SWOR 命令将芯片从 IDLE 状态转回到 SLEEP 状态。
注意:FIFO 在 SLEEP 状态释放其中的内容。
WOR 定时器有两个事件,事件 0 和事件 1。在 WOR 激活的 SLEEP 状态,达到事件 0 将打开数字校准器,启动晶振。在编程好的超时后事件 1 跟随事件 0。
两个连续的事件 0 之间的时间由 WOREVT1.EVENT0 和 WOREVT0.EVENT0 的尾数值编 程,典型值由 WORCTRL.WOR_RES 设置。公式为:
事件 1 的超时时间由 WORCTRL.EVENT1 配置。图 24 显示事件 0 超时和事件 1 超时的 时序关系。
SWRS061D
Page 25 of 42
共分享92篇相关文档