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.

How to use cc1120 AFC

Other Parts Discussed in Thread: CC1120

We have 32 MHz Crystal Oscillator (+-10ppm)  and 32mhz TCXO(0.2ppm)

We Test  on 450mhz, 1.2kbps, 8khz(BandWidth),4khz(Deviation),the two board cannot communication.

we should use AFC function to reduce the frequency difference. We try many times,however AFC look like it does not work.

There must be something wrong in cc1120 config  or we  misunderstand AFC.

Here is the key configs and  the test way:

We use two 32mhz TCXO(0.2ppm) boards,one set freq 450.000mhz,the other 450.002mhz.   2khz freq diff.

1.2kpbs, 2 syn bytes , 4 preamble bytes,8khz Rx Bandwidth, 4khz Deviation .

user guide Page 99 ,FREQOFF_EST Register,We set 3khz freq diff  toleration。

FREQOFF_EST=2^18 *8(LO Divider 410-470mhz)*3000/32000000=196.608=0xC4

FREQOFF_EST1 0x00

FREQOFF_EST0 0xC4

 

Page 64

Note  that  the FREQOFF  programming  and FREQOFF_EST  (found  in  FREQOFF_EST1  and
FREQOFF_EST0) have identical formats hence the frequency estimate can be accumulated directly to
the FREQOFF programming.  This  can  be  done  either  manually  or  automatically  through  the SAFC
command strobe. A SAFC command strobe can  be  issued in any state  but  does not take effect until
the next time the radio enters active mode (TX or RX).

We do not understand manually config, so use SAFC Cmd after Init CC1120 then enter Rx state.

we recv nothing, unless we set the diff frequency to 1khz(one 450.000mhz the other 450.001 or 449.999mhz)

SETTLING_CFG 0x0B

FREQOFF_CFG  0x22

If we set FREQOFF_CFG  0x2A ,we recv nothing( one  450.000mhz  the other 450.000mhz   ?)

1.2kpbs, 2 syn bytes , 4 preamble bytes,8khz Rx Bandwidth, 4khz Deviation .

00  FOC after channel filter (typical 0 - 1 preamble bytes for settling)

01  FOC in FS enabled. Loop gain factor is 1/128 (typical 2 - 4 preamble bytes for settling) 

0x2A means we should use >4bytes preamble ,for example 6 or 8 preamble bytes ??

If we want to communication  450.000mhz  and 450.002mhz(or 449.998mhz) , how to do?

Looking forward to your reply

Best wishes

  • - According to Carsons rule the minimum RX bandwidth that should be used is given by:

    datarate+2*deviation=1.2k+2*4k=9.2kHz

    - AFC after channelfilter(FREQOFF_CFG.FOC_CFG=0):

    According to equation 24, page 64 in the userguide the value of FREQOFF will be a part of the calculation of the VCO freqency

    After receiving a package the frequency offset estimate could be found in the FREQOFF_EST registers. The user may copy the values over to the FREQOFF manually or issuing the SAFC strobe. The strobe will copy the value of the FREQOFF_EST registers to FREQOFF.

    - AFC back to synth:See attached presentation for FREQOFF_CFG=0x30.0535.PLL.pptx

  • I make a test :  TCXO  32mhz (0.1-0.3ppm)

    one board A set 460.625mhz      one second send 5 times,  2bytes data,  2bytes  syn, 4bytes preamble,1.2kbps, 4k Deviation ,10k  bw

    FREQ  0x732800 

    FREQOFF1 0x00  FREQOFF0 0x00

    FREQOFF_CFG  0x22

    the other board  B  set 460.620 to 460.630 mhz  keep rx state.

    I want to test  AFC   5khz freq diff  toleration, for example   B(460.620-460.630mhz ) can recv A(460.625mhz) data.

    5000* 2^21/32000000=327=0x0147

    FREQOFF1 0x01  FREQOFF0 0x47

    FREQ  = (freq_mhz*65536-327)/4;

    FREQOFF_CFG  0x22

    the result is B can recv data from 460.6221 to 460.6276 mhz

    and  FREQOFF 0x028F   10khz  freq diff  toleration

    the result is the same

    and FREQOFF_CFG  0x00 ,      Frequency Offset Correction turned Off

    the result is still the same , why?  

    Looking forward to your reply

    Best wishes

     

  • I tried with the frequency and FREQOFF setting you are using.

    I sat the sender and receiver to 460.625MHz and programmend FREQOFF=0x0147 on the recieve side. Then I got 100% PER as I expected since a 5kHz offset is 50% of the RX bandwidth causing the signal to be filtered by the channelfilter.

  • Thanks for your replying.

    Is this mean AFC improve a little recv sensitivity  and almost  can not improve packet loss ratio when using TCXO(<0.5ppm) work on narrow bandwith such as 10khz. 

  • It depends on the AFC settings. If you do AFC after the channelfilter the signal must be able to pass the filter without being filtered. Hence for narrowband systems the offset that is possible to correct is small. By using AFC with feedback to the synth you will be able to correct larger offsets, ref the Powerpoint presentation I attached in my first post here.