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.

CC1101 (CC430) radio output issues

Other Parts Discussed in Thread: CC430F5137, TEST2

Hi,

I have made my own CC430F5137 based board and I am trying to get the radio module working firstly by transmitting a single carrier. The issues that im having are that the carrier is lower frequency then it should be (radio setup for 434.1MHz, but actual output is 431.1MHz or so), the carrier is not very stable in its frequency, and the power is down on what it should be.

The schematic and component values for the matching network are taken from the suggested layout for 433MHz on the CC430F datasheet. (26MHz crystal)

The program is as follows, with the from the example code:

WDTCTL = WDTPW + WDTHOLD;
SetVCore(2);
WriteRfSettings(&rfSettings);
WriteSinglePATable(RFPOWER);
Strobe( RF_SIDLE );
Strobe( RF_STX );
while(1);
with the radio settings being:

RF_SETTINGS rfSettings = {
0x0B, // IOCFG2 GDO2 Output Pin Configuration
0x2E, // IOCFG1 GDO1 Output Pin Configuration
0x0C, // IOCFG0 GDO0 Output Pin Configuration
0x47, // FIFOTHR RX FIFO and TX FIFO Thresholds
0xD3, // SYNC1 Sync Word, High Byte
0x91, // SYNC0 Sync Word, Low Byte
0xFF, // PKTLEN Packet Length
0x04, // PKTCTRL1 Packet Automation Control
0x12, // PKTCTRL0 Packet Automation Control
0x00, // ADDR Device Address
0x02, // CHANNR Channel Number
0x06, // FSCTRL1 Frequency Synthesizer Control
0x00, // FSCTRL0 Frequency Synthesizer Control
0x10, // FREQ2 Frequency Control Word, High Byte
0xB2, // FREQ1 Frequency Control Word, Middle Byte
0x37, // FREQ0 Frequency Control Word, Low Byte
0xF5, // MDMCFG4 Modem Configuration
0x83, // MDMCFG3 Modem Configuration
0x30, // MDMCFG2 Modem Configuration
0x00, // MDMCFG1 Modem Configuration
0xF8, // MDMCFG0 Modem Configuration
0x00, // DEVIATN Modem Deviation Setting
0x07, // MCSM2 Main Radio Control State Machine Configuration
0x30, // MCSM1 Main Radio Control State Machine Configuration
0x18, // MCSM0 Main Radio Control State Machine Configuration
0x16, // FOCCFG Frequency Offset Compensation Configuration
0x6C, // BSCFG Bit Synchronization Configuration
0x03, // AGCCTRL2 AGC Control
0x40, // AGCCTRL1 AGC Control
0x91, // AGCCTRL0 AGC Control
0x87, // WOREVT1 High Byte Event0 Timeout
0x6B, // WOREVT0 Low Byte Event0 Timeout
0xFB, // WORCTRL Wake On Radio Control
0x56, // FREND1 Front End RX Configuration
0x11, // FREND0 Front End TX Configuration
0xE9, // FSCAL3 Frequency Synthesizer Calibration
0x2A, // FSCAL2 Frequency Synthesizer Calibration
0x00, // FSCAL1 Frequency Synthesizer Calibration
0x1F, // FSCAL0 Frequency Synthesizer Calibration
0x41, // RCCTRL1 RC Oscillator Configuration
0x00, // RCCTRL0 RC Oscillator Configuration
0x59, // FSTEST Frequency Synthesizer Calibration Control
0x7F, // PTEST Production Test
0x3F, // AGCTEST AGC Test
0x81, // TEST2 Various Test Settings
0x35, // TEST1 Various Test Settings
0x09, // TEST0 Various Test Settings
0x00, // PARTNUM Chip ID
0x04, // VERSION Chip ID
0x00, // FREQEST Frequency Offset Estimate from Demodulator
0x00, // LQI Demodulator Estimate for Link Quality
0x00, // RSSI Received Signal Strength Indication
0x00, // MARCSTATE Main Radio Control State Machine State
0x00, // WORTIME1 High Byte of WOR Time
0x00, // WORTIME0 Low Byte of WOR Time
0x00, // PKTSTATUS Current GDOx Status and Packet Status
0x00, // VCO_VC_DAC Current Setting from PLL Calibration Module
0x00, // TXBYTES Underflow and Number of Bytes
0x00, // RXBYTES Overflow and Number of Bytes
0x00, // RCCTRL1_STATUS Last RC Oscillator Calibration Result
0x00, // RCCTRL0_STATUS Last RC Oscillator Calibration Result
};

What are the likely causes? Could the types of inductor or capacitor selected be an issue? I am supprised that even the frequency is quite a way off.

Thanks, Matt

  • The impedance matching components shouldn't change the frequency. I'd start by verifying that your crystal oscillator is outputting the proper frequency and stable. Make sure you're using the proper capacitance with it as well. 

    I don't think RCCTRL1 and RCCTRL0 are used in the CC430F5xxx - I'm not sure what writing to these would do; I'd guess nothing...

  • The crystal being the issue would make sense, I checked that it is working but a scope would not pick up instability/inaccuracy that is occurring here. The crystal I have has a load capacitance of 18pF, and I've been using 16pF load capacitors. Using the equation at the bottom of table 48 on pg. 89 of the datasheet it implies I actually need something in the order of 34pF. I'll change them and see what happens.

  • I'd start with increasing the capacitance. I'm using the Abracon ABLS3-26 oscillator (http://www.digikey.com/scripts/dksearch/dksus.dll?vendor=0&keywords=ABLS3-26.000) that requires an 18pF load capacitance. I use 33pF load capacitors and it works out great.

    You can definitely pull the frequency around by changing that capacitance.

  • I changed the load capacitance to 33pF on each side, the frequency was still off and not that stable. This is what the crystal waveform looks like with 33pF: http://imgur.com/iIx1J  On changing the capacitance to 22pF there was not any noticeable improvement either. The crystal is this: http://uk.farnell.com/txc/8z-26-000maaj-t/xtal-26-000mhz-18pf-smd-2-5x2-0/dp/1842190 . Perhaps it is that crystal which is somehow damaged or I need to try a better crystal.

  • Ive been doing some more experiments with a signal generator connected to RF_XIN. Setting the signal generator to 26MHz appears to have the same effect as the crystal, an incorrect output frequency which is also unstable. However, on changing the signal generator frequency the output frequency does not change, power cycling the board does however lead to the output frequency being changed as expected. 

    On power up the output takes a while to stabilise, there being a range of about 400kHz from first turn on to stable. It still does this when the signal generator is connected and remains on and stable. 

    To me this would suggest there is an issue with the internal VCO and PLL getting a lock, any thoughts on this or how to check whether the radio thinks it has a PLL lock?

    When using the crystal the Vp-p range was about 380mV, is this too low? Also what is the expected external clock RF_XIN Vp-p value?