CC1101中文数据手册.docx

上传人:b****8 文档编号:23756277 上传时间:2023-05-20 格式:DOCX 页数:76 大小:827.92KB
下载 相关 举报
CC1101中文数据手册.docx_第1页
第1页 / 共76页
CC1101中文数据手册.docx_第2页
第2页 / 共76页
CC1101中文数据手册.docx_第3页
第3页 / 共76页
CC1101中文数据手册.docx_第4页
第4页 / 共76页
CC1101中文数据手册.docx_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

CC1101中文数据手册.docx

《CC1101中文数据手册.docx》由会员分享,可在线阅读,更多相关《CC1101中文数据手册.docx(76页珍藏版)》请在冰豆网上搜索。

CC1101中文数据手册.docx

CC1101中文数据手册

CC1101

SWRS061DPage1of42

低成本、低功耗1GHz以下无线收发器(增强型CC1100)

应用

l基于

315/433/868/915MHzISM/SRD

的极低功耗的无线应用。

l无线报警和安全系统

l工业监视和控制

产品描述

CC1101是低成本的1GHz以下的无线收发器,为极低功耗的无线应用而设计。

电路主要设

计为ISM(工业、科学和医疗)和SRD(短距离设备),频段在315、433、868和915,但是可

以很容易的编程,使之工作在其他频率,在300-348MHz,387-464MHz和779-928MHz

频段。

CC1101是CC1100RF收发器改良以及代码一致的版本。

CC1101的主要改进如下:

l改良的伪应答

l更好的关闭相位噪声,因而改善相邻信道功耗(ACP)的性能

l更高的输入饱和级别

l改善输出功率斜面

l扩大工作频段:

CC1100:

400-464MHzand800-928MHz

CC1101:

387-464MHzand779-928MHz

CC1101

SWRS061DPage2of42

104线串口配置和数据接口

CC1101通过4线SPI兼容接口(SI,SO,SCLK和CSn)进行配置,CC1101作为从设备。

这个接口同事用作读写缓冲器数据。

SPI接口上所有的数据传送都是先传送MSB。

SPI接口上的所有传送都是以一个头字节(headerbyte)开始,包含一个读写位(R/W),

一个突发(burstaccess)访问位(B)和6位地址位(A5~A0)。

在SPI总线上传输数据时,CSn脚必须保持低电平。

如果在发送头字节或者读写寄存器

时CSn拉高,传送将被取消。

SPI接口上地址和数据的发送时序图见图12,并参考表19。

当CSn被拉低,MCU在发送头字节之前,必须等到CC1101的SO脚变为低电平。

说明晶振开始工作。

除非芯片在SLEEP或者XOFF状态,SO脚在CSn引脚被拉低后马上

变为低电平。

图12:

配置寄存器读写操作

表19:

SPI接口时序要求

CC1101

SWRS061DPage3of42

10.1芯片状态字节

当在SPI接口上发送头字节,数据字节或者命令选通(commandstrobe)时,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包含从RXFIFO可读到的数据字节数。

在写操作中

(头字节的R/W位置0),FIFO_BYTES_AVAILABLE包含可写入到TXFIFO中的字节数。

当FIFO_BYTES_AVAILABLE=15,15个或者更多字节是可读的/空闲的。

表20为状态字节概要。

位名称描述

7CHIP_RDYn保持高电平,直到电源和晶振稳定。

当时用SPI接口时必须

变为低电平。

6:

4STATE[2:

0]显示当前主状态机器模式

值状态描述

000IDLE空闲状态

001RX接收模式

010TX发送模式

011FSTXON快速TX准备

100CALIBRATE频率合成器校准运行中

101SETTLINGPLL设置中

110RXFIFO_OVE

RFLOW

RXFIFO溢出。

读出有用的数

据,时用SFRX清洗FIFO

111TXFIFO_UND

ERFLOW

TXFIFO下溢,使用SFTX命令

3:

0FIFO_BYTES_AVAILA

BLE[3:

0]

表20:

状态字节概要

10.2寄存器访问

CC1101的配置寄存器位于SPI地址的0x00~0x2E。

64页的表37列出了所有配置寄存

器。

推荐使用SmartRF@Studio生成合适的寄存器设定值。

每个寄存器的详细说明见67页的

29.1和29.2。

所有配置寄存器都是可读写的。

当写寄存器时,每次一个头字节或者数据字节在

SI引脚上传送,一个状态字节都在SO引脚上传送。

