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.

IWR1843: Self-Calibration: Read timing for LUT at factory

Part Number: IWR1843

Tool/software:

Hello,

Referring to the thread(Title: Question in regard to save LUT for Rx gain calibration in Self-Calibration, URL), we are implementing Self-Calibration.
Our understanding is as follows:

  • At the factory, the RX gain LUT is read using the rlRxGainTempLutGet() function immediately after the MMWave_open() process is completed and saved to non-volatile memory.

When implementing the above, we observed the following:

  • Upon checking the result of rlRxGainTempLutGet() immediately after executing MMWave_open(),
    we found that the values in the rlRxGainTempLutData_t.rxGainTempLut array were all zeros, as shown below:
    “0x0000000000000000000000000000000000000000”
  • Later, after executing MMWave_start() (i.e., after running the run time cal), we checked the result of rlRxGainTempLutGet() and found the rxGainTempLut as follows:
    “0x2223232323030303030404040505050506060600”

The settings are as shown in Table 1 for MMWave_open().

Q1. As per the response in the thread, the LUT should save the results of RF_init() to non-volatile memory. So, should we save the LUT with all rxGainTempLut values set to zero?

If Q1 is incorrect, please advise on the following:

Q2.1 Is it a misconfiguration that causes rxGainTempLut to be all zeros? If so, please let us know which setting values are incorrect.

Q2.2 Should the LUT reading timing be after the runtime cal? In that case, is it acceptable to read the boot time cal results after the runtime cal?

Best Regards,
Yasuaki

  • Hi

    1. rlRxGainTempLutData_t.rxGainTempLut does not correspond to the data read from flash or the boot calib data. This LUT gets populated only after run cal is performed. 

    The run cal API needs below prerequisites before it can calculate the LUT
    1. boot cal data (freshly run or restored from previous boot)
    2. profile config

    Only after these pre requisites are met and run cal is executed that the LUT gets populated. 

    In the flash, only boot cal values are stored, for every new profile, a new run time calibration values are derived

    2. Calibration data read from flash is stored in another structure. Boot cal is restored from flash before MMWave_open() if restored is enabled and stored in flash after MMWave_open() if store in flash is enabled. Run time calibration data is not stored in flash

    Regards