cc1101 2

来源:互联网 发布:hive sql group 编辑:程序博客网 时间:2024/05/05 16:53

SPI总线
    当一个主控机通过SPI与几种不同的串行I/O芯片相连时,必须使用每片的允许控制端,这可通过MCU的I/O端口输出线来实现。但应特别注意这些串行I/O芯片的输入输出特性:首先是输入芯片的串行数据输出是否有三态控制端。平时未选中芯片时,输出端应处于高阻态。若没有三态控制端,则应外加三态门。否则MCU的MISO端只能连接1个输入芯片。其次是输出芯片的串行数据输入是否有允许控制端。因为只有在此芯片允许时,SCK脉冲才把串行数据移入该芯片;在禁止时,SCK对芯片无影响。若没有允许控制端,则应在外围用门电路对SCK进行控制,然后再加到芯片的时钟输入端;当然,也可以只在SPI总线上连接1个芯片,而不再连接其它输入或输出芯片。
 

CC1100
晶振启动时间:180us
低功耗RC晶振初始化校准时间:2ms
PLL启动/跳频时间(晶振在运行,不执行校准,从离开IDLE状态,到RX、FSTXON或TX状态的时间):88.4us
PLL RX/TX建立时间(1xIF频率从RX到TX的建立时间):9.6us
PLL TX/RX建立时间(1xIF频率从TX到RX的建立时间):21.5us
PLL校准时间(校准可以在RX/TX进入前或离开后手动或自动启动,后者值对应的晶振频率是26MHz):0.72ms
 

接收顺序
报头(PREAMBLE)检测;
同步字检测;
一个字节的地址(可选)检测;
计算或检查CRC(可选);
(可选)附加的两个状态字节,内容是RSSI值,链接质量指示和CRC状态。
 

数据包格式
报头
 同步字
 长度
 
地址
 数据
 
CRC-16
 

8*n位
 16/32位
 8位
 
8位
 
8*n位
 16位
 


报头或同步字在发送时自动加入,在接收时自动处理或去掉;
长度或地址可选;
可以选择对长度到数据部分加数据白噪声、FEC编码/解码和CRC-16计算。
 

CC1100支持三种类型的包过滤:地址过滤,最大长度过滤或CRC过滤。
 

PQT:Preamble Quality Threshold,报头质量限制
RSSI:所选信道的信号功率电平的估值,该值与RX通道的电流增益设置或所测的信号电平有关。
从RSSI状态寄存器读出的是2的补数,可以这样转换成绝对功率(dBm):
1)读RSSI状态寄存器;
2)把数从十六进制转换成十进制RSSI_dec;
3)如果结果大于等于128,则RSSI_dBm=(RSSI_dec-256)/2-RSSI_offset;
4)否则,如果RSSI_dec<128,则RSSI_dBm=(RSSI_dec)/2-RSSI_offset。
RSSI_offset典型值如表所示:
数据速率
 RSSI_offset(十进制),433MHz
 
RSSI_offset(十进制),868MHz
 
1.2kbps
 75
 74

 

38.4kbps
 75

 74
 
250kbps
 79
 78
 
500kbps
 79
 77
 

 

载波检测(CS)
CS标志在下面两个置位:
1) 当RSSI大于预先设定的绝对门限时,CS置位;低于该门限值则CS清除;
2) 当RSSI的增加值等于预先设定的dB值时,CS置位;当减少了预先设定的dB值时,CS清除。这个设置和绝对信号电平无关,这在环境噪声变化大时比较有效。
 

CCA:空闲信道检测
 

LQI:链接质量指示
    由于LQI或调制方式有关,因此最好是作为链接质量的一个相对衡量指标。
 

FEC:向前纠错
    FEC只支持固定包长度模式。
Interleaving:交叉
    CC1100采用矩阵交叉,发送端数据按行存入矩阵,而按列从矩阵中读出。
 

复位
    加电后需要进行人工复位,复位过程如下:(参考CC1100数据手册42页)
1)使SCLK=1,SI=0;
2)CSn脚送出上升沿;
3)CSn高电平保持至少40us;
4)CSn置为低电平,等待SO脚变为低电平(芯片准备好了);
5)SI线上送出SRES命令;
6)当SO再次变为低电平时,复位就完成了,芯片进入空闲状态。
注:如需要在正常操作时进行复位,只需要送出SRES命令。
 

CC1100
    数据传输:同步SPI和异步USART模式;
    同步模式:不支持地址滤波;
    异步模式:不支持数据白噪声,交叉和FEC,只支持FSK,GFSK和ASK/OOK调制。
 

WOR
    当使能WOR时,芯片不需要MCU干预,自动周期性的从深睡中醒来接收数据;
    当WOR使能时,MCU送出SWOR命令后,CC1100就释放CSn,进入SLEEP状态。在送出WOR前,必须使能RC振荡器,它是WOR定时器的时钟源,它会是芯片进入IDLE然后睡RX状态,如果没有接收到数据包,在设定的时间后,重新从RX状态回到SLEEP状态。
    WOR定时器有两个事件:EVENT0和EVENT1。当WOR激活时,在SLEEP中,到达EVENT0时,就打开数字校准器,启动晶振。在EVENT0设定地时间后出现EVENT1。
CC1100 WOR有两种不同地方式:有或没有自动同步。
 

RX_TIME[2:0]:RX时同步字搜索超时;
超时时间=EVENT0*C(RX_TIME,WOR_RES)us,C的值由数据手册70页表给出。
当使用WOR时,WOR_RES只能是0和1。
超时计数器的分辨率受RX_TIME限制,当RX_TIME=0时,超时计数器=EVENT0*13MSB;当RX_TIME=6时,超时计数器=EVENT0*7MSB。

本文来自:我爱研发网(52RD.com) - R&D大本营
详细出处:http://www.52rd.com/Blog/Archive_Thread.asp?SID=5927

原创粉丝点击