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.

CC1120: PA ramping with 2GFSK packet transmission + CC1190 range extender

Part Number: CC1120
Other Parts Discussed in Thread: CC1190, WMBUS, CC1125

How is PA ramping enabled for use with FM packet transmissions? In RF studio, using the development kit with just the CC1120, it appears that only the PA_CFG2_RESERVED6 bit is changed when the PA ramping checkbox is selected. Selecting this on the development kit reduces the noise outside the occupied bandwidth found with packet transmission and peak detect on the spectrum analyser. 

The first question is; should one ever use a reserved bit in a production item? The supplementary question is; why is it that the software engineer has found only one way to provide a continuous carrier, needed for some tests, and that is to set PA_CFG2_RESERVED6 to 1. He is sure that is the bit he uses, and that the CC1120 will only transmit a continuous carrier when the bit is set. How is it that RF Studio tells me this is the bit that is set to enable ramping?

The second is; how should ramping actually be enabled? The manual covers setting up the intermediate power levels and the ramp time as a proportion of symbol length, but not how to switch on the function.

The actual product uses the CC1120 with a CC1190, and the CC1120 is set to an output above which the power from the CC1190 does not increse significantly. Clearly there will be a different increase of carrier power as the ramp up approaches the compression point of the CC1190. Is there any recommended way to optimise this?

Thanks for any advice anyone can give

Andrew

  • Originally the intent was to have the ability to turn the PA ramp on and off with a bit called pa_shape_en which now is PA_CFG2_RESERVED6. The ramping is turned off by setting this bit to 0 but the chip still uses the same time into and out of RX as the chip does with ramping enabled. Hence it's recommended to always have ramping on. In other words keep PA_CFG2_RESERVED6 = 1.

    PA_CFG2_RESERVED6 should not be related to CW generation, typically CFM_DATA_CFG = 1 is used . See SmartRF Studio for which registers that are used for CW generation. 

    For the last question: Is the question how to set up the ramping steps to get good results with CC1190? Then you have to select two levels that give low output power with CC1120 alone to account for the gain in CC1190. 

  • The software engineer has just told me that in CC112x_utils.c in swra493.zip is a function called set_tx_unmodulated_test_mode which sets  PA_CFG2_RESERVED6 = 1

    He maintains that this is the bit that sets the carrier to continuous. Somewhere is a discrepancy that is causing problems for us.

    This is the relevant function:

    void set_tx_unmodulated_test_mode(void) {
    uint8 regs_uint8;

    /* disable FIFO mode*/
    regs_uint8 = 0x06;
    trx8BitRegAccess(RADIO_WRITE_ACCESS , MDMCFG1, &regs_uint8, 1);

    /* configure continuous mode*/
    trx8BitRegAccess(RADIO_READ_ACCESS , PA_CFG2, &regs_uint8, 1);
    regs_uint8 = regs_uint8 | 0x40;
    trx8BitRegAccess(RADIO_WRITE_ACCESS , PA_CFG2, &regs_uint8, 1);

    /* disable the modulator */
    regs_uint8 = 0x01;
    trx16BitRegAccess(RADIO_WRITE_ACCESS , 0x2F, (0xFF & CFM_DATA_CFG), &regs_uint8, 1);


    return;
    }


    The manual mentions that ramping is always enabled, which is observably not the case.

    Now there is also a problem with increasing symbol rate above 60k. Using RF studio to set the devkit results in a spectrum that looks as one would expect for 52k deviation and 95k data rate. Using the register settings read from the table in RF Studio, the product gives a different spectrum, and cannot interoperate with the devkit. It does work at 52k deviation and 57.6k data rate, just as it does at other deviation settings using that data rate. Anything over approximately 60k does not work. It seems as if there is a difference between the register settings that RF Studio indicates are set, and what actually needs to be set to achieve the correct functionality.

    When the product is set to the intended data rate and deviation, it can receive packets sent from the devkit, but the devkit cannot receive packets sent from the product. That all worked fine in both directions when it was set to 57.6k data rate and 31k deviation. It has taken a whole day so far to attempt and fail to make it function at the higher data rate, something none of us had expected to take more than 5 minutes.

    Can you tell me how to solve either of the two problems that have emerged today?

    Andrew

  • If you look two lines down in the code snippet you find the setting I referred to:

    trx16BitRegAccess(RADIO_WRITE_ACCESS , 0x2F, (0xFF & CFM_DATA_CFG), &regs_uint8, 1);

    Which datate rate and deviation do you want to use?

    For TX, have you set upsampler_p correctly? You should normally get a warning in SmartRF Studio if this is not set correctly. In RX, have you adjusted the IF frequency (down to zero for high data rates)

  • I have failed to understand your point about the line of code. To me it looks as if the part I highlighted sets the reserved bit in PA_CFG2, which sets the continuous carrier to on, and the line farther down writes the custom frequency modulation bit to the CFM_DATA_CFG  register.

    We would like to use about 95kbit data rate with 52kHz deviation. We had been testing it for some time at 57.6k bit and other slower speeds, but somehow the settings for anything higher than 60kHz  starts to fail. At 62kHz the devkit receives packets with 100% error rate, at 63kHz it does not register the presence of packets.

    I have checked using a small probe and spectrum analyser, and the spectrum at the output of the CC1120 is the same as that on the output after passing through the CC1190. The only setting that was changed when moving between these slightly different data rates was the data rate register. As far as we can discover so far, the CC1120 in the product is programmed the same as RF Studio sets the one in the devkit. Whatever the difference is, so far we have failed to find it. 

    What seems to happen is that above approximately 60kbit data rate, the spectrum from the devkit and our board becomes different, but I cannot deduce from the spectrum display what the data rate and deviation probably are.At a guess, it looks as if both amplitude and frequency modulation are occurring, but that deduction may be incorrect.

    We have not looked at the operation of the upsampler_p or the intermediate frequency, we have normally used register exports from RF Studio to determine how the registers are set. In this one case we used the values shown in the table of symbol rate registers on the right of the RF Studio window.

  • Based on my first answer in this mail, PA_CFG2_RESERVED6 should always be set to 1 since this is the recommended setting. This setting has nothing to do with setting the chip to use a CW. The chip is set up to use a CW setting CFM_DATA_CFG. 

    For 95 kbps/ 52 kHz deviation: Your wanted setting is close to the setting used for WMBUS C-mode. See  under CC1125. You should be able to use the settings for CC1125 and scale the frequency, datarate and deviation to get the correct settings when you are using 32 MHz xtal. 

    An alternative is to start from the 200 kbps setting. Change the modulation to 2-GFSK and adjust the datarate and deviation to your need.