SWRA682 December   2020 CC1310 , CC1312PSIP , CC1312R , CC1314R10 , CC1350 , CC1352P , CC1352P7 , CC1352R , CC1354P10 , CC1354R10

 

  1.   Trademarks
  2. Introduction
  3. Recommended Test Setup
  4. Overrides
  5. Find the Needed RX BW
  6. How to Set the Deviation
  7. Theoretical Sensitivity
  8. Determine AGC_REF Level
  9. Determine Anti-Aliasing BW
  10. Determine PA Ramp Settings
  11. 10Intermediate Frequency (IF)
  12. 11LNA Ib Offset
  13. 12Sensitivity and Selection of Sync Word
  14. 13Narrowband
    1. 13.1 Frequency Offset Tolerance
    2. 13.2 Low Datarate
    3. 13.3 Phase Noise
  15. 14RSSI Offset

Determine AGC_REF Level

To get the wanted dynamic range in the receive chain Automatic Gain Control (AGC) is used. The gain in the receive chain is adjusted according to the input level. The gain always is set to max gain when going into RX and the gain is then adjusted according to the input level. AGC_REF sets for which input signal level the AGC sets the gain to something else than maximum.

Too high AGC_REF will degrade the blocking performance and too low will give increased residual BER.

For CC13x0 the AGC_REF level is set by the following override:

HW_REG_OVERRIDE(0x6088,0xYYXX), where the last byte (0xXX) is wanted AGC_REF. YY sets PA ramping, covered in Chapter 9.

For CC13x2 the AGC_REF level is set by the following override:

HW_REG_OVERRIDE(0x609C,0x00XX), where the last byte is wanted AGC_REF.

The following steps should be done to set the AGC_REF level:

  • Measure the sensitivity level with max AGC_REF level
  • Do a sweep from -120 dBm to 0 dBm with 1 dB steps and read out the agc gain for each step.

The gain could be read out with a command:

Rfc_CMD_READ_RFREG_t cmdreadRXgain = {
   .commandNo = 0x0601,
   .address = (0x40046094 & 0xFFFF),
   .value = 0,
};

The .address field is 0x40046080 for CC13x0 and 0x40049094 for CC13x2.

Set the chip in RX forever using:

/* Enter RX mode and stay forever in RX */
RF_EventMask terminationReason = RF_runCmd(rfHandle, (RF_Op*)&RF_cmdRxTest,
                                           RF_PrioritNormal, 0,
                                           RF_EventRxEntryDone);

A clock event or similar can be used to read out the gain at given intevals using the following:

RF_runImmediateCmd(rfHandle, (uint32_t*)&cmdreadRXgain);

The AGC_REF level should be set 7- 8 dB higher than the sensitivity limit. To verify the new AGC_REF level, a PER vs level measurement has to be done. The resulting curve should not have residual PER above the sensitivity limit. In other words, the PER should be 0% for all input levels ~3 dB or higher than the sensitivity limit.