MCSM0中FS_AUTOCAL[1:0]是确定Automatic calibration的模式。现在的问题是:当设置为[01],同时在程序中确保从IDEL状态转换到STX状态时,经过一段时间的收发切换后,无线RF的频点会偏离设置值,如果从外部强制RF再进行收发切换(每次切换都会执行Automatic calibration),频点是能回到设置值的。当设置为其它状况时,频点不会偏。请问这是什么问题造成?生产了1000个产品,大约有100个存在问题,换了RF就正常了。
下面是切换程序
切换到发送模式:
SPIStrobe(TI_CC1101_SIDLE); //进入IDLE模式
__delay_cycles(7370); // Delay 7370个机器周期
SPIStrobe(TI_CC1101_STX); //进入发送模式
__delay_cycles(7370); // Delay 7370个机器周期
CC1101_State=T_SYNC;
切换到接收模式:
SPIStrobe(TI_CC1100_SIDLE); //进入IDLE模式
__delay_cycles(7370); // Delay 7370个机器周期
SPIStrobe(TI_CC1100_SRX); //进入接收模式
__delay_cycles(7370); // Delay 7370个机器周期
CC1100_State=IDLE;
WZ:
PLL会根据电压和温度产生频率偏移。建议定期校准。
Yun Zhang:
回复 WZ:
请问定期校正是执行哪些寄存器的参数重写呢?
WZ:
回复 Yun Zhang:
是频率合成器部分的参数校准