Other Parts Discussed in Thread: AWR1843
In automotive mrr demo, rxGainPhaseParam are hard coded in dss_main.c as below:
ToolboxAutomotive\mmwave_automotive_toolbox_3_2_0__win\mmwave_automotive_toolbox_3_2_0\labs\lab0007_medium_range_radar\src\dss\dss_main.c
void rxGainPhaseParam_Init(MmwDemo_DSS_DataPathObj* obj)
{
int32_t indx = 0;
if (obj->processingPath == MAX_VEL_ENH_PROCESSING) /*Medium range */
{
obj->rxChPhaseComp[indx].imag = 5863;
obj->rxChPhaseComp[indx].real = 19158;indx++;
obj->rxChPhaseComp[indx].imag = 2858;
obj->rxChPhaseComp[indx].real = 23451;indx++;
obj->rxChPhaseComp[indx].imag = 4569;
obj->rxChPhaseComp[indx].real = 22093;indx++;
obj->rxChPhaseComp[indx].imag = 0;
obj->rxChPhaseComp[indx].real = 16399;indx++;
}
else if (obj->processingPath == POINT_CLOUD_PROCESSING) /* Ultra short range */
{
obj->rxChPhaseComp[indx].imag = 21646;
obj->rxChPhaseComp[indx].real = 7035;indx++;
obj->rxChPhaseComp[indx].imag = 21172;
obj->rxChPhaseComp[indx].real = 18420;indx++;
obj->rxChPhaseComp[indx].imag = 15490;
obj->rxChPhaseComp[indx].real = 21080;indx++;
obj->rxChPhaseComp[indx].imag = -3905;
obj->rxChPhaseComp[indx].real = 25130;indx++;
obj->rxChPhaseComp[indx].imag = 0;
obj->rxChPhaseComp[indx].real = 16399;indx++;
obj->rxChPhaseComp[indx].imag = -7985;
obj->rxChPhaseComp[indx].real = 18443;indx++;
obj->rxChPhaseComp[indx].imag = -10962;
obj->rxChPhaseComp[indx].real = 15291;indx++;
obj->rxChPhaseComp[indx].imag =-17653;
obj->rxChPhaseComp[indx].real = 3133;indx++;
obj->rxChPhaseComp[indx].imag = 386;
obj->rxChPhaseComp[indx].real = -17208;indx++;
obj->rxChPhaseComp[indx].imag = 8587;
obj->rxChPhaseComp[indx].real = -18744;indx++;
obj->rxChPhaseComp[indx].imag = 11857;
obj->rxChPhaseComp[indx].real = -15772;indx++;
obj->rxChPhaseComp[indx].imag = 18493;
obj->rxChPhaseComp[indx].real = -2907;indx++;
}
}
We want to use the calibrated data which stored in Flash memory or external EEPROM to replace above hard coded value.
The flow is 1) after booting, mss reads the stored data from Flash or EEPROM, 2) then use mail_box to transfer the data to dss, 3) after received the data from mss, dss initializes the rxChPhase parameters.
Does the flow make sense? or if DSS can directly read these data from somewhere that MSS and DSS share?
Kind regards