Electronic – CC1120 does not receive upon software upgrade

msp430sub-1texas instrumentswireless

Note: only read if you have experience using Texas Instruments CC1120 modules earlier.

I am using this development board by Texas Instruments with a CC1120 module hooked up on it.

I have been using the TrxEB RF PER Test Software (Rev. C) on it and I have been able to transmit packets to another module in the RX Sniff Mode successfully. However, today I upgraded to the CC112x Software Examples (Rev. E) software which allows me to directly enter RX Sniff Mode (there's a separate app for it) instead of having to navigate through a menu. Both of these firmware can be found here (scroll down to the Software section).

Note: Rev. E firmware is a bit difficult to compile because of it's folder hierarchy, I have uploaded a cleaner version of it here.

The transmitter is working fine and I can see transmissions at 868 MHz using a lab spectrum analyzer, however, the packets do not show up at the receiver end.

I had issues transmitting at high frequencies earlier so I switched to 434 MHz in Rev. C firmware (which had a menu). However, I must change some registers in order to do the same in Rev. E firmware.

I have been searching around and the registers that control the transmission frequency appear to be controlled by the following set of values:

    //Register Settings for different frequency bands.
    static uint8 freqSettings[5][3] = 
    { 
      {0x69,0xF1,0xFF}, // 169.5125 MHz
      {0x6C,0x80,0x00}, // 434 MHz
      {0x6C,0x80,0x00}, // 868 MHz   
      {0x72,0x60,0x00}, // 915 MHz
      {0x77,0x60,0x00}  // 955 MHz
    };

I'm surprised that 434 MHz and 868 MHz use the same values (these values are from the Rev. C firmware. Then there is this:

    //Band select setting for LO divider
    static uint8 cc112xFsCfgs[5] = 
    {
      0x0A, // 169 MHz 
      0x04, // 434 MHz  
      0x02, // 868 MHz 
      0x02, // 915 MHz 
      0x02, // 955 MHz   
    };

Unfortunately, the register this array controls is CC112X_FS_CFG which is set to 0x12 by default in the newer firmware, a value that matches neither 434 MHz nor 868 MHz.

Anyone who has successfully been able to transmit at a different frequency using CC1120 wireless module?

Best Answer

I found the answer to this and would like to get back here.

The difference between 434 MHz and 868 MHz is the CC112X_FS_CFG register which is set to 0x12 for 868 MHz and at 0x14 for 434 MHz.

I fixed it and it started working like a charm.

Related Topic