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.

AWR2944EVM: Defining TDM single TX configuration parameters

Part Number: AWR2944EVM

Tool/software:

Hi,

I want to build a single Tx, 4 Rx TDM configuration.

I built the following one and it works fine (checked using loading the configuration file into Visualizer):

sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 1 0
adcCfg 2 0
adcbufCfg -1 1 1 1 1
lowPower 0 0
profileCfg 0 77 10 10 140 0 0 2.8 1 512 4200 0 0 30
chirpCfg 0 0 0 0 0 0 0 1
frameCfg 0 0 128 0 512 100 1 0
lowPower 0 0
guiMonitor -1 1 1 0 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 0 0.5
calibDcRangeSig -1 0 -5 8 256
clutterRemoval -1 0
antGeometryCfg 1 0 1 1 1 2 1 3 0 2 0 3 0 4 0 5 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 0.5 0.8
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 1 0 1 0 1 0 1 0
measureRangeBiasAndRxChanPhase 0 1.5 0.2
aoaFovCfg -1 -90 90 -90 90
cfarFovCfg -1 0 0 22.88
cfarFovCfg -1 1 -1 1.00
extendedMaxVelocity -1 0
calibData 0 0 0
spreadSpectrumConfig 1 1 0.25 1 0 0 0 0 0 0 0 0
sensorStart

As you can see, the Radar Cube size in this case is:

Nfft_range = 512

Nfft_Doppler = 128

Sample_size = 2 bytes (Real sample)

Number of virtual channels = 1Tx * 4Rx = 4

So, the Cube size = 2*512*128*4=524288 Bytes = 0.5MByte

Suggesting that L3 size in the chip is 2.5M, we are by far from the memory limit.

Moreover, based on the datasheets, the maximal number of loops in a frame is limited by 255.

So, basically, I should be able to increase the number of loops in the configuration to 255 without any problem.

However, once I set it to 255, that is, writing 

frameCfg 0 0 255 0 512 100 1 0

the loading is successful (see that in the visualizer prompt), but the visualizer doesn't run, in other words something is wrong with the configuration.

Please explain which additional constrains exist in the chip that limit this increase in the number of loops.

Arie

  • Hi Arie,

    When you the demo using CCS, you should see some logs printed on CCS console which mentions the error code. When I ran the demo using the same configuration, the error code is -30311. 

    Check mmwave_error.h file for the base error codes - Path: C:\ti\mmwave_mcuplus_sdk_04_07_01_03\mmwave_mcuplus_sdk_04_07_01_03\ti\common.

    In this file, you see that the value of MMWAVE_ERRNO_DPU_BASE is -30000. This implies that the error that you are observing has occurred in a DPU. dp_error.h file (path: C:\ti\mmwave_mcuplus_sdk_04_07_01_03\mmwave_mcuplus_sdk_04_07_01_03\ti\datapath\dpif), has the base error codes for each DPU. -30300 maps to an error that has occurred in CFAR proc - DP_ERRNO_CFAR_PROC_BASE. Now you can check for the error codes mentioned in CFAR DPU.  DPU_CFARPROCHWA_ENOMEM__DET_MATRIX_EXCEEDS_HWA_INP_MEM macro value is -30311 which implies that HWA input memory for detection matrix is not sufficient. HWA memory bank size is not sufficient to load the detection matrix.

    To get a detailed understanding and debug the application, I suggest you to use CCS for debug and also go through the source code.

    Regards,

    Samhitha

  • Hi Samhitha,

    thank you for your answer.

    Is HWA input memory size configurable, that is, we may fit it to our demands?

  • Arie,

    HWA membank size is fixed. Instead of using one membank, you can update the processing chain to use two or more consecutive membanks if possible.

    You can check section 28.1.3 High Level Architecture of AWR294x Technical Reference Manual (Rev. D) for information related to HWA memory banks.

    Regards,

    Samhitha