微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC1101 WOR 不稳定问题

CC1101 WOR 不稳定问题

时间:12-23 整理:3721RD 点击:

大家好!

      最近测试CC1101的WOR,总是出现唤醒时不稳定,有时可以唤醒有时不可以,望各位大神指点一下,谢谢!

      具体逻辑如下:

            1、发射和接收端都初始化为433M,具体配置跟官方的参考例程基本一样。(未启用WOR功能时,发射和接收都正常)

            2、每次按下发射端的按键后,发射端间隔5ms发射1条数据,连续发射20次。每次发完后还会听2ms,用于处理接收端的应答。

            3、接收端初始化WOR,(Initial_WOR()),然后启用WOR功能(WOR_Start()),每次被唤醒并收到数据后,重新调用WOR_Start()函数。

                        接收端WOR的参数设置:

                              T_event0  = 50ms;      T_event1 = 1.385ms;      T_RXtimeout = 6.25ms;  

            4、WOR源代码如下:

                  void Initial_WOR(void)
                  {
                        SPI_Write_Strobe(TI_CCxxx0_SIDLE);

                        // T_RX timeout = 50ms + 12.5% = 6.25ms 
                       SPI_Write_Register(TI_CCxxx0_MCSM2, 0x10);    // RX_TIME 0 占空比最大
                       SPI_Write_Register(TI_CCxxx0_MCSM0, 0x18);    // bit5-4: 校准 FS_AUTOCAL[1:0] 01 重IDLE转到TX OR RX模式时

                       // T_event0 = (750/26M) * 1733 * 2^(5*0) = 50ms
                       SPI_Write_Register(TI_CCxxx0_WOREVT1, 0x06); 
                       SPI_Write_Register(TI_CCxxx0_WOREVT0, 0xC5);    // 0x06C5 = 1733 = 50ms

                       // T_event1 = (750/26MHz) * 48 = 1.385ms
                       SPI_Write_Register(TI_CCxxx0_WORCTRL, 0x78);

                       SPI_Write_Register(TI_CCxxx0_IOCFG0, 0x06);
                 }

                 void WOR_Start(void)
                 {
                        // from IDLE state, enter WOR
                       SPI_Write_Strobe(TI_CCxxx0_SIDLE);
                       SPI_Write_Strobe(TI_CCxxx0_SFRX);

                        // enter WOR
                        SPI_Write_Strobe(TI_CCxxx0_SWORRST);
                        SPI_Write_Strobe(TI_CCxxx0_SWOR);
                 }

          我这里的发射间隔5ms,明显小于T_Rxtime=6.25ms的, 但是总是会出现唤醒不稳定的现象,不知是何原因。

          哪位大神可否帮忙指点一下,非常感谢!

您好,您的问题解决没,我也在应用无线唤醒,请赐教 QQ:154711688 感谢

唤醒不稳定是指唤醒周期不一致还是接收丢包问题?

我也出现过这种情况,但是后面只能牺牲接收端的功耗来做稳定,增加Rxtimeout的占空比。

速率调高后WOR基本就不能使用了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top