一、任务:在信道不空闲的时候,验证CC1100无线模块是否能在硬件上判            断信道忙,并阻碍芯片进入发送状态。该验证是为载波监听,冲突监测的信道复用方法做准备,验证其是否可行。
二、需进行的配置:
1、当用命令滤波来使芯片进入TX状态时,进入是否成功取决于CCA 
MODE的配置,CCA    MODE指示了那种情况可认为是信道空闲:

CCA    MODE        信道空闲的标准
00        总是空闲的
01        接受信号强度低于门限值
10        当前未接受报文
11        接受信号强度低于门限值且当前未接收报文

当满足信道空闲标准时,进入TX状态的命令滤波就是成功的,否则不成功。由于我们就是为了验证CCA是否有效,所以将其配置为00,即当接收信号强度高于门限值时,认为信道忙,且不能进入TX状态。
另外,CCA    MODE的配置包含在MCSM1寄存器中。
2、我们要判断CCA是否有效,就要在外部某引脚上检测电平状态,以判断信
是否空闲。
          因此我们对I0CFG2进行配置,让GDO2引脚输出CS(carrier  sense)信号  ,当接收信号强度高于门限时,GDO2为高电平;当接收信号强度低于门限时,GDO2为低电平。
          最终IOCFG2=0x0E
3、我们要判断当信道不空闲时TX命令滤波是否成功,因此就要读状态机寄存
器获取当前状态,判断是否进入了TX状态。但是读当前状态的时机与校准方式有关。
例如,如果采用从IDLE进入TX或RX时校准,那么从IDLE进入TX不是
即时的,而是至少需要809us的时间,所以我们使用TX命令滤波之后,就至少要等待800us在进行判断才是正确的时机。
      校准方式的配置包含在MCSM0寄存器中。
4、当我们判断了当前芯片的状态之后,还要通过外部来了解当前状态。所以如果成功进入了TX状态,就让绿灯亮100ms;如果一直未进入TX状态,就让红灯亮100ms。
     
三、在考虑到上面的几点配置之后,就开始测试了。
      让一个无线模块连续的发送载波,因此可以保证无线信道一直是部空闲的。
让另外一个无线模块稍写自己编写的测试程序,来验证CCA是否有效。
1、首先根据王耒的建议将RXOFF_MODE和TXOFF_MODE  配置为0x10,就是让TX和RX结束后,芯片都保持在TX状态。
进行了上面的配置之后,发现CCA一直无效,即发现PIC的RB0引脚(与CC1100的GDO2引脚相连)一直为低电平。这就说明一直未探测到信道忙。
所以就又重新阅读了DATASHEET发现其中提到,只有当前处于TX状态,而且信道不空闲的时候,TX命令滤波才会不成功,这是才明白,如果当前为IDLE或TX状态时,CCA是无效的,而且都会成功进入TX状态。
2、将RXOFF_MODE和TXOFF_MODE  配置为0x11,就是让TX和RX结束后,芯片都保持在RX状态。
这个时候就发现CCA有效,RB0脚为高电平,即说明CCA有效。但是碰到了一个问题:
①如果信道忙时,TX命令滤波不成功,红灯一直亮;如果信道空闲,TX命令滤波刚开始成功一会-绿灯亮,然后又不成功-红灯亮。
②如果一开始信道忙,RB0为高,指示正确;若信道变为空闲,RB0变低,指示正确。
但是如果一开始信道空闲,RB0为低,指示正确;若信道变为不空闲,RB0不会变化,指示错误,只有重启才会变高。

因此怀疑程序卡到了哪个地方,导致TX不正常,又想到可能是没有清TX_FIFO,导致其溢出。在程序里边加上清TX_FIFO后,程序正常。CCA可以有效的指示信道是否空闲,而且如果信道不空闲时,TX命令滤波不成功。

四、结论:
①只有当前处于TX状态,而且信道不空闲的时候,TX命令滤波才会不成功;
②CCA可以有效的指示信道是否空闲,而且如果信道不空闲时,TX命令滤波不成功

1、 空闲信道评估(Clear Channel Assessment,CCA):

判断信道是否空闲。IEEE 802.15.4 物理层在碰撞避免机制中提供CCA的能力,即如果
信道被其他设备占用,则允许传输退出而不必考虑采用该信道的通信协议。

现主要有3种空闲信道评估模式:(1)判断信道的信号能量,若信号能量低于某一个门限量,则认为信道空闲;(2)判断无线信道的特征,这个特征主要包括两方面,即扩频信号和载波频率;(3)综合前两种模式,同时检测信号强度和信号特征,给出信道空闲判断。

