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.

CC430F5133: Tx lockup

Part Number: CC430F5133
Other Parts Discussed in Thread: CC1101, TEST2

Hi,

I have been asked by TI to post a copy of my query here.

I am having some problems with the in-built CC1101 transceiver.As a basis for configuration, I used TI's Smart RF Studio 7 software to select the appropriate values for the internal registers, a list of which is given below.

The transceiver is configured to send and receive packets of a fixed length.  I have two PCB's sending and receiving packets between each other.  This configuration works for approximately 30-40 minutes before it locks up.  The problem appears to be that the transmitter is locking on and I cannot establish why this is happening.  On a spectrum analyser this is displayed as continuous carrier at the centre frequency.

Below, I have listed by observations.

1) Reading the TX status shows that there were over 15 bytes available and the system was in TX mode.  This is confirmed with a read of the MARCSTATE register.
2) Reading the number of TX bytes in the FIFO showed a value of 0x0C bytes in the TX buffer.
3) I can exit this state by forcing the transceiver to idle and then going back into the receive state.
3) When the two transceivers are working, the RSSI between the units is in the range 77 to 89 and the link quality is in the range 45 to 49.
4) It is interesting to note that Smart RF Studio sets bit 3 of the MCSM0 register, however the datasheet shows this bit to be reserved.  Altering this bit stops the transceiver from operation.  Can you please clarify.
5) I have also noticed that the transceiver is operating in frequency hopping mode.  Whilst the user manual says that there is a frequency hopping mode, it does not tell me how to enable or disable this.  Can you please clarify.

Do you have any suggestions?