当读寄存器时,每次一个头字节在SI引脚

上传送时,一个状态字节都在SO引脚上传送。

通过设置头字节的burst位(B)可以高效的实现寄存器的连续地址访问。

地址位(A5~A0)

CC1101

SWRS061DPage4of42

在内部地址指针中设置起始地址。

指针通过每一个新的字节自动增加(每8个时钟脉冲)。

发访问可以是读,也可以是写访问,必须通过将CS脚拉高来停止操作。

在0x30-0x3D的寄存器地址范围,burst位置1选择状态寄存器,而burst置0选择命令选通

(commandstrobes)。

详见10.3。

因此,突发访问不可用于状态寄存器的访问,一次只能访问

一个状态寄存器。

状态寄存器为只读。

10.3读SPI

10.4命令选通(commandstrobes)

命令选通可以看做是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.5FIFO访问

64字节的TXFIFO和64字节的RXFIFO通过0x3F地址访问。

当R/W位置0时,

TXFIFO被访问,当R/W位置1时RXFIFO被访问。

TXFIFO为只写,RXFIFO为

只读。

Burst位用来确定FIFO访问时单字节访问还是突发访问。

单字节访问方式是一个burst

位置0的头字节和一个数据字节。

数据字节之后,跟随一个新的头字节。

因此,CSn可以保

持低电平。

突发访问的方式是一个头字节和连续的数据字节,直到将CSn拉高来停止访问。

使用下列头字节来访问FIFO:

Ø0x3F:

单字节访问TXFIFO

Ø0x7F:

突发访问TXFIFO

CC1101

SWRS061DPage5of42

Ø0xBF:

单字节访问RXFIFO

Ø0xFF:

突发访问RXFIFO

当向TXFIFO写入数据时,在每一个新的字节发送时状态字节在SO引脚上输出。

(图

12)当向TXFIFO写入数据时,状态字节可以用来检测TXFIFO的下溢。

注意状态字节包含的空闲字节数是正在传送到TXFIFO的字节写入之前的值。

当最后

一个可以写入TXFIFO的字节在SI引脚上传送的时候,同时在SO引脚上接收的状态字

节将显示TXFIFO中有一个字节的空闲。

TXFIFO可以通过SFTX命令刷新。

同样SFRX命令可以刷新RXFIFO。

SFTX和SFRX命令

只能再IDLE、TXFIFO_UNDERFLOW、RXFIFO_OVERFLOW状态使用。

在进入SLEEP

状态时,两个FIFO都将被刷新。

10.6PATABLE访问

0x3E地址用来访问PATABLE,用来选择PA功率控制设置。

SPI在接收到该地址后,

传送8字节数据。

通过编程PATABLE,可以完成对PA功率的增加和减少的控制,以及ASK

调制的修正以减小带宽。

参照samrtRFstudio推荐的修正和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)读取状态信息。

CC1101

SWRS061DPage6of42

11.1配置接口

MCU使用4个IO口作为SPI配置接口。

(SI、SO、SCLK和CSn)SPI的描述见28页

的Section10。

11.2基本控制和状态脚

CC1101有2个专用配置脚(GDO0和GDO2)和一个共用脚(GDO1)可以向控制软件

输出有用的内部状态信息。

这些脚可以用来向MCU产生中断。

GDO1和SPI的SO引脚共用。

GDO1/SO的默认设置时3态输出。

通过选择任何编程

选项,GDO1/S将变为普通引脚。

当CSn拉低,该引脚将始终作为普通的SO功能引脚。

在同步和异步串行模式,在发送模式下,GDO0引脚将作为串行TX数据输入引脚。

GDO0也可以用作片上模拟温度传感器。

通过外部ADC测量GDO0脚的电压,可以计算

出温度。

温度传感器的详细说明见18页的Section4.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配置为来使能。

状态变化遵从以下命令:

n如果CSn被拉高,SI和SCLK依照表21设置好想要的状态。

n如果CSn被拉低,SI和SCLK的状态被锁定,按照引脚的配置在内部产生一个

commandstrobe。

只允许在功能实现之后改变状态。

例如,如果SI和SCLK设置为RX状态,并且已经

由CSn触发,RX将不能再重新启动。

当CSn拉低吼,SI和SCLK将作为普通的SPI

功能。

除了SPWD外,所有引脚控制命令将立即执行,SPWD延时到CSn拉高后执行。

CC1101

SWRS061DPage7of42

12数据速率编程

