xWRL6432 MMWAVE-L-SDK  05.04.00.01
dopplerprochwa.h File Reference

Introduction

Implements Datapath doppler processing functionality using the HWA. Based on the RF parameters and range FFT output, dopplerProc configures hardware accelerator FFT engine in FFT mode, does the absolute sum across antenna and then starts creation of range doppler heatmap (takes 2-range bins to fill 64-bit EDMA interconnect). It also configures data input and output EDMA channels to bring data in and out of Doppler Processing memory.

The process is triggered in the inter-frame processing time after 1D-FFT.

After HWA processing is done, it generates interrupt to dopplerProc DPU, at the same time triggers EDMA data output channel to copy range-doppler heatmap results. EDMA interrupt done interrupt is triggered by EDMA hardware after the copy is completed.

Go to the source code of this file.

Data Structures

struct  DPU_DopplerProcHWA_InitParams
 dopplerProc DPU initial configuration parameters More...
 
struct  DPU_DopplerProcHWA_HwaSumOutput
 Sum filled by HWA statistics block. More...
 
struct  DPU_DopplerProcHWA_HwaCfg
 dopplerProc DPU HWA configuration parameters More...
 
struct  DPU_DopplerProcHWA_EdmaCfg
 dopplerProc DPU EDMA configuration parameters More...
 
struct  DPU_DopplerProcHWA_HW_Resources
 Doppler DPU HW configuration parameters. More...
 
struct  DPU_DopplerProcHWA_compressCfg
 Compression parameters. More...
 
struct  DPU_DopplerProcHWA_StaticConfig
 Doppler DPU static configuration parameters. More...
 
struct  DPU_DopplerProcHWA_Config
 dopplerProc DPU configuration parameters More...
 
struct  DPU_DopplerProcHWA_OutParams
 DPU processing output parameters. More...
 

Macros

#define DPU_DOPPLERPROCHWA_EINVAL   (DP_ERRNO_DOPPLER_PROC_BASE-1)
 Error Code: Invalid argument. More...
 
#define DPU_DOPPLERPROCHWA_ENOMEM   (DP_ERRNO_DOPPLER_PROC_BASE-2)
 Error Code: Out of memory. More...
 
#define DPU_DOPPLERPROCHWA_EINPROGRESS   (DP_ERRNO_DOPPLER_PROC_BASE-3)
 Error Code: DPU is in progress. More...
 
#define DPU_DOPPLERPROCHWA_EHWARES   (DP_ERRNO_DOPPLER_PROC_BASE-4)
 Error Code: Out of HWA resources. More...
 
#define DPU_DOPPLERPROCHWA_ESEMA   (DP_ERRNO_DOPPLER_PROC_BASE-5)
 Error Code: Semaphore creation failed. More...
 
#define DPU_DOPPLERPROCHWA_ESEMASTATUS   (DP_ERRNO_DOPPLER_PROC_BASE-6)
 Error Code: Bad semaphore status. More...
 
#define DPU_DOPPLERPROCHWA_EEXCEEDHWAMEM   (DP_ERRNO_DOPPLER_PROC_BASE-7)
 Error Code: Configure parameters exceed HWA memory bank size. More...
 
#define DPU_DOPPLERPROCHWA_ECUBEFORMAT   (DP_ERRNO_DOPPLER_PROC_BASE-8)
 Error Code: Unsupported radar cube format. More...
 
#define DPU_DOPPLERPROCHWA_EDETMFORMAT   (DP_ERRNO_DOPPLER_PROC_BASE-9)
 Error Code: Unsupported detection matrix format. More...
 
#define DPU_DOPPLERPROCHWA_EDETMSIZE   (DP_ERRNO_DOPPLER_PROC_BASE-10)
 Error Code: Insufficient detection matrix size. More...
 
#define DPU_DOPPLERPROCHWA_EWINDSIZE   (DP_ERRNO_DOPPLER_PROC_BASE-11)
 Error Code: Wrong window size. More...
 
#define DPU_DOPPLERPROCHWA_MAX_NUM_HWA_PARAMSET   12
 Maximum number of HWA paramsets used by DPU. Computed as follows:
2*(1 for each of the range bin 2DFFT)*2(ping/pong) + 2*(1 for each of the range bin Sum-Abs)*2(ping/pong) = 8. More...
 
#define DPU_DOPPLERPROCHWA_NUM_HWA_PARAMSET_PER_RANGE_BIN   2
 Number of HWA paramsets used by DPU for 2D FFT + detection matrix per range bin per ping/pong Computed as follows:
