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.

IWRL6432: Questions about ATE, factory, range bias and phase calibration

Part Number: IWRL6432
Other Parts Discussed in Thread: UNIFLASH

Tool/software:

Hi TI experts,

I have following questions regarding calibration on IWRL6432:

  • Is ATE calibration required for IWRL6432 (FCCSP) or TI has done and efused it to the chip now? How do we tell if it's a production sample?
  • Is the factory calibration (factoryCalibCfg) required during production? Or we can leave saveEnable set, which will result in doing calibration for every reboot. What's the pros and cons for this?
  • Should factory calibration be done on PCBA (board) level or assembly device? In addition to temperature and reflection objections, is there anything else we should pay attention to the test environment?
  • For range bias and phase calibration, I've read the "[FAQ] IWRL6432: IWRL6432 compRangeBiasAndRxChanPhase calibration" and some other threads. May I know how to determine if the output (compRangeBiasAndRxChanPhase) values are good? For example, I took 200 output values to do the average, the standard deviation of each parameters in compRangeBiasAndRxChanPhase is like:
0.0003 0.0057 0.0045 0.0057 0.0056 0.0114 0.0050 0.0069 0.0082 0.0060 0.0095 0.0018 0.0141

Also, for Boost EVM the default "compRangeBiasAndRxChanPhase 0.0 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000" includes phase rotation in RF front-end. Do I replace it with the average compRangeBiasAndRxChanPhase I calculated directly, or I need to add them to the default values?

  • The range bias and phase calibration should be done per-device or per-design? If it's per-device, how do we save it to the device during production?

  • Hi

    Thanks for your query. Please allow us a couple of days to respond

    Regards

  • Hi

    1. ATE calibration are done in TI factory. Samples are sent to customers only after the ATE calibration. Without the ATE calibration samples are not sent out of TI factory

    2. For boot calibration, it is recommended that you save the calibration in flash during production and retrieve those values during the field operation. Ideally it needs to be one in an anechoic chamber during module production. This is recommended as there is a possibility of interference in the field which could affect rx gain calibration values. However, if such facility does not exist then you need to run boot time calibration every time the device is powered on

    3.Yes, after the module is assembled, you can run the demo in factory and select save factory calibration configuration. This will store the calibration values in flash. Now, once the module is sent out in the field, you need to use retrieve calibration option. You can refer to the below appnote for production test considerations

    https://www.ti.com/lit/an/spracx7/spracx7.pdf?ts=1743068111653&ref_url=https%253A%252F%252Fwww.google.com%252F

    4.You can use the default configuration for compRangeBiasAndRxChanPhase. 

    5.Range bias and phase calibration need not be changed, You can use the default one present in the configuration

    Regards

  • Hi Abhishek,

    1. Good to know that we don't need to worry about ATE calibration.

    2. Ok. Got it. Will the calibration values in flash be erased during FW (appimage) update? (Or could it be accidentaly deleted by any chance?) What will happen if we set restore enabled but there is no FactoryCal data?

    3. Thanks for the information. In the linked document, can the range bias and phase calibration help to correct the antenna beam tlt? Does it mean that we can check beam tilt to confirm the range and phase compensation works? (If it works, the max. signal strengh should be at 0-degree of azimuth or elevation angle.) Also, how to measure the signal strength? Can we check the SNR from point cloud data? 

    4,5. How to determine if range bias and phase calibration is needed for our device? In L-SDK guide, it says rangeBias of compRangeBiasAndRxChanPhase is "not used in current SDK"? If we need to do it per-device, is any storage (like factoryCal) available in flash to save the compensation values?

  • 2. Ok. Got it. Will the calibration values in flash be erased during FW (appimage) update? (Or could it be accidentaly deleted by any chance?) What will happen if we set restore enabled but there is no FactoryCal data?

    It depends how you do the FW update. It would likely be optimal to save them somewhere that does not get erased in a firmware update, but if so, then as Abhishek said, you can rely on the boot time cal.

    3. Thanks for the information. In the linked document, can the range bias and phase calibration help to correct the antenna beam tlt? Does it mean that we can check beam tilt to confirm the range and phase compensation works? (If it works, the max. signal strengh should be at 0-degree of azimuth or elevation angle.) Also, how to measure the signal strength? Can we check the SNR from point cloud data? 

    The rangebias and phase calibration can help correct for phase delays in the antennas and traces. It does not control the phases of transmission (beam tilt). If it works, then max signal strength should be at 0 degrees in azimuth and elevation if that's the location of a reflector. For this experiment, I would not use the point cloud to measure the signal strength. I would use the ADC data (or the range FFT data) and calculate the power in the range bin of interest in the zero doppler bin. I would compare this against a non-zero doppler bin in a different range bin for SNR.

    4,5. How to determine if range bias and phase calibration is needed for our device? In L-SDK guide, it says rangeBias of compRangeBiasAndRxChanPhase is "not used in current SDK"? If we need to do it per-device, is any storage (like factoryCal) available in flash to save the compensation values?

    Rangebias and phase calibration is needed for your device for best angle estimation performance. You do need to run it "Per Device.", and you can provision memory in flash to save the compensation values.

    Best,

    Nate

  • Hi Nathan,

    Thanks for your reply.

    2. If we use only meta image1 for application code, will the factoryCalib data (@0x1ff000) be erased?  BTW, the "Format SFLASH memory" option in Uniflash will impact only the selected meta image (512KB range), right?

    From the discussion, it seems better to have factory calibration done in a controlled environment during production than boot time in the field. But I need to make sure we won't accidentally delete the factoryCalib data and cause the device to malfunction. Otherwise, we may keep the boot time calibration (leaving factoryCalibCfg - saveEnable set.)

    3,4,5. Thanks for the suggestion, however, it's not possible to retrieve the ADC (or range FFT) raw data (by DCA1000) during production test. Is it ok to use range profile / plot of zero Doppler to verify the rangebias and phase calibration result?

    We applied the calibrated compRangeBiasAndRxChanPhase earlier, but we got poorer detection result of our application than the default value... This is why we want to find a way to verify the calibration result before applying it and to check our test setup is correct.

    BRs,

  • 2. If we use only meta image1 for application code, will the factoryCalib data (@0x1ff000) be erased?  BTW, the "Format SFLASH memory" option in Uniflash will impact only the selected meta image (512KB range), right?

    See docs here.

    C:/ti/MMWAVE_L_SDK_05_05_03_00/docs/Motion_Presence_Detection_Demo_Tuning_Guide.pdf

    3,4,5. Thanks for the suggestion, however, it's not possible to retrieve the ADC (or range FFT) raw data (by DCA1000) during production test. Is it ok to use range profile / plot of zero Doppler to verify the rangebias and phase calibration result?

    You could send off the entire radar data cube (after range FFT) if you decrease the frame rate accordingly. Alternatively, you could stream off the range-azimuth heatmap.

    Best,

    Nate

  • 2. Got it. It won't be erased because 0x1ff000 is located at the last meta image range.

    3,4,5. Could you explain them (send off the entire radar data cube (after range FFT) and stream off the range-azimuth heatmap) more? Do you mean enable adcDataSource to save the info to a file? And enable rangeAzimuthHeatMap of guiMonitor cfg? How do we use these results to check calibration result during production?

  • How do we use these results to check calibration result during production?

    You can examine the range-azimuth heatmap with guiMonitor and confirm that the peak is at 0 degrees.

    Best

    Nate

  • May I know which visualizer I should use to check range-azimuth heatmap? As I know, the mmWave demo visualizer does not support IWRL6432. 

  • You will need to develop this feature yourself. Alternatively, you could use the point cloud and verify that the detected points are at 0 degrees, which is supported by the visualizer.

    Best,

    Nate

  • Thanks.

    So after getting the results of compRangeBiasAndRxChanPhase and take an average.

    Do I need to consider the 180-degree phase rotation in RF front-end of Boost EVM, like the default "compRangeBiasAndRxChanPhase 0.0 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000"? Or I can directly replace it with the average compRangeBiasAndRxChanPhase I calculated?

  • Keep both lines. Use compRangeBiasAndRxChanPhase 0.0 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 along with your measured compRangeBiasAndRxChanPhase 

    Best,

    Nate