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.

CC2540 - Tx Power During HCI_LE_Transmitter_Test

Other Parts Discussed in Thread: CC2540

We are attempting to do the RF PHY tests using the Agilent BLE test suite on our CC2540 design.

During the tests, the controller appears to be transmitting at 0 dBm.  This is a problem because 1) The core spec states that during the transmitter test the DUT controller shall transmit at maximum power (4dBm for CC2540) and 2) We intend to use the 4dBm power in our use case.

I confirmed that the 2540 is actually transmitting at 0dBm during the tests by repeating the tests manually using HCI Tester and setting the HCI_EXT_SetMaxDtmTxPowerCmd command to set the power to 4dBm after each HCI_LE_Test_End command.  This method is not an option in the actual RF PHY testing, however, as the tests are completely scripted by Agilent and I cannot send the HCI_EXT_SetMaxDtmTxPowerCmd command everytime.

Is there anyway at compile time to force the CC2540 to use 4 dBm for all DTM commands?

Thanks

-Tyler

  • Hello Tyler,

    You can use this function to set the Tx power output:

       HCI_EXT_SetTxPowerCmd( HCI_EXT_TX_POWER_4_DBM );

    Also, in the KeyFob example, you can toggle the Tx power level when it is not connected.  It is in the KeyfobApp_HandleKeys function.

    Thanks,

  • Hi greenja,

    That doesn't help in my case.  I can get the Transmit power to change using either SetTxPowerCmd or SetMaxDtmTxPowerCmd, however, the power changes back to 0 dBm after a HCI_LE_Test_End command.  During the RF PHY tests, I do not have the option to resend the SetTxPowerCmd or SetMaxDtmTxPowerCmd command after the test end command.

    This is why I need the CC2540 to adhere to the core spec and by default transmit at max power during modem tests.

    -Tyler

  • I don't understand your test procedure.  You put the function I gave you in your code, run your program and then do your test.  Am I missing something?

    An  uninitialized CC2540 is going to have a 0db output.  That is the default setting.

    If you are not already running SmartRFStudio, use it to set the power level and it should remain set at that level.

    If you are using HCI Tester, then write a simple script that will execute your next step after the the test command ends.

    Write a test procedure and load it into the chip.

    Thanks,

  • The test procedure is defined by the Agilent BLE Test Suite RF PHY tests.  Yes, I can set the transmit power to 4dBm using the SetTxPower command, but you are missing that the transmit power resets to 0dBm after every HCI_LE_Test_End command.  I have no way of modifying the Agilent test scripts to insert the SetTxPower command between each test, meaning only the first test on the first channel will be run at 4dBm.

    From the 4.0 Core Spec:

    7.8.29 LE Transmitter Test Command
    Description:
    This command is used to start a test where the DUT generates test reference
    packets at a fixed interval. The Controller shall transmit at maximum power.
    An LE Controller supporting the LE_Transmitter_Test command shall support
    Packet_Payload values 0x00, 0x01 and 0x02. An LE Controller may support
    other values of Packet_Payload.

    From my observations, the CC2540 does not transmit at maximum power during this test, it transmits at whatever power is set using the SetTxPower command and resets to 0 dBm everytime the modem test is completed.

    I am also trying to work with Agilent to modify the test scripts, but it would be nice to discover a way to persist the transmit power on the CC2540 across the HCI_LE_Test_End command.

    Thanks,

    -Tyler

  • I am not familiar with the Aligent Test.  I'm not that advanced :-).

    If the entire script is actually available, could you not copy the script and rewrite using the Wireless Tools Script Pad and HCI Tester and include all the parameters you need?

    Thanks,