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.

CC2640R2F: Process for crystal calibration in radiated mode using Golden node

Part Number: CC2640R2F

Hello,

We are designing the Module using cc2640R2F and want to manufacture modules. Based on discussions with TI team, it was identified that crystal calibration needs to be done. There are 2 modes of doing this calibration:

1) In conducted mode using Spectrum analyzer

2) In radiated mode using Golden unit

Process for doing calibration using Spectrum analyzer is specified in an app note. 

Can you please guide us for the process to do this crystal calibration in radiated mode using a golden node which is essentially the same module which is been tuned against spectrum analyzer.

Regards

Prateek

  • As I have understood it, this topic is covered offline in a meeting.
  • Hi,

    We have not got the solution to this problem, it is however in discussion with TI AE team since quite some time but there is no solution suggested to our team.

    I am however open to discuss it offline as well. Please suggest a suitable time and mode of communication for the same.

    Regards

    Prateek

  • It's my understanding that one of your colleagues is in the Oslo office and I thought this one of the questions that were up for discussion. But since I can't be sure (I'm not in the meeting) we can take it here.

    Since I haven't been in the loop, could you very short explain the background for doing crystal calibration? Is the intention to adjust the frequency offset on each module?

    "Process for doing calibration using Spectrum analyzer is specified in an app note. " Exactly which app note are you referring to here?
  • Hi,
    This was not in defined agenda as concern person for this problem is not traveling. However, I have already communicated to my team member in Oslo to discuss it with team there.
    You are correct in mentioning the intent of doing crystal calibration. We are using the 24 MHz crystal defined in TI reference design, still we need to adjust the frequency offset using the internal capacitor bank of cc2640R2F. The app note that specifies process for crystal calibration which was suggested to us by TI AE team is SWRA640
    www.ti.com/.../swra640.pdf

    Our intention is to do crystal calibration by transmitting/ receiving the Continuous wave with a Golden unit of module on the other side.

    Regards
    Prateek
  • Normally the method described in the app note is done on a golden sample to find the required cap array setting required for the given type of crystal and the PCB used. Using the same xtal the frequency offset can be different between TIs evaluation boards and your PCB due to small layout changes. Hence it's typical to adjust the loadcaps some to be correct on a custom PCB. But the parasitics will have a low variation from board to board meaning that the frequency offset you see between two boards are typically just given by the crystal. Hence for a range of applications it's just required to find the load cap setting on a few boards and use this for all boards in production.

    Hence my question would be if it's required to do cap array tuning on all boards in production for your usecase?
  • Hello,

    It was discussed earlier as well and TI team had also suggested to keep this test in production to cater the crystal variations. We want to keep this test in production to reduce performance variations and may be later on, we may remove this test based on confidence of data collected for produced quantities. Please suggest how can the Golden node be used to check the crystal calibration of the modules under production.

    Regards

    Prateek

  • If you open SmartRF Studio and go to the Tools menu in the upper right corner, click on the "SmartRF Test Environment". In the RTlib it should be an example on how to measure frequency offset.

    The question is how to use this information. For an application using prop commands the offset could calculated in to the frequency given to the CMD_FS. In the BLE stack the parameters to this command is more hidden. You can as an a different option modify the load cap array. If you have a table given for the xtal/ board you are using that setting the array one value up or down equals x Hz you can look up in this table and see what you have to set the array to in the CCFG area.
  • What is needed here is that how can we read the Frequency offset from the Golden Unit in RX mode, when it is receiving the signal from DUT in TX mode. The code in Radio test tool library just gives a call to a function but the body of that function is not exposed, as to how and from where the value is read and how it is interpreted.

    Kindly, help in marking the precise register or function which can be used to know this frequency offset value from application code on CC2640R2F.

  • The function gives the frequency in Hz.

    It's still not clear why this library can't be used (we use this for production testing of the launchpads) or why this testing is required. BLE has a large frequency tolerance and it's unclear what you want to gain by doing this test.
  • Hi TER,

                Customer has its own test topology implemented(which involves firmware and hardware both) and if the access to the exact function can be provided with the details then it will seam lessly integrate with the existing line setup. I agree BLE has a large frequency tolerance, but as a practise this step needs to be followed which is going to be otehr hardwares too. Please help in knowing the function call or the proceudre to read the frequency offset(referred above).

  • Given that a CMD_RX_TEST command is issued and a CW is sent from the golden unit:
    Set
    HWREG(0x40045220) = 0x0200;

    Read:
    FIFE= HWREG(0x40045250);
    The offset in Hz:
    Offset = ((FIFE/32) * deviation)

    Note that this will only work with the CMD_RX_TEST command. It's not possible to read out the offset receiving BLE packets.
  • Can you please advice on how to update the frequency offset(fractfreq register in the CMD_FS) once it is measured, in the BLE SDK example?

  • Hi Abhed,

    First off, why do you need to do that? BLE is not narrow band and crystals with good enough tolerance is neither very costly nor difficult to source.

    If you really want to do per-board frequency tuning you should rather change the CCFG value for CapArray delta.

    Regards,
    Fredrik
  • Hi Fredrik,

                       Even if i dont want to calibrate each board, i want to confirm that the  correction calcuated and measured on the module is taking effect or not.

    Once confirmed we may hardcode it also in the BLE stack for a specifi make crystal. Hence please advice how can i configure the fractfreq resigter in the BLE stack.

    Regards

    Abhed

  • Why do you want to use fractFreq for this and not adjust the cap array?