xWRL6432 MMWAVE-L-SDK  05.04.00.01

Detailed Description

HWA Common Config.

HWA common config parameters that are used with the HWA_ConfigCommon() call.

Data Fields

uint32_t configMask
 
uint16_t numLoops
 
uint8_t paramStartIdx
 
uint8_t paramStopIdx
 
struct {
   uint8_t   fft1DEnable
 
   uint16_t   bpmRate
 
   uint32_t   bpmPattern [2]
 
   uint32_t   interferenceThreshold
 
   uint8_t   twidDitherEnable
 
   uint32_t   lfsrSeed
 
   uint8_t   fftSumDiv
 
fftConfig
 
struct {
   uint16_t   scale
 
   uint8_t   shift
 
dcEstimateConfig
 
struct {
   int32_t   swIVal [HWA_NUM_RXCHANNELS]
 
   int32_t   swQVal [HWA_NUM_RXCHANNELS]
 
dcSubtractConfig
 
struct {
   uint32_t   thresholdMagSw [6U]
 
   uint32_t   thresholdMagDiffSw [6U]
 
   uint8_t   sumMagScale
 
   int8_t   sumMagShift
 
   uint8_t   sumMagDiffScale
 
   int8_t   sumMagDiffShift
 
interfConfig
 
struct {
   int32_t   Iscale [HWA_NUM_RXCHANNELS]
 
   int32_t   Qscale [HWA_NUM_RXCHANNELS]
 
   int16_t   twiddleDeltaFrac
 
   uint8_t   recWindowReset
 
complexMultiplyConfig
 
struct {
   uint32_t   cfarThresholdScale
 
cfarConfig
 
struct {
   uint32_t   i_cmult_scale [6U]
 
