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.

BLE CC2540 Output Spectrum

Other Parts Discussed in Thread: CC2540

Transmitter's Output Spectrum of the BLE chipset CC2540

The transmitter of CC2540 was set to output a continuous modulated carrier, using the following codes in the firmware:   HCI_EXT_ModemTestTxCmd( HCI_EXT_TX_MODULATED_CARRIER, 0).

 Below is a spectrum plot of the modulated carrier, measured at the single-end output port of the balun transformer which was connected to the CC2540 balanced RF pins.

 

 According to the BLE RF specs, the bandwidth-bit period product BT is 0.5, which is same as the standard Bluetooth; however, the modulation index is between 0.45 and 0.55 for BLE, while the standard Bluetooth's is between 0.28 to 0.35. The wider modulation index may widen the RF spectrum, but it should meet the 20-dB BW spec of +/- 500 kHz from the center frequency. However, my measurements showed that the CC2540 failed the 20-dB BW requirement. 

I have the following questions, and please help me out if you can.

1. Do we need to calibrate the RF modulator inside the CC2540?  The spectrum re-growth shows imbalanced IMD products on both sides.

2. whic HCI command/function should I use to set the CC2540 into a direct test mode so I can measure the modulation index?

3. In addition, which HCI command should I use to reduce the CC2540 RF output power?

Thank you in advance.

Minh To

  • Minh To said:
    According to the BLE RF specs, the bandwidth-bit period product BT is 0.5, which is same as the standard Bluetooth; however, the modulation index is between 0.45 and 0.55 for BLE, while the standard Bluetooth's is between 0.28 to 0.35. The wider modulation index may widen the RF spectrum, but it should meet the 20-dB BW spec of +/- 500 kHz from the center frequency. However, my measurements showed that the CC2540 failed the 20-dB BW requirement. 

    The requirement that you need to be below -20 dBc  for +/- 500 kHz only applies to BR. For LE, there is no such requirement. The requirements for the LE PHY are stated in Volume 6, Part A of the Bluetooth spec, where Section 3.2.2 gives the requirement for the transmitted spectrum.

    Minh To said:
    1. Do we need to calibrate the RF modulator inside the CC2540?  The spectrum re-growth shows imbalanced IMD products on both sides.

    No. The imbalance is caused by the system design and can be expected. You have plenty of margin to the requirements for LE PHY.

    Minh To said:
    2. whic HCI command/function should I use to set the CC2540 into a direct test mode so I can measure the modulation index?

    The one you have been using should be fine for this purpose. You can also use the standard Bluetooth HCI command HCI_LE_Transmitter_Test, which will give you packet transmission, but this requires an instrument that can receive packets. This is the command used by Bluetooth testers.

    Note that there is no direct test for modulation index in the Bluetooth tests. The things that are tested are the things shown in Vol. 6, Part A, Figure 3.1 of the Bluetooth spec, and the text in Section 3.1 after that figure. For more details on the measurements, you should also read the RF test spec (https://www.bluetooth.org/technical/qualification/requirements.htm, registration required. Click "RF-PHY for 4.0")

    Minh To said:
    3. In addition, which HCI command should I use to reduce the CC2540 RF output power?

    HCIExt_SetTxPower.

  • Thank you very much, Hec., for the quick reply. You are right, the BLE standard doesn't have the 20-dB BW spec.

    I tried the HCIExt_SetTxPower command, but it didn't work.  Here is how I did it. First I sent the command "HCIExt_ModemTestTx" to the USB dongle design kit. Then, I setn the HCIExt_SetTxPower_minus_23_dBm command. However, the output power didn't change at all. Does this command only apply to the normal tramsission?

    In fact, I need the HCI_LE_Transmitter_Test yet to set my BLE into a direct test mode so I can test it with the BLE tester. However, this command is not available in the BTool command window. Is there any way to verify this command in the BTool applicaiton program? Or do you have better way to test the BLE TX and RX?

     

  • Minh To said:
    I tried the HCIExt_SetTxPower command, but it didn't work.  Here is how I did it. First I sent the command "HCIExt_ModemTestTx" to the USB dongle design kit. Then, I setn the HCIExt_SetTxPower_minus_23_dBm command. However, the output power didn't change at all. Does this command only apply to the normal tramsission?

    As far as I know, HCIExt_SetTxPower does not apply to HCI_LE_Transmitter_Test (because the test spec states that tests shall be done at the maximum output power). Thus, it may also be that it does not support HCIExt_ModemTestTx, but at least try sending HCIExt_SetTxPower before HCIExt_ModemTestTx.

    Minh To said:
    In fact, I need the HCI_LE_Transmitter_Test yet to set my BLE into a direct test mode so I can test it with the BLE tester. However, this command is not available in the BTool command window. Is there any way to verify this command in the BTool applicaiton program? Or do you have better way to test the BLE TX and RX?

    I am not too familiar with the BLE software stack and BTool, so I am not sure about this. Maybe one of my colleagues can answer that. An alternative, which may suit your needs well, it the SmartRF Studio (http://focus.ti.com/docs/toolsw/folders/print/smartrftm-studio.html). There you can control the output power combined with continuous or packet transmission.

  • I have been working on a script to control DTM from Python over the dongle's emulated serial port, perhaps it might be of use to you:

    https://code.google.com/p/py-ble-hci/

  • All the information in this thread is great.

    Thanks to all!

  • Very helpful posts - thanks