打印
[CC1101]

CC1101工作在WOR模式下自动退出疑惑

[复制链接]
4160|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
幸福至上|  楼主 | 2015-1-16 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 幸福至上 于 2015-1-16 15:13 编辑

     大家好,我最近在使用CC1101进行射频通信,因为低功耗的缘故,所以配置CC1101工作在WOR模式下,现在是设置Tevent0=300ms,Tevent1=125us,Rx timeout=12.5%*300=37.5ms.发送端是以30ms的间隔进行重复2S钟发送的。在射频模块的VCC进入端口串接了一个电流表。上电对CC1101先进行一般地初始化,再进行WOR模式下的寄存器设置,并使用SWORT和SWOR命令进入WOR模式,通过观察电流在不断地变化,可以确定确实进入了WOR模式,并且也能够侦听到数据。管脚GDO0设置为接收到数据并CRC校验OK之后,就Assert.
    但在测试的时候,发现这样一个现象:上电一段时间后(大概几分钟不定),CC1101会异常退出WOR模式,返回到IDLE模式。刚开始我以为是接收到数据,CC1101的GDO0没正确跳变,但此时通过读取RX BYTES寄存器和MARCSTATE寄存器,为0x00和0x01,说明确实是没有收到数据而退出WOR模式的。并且通过观察电流表,显示为1.7mA左右,也确实是IDLE状态。对于这种异常退出WOR的情况不知道各位有碰到过的吗?希望能够给一些意见,谢谢:)

相关帖子

沙发
涵潇舒雅| | 2015-9-29 17:18 | 只看该作者
我也是这种情况,目前只是加了一个检测机制,还没有找到根本原因,不知道楼主搞的咋样了?

使用特权

评论回复
板凳
donsbin| | 2016-1-14 21:18 | 只看该作者
LZ还在不~ 我也碰到这个问题~
不知道LZ解决没有

使用特权

评论回复
地板
qianreng| | 2016-1-19 10:07 | 只看该作者
新手最近在用CC1101的ASK方式通信,实验FSK可以通行但ASK就不能,这是怎么回事,我是把MDMCFG2中的值按照手册变了,其他都是FSK的配置,这样做有问题吗?

使用特权

评论回复
5
幸福至上|  楼主 | 2016-1-19 10:54 | 只看该作者
donsbin 发表于 2016-1-14 21:18
LZ还在不~ 我也碰到这个问题~
不知道LZ解决没有

你好。出现这个问题大致是由于CC1101被干扰了所导致的。建议加长Preamble长度和修改同步字为自定义数据。我当时就这么改的,并加上定时校准CAL和重置WOR。CC1101比较旧的芯片了,建议换si4438及以上的射频芯片。

使用特权

评论回复
6
幸福至上|  楼主 | 2016-1-19 10:56 | 只看该作者
qianreng 发表于 2016-1-19 10:07
新手最近在用CC1101的ASK方式通信,实验FSK可以通行但ASK就不能,这是怎么回事,我是把MDMCFG2中的值按照手 ...

FSK通信和ASK有很大差别,建议先找一个别人配置好的ASK通信参数来试验。

使用特权

评论回复
7
土豆泥吃货| | 2016-4-27 15:14 | 只看该作者
菜鸟学习中,麻烦问一下,怎么去看芯片是正确的进入WOR和收到数据时正确唤醒的?

使用特权

评论回复
8
幸福至上|  楼主 | 2016-4-28 10:21 | 只看该作者
土豆泥吃货 发表于 2016-4-27 15:14
菜鸟学习中,麻烦问一下,怎么去看芯片是正确的进入WOR和收到数据时正确唤醒的? ...

主要是通过测量观察CC1101的消耗电流变化来确定芯片是否正确进入设置的模式。

使用特权

评论回复
9
韩毛毛| | 2017-4-11 11:34 | 只看该作者
你好,LZ能借鉴一下CC1101在WOR模式下的代码吗?感谢

使用特权

评论回复
10
mtbf| | 2017-5-24 21:59 | 只看该作者
发送端发送Tevent0时间就够了,CRC错误也会引起WOR退出的,有寄存器可以设置

使用特权

评论回复
11
mtbf| | 2017-5-24 22:15 | 只看该作者
If RX terminates due to no carrier sense when
the MCSM2.RX_TIME_RSSI function is used,
or if no sync word was found when using the
MCSM2.RX_TIME timeout function, the chip
will always go back to IDLE if WOR is disabled
and back to SLEEP if WOR is enabled.
Otherwise, the MCSM1.RXOFF_MODE setting
determines the state to go to when RX ends.
This means that the chip will not automatically
go back to SLEEP once a sync word has been
received. It is therefore recommended to
always wake up the microcontroller on sync
word detection when using WOR mode. This
can be done by selecting output signal 6 (see
Table 35 on page 58) on one of the
programmable GDO output pins, and
programming the microcontroller to wake up
on an edge-triggered interrupt from this GDO
pin.
收到了同步字,但是没有收到整个包,就退出WOR模式了。

使用特权

评论回复
12
幸福至上|  楼主 | 2017-5-28 08:55 | 只看该作者
mtbf 发表于 2017-5-24 22:15
If RX terminates due to no carrier sense when
the MCSM2.RX_TIME_RSSI function is used,
or if no sync ...

哦,原来如此,CC1101的手册都翻遍了都没看到这段话。早已换用silicon的RF芯片,不纠结它了。

使用特权

评论回复
13
机智的我| | 2017-5-29 11:36 | 只看该作者
涵潇舒雅 发表于 2015-9-29 17:18
我也是这种情况,目前只是加了一个检测机制,还没有找到根本原因,不知道楼主搞的咋样了? ...

使用特权

评论回复
14
机智的我| | 2017-5-29 11:37 | 只看该作者
15
机智的我| | 2017-5-31 12:53 | 只看该作者
涵潇舒雅 发表于 2015-9-29 17:18
我也是这种情况,目前只是加了一个检测机制,还没有找到根本原因,不知道楼主搞的咋样了? ...

使用特权

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

本版积分规则

个人签名:重庆电子交流圈:521107487,欢迎各位工程师朋友们加入,一起交流讨论,互动分享,共同进步。

38

主题

854

帖子

10

粉丝