// Chipcon default RF settings
const RF_SETTINGS defaultRF_Settings = {
    0x06,   // FSCTRL1   Frequency synthesizer control.
            // SmartRF_Studio setting 0x08
            //           FREQ_IF = 6 - Fif = 152.34375 kHz
    0x00,   // FSCTRL0   Frequency synthesizer control.
            //           FREQOFF = 0 - Foffset = 0
    0x10,   // FREQ2     Frequency control word, high byte.  
    0xB1,   // FREQ1     Frequency control word, middle byte.
    0x3B,   // FREQ0     Frequency control word, low byte.
            //           Frequency control word = 0x0010B13B = 1093947
            //           Center frequency = 433.999969 MHz
    0xCA,   // MDMCFG4   Modem configuration.
            //           CHANBW_E = 3
            //           CHANBW_M = 0  CHAN_BW = 101.5625 kHz
            //           DRATE_E = 10
            //           *** // 0xCA : 38.3835 kBaud, 0xC5 : 1.19948kBaud
    0x83,   // MDMCFG3   Modem configuration.
            //           DRATE_M = 131  Rdata = 38.3835 kBaud
    0x13,   // MDMCFG2   Modem configuration.
            // SmartRF_Studio setting 0x90
            //           DEM_DCFILT_OFF = 0 - Filter is on
            //           MOD_FORMAT = 1 - 2GFSK
            //           MANCHESTER_EN = 0 - Encoder is off
            //           SYNC_MODE = 3 - 30/32 sync word bits
    0x22,   // MDMCFG1   Modem configuration.
            // SmartRF_Studio setting 0x00
            //           NUM_PREAMBLE = 4
            //           CHAN_SPC_E = 2
    0xF8,   // MDMCFG0   Modem configuration.
            //           CHAN_SPC_M = 248 Channel spacing = 199.951172 kHz
    0x00,   // CHANNR    Channel number.
            //           CHAN = 0 - Channel offset = 0
    0x35,   // DEVIATN   Modem deviation setting (when FSK modulation is
            //           enabled).
            //           DEVIATION_E = 3
            //           DEVIATION_M = 5
            //           Deviation frequency = 20.62988 kHz
    0x56,   // FREND1    Front end RX configuration.
            //           NOTE: Set by SmartRF_Studio
            //           LNA_CURRENT = 1 - LNA current setting
            //           LNA2MIX_CURRENT = 1 - PTAT current setting
            //           LODI_BUFF_CURRENT = 1 - LO buffer current setting
            //           MIX_CURRENT = 2 - Mixer current setting
    0x10,   // FREND0    Front end TX configuration.
            //           NOTE: Set by SmartRF_Studio
            //           LODIV_BUF_CURRENT_TX = 1 - CTX LO current setting
            //           PA_POWER = 0 - Index setting = 0
    0x18,   // MCSM0     Main Radio Control State Machine configuration.
            //           FS_AUTOCAL = 1 - Calibrate when going from IDLE to
            //                            Rx or Tx
            //           NOTE: bit 3 is reserved
            //           PIN_CTRL_EN = 0  - Pin radio control disabled
            //           XOSC_FORCEW_ON = 0 - XT2 oscillator is off in sleep
            //                                mode
    0x16,   // FOCCFG    Frequency Offset Compensation Configuration.
            //           FOC_BS_CS-GATE = 0 - No carrier sens lock
            //           FOC_PRE_K = 2 - Loop gain before sync word = 3k
            //           FOC_POST_K = 1 - Loop gain after sync word = K/2
            //           FOC_LIMIT = 2 - Saturation point for freq offset
            //                           compensation = +/-BWchan/4
    0x6C,   // BSCFG     Bit synchronization Configuration.
            //           BS_PRE_KI = 1 - Clk feedback loop integral gain
            //                           before sync word = 2Ki
            //           BS_PRE_KP = 2 - Clk feedback loop proportional
            //                            gain before sync word = 2Kp
            //           BS_POST_KI = 1 - Clk feedback loop integral
            //                            gain after sync word = Ki/2
            //           BS_POST_KP = 1 - Clk feedback loop proportional
            //                            gain after sync word = Kp
            //           BS_LIMIT = 0 - No data rate offset compensation
    0x43,   // AGCCTRL2  AGC control.
            //           MAX_DVGA_GAIN = 1 - Highest gain setting cannot be
            //                               used
            //           MAX_LNA_GAIN = 0 - Max possible LNA + LNA2 gain
            //           MAGN_TARGET = 3 - Digital filter target
            //                             amplitude = 33dB
//    0x40,   // AGCCTRL1  AGC control.
    0x60,   // AGCCTRL1  AGC control.
            //           AGC_LNA_PRIORITY = 1 - LNA is decreased first then
            //                                  LNA2
            //           CARRIER_SENSE_REL_THR = 0 - Threshold for carrier
            //                                       sense is disabled
            //           CARRIER_SENSE_ABS_THR = 0 - Absolute threshold for
            //                                       asserting carrier
            //                                       sense = MAGN_TARGET
            //                                       setting
    0x91,   // AGCCTRL0  AGC control.
            //           HYST_LEVEL = 2 - Medium hysteresis
            //                            Small asymmetric dead zone
            //                            Medium gain
            //           WAIT_TIME = 1 - No of filter samples = 16
            //           AGC_FREEZE = 0 - AGC freeze is off
            //           FILTER_LENGHT = 1 - Channel filter samples = 16
    0xE9,   // FSCAL3    Frequency synthesizer calibration.
            //           NOTE: Set by SmartRF_Studio
            //           FSCAL3[7:6] = 0xC9 = 201 - Iout =
            //           CHP_CURR_CAL_EN = 2 - Enable charge pump calibration
            //                                 stage when 1
            //           FSCAL3[3:0] = 9 - Iout = 4.7567mA
    0x2A,   // FSCAL2    Frequency synthesizer calibration.
            //           NOTE: Set by SmartRF_Studio
            //           VCO_CORE_H_EN = 1 = Enabled
            //           FSCAL2 = 10
    0x00,   // FSCAL1    Frequency synthesizer calibration.
            //           NOTE: Set by SmartRF_Studio
            //           FSCAL1 = 0
    0x1F,   // FSCAL0    Frequency synthesizer calibration.
            //           NOTE: Set by SmartRF_Studio
            //           FSCAL0 = 31
    0x59,   // FSTEST    Frequency synthesizer calibration.
            //           NOTE: Set by SmartRF_Studio
            //           FSTEST = 0x59
    0x81,   // TEST2     Various test settings.
            //           NOTE: Set by SmartRF_Studio
            //           TEST2 = 0x81
    0x35,   // TEST1     Various test settings.
            //           NOTE: Set by SmartRF_Studio
            //           TEST1 = 0x35
    0x09,   // TEST0     Various test settings.
            //           NOTE: Set by SmartRF_Studio
            //           TEST0[7:2] = 2
            //           VCO_CAL_EN = 0 - VCO calibration is disabled
            //           TEST0[0] = 1
//    0x47,   // FIFOTHR   RXFIFO and TXFIFO thresholds.
    0x67,   // FIFOTHR   RXFIFO and TXFIFO thresholds.
            //           ADC_RETENTION = 1 - TEST1 = 0x35 and TEST2 = 0x81
            //           when wakeup from sleep
            //           CLOSE_IN_RX = 0 - Rx attenuation = 0dB
            //           FIFO_THR = 7 - Tx FIFO threshold = 33,
            //                          Rx FIFO threshold = 32
    0x29,   // IOCFG2    GDO2 output pin configuration.
            // SmartRF_Studio setting 0x0B
            //           GDO2_INV = 0 - Output is non inverted
            //           GDO2_CFG = 0x29 - RF_RDYn
//    0x00,   // IOCFG1    GDO1 output pin configuration.
            //           GDO1_INV = 0 - Output is non inverted
            //           GDO1_CFG = 0x00 - RX FIFO overflow
    0x06,   // IOCFG0    GDO0 output pin configuration. Refer to SmartRF® Studio User Manual for detailed pseudo register explanation.
            // SmartRF_Studio setting 0x0C
            //           GDO0_INV = 0 - Output is non inverted
            //           GDO0_CFG = 0x06 - Assert when sync word has been sent
            //                             or received
            //                             Deassert Optional address check fails
            //                             Deassert RX_FIFO overflows
            //                             Deassert TX_FIFO underflows
    0x04,   // PKTCTRL1  Packet automation control.
            //           PQT = 0 - No threshold counter for sync word
            //           CRC_AUTOFLUSH = 0 - Auto flush is off
            //           APPEND_STATUS = 1 - Append RSSI, LQI and CRC OK to end
            //                               of Rx packet
            //           ADR_CHK = 0 - Address check is off
    0x04,   // PKTCTRL0  Packet automation control.
            // SmartRF_Studio setting 0x12
            //           WHITE_DATA = 0 - White data generator is off
            //           PKT_FORMAT = 0 - Normal mode
            //           CRC_EN = 1 - Calculate CRC for Rx and Tx packets
            //           LENGTH_CONFIG = 0 - Fixed packet length
    0x00,   // ADDR      Device address = 0. Not used
    RF_QUEUE_MSG_SZ    // PKTLEN    Packet length.
};



  • Please provide info on what SW you are running. There are no frequency hopping mode in the radio, so if your transmitter is transmitting on different frequencies, this is because the application are re-configuring the freq registers between each time in enters TX state.

    BR

    Siri

**Attention** This is a public forum