发送或者接收的数据速率通过MDMCFG3.DRATE_M和MDMCFG4.DRATE_E配置寄存器

来编程。

数据速率由下面的公式来计算。

根据公式,数据速率的编程依赖于晶振频率。

下面的方面可以计算出适合的数据速率:

如果DRATE_M接近整数并且变为256,DRATE_E加1并且DRATE_M=0.

数据速率可以设置为从1.2K~500K,按照表22的最小步值。

13接收信道滤波带宽

为了区分不同信道带宽,接收信道滤波器是可设置的。

MDMCFG4.CHANBW_E和

DMCFG4.CHANBW_M配置寄存器控制接收信道滤波器带宽,通过晶振频率来衡量。

下面的公式给出寄存器配置和信道滤波带宽之间的关系:

表23列出了CC1101支持的信道滤波带宽。

CC1101

SWRS061DPage8of42

为了达到更好的性能,信道滤波带宽必须设置以至于信号带宽至多占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位设置,频率补偿将被冻结,直到carriersense生效。

这对于无线常时间处于RX状态而没有通信是非常有用的,sincethealgorithmmaydrifttothe

boundarieswhentryingtotracknoise。

追踪循环有两个增益要素,影响设定时间和运算的噪声灵敏度。

同步字节被检测到之前

由FOCCFG.FOC_PRE_K设定增益,同步字节检测到之后由FOCCFG.FOC_POST_K选择增

益。

注意:

ASK和OOK调制不支持频率偏移补偿。

在FREQEST状态寄存器中的预置频率偏移值是可用的。

可以用作永久的频率偏移补偿。

通过把FREQEST中的值写入FSCTRL0.FREQOFF,平率合成器将依照预置频率偏移自动被

调整。

更详细的关于永久频率补偿计算参照DN015[13]。

 

CC1101

SWRS061DPage9of42

14.2位同步

14.3字节同步

字节同步通过连续的同步字查询实现。

同步字是一个16位配置区(可重复得到32位),

在发送模式下通过调制器自动插入到包的起始。

在同步字中MSB首先发送。

解调器使用这

个区域寻找比特流中的字节边界。

同步字也有系统标识符的功能,因此如果RX中的同步字

检测在寄存器MDMCFG2中被使能(Section17.1),只有正确的预先确定的同步字的包

才接收。

同步字检测可以关联用户配置的16或者32位同步字。

关联端可以设置为15/16、

16/16或30/32位匹配。

同步字能更好的使用前导质量指示机制的描述和/或载波监听条件。

同步字通过SYNC1和SYNC0寄存器配置。

为了确保同步字检测的错误更少,一个前导质量指示(PQI)机制被用来仙子同步字。

为确保同步字被接收,必须超过前导质量的门限值。

详见42页Section。

15数据包处理的硬件支持

CC1101有内置的硬件支持作为数据包导向的无线协议。

在发送模式,数据包的处理者可以配置增加下面的元素到TXFIFO中的数据包存储:

n一个可编程数量的前导字节。

n两字节同步字。

可复制为4字节同步字。

只插入前导字节或者同步字节是不可能的。

n一个覆盖数据区域的CRC校验计算。

推荐设置4字节前导和4字节同步字,除了500k波特率时推荐使用8字节前导。

另外,

在数据区域和附加的2字节CRC校验,以下可以被执行:

n使用PN9序列Whitening数据。

n通过使用交叉和编码数据(卷积编码)前向纠错。

在接收模式,数据包处理支持将是解构数据包,(如使能)以下可以被执行:

n前导检测

n同步字检测

nCRC计算和CRC检查

n一个字节地址检测

n包长度检查(根据设置的最大长度检查长度字节)

n反Whitening

n反交叉和解码

另外,RSSI(接收信号强度指示)、LQI(链路质量指示)和CRC状态的两个状态字

节可以附加在RXFIFO。

CC1101

SWRS061DPage10of42

注意:

控制数据包处理特性的寄存器区只能再CC1101处于IDLE状态时被修改。

15.1DataWhitening

将PKTCTRL0.WHITE_DATA置1,除了前导和同步字外,所有的数据在发送前将XOR

一个9位的伪随机序列(PN9)。

在接收结束后,数据将使用相同的伪随机序列XOR。

PN9

序列初始化全部为1。

15.2数据包格式

数据包的格式可以配置为由以下部分组成:

n前导

n同步字

n可选的长度字节

n可选的地址字节

n净荷

n可选的2字节CRC

前导的格式是一个交叉的1和0的序列(10101010……)。