   uint32_t   q_cmult_scale [6U]
 
scalarMult
 
struct {
   uint8_t   EGEKparam [HWA_CMP_K_ARR_LEN]
 
compressMode
 

Field Documentation

◆ configMask

uint32_t HWA_CommonConfig::configMask

See HWA_COMMONCONFIG_MASK macros for correct values. Set this to specify which of the fields are valid when calling HWA_ConfigCommon API.

◆ numLoops

uint16_t HWA_CommonConfig::numLoops

number of loops to run from paramStartIdx to paramStopIdx valid value (12 bits): 0-4094; 4095 for infinitie. Sets the NUMLOOPS

◆ paramStartIdx

uint8_t HWA_CommonConfig::paramStartIdx

start index of paramset through which state machine loops through valid value: 5bits (0-31) Sets the PARAMSTART

◆ paramStopIdx

uint8_t HWA_CommonConfig::paramStopIdx

stop index of paramset through which state machine loops through valid value: 5bits (0-31) Sets the PARAMSTOP

◆ fft1DEnable

uint8_t HWA_CommonConfig::fft1DEnable

1 bit value: See HWA_FEATURE_BIT macros for correct values. Setting to 1 enables HWA in FFT1D mode - ACCEL_MEM0 and ACCEL_MEM1 are assumed to be shared with the ping-pong ADC buffers. At the end of the active transmission portion of a frame, this bit can be reset, so that the accelerator has access to all the four local memories independently. Sets FFT1DEN bit of HWACCREG1

◆ bpmRate

uint16_t HWA_CommonConfig::bpmRate

10 bit value: specifies the number of input samples corresponding to each BPM chip. value of 0 is invalid Sets BPMRATE bits in HWACCREG7

◆ bpmPattern

uint32_t HWA_CommonConfig::bpmPattern[2]

64-bit value: specifies a Binary Phase Modulation (BPM) pattern to be removed on the input samples prior to FFT Sets HWACCREG5 (MSB,bpmPattern[1]) and HWACCREG6 (LSB,bpmPattern[0]) registers

◆ interferenceThreshold

uint32_t HWA_CommonConfig::interferenceThreshold

24-bit value: Interference zero-out threshold - is used to zero-out sample(s), whose magnitude (24-bit absolute value of the 24-bit complex input) is very high, prior to computing the FFT The HWA_AccelModeFFT_t::interfZeroOutEn field should be enabled in the intended paramset for this threshold to be used

◆ twidDitherEnable

uint8_t HWA_CommonConfig::twidDitherEnable

1 bit value: See HWA_FEATURE_BIT macros for correct values. Setting to 1 Enable Dithering for Twiddle Factors It is recommended to keep this register bit always set to 1 (i.e., dithering enabled) Sets the DITHERTWIDEN bit in HWACCREG7 register

◆ lfsrSeed

uint32_t HWA_CommonConfig::lfsrSeed

29-bit value: LFSR seed. Sets the LFSRSEED bits in HWACCREG11

◆ fftSumDiv

uint8_t HWA_CommonConfig::fftSumDiv

5-bit value: specifies the number of bits to right-shift the sum statistic (36-bit) before it is written to destination memory (24-bit) Sets the FFTSUMDIV bits in HWACCREG8 register

◆ fftConfig

struct { ... } HWA_CommonConfig::fftConfig

◆ scale

uint16_t HWA_CommonConfig::scale

9 bit value: scale applied to 12 accumulators. multiplies the accumulator outputs by dcEstScale/256. default value is 256, giving a scale of 1.0 if HWA_PreProcessing::dcEstResetMode is set to HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET or HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET_ZEROLPCONT sets DC_EST_SCALE in DC_EST CTRL register

◆ shift

uint8_t HWA_CommonConfig::shift

4 bit value: applied to all 12 accumulator outputs, can not bypassed, the accumulator outputs are scaled by 2^(8+2+ HWA_CommonConfig::shift). if HWA_PreProcessing::dcEstResetMode is set to HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET or HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET_ZEROLPCONT sets DC_EST_SHIFT in DC_EST_CTRL register

◆ dcEstimateConfig

struct { ... } HWA_CommonConfig::dcEstimateConfig

◆ swIVal

int32_t HWA_CommonConfig::swIVal[HWA_NUM_RXCHANNELS]

24 bit value: SW programmed DC values used in subtraction if HWA_PreProcessing::dcSubEnable is enabled and HWA_PreProcessing::dcSubSelect is set to HWA_DCSUB_SELECT_DCSW. sets DC_SW_I_n_val in DC_SW_I_n register

◆ swQVal

int32_t HWA_CommonConfig::swQVal[HWA_NUM_RXCHANNELS]

24 bit value: SW programmed DC values used in subtraction, if HWA_PreProcessing::dcSubEnable is enabled and HWA_PreProcessing::dcSubSelect is set to HWA_DCSUB_SELECT_DCSW. sets DC_SW_Q_n_val bits in DC_SW_Q_n register

◆ dcSubtractConfig

struct { ... } HWA_CommonConfig::dcSubtractConfig

◆ thresholdMagSw

uint32_t HWA_CommonConfig::thresholdMagSw[6U]

Software Interference threshold for Magnitude These registers are used to specify the user-programmed threshold for nulling out samples affected by interference in the Interference localization block.
The magnitude of each incoming samples is compared with this threshold to decide whether it is corrupted by interference or not.

◆ thresholdMagDiffSw

uint32_t HWA_CommonConfig::thresholdMagDiffSw[6U]

Software Interference threshold for Magnitude of backward difference These registers are used to specify the user-programmed threshold for nulling samples affected by interference in the Interference localization block. The magnitude of backward difference of incoming samples is compared with this threshold to decide whether it is corrupted by interference or not.

◆ sumMagScale

uint8_t HWA_CommonConfig::sumMagScale

8 bits value:unsigned 8 bits, 5 integer bits, and 3 fractional bits, applied to INTERSUM_MAGn from interference statistics block, default value is 8, corresponding to scale 1.0 if the HWA_PreProcessing::resetMode is set to HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET or HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET_ZEROLPCONT sets INTERFSUM_MAG_SCALE in INTERFSTATS_CTRL register

◆ sumMagShift

int8_t HWA_CommonConfig::sumMagShift

4 bits: right shift after scaling, the shift value is 2^(3+6+interfsumMagShift) if the HWA_PreProcessing::resetMode is set to HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET or HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET_ZEROLPCONT sets INTERFSUM_MAG_SHIFT in INTERFSTATS_CTRL register

◆ sumMagDiffScale

uint8_t HWA_CommonConfig::sumMagDiffScale

8 bits: similar to interfsumMagScale, applied to INTERSUM_MAGDIFFn from interference statistics block, if the HWA_PreProcessing::resetMode is set to HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET or HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET_ZEROLPCONT sets INTERFSUM_MAGDIFF_SCALE in INTERFSTATS_CTRL register

◆ sumMagDiffShift

int8_t HWA_CommonConfig::sumMagDiffShift

4 bits: right shift after scaling, similar to interfsumMagShift if the HWA_PreProcessing::resetMode is set to HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET or HWA_DCEST_INTERFSUM_RESET_MODE_PARAMRESET_ZEROLPCONT sets INTERFSUM_MAGDIFF_SHIFT in INTERFSTATS_CTRL register

◆ interfConfig

struct { ... } HWA_CommonConfig::interfConfig

◆ Iscale

int32_t HWA_CommonConfig::Iscale[HWA_NUM_RXCHANNELS]

21 bits: complex scalars used in HWA_ComplexMultiply::mode = HWA_COMPLEX_MULTIPLY_MODE_SCALAR_MULT, HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT or HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT_2 sets the ICMULT_SCALEn bits in ICMULT_SCALn registers

◆ Qscale

int32_t HWA_CommonConfig::Qscale[HWA_NUM_RXCHANNELS]

21 bits: complex scalars used in HWA_ComplexMultiply::mode = HWA_COMPLEX_MULTIPLY_MODE_SCALAR_MULT, HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT or HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT_2 sets the ICMULT_SCALEn bits in ICMULT_SCALn registers

◆ twiddleDeltaFrac

int16_t HWA_CommonConfig::twiddleDeltaFrac

signed 10 bit value: only applied to if HWA_ComplexMultiply::mode is set to HWA_COMPLEX_MULTIPLY_MODE_FREQSHIFT_FREQINCRE, frequency shifter with frequency increment mode, HWA_ComplexMultiply::twidIncrement specifies how much the frequency could change for each successive input sample. additionally, twiddleDeltaFrac can be added to the derotation frequency to compensate for doppler induced phase shifts, it is reset at the start of paramset execution and again after the paramsets are executed. for other modes, it is ignored. sets the TWID_INCR_DELTA_FRAC bits in the TWID_INCR_DELTA_FRAC register

◆ recWindowReset

uint8_t HWA_CommonConfig::recWindowReset

1 bit value: resets the param set counter used in Recursive window mode, applied to HWA_ComplexMultiply::mode is set to HWA_COMPLEX_MULTIPLY_MODE_RECURSIVE_WIN, sets the RECWIN_RESET_SW_RECWIN_RESET_SW bits in the RECWIN_RESET_SW register

◆ complexMultiplyConfig

struct { ... } HWA_CommonConfig::complexMultiplyConfig

◆ cfarThresholdScale

uint32_t HWA_CommonConfig::cfarThresholdScale

18-bit value: specifies the threshold scale factor that is used to either multiply or add to the 'surrounding noise average' to determine the threshold used for detection of the present cell under test in log mode, this value should be represented as 7.11. in mag/mag-sqr mode, this value should be represented as 14.4. Sets the CFAR_THRESH bits in HWACCREG13 register

◆ cfarConfig

struct { ... } HWA_CommonConfig::cfarConfig

◆ i_cmult_scale

uint32_t HWA_CommonConfig::i_cmult_scale[6U]

21 bit value: real part of the scalar complex number used for scalar mult mode i.e. HWA_ComplexMultiply::mode = HWA_COMPLEX_MULTIPLY_MODE_SCALAR_MULT Sets the ICMULT_SCALE bits of HWACCREG9

◆ q_cmult_scale

uint32_t HWA_CommonConfig::q_cmult_scale[6U]

21 bit value: imaginary part of the scalar complex number used for scalar mult mode i.e. HWA_ComplexMultiply::mode = HWA_COMPLEX_MULTIPLY_MODE_SCALAR_MULT Sets the ICMULT_SCALE bits of HWACCREG10

◆ scalarMult

struct { ... } HWA_CommonConfig::scalarMult

◆ EGEKparam

uint8_t HWA_CommonConfig::EGEKparam[HWA_CMP_K_ARR_LEN]

An Array of length 8 consisting of 5 bit values: list of k-parameters to be optimized during EGE compression. Sets the ICMULT_SCALE bits of HWACCREG9

◆ compressMode

struct { ... } HWA_CommonConfig::compressMode