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) |
#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.
#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.
#define DPU_DOPPLERPROCHWA_NUM_HWA_MEMBANKS 4 |
Number of HWA memory banks needed.
#define DPU_DOPPLERPROCHWA_FIRST_SCALING_DISABLED ((uint8_t)0U) |
Disables first butterfly stage scaling.
#define DPU_DOPPLERPROCHWA_FIRST_SCALING_ENABLED ((uint8_t)1U) |
Enables first butterfly stage scaling.
typedef void* DPU_DopplerProcHWA_Handle |
Handle for Doppler Processing DPU.
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 | ||
) |