LPSTK-CC1352R: Could not set the Tx Power to 14dBm

Part Number: LPSTK-CC1352R
Other Parts Discussed in Thread: CC1352R, SYSCONFIG, UNIFLASH, CC1312R

Hi,

  • Board: LPSTK-CC1352R
  • SDK: simplelink_cc13x2_26x2_sdk_4_40_04_04
  • Xdctool: xdctools_3_62_00_08_core
  • SysConfif: 1.7.0
  • Example: rfEasyLinkEchoTx_CC1312R1_LAUNCHXL_tirtos_ccs

I am not able to set CC1352R Tx Power to its maximum: 14dBm

I imported the project rfEasyLinkEchoTx_CC1312R1_LAUNCHXL_tirtos_ccs and increased the Tx power from 10dBm (initial value) to 14dBm. 

At that point Sysconfig suggested to enable the VDDR:

The selected TX Power requires Force VDDR in Device Configurationto be enabled

So I did it as follow:

CCFG_FORCE_VDDR_HH is properly set in ti_devices_config.c

//#####################################
// Force VDDR high setting (Higher output power but also higher power consumption)
// This is also called "boost mode"
//#####################################

// Force VDDR voltage to the factory HH setting (FCFG1..VDDR_TRIM_HH)
#define CCFG_FORCE_VDDR_HH                              0x1    

Then in rfEasyLinkEchoTx.c, I respectively set the Tx power to 0 or +14dBm:

    /*
     * If you wish to use a frequency other than the default, use
     * the following API:
     * EasyLink_setFrequency(868000000);
     */

    EasyLink_setFrequency(916000000);
    
    /* if I uncomment the line below, the Tx power measured is ~10dBm */
    //EasyLink_setRfPower(14);
    
    /* if I uncomment the line below, the Tx power measured is ~0dBm */
    //EasyLink_setRfPower(0);

After the build, I verified that the CCFG is located on the last page of the internal Flash:

.ccfg      0    00057fa8    00000058     
                00057fa8    00000058     ti_devices_config.obj (.ccfg:retain)

I also made sure that Uniflash update it sucessfully:

[3/22/2021, 9:14:07 PM] [INFO] Cortex_M4_0: Writing Flash @ Address 0x00057fa8 of Length 0x00000058
[3/22/2021, 9:14:08 PM] [INFO] Cortex_M4_0: Chunk 1: addr=0x00057FA8, length=88, crc=0x64F061F1 (using block 1)
[3/22/2021, 9:14:08 PM] [SUCCESS] Program Load completed successfully.

So far, I demonstrated that CCFG_FORCE_VDDR_HH  is set and the CCFG is properly flashed.

However, with the spectrum analyzer:

the Tx power measured is:

  • +10dBm with EasyLink_setRfPower(14);
  • 0dBm with EasyLink_setRfPower(0); (which validate my setup)

It seems that CCFG_FORCE_VDDR_HH is not taken into consideration.

Questions:

Q1) Do you have any suggestions?

Q2) Also from the Technical Reference Manual:

For the CC13x2 device only:
To enable output power of +14 dBm, the CCFG_FORCE_VDDR_HH define must be set to 1 in ccfg.c
distributed in cc13xxware by TI. If CCFG_FORCE_VDDR_HH is set to 0 the maximum possible output
power is +12.5 dBm.

Basically, if the issue was only related to the CCFG_FORCE_VDDR_HH (set to 0 instead of 1), I should at least measure +12.5dBm (instead of +10dBm)

So, Is the Tx power table (generating by SysConfig) correct?

As a side note, from SysConfig, I set the frequency to 916Mhz but the Tx Power table mentioned 868MHz...

// 868 MHz, 13 dBm
RF_TxPowerTable_Entry txPowerTable_868_pa13[TXPOWERTABLE_868_PA13_SIZE] =
{
...
    {12, RF_TxPowerTable_DEFAULT_PA_ENTRY(16, 0, 0, 82) },
    // The original PA value (12.5 dBm) has been rounded to an integer value.
    {13, RF_TxPowerTable_DEFAULT_PA_ENTRY(36, 0, 0, 89) },
    // This setting requires CCFG_FORCE_VDDR_HH = 1.
    {14, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 1, 0) },
    RF_TxPowerTable_TERMINATION_ENTRY
};

