CC1120目前调试通过,软硬件已经优化到一定程度了,目前要加上低功耗特性。
寄存器配置如下:(来自SmartRFStudio7)
{CC112X_IOCFG3, 0xB0},
{CC112X_IOCFG2, 0x06},
{CC112X_IOCFG1, 0xB0},
{CC112X_IOCFG0, 0x40},
{CC112X_SYNC_CFG1, 0x0B},
{CC112X_DCFILT_CFG, 0x1C},
{CC112X_PREAMBLE_CFG1, 0x18},
{CC112X_IQIC, 0xC6},
{CC112X_CHAN_BW, 0x08},
{CC112X_MDMCFG0, 0x05},
{CC112X_AGC_REF, 0x20},
{CC112X_AGC_CS_THR, 0x0C},
{CC112X_AGC_CFG1, 0xA0},
{CC112X_FIFO_CFG, 0x00},
{CC112X_SETTLING_CFG, 0x03},
{CC112X_FS_CFG, 0x14},
{CC112X_WOR_CFG0, 0x20},
{CC112X_WOR_EVENT0_MSB, 0x02},
{CC112X_WOR_EVENT0_LSB, 0xEA},
{CC112X_PKT_CFG0, 0x20},
{CC112X_RFEND_CFG0, 0x09},
{CC112X_PKT_LEN, 0xFF},
{CC112X_IF_MIX_CFG, 0x00},
{CC112X_FREQOFF_CFG, 0x22},
{CC112X_FREQ2, 0x6C},
{CC112X_FREQ1, 0x80},
{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_XOSC2, 0x00},
{CC112X_PARTNUMBER, 0x48},
{CC112X_PARTVERSION, 0x21},
{CC112X_MODEM_STATUS1, 0x10}
进入sniffer WOR 模式的函数如下:(来自swra428,preamble长度改过多次,均无法收到)
void CC112X_eWORInit( void )
{
INT8U writeByte;
CC112X_WriteReg( CC112X_WOR_CFG1, 0x08 );
CC112X_WriteReg( CC112X_WOR_CFG0, 0x24 );
CC112X_WriteReg( CC112X_WOR_EVENT0_MSB, 0x02 );
CC112X_WriteReg( CC112X_WOR_EVENT0_MSB, 0x15 );
CC112X_WriteReg( CC112X_RFEND_CFG1, 0x0F );
CC112X_WriteReg( CC112X_RFEND_CFG0, 0x09 );
CC112X_WriteReg( CC112X_AGC_CS_THR, 0xF5 );
CC112X_WriteReg( CC112X_AGC_CFG1, 0xA0 );
CC112X_WriteReg( CC112X_AGC_CFG0, 0xC3 );
CC112X_WriteReg( CC112X_PREAMBLE_CFG1, 0x2A );
CC112X_Command( CC112X_SWORRST );
CC112X_Command( CC112X_SIDLE ); goto IDLE mode
while( ( CC112X_GET_STATUS( ) & 0xF0 ) != 0x00 );
CC112X_Command( CC112X_SWOR );
}
1,烦请Ti工程师帮忙看看还有什么考虑不周之处,,导致无法收到数据。
2,调用CC112X_eWORInit,再也无法切换到发射数据了(当然也无法接收)。
3,如果不调用CC112X_eWORInit函数,收发双向切换均OK。