CC1100 CCA (1)相关推荐

  1. CC1100 CCA(2)

    用了两个多月的CC1100,一直只是简单的收发函数,没有用到它比较先进的功能.摸索了好几天,终于把这个CCA功能实现了.为下一步CSMA做准备.       在网上找了相关的资料,只有一篇有关这方面的 ...

  2. 在线作图|2分钟在线绘制三维CCA图

    ​三维CCA 典型相关分析(Canonical Correlation Analysis)是研究两组变量之间相关关系的一种多元统计方法,它能够揭示出两组变量之间的内在联系.冗余分析(redundanc ...

  3. 交叉分解(Cross decomposition)、典型关联分析(Canonical Correlation Analysis,CCA)、偏最小二乘回归PLS

    交叉分解(Cross decomposition).典型关联分析(Canonical Correlation Analysis,CCA).偏最小二乘回归PLS 目录 交叉分解.典型关联分析(Canon ...

  4. 使用CA和CCA克隆账户

    使用CA和CCA克隆账户 [原理基础] 克隆帐号的原理简单的说是这样:在注册表中有两处保存了帐号的SID相对标志符,一处是SAM\Domains\Account\Users下的子键名,另一处是该子键的 ...

  5. Receiver ED、Link quality indicator (LQI)、Clear channel assessment (CCA)究竟是什么?802.15.4标准

    很多小伙伴都搞不清楚RSSI.ED.LQI.CCA等概念,那我们就看看802.15.4标准文档中的定义吧. 802.15.4标准文档: <IEEE Std 802.15.4™-2015, IEE ...

  6. [armv9]-ARMV8/ARMV9安全架构介绍(ARMv9 CCA)

    文章目录 1.术语 2.Architecture overview 2.1.ARMV7的软件模型 2.2.ARMV8-arch32的软件模型 2.3.ARMV8-arch32的软件模型 2.4.ARM ...

  7. 典型相关分析(cca)原理_CCA典型关联分析原理与Python案例

    文章来源于"脑机接口社区" CCA典型关联分析原理与Python案例​mp.weixin.qq.com Rose今天分享一下CCA的相关原理以及Python应用,CCA在EEG等脑 ...

  8. 典型关联分析CCA(canonical correlation analysis)

    先看两个数学概念: 相关系数(参看百度百科) 相关系数是用以反映变量之间相关关系密切程度的统计指标.相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关 ...

  9. rda冗余分析步骤_群落分析的典范对应分析(CCA)概述

    典范对应分析(CCA)与去趋势典范对应分析(DCCA)概述典范对应分析(canonical correspondence analysis,CCA)是单峰约束排序方法,是对应分析(CA)与多元回归的结 ...

最新文章

  1. java调用c库实例
  2. GlusterFS-FUSE
  3. GoLang笔记-数组和切片,本质是就是长度不可变的可变的区别
  4. C# Http方式下载文件到本地类改进版
  5. pytorch torch.detach函数(返回一个新的`Variable`,从当前图中分离下来的)
  6. 国内企业应如何实施ITSM
  7. 第一章 概率论的基本概念
  8. STM32F10x随笔(gcc+scons)
  9. jest java_使用JestClient操作ElasticSearch的简单demo
  10. suse 调整分区_安装suse linux如何手工分配各个分区大小?
  11. HCIE-Security Day19:防火墙用户认证(一)
  12. 拓端tecdat|R语言多维数据层次聚类散点图矩阵、配对图、平行坐标图、树状图可视化城市宏观经济指标数据
  13. 校园天翼客户端常见错误码
  14. 蓝奏网盘 解析 php,自制蓝奏云网盘解析接口全解
  15. 高德城市编码json_sql_excel 三级联动json合集
  16. opencv图片变形 仿射 旋转 透视 弯曲 鱼眼特效
  17. python智能写诗的程序_【百度大脑新品体验】智能写诗与智能春联
  18. 线性回归方程b保留几位小数_简单线性回归分析(python)
  19. CTF Reverse fantasy.apk解题思路
  20. 欧拉定理、快速幂与逆元

热门文章

  1. java电影推荐系统_GitHub - Lee0509/mirs: 电影智能推荐系统JAVA实现
  2. 【阿里云短信验证码】麻瓜教程~~~从注册---申请---代码---执行
  3. 转一位猎头朋友的文章
  4. 无法使用计算机名称访问共享打印机,电脑打印机不能进行局域网共享打印,怎么解决问题...
  5. 关于75条逻辑思维题
  6. echarts中使用散点图根据后端接口动态生成点,并根据点数据动态渲染点颜色
  7. win10下使用vs2015编译支持xp系统的libcurl
  8. python百度API实现语音转文字
  9. MATLAB函数——newff()
  10. 北京奥运会开闭幕式预算为1亿美元