Sincerely

  • Hi,

    Quick update:

    So, Is the Tx power table (generating by SysConfig) correct?

    As a side note, from SysConfig, I set the frequency to 916Mhz but the Tx Power table mentioned 868MHz...

    Actually, if I set the frequency to 868MHz (from the source code) :

        /*
         * If you wish to use a frequency other than the default, use
         * the following API:
         * EasyLink_setFrequency(868000000);
         */
    
        EasyLink_setFrequency(868000000);
    
        EasyLink_setRfPower(14);

    but with Sysconfig still configured to 916Mhz, I got this:

    The Tx power is now 12.5dBm!! 

    Conclusion:

    1) Sysconfig ignores the PHY frequency set in the Easylink tab and only generates a Tx Power table for the 868Mhz frequency. 

    2) The CCFG_FORCE_VDDR_HH is still ignored or does not have any effect since I could not reach +14dBm.

    Questions

    1. Could you please confirm that the Tx power table at 868 and 916MHz are differents, and then kindly provide me the corresponding Tx table at 916MHz?
    2. Do you have any suggestions for the CCFG_FORCE_VDDR_HH?

    Thanks in advance,

  • First: Output power should be measured with 1 MHz RX BW. Could you repeat the measurements with this setting?

    The same PA table is used for 868 MHz and 915 MHz bands.  

  • Hi,

    Thank you for your quick response.

    As suggested, I redo the test with 1MHz Rx BW.

    For easing the measurement, I transmitted an unmodulated carrier respectively at 868Mhz and 916MHz with a Tx power set to 14 - 3dBm:

        EasyLink_setFrequency(868000000);
        EasyLink_setRfPower(14);
        EasyLink_setCtrl(EasyLink_Ctrl_Test_Tone, 0);

        EasyLink_setFrequency(916000000);
        EasyLink_setRfPower(14);
        EasyLink_setCtrl(EasyLink_Ctrl_Test_Tone, 0);

        EasyLink_setFrequency(916000000);
        EasyLink_setRfPower(3);
        EasyLink_setCtrl(EasyLink_Ctrl_Test_Tone, 0);

    I measure:

    • +3dBm with EasyLink_setRfPower(3)
    • +12.5dBm with EasyLink_setRfPower(14)

    Please also consider that VDDR is enabled from Sysconfig and ti_devices_config.c source file is accordingly generated:

    //#####################################
    // Force VDDR high setting (Higher output power but also higher power consumption)
    // This is also called "boost mode"
    //#####################################
    
    // Force VDDR voltage to the factory HH setting (FCFG1..VDDR_TRIM_HH)
    #define CCFG_FORCE_VDDR_HH                              0x1  

    Questions

    • Q1) Is there any proven example with an output Tx Power of 14dBm?
    • Q2) What's could be the reason for this 12.5dBm limitation?
    • Q3) Which module is responsible to read out the CCFG settings?

    Before jumping to any quick conclusion, please consider the time I took to describe all of this.

      

    Thanks

  • Bit confused about the plots you have attached in our last post, all of them is with RBW = 5 kHz? 

  • Hi,

        EasyLink_setFrequency(916000000);
        EasyLink_setRfPower(14);
        EasyLink_setCtrl(EasyLink_Ctrl_Test_Tone, 0);

    It's obvious, I am doing something wrong, but I can't find any CC1352 TX power result.

    So could you please quickly check the Tx power of the LPSTK module with the project rfEasyLinkEchoTx_CC1312R1_LAUNCHXL_tirtos_ccs attached and then share your result in your response?

    I am trying to reach +14dBm (nothing crazy)

    rfEasyLinkEchoTx_CC1312R1_LAUNCHXL_tirtos_ccs.zip

    Thanks in advance.

  • - You write that you use the CC1352R LPSTK but you have posted a project for CC1312R?

    - I tried to import your example but get an error message. 

    - I tried to add 

    EasyLink_setFrequency(916000000);
    EasyLink_setRfPower(14);
    EasyLink_setCtrl(EasyLink_Ctrl_Test_Tone, 0);

    to the rfEasyLinkTx example which for some reason did not work but if I remove the setCtrl line I get 14 dBm out after ticking "Force VDDR" in syscfg. 

  • You write that you use the CC1352R LPSTK but you have posted a project for CC1312R

    Yes, huge mistake!!

    • Board: LPSTK-CC1352R
    • SDK: simplelink_cc13x2_26x2_sdk_4_40_04_04
    • Xdctool: xdctools_3_62_00_08_core
    • SysConfif: 1.7.0
    • Example: rfEasyLinkEchoTx_CC1312R1_LAUNCHXL_tirtos_ccs

    I did not pick the correct example, but I re-do the test with the rfEasyLinkEchoTx_CC1352R1_LAUNCHXL_tirtos_ccs with the same result.

    I have 2 devices (T.I LPSTK and other wireless MCU) both emitting an unmodulated Tx carrier at 916Mhz; 14dBm. The LPSK is the only one below 14dBm:

       

    I get 14 dBm out after ticking "Force VDDR" in syscfg. 
    • Fantastic, could you please share both your binary and screenshot?
    • What's your SDK version?

    Thanks

  • other wireless MCU

    Are you referring to a CC13xx or something else? 

    I tested on a CC1312R LP, I want to test on a LPSTK in addition but I will not be able to test before after Easter. It looks like things works as expected on a CC1312R and the setup is the exact same on a CC1352R. 

  • Hi TER, 

    I sent you a private message.

    The other wireless MCU is from another manufacturer.

    I will not be able to test before after Easter

    Does the support down for 1 week?

  • Most of us take Easter Holyday entire next week. Questions that we need to measure something also take a bit longer to cover at the moment due to home office.  

  • Ok I see, did you receive/read my private message?

  • BTW, have you verified that you get 14 dBm if you use SmartRF Studio and set the power to 14 dBm? 

  • Hi,

    Same result with SmartRF studio 7 2.20.1:

    RFStudioSettings 

    Radio settings matched with the one generated by Sysconfig. 

    Commands are successfully executed.

    However, I measure +9dBm only.

    FYI, with the exact same setup, I am able to measure +17dBM from another wireless device (different manufacturer) :

    Questions:

    1. Am I facing a hardware/radio issue or device limitation?
    2. Is there any LPSTK radio test report?
    3. Any suggestions?

    Thanks

  • When I measure I get ~12 dBm with the 14 dBm setting with the LPSTK. This is not a device limitation, it looks like it's a limitation with how the LPSTK is implemented. I will see if I get some more information. 

  • The main reason for the low output power on the LPSTK is a design flaw of this board. C19 in https://www.ti.com/lit/zip/swrr170 should have been 100 pF and not 100 nF. 

  • Hi TER,

    Thanks a lot for your feedback and analysis.

    Sincerely,