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.

IWR6843AOPEVM: How to use the calibData for Idle Power Saving?

Part Number: IWR6843AOPEVM

Tool/software:

Hi TI,

A question related to this issue: IWR6843AOP: How to clock gating DSS and MSS during the idle time between frames? - Sensors forum - Sensors - TI E2E support forums

In the configuration, how should I config the calibData?
Knowing that calibData <saveEnable> <restoreEnable> <flashOffset>
Is this calibData need to be done in stages?

Stage A: Save Calibration. (Only need to be done once if required?)
Stage B: Restore Calibration. (Reuse the save calibration data.)

What number should I put for flashOffset? If the flash size for the firmware is 600000, then the flashOffset should starts from 600000?

% Carrier frequency     GHz                          60.25
% Ramp Slope    MHz/us                               156
% Num ADC Samples                                    256
% ADC Sampling Rate Msps                             12.5
% ADC Collection Time   us                           20.48
% Extra ramp time required (start time) us           3
% Chirp time (end time - start time)    us           21
% Chirp duration (end time) us                       24
% Sweep BW (useful) MHz                              3194.88
% Total BW  MHz                                      3744
% Max beat freq (80% of ADC sampling rate)  MHz      10
% Max distance (80%)    m                            9.62
% Range resolution  m                                0.047
% Range resolution (meter per 1D-FFT bin)   m/bin    0.047
%                                                    
% Inter-chirp duration  us                           7
% Number of chirp intervals in frame    -            96
% Number of TX (TDM MIMO)                            3
% Number of Tx elevation antennas                    0
% Number of RX channels -                            4
% Max umambiguous relative velocity kmph             48.19
%   mileph                                           30.12
% Max extended relative velocity    kmph             144.56
%   mileph                                           90.35
% Frame time (total)    ms                           2.976
% Frame time (active)   ms                           2.304
% Range FFT size    -                                256
% Doppler FFT size  -                                32
% Radar data memory required    KB                   400
% Velocity resolution   m/s                          0.84
% Velocity resolution (m/s per 2D-FFT bin)  m/s/bin  0.84
% Velocity Maximum  m/s                              13.39
% Extended Maximum Velocity m/s                      40.16
% Maximum sweep accorss range bins  range bin        0.85
% 
sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 7 0
adcCfg 2 1
adcbufCfg -1 0 1 1 1
lowPower 0 0
profileCfg 0 60.25 7 3 24 0 0 156 1 256 12500 0 0 158
chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 0 0 0 0 0 2
chirpCfg 2 2 0 0 0 0 0 4
frameCfg 0 2 32 0 50 1 0
guiMonitor -1 1 1 1 0 0 1
cfarCfg -1 0 2 8 4 3 0 15.0 0
cfarCfg -1 1 0 4 2 3 1 15.0 0
multiObjBeamForming -1 1 0.5
calibDcRangeSig -1 0 -5 8 256
clutterRemoval -1 0

compRangeBiasAndRxChanPhase 0.0 1 0 -1 0 1 0 -1 0 1 0 -1 0 1 0 -1 0 1 0 -1 0 1 0 -1 0
measureRangeBiasAndRxChanPhase 0 1 0.2

aoaFovCfg -1 -90 90 -90 90
cfarFovCfg -1 0 0.25 15
cfarFovCfg -1 1 -13.39 13.39
extendedMaxVelocity -1 0

CQRxSatMonitor 0 3 4 63 0
CQSigImgMonitor 0 127 4
analogMonitor 0 0
lvdsStreamCfg -1 0 0 0
calibData 0 0 0
idlePowerMode 300 1 1 1 1 1
sensorStart

  • Hello, 

    In the configuration, how should I config the calibData?

    The calibData command configures the runtime calibration for the application. The intended use is to perform the runtime calibrations in the factory using saveEnable, then in the field for deployment restoreEnable is used to instead load the saved calibration data from flash memory. 

    Stage A: Save Calibration. (Only need to be done once if required?)
    Stage B: Restore Calibration. (Reuse the save calibration data.)

    This understanding is correct. It's also important to note that stage A (factory calibration) should be be performed at room temperature and in an interference free environment. 

    What number should I put for flashOffset?

    If the application image is 600000 bytes then some value > 0x927C0 should be used for flash offset.

    regards,

    Josh

  • "calibData" command only came to me when I am using the example from: <C:\ti\radar_toolbox_3_00_00_05\source\ti\examples\Fundamentals\xWR6843_Low_Power_Modes>

    "calibData" command doesn't appears in 3D_People_Tracking, so I don't have the idea of factory calibration of RF: <C:\ti\radar_toolbox_3_00_00_05\source\ti\examples\Industrial_and_Personal_Electronics\People_Tracking\3D_People_Tracking>

    • Without using the calibData command, the sensor will do calibration in the first frame?

    Is it alright to change the firmware for xWR6843_Low_Power_Modes into:

    • Not storing the calibration data into flash.
    • Everytime a fresh reboot with configurations, starts the first frame with calibration, use the calibration data stored in "gCalibDataStorage" for the remaining frames. 

    While I did the firmware changes above, I noticed that

    • In <C:\ti\mmwave_sdk_03_06_02_00-LTS\packages\ti\control\mmwavelink\src\rl_sensor.c>, in function
      rlRfPhShiftCalibDataRestore between line 3483 to line 3486, why do the last data->PhShiftcalibChunk[idx].calibApply set to 1?
  • Hello, 

    Please give me a day to look into these questions and get back to you here. 

    Best regards,

    Josh

  • This understanding is correct. It's also important to note that stage A (factory calibration) should be be performed at room temperature and in an interference free environment. 

    Is the "interference free environment" refers to a space with all the soft board on the wall? (Similar environment mentioned by CHETHAN KUMAR Y.B.: IWR6843: Calibration best practice - Sensors forum - Sensors - TI E2E support forums) Or, just a space without motorized appliances (eg Fan, Air-con) and no other mmWave sensor in the same space?

  • Hi,

    Without using the calibData command, the sensor will do calibration in the first frame?

    Yes, the sensor will perform the boot time calibrations at startup, if calibData command is used to restore calibration data then that calibration data will be grabbed from flash and those calibrations will be disabled in the boot time calibration so the saved calibrations are not overwritten. 

    Is the "interference free environment" refers to a space with all the soft board on the wall? (Similar environment mentioned by CHETHAN KUMAR Y.B.: IWR6843: Calibration best practice - Sensors forum - Sensors - TI E2E support forums) Or, just a space without motorized appliances (eg Fan, Air-con) and no other mmWave sensor in the same space?

    The interference-free environment does not need to be a chamber such as is shown in the linked thread. That would be an ideal environment for this but it may be cost prohibitive to set this up for the production and is really only needed for antenna testing. This factory calibration just requires to be room temperature and that the area be free of any potential RF interferers. 

    Is it alright to change the firmware for xWR6843_Low_Power_Modes into:

    • Not storing the calibration data into flash.
    • Everytime a fresh reboot with configurations, starts the first frame with calibration, use the calibration data stored in "gCalibDataStorage" for the remaining frames. 

    Yes, technically this is okay and the application could be made to work like this but it is definitely recommended to perform the calibrations at the customer factory so that you can reliably confirm there are no interferers corrupting the data when the calibration happens.

    For more information on calibration in our radar devices you can refer to this application note: https://www.ti.com/lit/spracf4c (Section 5 describes the impact of interference on the calibrations). 

    Best regards,

    Josh