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.

CC2640: HCI_EXT_ModemTestTxCmd Frequency Error

Part Number: CC2640

Hello,

We are doing an FCC pre-scan of our product at a test house to see if we need to make any changes to the antenna/RF design for the next hardware revision. I added hooks to our firmware so that the test engineers can put the device into certain test modes. I verified that the modes are being activated/run on a spectrum analyzer, but didn't look very closely at the center frequency. I've attached a picture of my spectrum analyzer output when running the modulated 2402 MHz continuous transmit test mode. The waveform is centered just below 2401.8 Mhz, rather than the 2402 I would expect. They're seeing the same behavior at the test house, so we're confident it's not a calibration/test equipment issue.

Is there anything I can do in the firmware to fix this? Or is this likely a hardware issue?

Besides general control of which test mode is running, and the power level, I'm not seeing any way to tweak this through the HCI interface.

I'm making the following calls to enable the TX Modulated, 2402 MHz 0 dBm test mode:

hci_ret = HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_0_DBM);
Log(LOG_CONSOLE_LEVEL, "Tx Power Set to 0dBm, 0x%x\n", hci_ret);

HCI_EXT_ModemTestTxCmd(HCI_EXT_TX_MODULATED_CARRIER, 0);
Log(LOG_CONSOLE_LEVEL, "Test mode %d started\n", testModeInternal);
  • Whoops, the screenshot was in the code block so it's didn't show up correctly:

  • Hello Joshua,

    Have you performed the internal load cap tuning which is listed on the TI BLE Wiki article: CC26xx Crystal Load Cap Tuning
    Also, what are the specifications of your 24 MHz XOSC? Can you provide a link to the manufacturer's page?

    Best wishes
  • Hi Josh,

    As Jeff is saying this is caused by improper tuning of the 24 MHz crystal. This is corrected by adjusting the crystal load cap value. On the CC2640 this is handled internally on the device through CCFG configuration.

    Cheers,
    Fredrik
  • Thanks for the help, after trying some different load cap array parameters I was able to get the center frequency on target.

    -Josh
  • Again, thanks for the help JXS and Fredrik. I now have a follow up question that hopefully can be answered here, rather than creating a new thread.

    Is it a safe assumption that the load cap array value will be constant for a given hardware revision from board to board? Assuming , of course that the same part is used for the 24 MHz XOSC.

    I want to confirm that we can select a value for a hardware rev and will not have to do any calibration during production.

    Thanks,
    Josh M
  • No problem! 

    Assuming you have no variation in your PCB material and manufacturing process, there is no need to perform calibration during production. We do recommend you perform manufacturing checks to ensure your board is assembled properly.

    Best wishes