关于CC1120的问题
我要问的问题是关于CC1120的sniff模式,它跟CC1101的eWOR有什么区别?我在使用CC1120的sniff模式的时候出现了不能通讯的问题。配置如下:
{CC112X_IOCFG3, 0xB0},
{CC112X_IOCFG2, 0x06},
{CC112X_IOCFG1, 0xB0},
{CC112X_IOCFG0, 0x31},
{CC112X_SYNC_CFG1, 0x0B},
{CC112X_SYNC_CFG0, 0x0F},
{CC112X_DEVIATION_M, 0x9A},
{CC112X_MODCFG_DEV_E, 0x0D},
{CC112X_DCFILT_CFG, 0x1C},
{CC112X_PREAMBLE_CFG1, 0x19},
{CC112X_IQIC, 0x44},
{CC112X_CHAN_BW, 0x02},
{CC112X_MDMCFG1, 0xC6},
{CC112X_MDMCFG0, 0x05},
{CC112X_DRATE2, 0x99},
{CC112X_DRATE1, 0x99},
{CC112X_DRATE0, 0x9A},
{CC112X_AGC_REF, 0x20},
{CC112X_AGC_CS_THR, 0x19},
{CC112X_AGC_CFG1, 0xA9},
{CC112X_AGC_CFG0, 0xCF},
{CC112X_FIFO_CFG, 0x80},
{CC112X_DEV_ADDR, 0x01},
{CC112X_SETTLING_CFG, 0x0B},
{CC112X_FS_CFG, 0x14},
{CC112X_WOR_CFG1, 0x08},
{CC112X_WOR_CFG0, 0x20},
{CC112X_WOR_EVENT0_MSB, 0x3E},
{CC112X_WOR_EVENT0_LSB, 0x67},
{CC112X_PA_CFG2, 0x7f},
{CC112X_PA_CFG1, 0x56},
{CC112X_PA_CFG0, 0x7B},
{CC112X_PKT_CFG2, 0x04},
{CC112X_PKT_CFG1, 0x25},
{CC112X_PKT_CFG0, 0x00},
//{CC112X_RFEND_CFG0, 0x2C},
{CC112X_PKT_LEN, 0x10},
{CC112X_IF_MIX_CFG, 0x00},
{CC112X_FREQOFF_CFG, 0x22},
{CC112X_FREQ2, 0x6B},
{CC112X_FREQ1, 0x83},
{CC112X_FREQ0, 0x2F},
{CC112X_FS_DIG1, 0x00},
{CC112X_FS_DIG0, 0x5F},
{CC112X_FS_CAL1, 0x40},
{CC112X_FS_CAL0, 0x0E},
{CC112X_FS_divTWO, 0x03},
{CC112X_FS_DSM0, 0x33},
{CC112X_FS_DVC0, 0x17},
{CC112X_FS_PFD, 0x50},
{CC112X_FS_PRE, 0x6E},
{CC112X_FS_REG_div_CML, 0x14},
{CC112X_FS_SPARE, 0xAC},
{CC112X_FS_VCO0, 0xB4},
{CC112X_XOSC5, 0x0E},
{CC112X_XOSC1, 0x03},
{CC112X_PARTNUMBER, 0x48},
{CC112X_PARTVERSION, 0x21},
{CC112X_RX_STATUS, 0x10},
使用该配置,一般的接收模式下是正常,但一旦将{CC112X_RFEND_CFG0, 0x2C},也配置上,就变成无法通讯了。接收端什么反应都没有。请问一下这是哪里配置出了问题?
默认的CC1120 这个CC112X_RFEND_CFG0是0x00, 看里面的设置在收到坏包的时候会转到IDLE不进入RX了。
看起来设置成0x00是合适的呢
回答你的问题的第一部分。Sniff Mode 目前只有 TI 的高性能Sub-1GHz 系列芯片 CC112x 才支持,实际是在 Rx 模式里面做非常快的毫秒级的 Duty Cycle, 属于连续接收模式,对用户来说感觉不到芯片有休眠。而 WoR 是比较长时间的休眠唤醒,至少是秒级以上的 Duty Cycle。详细参考芯片 User Guide, 文档号 SWRU295C 62 页。
楼主还可以尝试在 SmartRF Studio下面的Rx Sniff Mode 里面导出寄存器配置。