Hello,
When IWR1843BOOST uses the following configuration and runs the demo that comes with SDK3.5.0.4, an error is returned from the DPM module.
The error is resolved by making the following code changes.
mmwave_sdk_03_05_00_04/packages/ti/demo/xwr18xx/mmw/mss/mss_main.c
Function MmwDemo_dataPathConfig
***SDK original code:
if (RFparserOutParams.numDopplerChirps <= 4)
{
RFparserOutParams.dopplerStep = RFparserOutParams.dopplerStep / (8 / RFparserOutParams.numDopplerBins);
RFparserOutParams.numDopplerBins = 8;
}
***Code after modification:
if (RFparserOutParams.numDopplerChirps <= 8)
{
RFparserOutParams.dopplerStep = RFparserOutParams.dopplerStep / (16 / RFparserOutParams.numDopplerBins);
RFparserOutParams.numDopplerBins = 16;
}
I made this code change with reference to the comment in datapath/dpc/dpu/aoaproc/aoaproc_common.h line 175.
mmwave_sdk_03_05_00_04/packages/ti/datapath/dpc/dpu/aoaproc/aoaproc_common.h
line 175:
* This DPU has the following restrictions regarding its input parameters:\n
* The number of Doppler chirps (numDopplerChirps) must be a multiple of 4 and the number of Doppler bins (numDopplerBins)
* must be a power of 2 greater or equal than numDopplerChirps. Also, due to restrictions on the FFT implementation by DSPLIB,
* numDopplerBins must be at least 16.
*
* Parameter | Restriction
* :------------------|:--------------
* numDopplerChirps | Must be a multiple of 4.
* numDopplerBins | Must be at least 16. Must be a power of two, greater or equal than numDopplerChirps.
Below are the questions.
Q1. Is it appropriate to change the code in mss_main.c above to run with numDopplerChips=4?
Q2. Why is the minimum value for numDopplerBins 16?
Q3. Why is the minimum value of numDopplerBins limited to 8 in mss_main.c in SDK 3.5.0.4 Demo?
***Configuration: 3Tx, numDopplerChirps=4
sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 7 0
adcCfg 2 1
adcbufCfg -1 0 1 1 1
profileCfg 0 77.1 10 7 89 0 0 42.5 1 256 3190 0 0 30
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 4 0 100 2 0
lowPower 0 0
guiMonitor -1 1 1 1 0 0 1
cfarCfg -1 0 2 8 4 3 0 15 1
cfarCfg -1 1 0 4 2 3 1 15 1
multiObjBeamForming -1 1 0.5
clutterRemoval -1 0
calibDcRangeSig -1 0 -5 8 256
extendedMaxVelocity -1 0
lvdsStreamCfg -1 0 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.5 0.2
CQRxSatMonitor 0 3 5 121 0
CQSigImgMonitor 0 127 4
analogMonitor 0 0
aoaFovCfg -1 -90 90 -90 90
cfarFovCfg -1 0 0 11.0
cfarFovCfg -1 1 -4.0 4.0
calibData 0 0 0
sensorStart
***DPM Module Error:
Error: DPM Report 4 received with error:-30301 arg0:0x64 arg1:0x800c328
{module#9}: "../mss_main.c", line 2347: error {id:0x10000, args:[0x1a7fc, 0x1a7fc]}
xdc.runtime.Error.raise: terminating execution
[C674X_0] Error: DPM Report 4 received with error:-30301 arg0:0x64 arg1:0x815a7c
xdc.runtime.Main: "../dss_main.c", line 256: assertion failure
xdc.runtime.Error.raise: terminating execution
Best Regards,
Hiroyuki Taguchi