This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1125频率校准时间太长

Other Parts Discussed in Thread: CC1125

已经发了两个帖子了,可是没一个人来帮一下小弟,所以又重新简单的发个新帖,希望TI的工程师或者遇到过这个情况的朋友能帮一下忙,详细的问题描述在以前的老帖http://www.deyisupport.com/question_answer/analog/wireless_connectivity/f/45/t/30386.aspx

在TI的开发板和我们公司自己的电路板上都测试过CC1125频率校准的时间。

1、使用选通脉冲SCAL进行手动校准,经测量,ti开发板的手动校准时间约等于1.9ms,而我们自己的电路板约等于2.5ms,跟CC1125数据手册里的0.4ms相差太大

2、根据CC112x的errata note上的手动校准方法,以及用户指南10.3.2上的方法:

Fast frequency hopping without calibration for each hop can be done by performing the necessary 
calibration at start-up and saving the resulting FS_CHP, FS_VCO4, and FS_VCO2 register values in 
MCU memory. Between each frequency hop, the calibration process can then be replaced by writing 
the calibration values that corresponds to the next RF frequency.

在每次系统启动时都预先对需要的频率进行过校准,并把校准值存起来,在改变频率时,连续写入频率寄存器值和频率校准值,程序如下:

    u8 marcstate;

    halSpiStrobe(CC1125_SIDLE);

    halSpiWriteBurstReg(CC1125_FREQ2, freq, 3);

    halSpiWriteReg(CC1125_FS_VCO2, buff[0]); //写频率校准值

    halSpiWriteReg(CC1125_FS_VCO4, buff[1]);

    halSpiWriteReg(CC1125_FS_CHP, buff[2]);

    do //等待芯片回到idle状态

    {

        halSpiReadReg(CC1125_MARCSTATE, &marcstate);

    } while (marcstate != 0x41);

    halSpiStrobe(CC1125_STX);

但写完频率校准值后,必须等待芯片回到idle状态(或者至少延时2.5ms),才能发射载波成功。

如果不等待芯片回到idle状态,直接进行发射, 则输出的频率以成功—失败—成功—失败—成功—失败......的方式出现。

所有的方法中,不管是用串行模式还是FIFO模式,频率的校准时间跟手册上的差距都很大,跟TI代理商的技术支持工程师咨询过,他们也无法解决,所以只能到这边来寻求帮助了。