kuzhuu 发表于 2010-11-30 15:43:34

CC1101 CCA 小见

最近在做载波感应功能,在网上找了些资料,也参考了下,讲的不是很详细,还是得自己琢磨,当然人家可能已经觉得说的很清楚了,今天终于调通了,还算比较兴奋了,所以把我的经验和大家分享下了,希望给后来者提供点小帮助,当然 如果绝对有问题可以和我联系,QQ:492031062(著名“CC1101”),那我是相当的高兴

一、CS功能验证
    CC1100有载波监听(Carrier Sensor)的功能,可以用来检测空气中

是否有相同频率的载波存在。其验证过程如下:
    1、开启CS功能
       a、设置IOCFG2.GDO0_CFG=0x0E,此时GDO0的功能为“Carrier   

      sense.High if RSSI level is above threshold.”,即当空   

      气中相同频率的信号强度大于一定值时,GDO2被置高。

       CS标记可被设置为:
            a、CS在RSSI高于控制绝对门限时被声明,在RSSI低于同

                一门限时取消声明
            b、CS在RSSI从一个RSSI实例到另一个实例增加了控制数

               目的db数时被声明,在RSSI 降低同样数目db时被取消   

            声明。
       在此选择CS Absolute Threshold,即RSSI门限为一绝对值而非相

       对值。设置AGCCTRL1为0x40。
   2、设置RSSI门限
      根据CC1101 datasheet P39页介绍,RSSI绝对门限和以下四个参

      数有关:
      AGCCTRL2.MAX_LNA_GAIN
      AGCCTRL2.MAX_DVGA_GAIN
      AGCCTRL2.MAGN_TARGET
      AGCCTRL1.CARRIER_SENSE_ABS_THR
      实际测试经验:
                     若RSSI门限太小,容易将空气中的干扰信号错认

                   为载波信号,此时可以相应的增大AGCCTRL2.MAX_
                     LNA_GAIN 和AGCCTRL2.MAX_DVGA_GAIN的值
   3、让单片机一直检测GDO0的电平,并把GDO0脚的电平在LED上反应

      出来
二、 基本配置完了,就可以做事:
      1、让一台单片机不断的发送载波信号--》先清空TXFIFO,然后发

         送命令滤波STX,因为TXFIFO中没有数据,那么CC1101不断的发

         送前导字符,这样空气中就一直存在信号,这就是我们需要的

         测试环境
      2、让另外一台单片机来检测空气是否存在信号,如果有。。。。
         否则没有......
         如果发送载波的电源一直开着,那么GDO0脚就一直是高电平,
         如果将发送载波的电源关闭掉,那么GDO0脚的电平为低
         当然你也读取cc1101_MARCSTATE的状态,知道现在是什么状态

         这里只做个了绝对值,大家可以做做相对值

quandsu 发表于 2011-1-12 14:26:08

正在学习这个,谢谢楼主分享!

ndust 发表于 2011-1-12 14:36:12

jh

lou0908 发表于 2011-1-12 17:52:14

jh

wpnx 发表于 2011-1-12 18:20:21

学习了

acmilann 发表于 2011-1-12 21:51:18

正在研究中,希望能按照楼主的试验成功……

hailin0716 发表于 2011-1-12 22:09:50

学习

kuzhuu 发表于 2011-1-13 10:28:09

还有有些朋友问我怎么找不到关于怎么设置CCA功能的寄存器,原来他们看的是中文datasheet,

当然我也喜欢看中文的,但是有的时候还是硬着头皮看英文,虽然我四级都没过,慢慢看,基本上都能看懂的!

祝大家实验成功 吧

mdj-fish 发表于 2011-4-14 22:23:02

学习

jacknupt 发表于 2011-5-26 18:14:32

mark

fernando 发表于 2011-5-26 19:45:33

记号

luoyiming1984 发表于 2011-5-26 21:19:27

CC1110的路过,可以通过判断是否成功转入TX状态来做CCA,效果不错

jssz_hf 发表于 2011-5-27 15:54:58

好东西

gavin_li 发表于 2011-6-7 10:33:06

楼主讲的不是CCA吧。好像是CS+RSSI的东西。但是也挺有用的。学习了

charley 发表于 2011-11-7 16:48:26

学习了,谢谢。

gwh1128 发表于 2011-12-17 13:59:36

标记

moxingwei 发表于 2013-1-25 11:21:37

好像真的没说到CCA怎么用呢?

huangrui 发表于 2013-1-25 21:56:24

谢谢楼主分享,有空试试。

cyq001 发表于 2013-1-26 08:46:39

谢谢分享

guoyinwhu 发表于 2013-5-19 15:38:48

有没有用FPGA控制CC1101的呀

lzjnew 发表于 2013-10-18 00:15:54

正在研究中,学过。

fengbuding 发表于 2014-11-25 14:33:07

MARK                        

gwichenjin 发表于 2014-12-8 11:57:34

顶楼主,感谢分享

向天笑 发表于 2014-12-27 14:44:17

感谢楼主分享{:smile:}

linyu0395 发表于 2016-8-23 15:54:26

发现楼主讲错了

14 (0x0E) Carrier sense. High if RSSI level is above threshold. Cleared when entering IDLE mode.

看到后半句了么,要进入IDLE才会置位然后才可以继续监测

页: [1]
查看完整版本: CC1101 CCA 小见