Implements range processing functionality using HWA. Range FFT processing is done by HWA hardware. Based on the RF parameters, rangeProcHWA configures hardware accelerator FFT engine accordingly. It also configures data input and output EDMA channels to bring data in and out of range Processing memory.
HWA FFT process is triggered by hardware based trigger -"chirp data available" which is hooked up to HWA internally in hardware.
After FFT processing is done, HWA generates interrupt to rangeProcHWA DPU, at the same time triggers EDMA data output channel to copy FFT results to radarCube in configured format. 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_RangeProcHWA_FFTtuning |
rangeProc FFT tuning parameters for HWA based Range FFT More... | |
struct | DPU_RangeProcHWA_HwaConfig |
RangeProc HWA configuration. More... | |
struct | DPU_RangeProcHWA_EDMAInputConfig |
RangeProc EDMA configuration. More... | |
struct | DPU_RangeProcHWA_EDMAOutputConfigPath |
RangeProc EDMA configuration. More... | |
struct | DPU_RangeProcHWA_EDMAOutputConfig |
RangeProc output EDMA configuration. More... | |
struct | DPU_RangeProcHWA_HW_Resources |
RangeProcHWA hardware resources. More... | |
struct | DPU_RangeProcHWA_compressCfg |
Compression parameters. More... | |
struct | DPU_RangeProcHWA_StaticConfig |
RangeProcHWA static configuration. More... | |
struct | DPU_RangeProcHWA_DynamicConfig |
RangeProcHWA dynamic configuration. More... | |
struct | DPU_RangeProcHWA_Config |
Range FFT configuration. More... | |
struct | DPU_RangeProcHWA_InitParams |
rangeProcHWA output parameters populated during rangeProc Processing time More... | |
struct | DPU_RangeProcHWA_OutParams |
rangeProcHWA output parameters populated during rangeProc Processing time More... | |
Typedefs | |
typedef uint32_t | DPU_RangeProcHWA_InputMode |
RangeProc data input mode. More... | |
typedef uint32_t | DPU_RangeProcHWA_Cmd |
rangeProc control command More... | |
typedef void * | DPU_RangeProcHWA_Handle |
rangeProc DPU Handle More... | |
Functions | |
DPU_RangeProcHWA_Handle | DPU_RangeProcHWA_init (DPU_RangeProcHWA_InitParams *initParams, int32_t *errCode) |
int32_t | DPU_RangeProcHWA_config (DPU_RangeProcHWA_Handle handle, DPU_RangeProcHWA_Config *rangeHwaCfg) |
int32_t | DPU_RangeProcHWA_process (DPU_RangeProcHWA_Handle handle, DPU_RangeProcHWA_OutParams *outParams) |
int32_t | DPU_RangeProcHWA_control (DPU_RangeProcHWA_Handle handle, DPU_RangeProcHWA_Cmd cmd, void *arg, uint32_t argSize) |
int32_t | DPU_RangeProcHWA_deinit (DPU_RangeProcHWA_Handle handle) |
int32_t | DPU_RangeProcHWA_GetNumUsedHwaParamSets (DPU_RangeProcHWA_Handle handle, uint8_t *numUsedHwaParamSets) |
#define DPU_RANGEPROCHWA_NUM_HWA_PARAM_SETS 4U |
Number of HWA parameter sets
#define DPU_RANGEPROCHWA_DCRANGESIGMEAN_BYTE_ALIGNMENT_DSP 8U |
Alignment for DC range signal mean buffer - if DPU is running on DSP(C66)
#define DPU_RANGEPROCHWA_DCRANGESIGMEAN_BYTE_ALIGNMENT_R5F 4U |
Alignment for DC range signal mean buffer - if DPU is running on R5F
#define DPU_RANGEPROCHWA_RADARCUBE_BYTE_ALIGNMENT_R5F CSL_CACHE_L1D_LINESIZE |
Alignment for radar cube on R5F
#define DPU_RANGEPROCHWA_RADARCUBE_BYTE_ALIGNMENT_DSP (sizeof(int16_t)) |
Alignment for radar cube on DSP
#define DPU_RangeProcHWA_InputMode_MAPPED (uint32_t) 0U |
#define DPU_RangeProcHWA_InputMode_ISOLATED (uint32_t) 1U |
#define DPU_RangeProcHWA_InputMode_HWA_INTERNAL_MEM (uint32_t) 2U |
#define DPU_RangeProcHWA_Cmd_dcRangeCfg (uint32_t) 0 |
#define DPU_RangeProcHWA_Cmd_triggerProc (uint32_t) 1 |
DPU_RangeProcHWA_Handle DPU_RangeProcHWA_init | ( | DPU_RangeProcHWA_InitParams * | initParams, |
int32_t * | errCode | ||
) |
int32_t DPU_RangeProcHWA_config | ( | DPU_RangeProcHWA_Handle | handle, |
DPU_RangeProcHWA_Config * | rangeHwaCfg | ||
) |
int32_t DPU_RangeProcHWA_process | ( | DPU_RangeProcHWA_Handle | handle, |
DPU_RangeProcHWA_OutParams * | outParams | ||
) |
int32_t DPU_RangeProcHWA_control | ( | DPU_RangeProcHWA_Handle | handle, |
DPU_RangeProcHWA_Cmd | cmd, | ||
void * | arg, | ||
uint32_t | argSize | ||
) |
int32_t DPU_RangeProcHWA_deinit | ( | DPU_RangeProcHWA_Handle | handle | ) |
int32_t DPU_RangeProcHWA_GetNumUsedHwaParamSets | ( | DPU_RangeProcHWA_Handle | handle, |
uint8_t * | numUsedHwaParamSets | ||
) |