前导的最小长度可以通过

MDMCFG1.NUM_PREAMBLE的值来设置。

当使能发送,调制器将开始发送前导。

当发送完

编程数量的前导子节后,调制器开始发送同步字和TXFIFO中的可用数据。

如果TXFIFO

是空的,调制器将继续发送前导字节,直到第一个字节写入到TXFIFO。

调制器将接着发

送同步字和数据字节。

同步字是在SYNC1和SYNC0寄存器中设置的2字节数据。

同步字节提供了引入数据包

的字节同步。

一个字节的同步字可以复制,通过设定SYNC1的值到前导格式。

也可以通过

设定MDMCFG2.SYNC_MODE的值为3或7将同步字复制为32位。

同步字将被复制2次。

CC1101支持定长数据包协议和变长数据包协议。

可变的或固定数据包长度模式可用于

最长255字节数据包长度。

再长的数据包,就必须使用无限数据包长度模式。

CC1101

SWRS061DPage11of42

固定数据包长度模式通过设定PKTCTRL0.LENGTH_CONFIG=0来选择。

期望的数据包

长度通过PKTLEN寄存器来设置。

在可变数据包长度模式,PKTCTRL0.LENGTH_CONFIG=1,数据包长度由同步字后面

的第一个字节配置。

数据包长度定义为有效载荷,不包括长度字节和可选的CRC。

PKTLEN

用来配置允许接收的最大数据包长度。

任何接收的数据包长度大于PKTLEN的值都将被丢

弃。

PKTCTRL0.LENGTH_CONFIG=2,数据包长度将设置为无限长,发送和接收将持续到

手动关闭。

在下一部分描述中,将使用不同长度的配置来支持数据包格式。

必须确保在发送

前半个或任何字节的时候TX模式不被关闭。

参考CC1101的勘误表。

15.2.1任意长度区域配置

数据包长度寄存器PKTLEN,在接收和发送时可以重新编程。

结合固定数据包长度模式

(PKTCTRL0.LENGTH_CONFIG=0),这使与变长数据包不同的长度配置成为可能。

(在

可变数据包长度模式下长度字节是同步字节后第一个字节)在接收开始,数据包长度设置为

一个大的值。

MCU读取足够多的字节来解析数据包中的长度区域。

然后依照这个值对

PKTLEN进行设置。

当数据包处理器中的字节指针等于PKTLEN寄存器的值时数据包结束。

因此,MCU必须在内部指针达到数据包长度之前确认正确的长度。

15.2.2数据包长度大于255

数据包自动控制寄存器PKTCTRL0,可以在TX和RX期间重新编程。

这就使发送和接

收数据包长度超过256字节并且仍然使用数据包处理器硬件支持成为可能。

在数据包开始

时,必须激活无限数据包长度模式(PKTCTRL0.LENGTH_CONFIG=2)。

在发送端,PKTLEN

寄存器设置为模(长度,256)。

在接收端,MCU读出足够长度的字节来解析出数据包长度

并设置PKTLEN寄存器为模(长度,256)。

当数据包中还有少于256字节数据,MCU禁

止数据包无限长度模式并且激活固定长度模式。

当内部字节指针达到PKTLEN时,发送和

接收结束。

(无线进入的状态由TXOFF_MODE或RXOFF_MODE决定)自动CRC添加/校验

也可以使用(通过设置PKTCTRL0.CRC_EN=1)。

例如当药发送一个600字节的数据包时,MCU必须按照以下执行:

l设置PKTCTRL0.LENGTH_CONFIG=2。

l重新设置PKTLEN寄存器模(600,256)=88.

l至少发送345字节(600-255),例如通过填充64字节TXFIFO6次(发送

384字节)。

l设置PKTCTRL0.LENGTH_CONFIG=0。

l当数据包指针达到88发送完成。

一共600字节被发送。

CC1101

SWRS061DPage12of42

15.3接收模式下的数据过滤

CC1101支持三种不同类型的数据包过滤:

地址过滤,最大长度过滤和CRC过滤。

15.3.1地址过滤

设置PKTCTRL1.ADR_CHK为任意大于0的值使能数据包地址过滤。

数据包处理器启动后

将比较数据包中的目标地址字节和在ADDR寄存器中设置的节点地址或者当

PKTCTRL1.ADR_CHK=10时的广播地址0x00以及PKTCTRL1.ADR_CHK=11时的广播地址

0x00和0xFF。

如果接收的地址匹配到

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1