CC1101的芯片状态字节和寄存器访问
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为状态字节概要。
2 寄存器访问
CC1101的配置寄存器位于SPI地址的0x00 ~ 0x2E。64页的表37列出了所有配置寄存器。推荐使用SmartRF@ Studio 生成合适的寄存器设定值。每个寄存器的详细说明见67页的29.1和29.2。所有配置寄存器都是可读写的。当写寄存器时,每次一个头字节或者数据字节在SI引脚上传送,一个状态字节都在SO引脚上传送。当读寄存器时,每次一个头字节在SI引脚上传送时,一个状态字节都在SO引脚上传送。 通过设置头字节的burst位(B)可以高效的实现寄存器的连续地址访问。地址位(A5~A0)
在内部地址指针中设置起始地址。指针通过每一个新的字节自动增加(每8个时钟脉冲)。突发访问可以是读,也可以是写访问,必须通过将CS脚拉高来停止操作。
在0x30 – 0x3D的寄存器地址范围,burst位置1选择状态寄存器,而burst置0选择命令选通(command strobes)。详见10.3。因此,突发访问不可用于状态寄存器的访问,一次只能访问一个状态寄存器。状态寄存器为只读。
注意:来自网络整理