博客专栏

EEPW首页 > 博客 > CC1101学习笔记——初步认识

CC1101学习笔记——初步认识

发布人:dnsj042 时间:2017-11-18 来源:工程师 发布文章

  CC1101寄存器比较多,配置起来相对复杂,而且应用方面很灵活,要注意的点也不少,还需要一定的射频知识,要不然一些专业术语看不懂。应该说学习起来难度还是有的,把它当做无线的入门来好好学习下也是非常有必要的。

   借助SmartRF软件,大大的简化了寄存器配置的难度,使得上手方便了不少。以下引用一段介绍:

   “CC1101是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。电路主要设定为在315、433、868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置为300-348MHz、400-464MHz和800-928MHz的其他频率。RF收发器集成了一个高度可配置的调制解调器。这个调制解调器支持不同的调制格式,其数据传输率可达500kbps。通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。CC1100为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。”

   CC1101是通过SPI方式与MCU相连,可以通过MCU自带的硬件SPI,3线模式,或者MCU模拟SPI来驱动。

 

寄存器的配置:

CC1101寄存器地址是0~0x3F,配置的内容在BIT0~BIT5中

读写控制是BIT7,BIT7为1时,为读对应的寄存器,BIT7为0时,为写相应的寄存器。

那么还剩下一个BIT6,BIT6是突发访问控制为,BIT6为1为突发访问,BIT6为0为单字节访问。(突发访问下面说)

这样我们就可以很容易理解了,比如配置PKTCTRL0寄存器,其地址0x08,我们突发访问写的话写先数据0x48,再连续写数据,这里明白了突发访问后就很容易知道了,如果单字节读这个寄存器,先写数据0x88,读一下就可以了。

 

命令滤波:

只要写一下对应的寄存器的地址,不用写数据,它就内部自动执行相应的指令,比如重启芯片,设置为发送模式,共有14个滤波指令,地址从0x30~0x3D。关于滤波指令的状态寄存器其实是可读不可写的,也就是0x30~0x3D的地址加上0xC0,(BIT7 和IBT6为1,前面说过了),比如写数据0xF4,就可以读到相应RSSI状态寄存器里面的值。一般所有的滤波命令会立即执行,但是SPWD(休眠滤波命令)不会立即执行,它会延迟到CSn为高时执行。

数据包格式:

4a394636gb36c5eb9100b&690.jpg

可以看出数据包由前导码,同步字节,可选的数据包长度,可选的目标地址,真正数据区,2字节的CRC校验码。

CC1101状态字节:

当通过SPI接口,寄存器被写入或者写入滤波命令,状态字节就会在SO管脚上输出

4a394636gb36caa67326f&690.jpg

接收模式下的数据包滤波,CC1101支持包括地址滤波和最大长度滤波两种滤波方式。

地址滤波:设置PKTCTRL1.ADR_CHK大于0开启数据包地址滤波,radio将数据包中的目标地址字节的值同自己ADDR寄存器值和广播地址(0x00,0xFF)进行比较,如果匹配则数据包被写到RX FIFO,否则数据包被丢失。

最大长度滤波:在可变数据包长度模式下,PKTLEN.PACKET_LENGTH寄存器的值用来设置最大允许数据包长度,当接收字节值比这个值大,则数据包被丢弃。

注:当设置PKTCTTL1.ADRCHK=10时广播地址为0x00,当设置PKTCTTL1.ADRCHK=11时,广播地址为0x00和0xFF。


动能世纪专业无线芯片供应代理

欢迎交流讨论   黄工qq:2355239055   Tel:18025398186

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

电容式触摸屏相关文章:电容式触摸屏原理
电容屏相关文章:电容屏原理


关键词:

相关推荐

技术专区

关闭