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.

CC1352P: Tx power issue

Part Number: CC1352P

Hello,

I try to change the tx power of my CC1352P with the following function  :

RF_setTxPower(s_24GhzRfHandle, RF_TxPowerTable_findValue(txPowerTable, tx_power))

In any cases this function returns RF_success.

But when tx_power is equal to 19 or 20 dBm the IEEE tx command failed and is stucked. For other power values from 0 to 18dBm it's working perfectly.

Do you know why these power values don't work ?

Thank you for your help

Environment

CC1352P rev C
sdk 2.30.00.45
2.4Ghz IEEE 802.15.4

Tx power table

RF_TxPowerTable_Entry txPowerTable[] =
{
    {0, RF_TxPowerTable_HIGH_PA_ENTRY(29, 0, 1, 17, 1) },
    {3, RF_TxPowerTable_HIGH_PA_ENTRY(39, 0, 1, 20, 1) },
    {6, RF_TxPowerTable_HIGH_PA_ENTRY(46, 0, 1, 26, 7) },
    {9, RF_TxPowerTable_HIGH_PA_ENTRY(40, 0, 1, 39, 41) },
    {10, RF_TxPowerTable_HIGH_PA_ENTRY(23, 2, 1, 65, 5) },
    {11, RF_TxPowerTable_HIGH_PA_ENTRY(24, 2, 1, 29, 7) },
    {12, RF_TxPowerTable_HIGH_PA_ENTRY(19, 2, 1, 16, 25) },
    {13, RF_TxPowerTable_HIGH_PA_ENTRY(27, 2, 1, 19, 13) },
    {14, RF_TxPowerTable_HIGH_PA_ENTRY(24, 2, 1, 19, 27) },
    {15, RF_TxPowerTable_HIGH_PA_ENTRY(23, 2, 1, 20, 39) },
    {16, RF_TxPowerTable_HIGH_PA_ENTRY(34, 2, 1, 26, 23) },
    {17, RF_TxPowerTable_HIGH_PA_ENTRY(38, 2, 1, 33, 25) },
    {18, RF_TxPowerTable_HIGH_PA_ENTRY(30, 2, 1, 37, 53) },
    {19, RF_TxPowerTable_HIGH_PA_ENTRY(36, 2, 1, 57, 59) },
    {20, RF_TxPowerTable_HIGH_PA_ENTRY(56, 2, 1, 45, 63) },
    RF_TxPowerTable_TERMINATION_ENTRY
};

  • Hello,

    I will ask my colleague who has more knowledge on this topic to reply to this thread.

    In the mean time can you let us know if you using the LaunchPad or custom board? 

    Thanks,

    Sai

  • Hello,

    I used a custom board but here I have a sw issue.

  • CC1352P is now active and the released version is rev E. Please update your hardware and software to the released version. 

  • Hello,

    with the sdk 3.10 and CC1352P rev E the IEEE Tx command seems to work correctly.

    I tried a Tx power from -20dBm to 20dBm (with the Tx test command) and I saw that the delta between RSSI is correct.

    For example for -20dBm I have a RSSI of -80dBm and for 20dBm I have a RSSI of -40dBm (I used a launchpad to measure RSSI. There is a distance of about 1m between the launchpad and my custom board).

    My issue : the absolute power seems to be very low (even if I used a 20dBm Tx power), how can I be sure that the 20dBm PA is really activated ? I measure the power just after the balun connected to TX_20DBM_P and TX_20DBM_N and the power is lower than expected (for example 2dBm for a Tx power of 20dBm). 

    To sum up the absolute Tx power seems to be lower than expected even if the relative variation of the Tx power is good. Do you know what could be the issue ?

    I put the following line in my ccfg.c file

    #define CCFG_FORCE_VDDR_HH                              0x0"

    Thank you for your help 

  • "My issue : the absolute power seems to be very low (even if I used a 20dBm Tx power), how can I be sure that the 20dBm PA is really activated ? I measure the power just after the balun connected to TX_20DBM_P and TX_20DBM_N and the power is lower than expected (for example 2dBm for a Tx power of 20dBm). "

    It's unclear how you have measured here. If you want to measure output power you should do this using a spectrum analysator or similar connected to the 50 ohm point in the design. It sounds like you have not measured in a 50 ohm point. Could you provide a screenshot (or similar) showing the 20 dBm path on your board and clearly mark where and how you measure.   

  • Hello,

    just one question before going deeper.

    With the Tx test command I can succesfully modify the Tx power from -20dBm to 20dBm.

    For example for -20dBm I have a RSSI of -80dBm and for 20dBm I have a RSSI of -40dBm (I used a launchpad to measure RSSI).

    Does it mean that the 20dBm PA is necessarily activated ? I'd like to verify if there is no software issue before looking the hardware.

    Is the flag "CCFG_FORCE_VDDR_HH " really usefull ?

    Thank you for your help

  • CCFG_FORCE_VDDR_HH is not related to the 20 dBm PA.

    Yes, the test shows that you have turned it on but not if you get the expected level. I have not looked into which RSSI I should expect @ 1 m. 

  • Hi,

    I go deeper in the analysis and I still have an issue with the Tx Power. I configured the CC1352P RF in order to output a Tx Power of 20dBm but the measurement (with a spectrum analyzor) at the balun output gives 5dBm. I enclosed in the post the complete test procedure/schematic and code extracts of my sw project.

    Do you have clues about this issue ? Do you know if there are known SW issues about Tx power ?

    Thank you for your help

    Output power measurement.pdf

    test_rf.h

    
    
        /* Request access to the radio */
        s_24GhzRfHandle = RF_open(&s_rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdRadioSetup, &L_s_rfParams);
    
        /* Explicitly configure CW (1) or Modulated (0). Default modulated mode is PRBS-15. */
        s_RF_cmdTxTest.config.bUseCw = 1;
    
        s_RF_cmdTxTest.endTrigger.triggerType = TRIG_REL_START;
    
        /* End received mode at "endTime" */
        s_RF_cmdTxTest.endTime = RF_convertMsToRatTicks(14000);
    
        RF_setTxPower(s_24GhzRfHandle, RF_TxPowerTable_findValue(txPowerTable, 20 ))
    	RF_cmdFs.frequency = 2350 + (5 * 18);
        RF_runCmd(s_24GhzRfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, 0);
    
    
        while(1)
        {
    
            WDT_PET_16S();
    
            /* Send CMD_TX_TEST which sends forever */
            RF_runCmd(s_24GhzRfHandle, (RF_Op*)&s_RF_cmdTxTest, RF_PriorityNormal, NULL, 0);
    
            GPIO_toggle(GPIO_LED_GREEN);
        }
    
    

  • I see that you use a Johanson balun on the 20 dBm path. Why? This will not give the correct load impedance for the 20 dBm PA and most likely cause the poor output power. 

  • I used this balun because TI has provided this design in the following post :

    So I have two questions :

    • Is there any dedicated balun designed to work with the 20 dBm path ?
    • What is the output impedance of the 20 dBm path of the CC1352P ?

    Thank you for your help

  • Richard is on vacation at the moment and he will be back next week. I will check with him to which extent this design is tested.

    Could you share the layout too? 

  • The design in the E2E post you linked to has not been tested throughout, one reason was that the first version had issues with harmonics. As it's stated in the post, this is a design concept and not a final design. You can either alter this design/ do further development to get good performance or you can you one of the published reference designs. 

  • ok thank you for your help.

    • Is there any dedicated balun designed to work with the 20 dBm path  ? We would like to avoid board re-routing
    • What is the output impedance of the 20 dBm path of the CC1352P ?

    • Is there any dedicated balun designed to work with the 20 dBm path  ? We would like to avoid board re-routing
      • No
    • What is the output impedance of the 20 dBm path of the CC1352P ?
      • It's highly recommended to use the reference design. You can simulate the reference design to find the recommended load impedance.