打印

请教一个问题,用PSoc4控制CC1101的AFC怎么用

[复制链接]
1091|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zheng522|  楼主 | 2015-5-27 16:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做一个项目,要用到CC1101,其中有一点是AFC,不怎么会用,请教下高手。
沙发
关小波522| | 2015-5-27 16:10 | 只看该作者
一、任务:在信道不空闲的时候,验证CC1100无线模块是否能在硬件上判      断信道忙,并阻碍芯片进入发送状态。该验证是为载波监听,冲突监测的信道复用方法做准备,验证其是否可行。
二、需进行的配置:
1、当用命令滤波来使芯片进入TX状态时,进入是否成功取决于CCA
MODE的配置,CCA  MODE指示了那种情况可认为是信道空闲:

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

当满足信道空闲标准时,进入TX状态的命令滤波就是成功的,否则不成功。由于我们就是为了验证CCA是否有效,所以将其配置为00,即当接收信号强度高于门限值时,认为信道忙,且不能进入TX状态。
另外,CCA  MODE的配置包含在MCSM1寄存器中。

使用特权

评论回复
板凳
关小波522| | 2015-5-27 16:10 | 只看该作者
2、我们要判断CCA是否有效,就要在外部某引脚上检测电平状态,以判断信
是否空闲。
     因此我们对I0CFG2进行配置,让GDO2引脚输出CS(carrier sense)信号 ,当接收信号强度高于门限时,GDO2为高电平;当接收信号强度低于门限时,GDO2为低电平。
     最终IOCFG2=0x0E

使用特权

评论回复
地板
关小波522| | 2015-5-27 16:10 | 只看该作者
3、我们要判断当信道不空闲时TX命令滤波是否成功,因此就要读状态机寄存
器获取当前状态,判断是否进入了TX状态。但是读当前状态的时机与校准方式有关。
例如,如果采用从IDLE进入TX或RX时校准,那么从IDLE进入TX不是
即时的,而是至少需要809us的时间,所以我们使用TX命令滤波之后,就至少要等待800us在进行判断才是正确的时机。
   校准方式的配置包含在MCSM0寄存器中。

使用特权

评论回复
5
关小波522| | 2015-5-27 16:11 | 只看该作者
4、当我们判断了当前芯片的状态之后,还要通过外部来了解当前状态。所以如果成功进入了TX状态,就让绿灯亮100ms;如果一直未进入TX状态,就让红灯亮100ms。

使用特权

评论回复
6
关小波522| | 2015-5-27 16:11 | 只看该作者
三、在考虑到上面的几点配置之后,就开始测试了。
   让一个无线模块连续的发送载波,因此可以保证无线信道一直是部空闲的。
让另外一个无线模块稍写自己编写的测试程序,来验证CCA是否有效。

使用特权

评论回复
7
关小波522| | 2015-5-27 16:11 | 只看该作者
1、首先根据王耒的建议将RXOFF_MODE和TXOFF_MODE 配置为0x10,就是让TX和RX结束后,芯片都保持在TX状态。
进行了上面的配置之后,发现CCA一直无效,即发现PIC的RB0引脚(与CC1100的GDO2引脚相连)一直为低电平。这就说明一直未探测到信道忙。
所以就又重新阅读了DATASHEET发现其中提到,只有当前处于TX状态,而且信道不空闲的时候,TX命令滤波才会不成功,这是才明白,如果当前为IDLE或TX状态时,CCA是无效的,而且都会成功进入TX状态。

使用特权

评论回复
8
关小波522| | 2015-5-27 16:12 | 只看该作者
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命令滤波不成功。

使用特权

评论回复
9
关小波522| | 2015-5-27 16:12 | 只看该作者
四、结论:
①只有当前处于TX状态,而且信道不空闲的时候,TX命令滤波才会不成功;
②CCA可以有效的指示信道是否空闲,而且如果信道不空闲时,TX命令滤波不成功

使用特权

评论回复
10
关小波522| | 2015-5-27 16:12 | 只看该作者
1、 空闲信道评估(Clear Channel Assessment,CCA):

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

使用特权

评论回复
11
关小波522| | 2015-5-27 16:13 | 只看该作者
现主要有3种空闲信道评估模式:(1)判断信道的信号能量,若信号能量低于某一个门限量,则认为信道空闲;(2)判断无线信道的特征,这个特征主要包括两方面,即扩频信号和载波频率;(3)综合前两种模式,同时检测信号强度和信号特征,给出信道空闲判断。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

821

帖子

3

粉丝