主题中讨论的其他器件: test2.
工具/软件:
我有一个系统、我们希望使用载波侦听 WOR 通过 GDO2唤醒系统
为了节省有限的电池电量、系统本身在工作时处于最佳睡眠状态、这种情况很少发生、因此整个系统基本上始终处于睡眠状态、此时我们可以获得大约100uA 的系统电流
我成功地进行了 WOR 配置、它将使用来自远程端的数据包广播唤醒、但它一直保持开启状态、直到接收到数据包配置、因此功耗很低、但我知道它可以正常工作
现在、我正在尝试仅基于载波侦听来执行 WOR、但计时器值更长、例如唤醒频率为1Hz、然后将远程端置于连续 TX 模式、将 BLAT 射频仅置于环境中几秒钟、这样 RSSI 就会跳起来、从而捕获1秒唤醒周期中的1秒唤醒周期的功率。 之后、它可以进入正确的 Rx 模式来执行实际数据交换。 无法保持2端的时间同步、否则无法尝试锁定唤醒窗口
独立在连续 RX 模式下使用 TI 开发套件、我可以看到我的远程 TX 端正在做应该做的事情、因为它的 RSSI 至少根据图表从-110ish 本底噪声上升到>-50dBm
我一直通过 GDO2、AGC 和调制解调器寄存器尝试在我开始广播时使 GDO2变为活动状态、但似乎最好是在 WOR 计时器周期发生时使其跳动
我是不是用这种方法把这棵树弄成了错误的树? 或者我是否错过了一些明显的东西,在 GDO2上(和那里的处理)?
// CC1101_Write (CC1101_IOCFG2、0x24);// evt 0
// CC1101_Write (CC1101_IOCFG2、0x25);// evt 1
// CC1101_Write (CC1101_IOCFG2、0x14);// RSSI >阈值
// CC1101_Write (CC1101_IOCFG2、0x07);//接收
CC1101_Write (CC1101_IOCFG2、0x08);//达到前导码质量。
CC1101_Write (CC1101_WORCTRL、0x38);
CC1101_Write (CC1101_PKTSTAT、6);
// CC1101_Write (CC1101_AGCCTRL2、0x40);// MAGN = 24dB 目标
CC1101_Write (CC1101_AGCCTRL2、0x43);// MAGN = 33dB 目标
CC1101_Write (CC1101_AGCCTRL1、0x40);//载体
CC1101_Write (CC1101_AGCCTRL1、0x40 | 0x30 | 0x07);//载波+ 7
CC1101_Write (CC1101_MDMCFG2、0x13);// GFSK 30/32同步字
// CC1101_Write (CC1101_MDMCFG2、0x14);// GFSK 无前导码/SYNC、载波检测高于阈值
// CC1101_Write (CC1101_MDMCFG2、0x10);//无前导码
// CC1101_Write (CC1101_WOREVT1、0x28);//应为0.3秒、其中 worctrl.EVENT1 =7
// CC1101_Write (CC1101_WOREVT0、0xa0);
CC1101_Write (CC1101_WOREVT1、0x87);//应为1秒、worctrl.EVENT1 = 7
CC1101_Write (CC1101_WOREVT0, 0x76 );
CC1101_Write (CC1101_WORCTRL、0x78);
CC1101_Write (CC1101_MCSM2、0x0);