我将在一个系统中使用40MHz TCXO 测试 CC1200EM、在该系统中、调整到新的射频频率后的 RX 前导码检测速度至关重要。 TX 和 RX DUT 频率偏移都被校准。 其中一个 CC1200EM 传输连续前导码、 调优第二个 RX CC1200EM 以匹配 TX 射频频率并选通 SRX 后、我使用 MCU 轮询状态并设置 I/O 输出、以标记 CC1200状态从趋稳变为 RX 的时间、同时监控 GPIO2 (PQT_ACED)以进行前导码检测集。 增量为~1ms。 这比我预期的时间长。 我想知道在 RX 频跳后是否可以缩短前导码检测时间? 我还发现 RX 与 PQT_VALID 之间的差值为~1.05ms。
系统为:速率= 20K、RBW=26K
DUT 校准是在预校准的 VCO 寄存器加载和 SCAL 选通两种情况下完成的、结果相同。
1)是否有可以更改的设置可以缩短前导码检测时间而不会增加 RBW 或降低 RX 灵敏度?
2)根据用户指南、我本想8位("8位宽相关滤波器")是前导码检测所需的最低要求。 在 RX 趋稳之后和前导码检测之前发生延迟有效前导码检测之前会发生什么情况?
3)当我监视 PQT_VALID 并将 PQT_VALID_TIMEOUT 更改为32个符号时、RX 和 PQT_VALID 之间的差值保持~1.05ms。 我知道 PQT_EACTED 不是选通函数、但我想知道这是否表示其他一些错误的寄存器设置?
//Test Register Settings
{CC1200_IOCFG3, 0x06},
{CC1200_IOCFG2, 0x0B},
{CC1200_IOCFG1, 0x30},
{CC1200_IOCFG0, 0x06},
{CC1200_SYNC3, 0x93},
{CC1200_SYNC2, 0x0B},
{CC1200_SYNC1, 0x51},
{CC1200_SYNC0, 0xDE},
{CC1200_SYNC_CFG1, 0x4A},
{CC1200_SYNC_CFG0, 0x13},
{CC1200_DEVIATION_M, 0xD7},
{CC1200_MODCFG_DEV_E, 0x01},
{CC1200_DCFILT_CFG, 0x5D},
{CC1200_PREAMBLE_CFG1, 0x10},
{CC1200_PREAMBLE_CFG0, 0x8A},
{CC1200_IQIC, 0xCB},
{CC1200_CHAN_BW, 0x90},
{CC1200_MDMCFG1, 0x40},
{CC1200_MDMCFG0, 0x05},
{CC1200_SYMBOL_RATE2, 0x80},
{CC1200_SYMBOL_RATE1, 0x62},
{CC1200_SYMBOL_RATE0, 0x4E},
{CC1200_AGC_REF, 0x33},
{CC1200_AGC_CS_THR, 0xEC},
{CC1200_AGC_GAIN_ADJUST, 0x00},
{CC1200_AGC_CFG3, 0xB1},
{CC1200_AGC_CFG2, 0x20},
{CC1200_AGC_CFG1, 0x51},
{CC1200_AGC_CFG0, 0x8F},
{CC1200_FIFO_CFG, 0x00},
{CC1200_DEV_ADDR, 0x00},
{CC1200_SETTLING_CFG, 0x03},
{CC1200_FS_CFG, 0x12},
{CC1200_WOR_CFG1, 0x08},
{CC1200_WOR_CFG0, 0x21},
{CC1200_WOR_EVENT0_MSB, 0x00},
{CC1200_WOR_EVENT0_LSB, 0x00},
{CC1200_RXDCM_TIME, 0x00},
{CC1200_PKT_CFG2, 0x00},
{CC1200_PKT_CFG1, 0x43},
{CC1200_PKT_CFG0, 0x00},
{CC1200_RFEND_CFG1, 0x0F},
{CC1200_RFEND_CFG0, 0x00},
{CC1200_PA_CFG1, 0x41},
{CC1200_PA_CFG0, 0x54},
{CC1200_ASK_CFG, 0x0F},
{CC1200_PKT_LEN, 0x1E},
{CC1200_IF_MIX_CFG, 0x1C},
{CC1200_FREQOFF_CFG, 0x00},
{CC1200_TOC_CFG, 0x00},
{CC1200_MARC_SPARE, 0x00},
{CC1200_ECG_CFG, 0x00},
{CC1200_MDMCFG2, 0x08},
{CC1200_EXT_CTRL, 0x01},
{CC1200_RCCAL_FINE, 0x00},
{CC1200_RCCAL_COARSE, 0x00},
{CC1200_RCCAL_OFFSET, 0x00},
{CC1200_FREQOFF1, 0x00},
{CC1200_FREQOFF0, 0x00},
{CC1200_FREQ2, 0x5B},
{CC1200_FREQ1, 0x80},
{CC1200_FREQ0, 0x00},
{CC1200_IF_ADC2, 0x02},
{CC1200_IF_ADC1, 0xEE},
{CC1200_IF_ADC0, 0x10},
{CC1200_FS_DIG1, 0x07},
{CC1200_FS_DIG0, 0xAF},
{CC1200_FS_CAL3, 0x00},
{CC1200_FS_CAL2, 0x20},
{CC1200_FS_CAL1, 0x40},
{CC1200_FS_CAL0, 0x0E},
{CC1200_FS_CHP, 0x28},
{CC1200_FS_DIVTWO, 0x03},
{CC1200_FS_DSM1, 0x00},
{CC1200_FS_DSM0, 0x33},
{CC1200_FS_DVC1, 0xFF},
{CC1200_FS_DVC0, 0x17},
{CC1200_FS_LBI, 0x00},
{CC1200_FS_PFD, 0x00},
{CC1200_FS_PRE, 0x6E},
{CC1200_FS_REG_DIV_CML, 0x1C},
{CC1200_FS_SPARE, 0xAC},
{CC1200_FS_VCO4, 0x14},
{CC1200_FS_VCO3, 0x00},
{CC1200_FS_VCO2, 0x00},
{CC1200_FS_VCO1, 0x00},
{CC1200_FS_VCO0, 0xB5},
//TX Test Register Setting Changes Prior to STX
TRX0_WriteSingleReg(CC1200_MDMCFG2, 0x08)
TRX0_WriteSingleReg(CC1200_PKT_CFG2, 0x00)
TRX0_WriteSingleReg(CC1200_SERIAL_STATUS, 0x00)
TRX0_WriteSingleReg(CC1200_DEVIATION_M, 0x6F)
//RX Test Register Setting Changes Prior to SRX
TRX0_WriteSingleReg(CC1200_PREAMBLE_CFG1, 0x04)
TRX0_WriteSingleReg(CC1200_PREAMBLE_CFG0, 0x89)