(1 for Doppler FFT and 1 for detection matrix) = 2. More...
 
#define DPU_DOPPLERPROCHWA_NUM_HWA_MEMBANKS   4
 Number of HWA memory banks needed. More...
 
#define DPU_DOPPLERPROCHWA_FIRST_SCALING_DISABLED   ((uint8_t)0U)
 Disables first butterfly stage scaling. More...
 
#define DPU_DOPPLERPROCHWA_FIRST_SCALING_ENABLED   ((uint8_t)1U)
 Enables first butterfly stage scaling. More...
 

Typedefs

typedef void * DPU_DopplerProcHWA_Handle
 Handle for Doppler Processing DPU. More...
 

Functions

DPU_DopplerProcHWA_Handle DPU_DopplerProcHWA_init (DPU_DopplerProcHWA_InitParams *initCfg, int32_t *errCode)
 
int32_t DPU_DopplerProcHWA_process (DPU_DopplerProcHWA_Handle handle, DPU_DopplerProcHWA_OutParams *outParams)
 
int32_t DPU_DopplerProcHWA_deinit (DPU_DopplerProcHWA_Handle handle)
 
int32_t DPU_DopplerProcHWA_config (DPU_DopplerProcHWA_Handle handle, DPU_DopplerProcHWA_Config *cfg)
 
int32_t DPU_DopplerProcHWA_GetNumUsedHwaParamSets (DPU_DopplerProcHWA_Handle handle, uint8_t *numUsedHwaParamSets)
 

Macro Definition Documentation

◆ DPU_DOPPLERPROCHWA_MAX_NUM_HWA_PARAMSET

#define DPU_DOPPLERPROCHWA_MAX_NUM_HWA_PARAMSET   12

Maximum number of HWA paramsets used by DPU. Computed as follows:
2*(1 for each of the range bin 2DFFT)*2(ping/pong) + 2*(1 for each of the range bin Sum-Abs)*2(ping/pong) = 8.

◆ DPU_DOPPLERPROCHWA_NUM_HWA_PARAMSET_PER_RANGE_BIN

#define DPU_DOPPLERPROCHWA_NUM_HWA_PARAMSET_PER_RANGE_BIN   2

Number of HWA paramsets used by DPU for 2D FFT + detection matrix per range bin per ping/pong Computed as follows:
(1 for Doppler FFT and 1 for detection matrix) = 2.

◆ DPU_DOPPLERPROCHWA_NUM_HWA_MEMBANKS

#define DPU_DOPPLERPROCHWA_NUM_HWA_MEMBANKS   4

Number of HWA memory banks needed.

◆ DPU_DOPPLERPROCHWA_FIRST_SCALING_DISABLED

#define DPU_DOPPLERPROCHWA_FIRST_SCALING_DISABLED   ((uint8_t)0U)

Disables first butterfly stage scaling.

◆ DPU_DOPPLERPROCHWA_FIRST_SCALING_ENABLED

#define DPU_DOPPLERPROCHWA_FIRST_SCALING_ENABLED   ((uint8_t)1U)

Enables first butterfly stage scaling.

Typedef Documentation

◆ DPU_DopplerProcHWA_Handle

Handle for Doppler Processing DPU.

Function Documentation

◆ DPU_DopplerProcHWA_init()

DPU_DopplerProcHWA_Handle DPU_DopplerProcHWA_init ( DPU_DopplerProcHWA_InitParams initCfg,
int32_t *  errCode 
)

◆ DPU_DopplerProcHWA_process()

int32_t DPU_DopplerProcHWA_process ( DPU_DopplerProcHWA_Handle  handle,
DPU_DopplerProcHWA_OutParams outParams 
)

◆ DPU_DopplerProcHWA_deinit()

int32_t DPU_DopplerProcHWA_deinit ( DPU_DopplerProcHWA_Handle  handle)

◆ DPU_DopplerProcHWA_config()

int32_t DPU_DopplerProcHWA_config ( DPU_DopplerProcHWA_Handle  handle,
DPU_DopplerProcHWA_Config cfg 
)

◆ DPU_DopplerProcHWA_GetNumUsedHwaParamSets()

int32_t DPU_DopplerProcHWA_GetNumUsedHwaParamSets ( DPU_DopplerProcHWA_Handle  handle,
uint8_t *  numUsedHwaParamSets 
)