CC1101-学习-笔记-之扫盲贴.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

CC1101学习笔记之扫盲贴〔MSP430F2274+CC1101433M〕

2011-04-1610:19

网友都说我好久没有更新博客了,不是我不想更新,我也在学习,但是这个无线又不是很容易学习的,前一阵学的是CC430和SimpliciTI协议,搞得我头大,什么都看不懂。这次换成了MSP430F2274+CC1101,我也是学的很痛苦,苦于没有高手指点,只有慢慢的琢磨了。我要把我学到的无私分享给大家,那样大家就不用走那么多弯路了,算是共同分享共同进进步。这篇文章都是以CC1101radio为根底,不是CC430自带的radio。

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

关于滤波指令和存放器配置:

其实这里也TFT配置差不多,玩过TFT的都有同感,TFT可以通过RW引脚控制是读还是写,如果是写存放器,先写存放器的地址,然后写数据,数据就到了相应的存放器里面了;读就是RW引脚设置为读对应的电平,先写存放器的地址,该存放器里面的数据就可以读出来了。明白了这些其实理解CC1101就可以很容易理解了。

?

那么对应CC1101的理解:

存放器的配置:

CC1101存放器地址是0~0x3F,也就是BIT0~BIT5

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

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

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

命令滤波:

命令滤波这里和TFT的写0x22是一样的,它就自动跳转到存放器的出口,cc1101这里也是,只要写一下对应的存放器的地址,不用写数据,它就内部自动执行相应的指令,比方重启芯片,设置为发送模式,共有14个滤波指令,地址从0x30~0x3D。

关于滤波指令的状态存放器其实是可读不可写的,

也就是0x30~0x3D的地址加上0xC0,〔BIT7和IBT6为1,前面说过了〕,比方写数据0xF4,就可以读到相应RSSI状态存放器里面的值。

?

数据包格式:

先看一个官方PDF上截得一个图

可以看出数据包由前导码,同步字节,可选的数据包长度,可选的目标地址,真正数据区,2字节的CRC校验码。其更加详细内容可以看前面写的CC430上的无线通信两篇文章。

?

CC1101的几个状态:

几个状态分别是,IDLE,TX,RX,FSTXON,校准,迁移,RXFIFO_OVERFLOW,TXFIFO_OVERFLOW,有读的状态字的BIT6~BIT4决定

?

知道了那么多根本的,那么初步认识就容易了,我下面再把笔记贴上去,大家可以看看。

?

1当CSN引脚变低,MCU必须等待SO引脚电平变低,说明内部稳定,除非radio处于Sleep或者XOFF状态,或者CSN变低后SO会立即变低的。

?

2只有使radio处于XOSC空闲,并且数字中心的能量开启,其他模块处于功率降低状态,这时候频率和信道配置才能被更新。

?

3状态字的最后4个字节表示FIFO的可用字节,其最大值是15,此时表示15或者更多字节是可以使用的。

?

4每当一个字节通过SI引脚写入到存放器时,状态字节将被送到SO引脚

?

5存放器的连续字节访问,就是内部计数器会自动设置起始地址,每增加一个字节,地址会自动加1,无论是读还是写,必须通过CSN拉高终止。

?

6关于命令滤波其实是radio的单字节指令,通过指令对存放器的选址,内部的功能做出相应的启动或者关闭,这里和TFT的液晶的存放器出口指令一样,只需要写一个0x22,不像前面的对存放器先写地址后写数据。

?

7关于FIFO的访问,首先知道这个是64字节,可以通过单字节访问或者突发访问〔也就是连续访问〕,他们的地址是0x3F,其实这些是这样操作的。

FIFO分为TXFIFO和RXFIFO两个单独的64数据区,当我们给的地址BIT7不同时,也就是读写控制位是1还是0,BIT7是0时访问的是TXFIFO,BIT7是1时RXFIFO被访问。BIT6是突发访问控制位,当BIT6为1时,选择的是突发访问,BIT6为0是单字节访问。这样就可以得到

0x3F:单字节访问TXFIFO

0xBF:单字节访问RXFIFO

0x7F:突发访问TXFIFO

0xFF:突发访问RXFIFO

?

8当radio进入休眠状态时,两个FIFO都被刷新为空。

?

9PATABLE的访问,用来设置发

文档评论(0)

199****4744 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档