AM273x MCU+ SDK  08.06.00

Detailed Description

HWA Common Config.

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

Data Fields

uint64_t configMask
 
uint16_t numLoops
 
uint16_t paramStartIdx
 
uint16_t paramStopIdx
 
uint16_t numLoopsALT
 
uint16_t paramStartIdxALT
 
uint16_t paramStopIdxALT
 
uint8_t contextswitchTriggerMode
 
uint8_t contextswitchTriggerSrc
 
struct {
   uint16_t   bpmRate
 
   uint32_t   bpmPattern [HWA_BPMPATTERN_LENGTH_INWORDS]
 
   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 [HWA_NUM_RXCHANNELS]
 
   uint32_t   thresholdMagDiffSw [HWA_NUM_RXCHANNELS]
 
   uint8_t   sumMagScale
 
   int8_t   sumMagShift
 
   uint8_t   sumMagDiffScale
 
   int8_t   sumMagDiffShift
 
   uint8_t   mitigationWindowParam [HWA_NUM_INTERFMITG_WINARRAY]
 
interfConfig
 
struct {
   int32_t   Iscale [HWA_NUM_RXCHANNELS]
 
   int32_t   Qscale [HWA_NUM_RXCHANNELS]
 
   int16_t   twiddleDeltaFrac
 
   uint8_t   recWindowReset
 
complexMultiplyConfig
 
struct {
   uint8_t   size
 
   uint32_t   vector [HWA_CHANCOMB_LENGTH_INWORDS]
 
chanCombConfig
 
struct {
   uint8_t   number
 
   uint32_t   mask [HWA_ZEROINSERT_LENGTH_INWORDS]
 
zeroInsertConfig
 
struct {
   uint32_t   thresholdScale
 
cfarConfig
 
struct {
   uint32_t   cfarDetthreshold
 
cfarDetThresConfig
 
struct {
   int32_t   max2DoffsetDim1
 
   int32_t   max2DoffsetDim2
 
   uint16_t   cdfCntThresh
 
advStatConfig
 
struct {
   uint16_t   dimBThreshold
 
   uint16_t   dimCThreshold
 
   uint16_t   dimBBaseAddress
 
   uint16_t   dimCBaseAddress
 
localMaxConfig
 
struct {
   uint8_t   EGEKparam [HWA_CMP_K_ARR_LEN]
 
compressConfig
 

Field Documentation

◆ configMask

uint64_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

12 bits value: number of loops to run from paramStartIdx to paramStopIdx valid value: 0-4094; 4095 for infinite. Sets the NUMLOOPS in the PARAM_RAM_LOOP register

◆ paramStartIdx

uint16_t HWA_CommonConfig::paramStartIdx

6 bits value: start index of paramset through which state machine loops through valid value: 0-63 Sets the PARAM_START_IDX bit in PARAM_RAM_IDX register

◆ paramStopIdx

uint16_t HWA_CommonConfig::paramStopIdx

6 bits value: stop index of paramset through which state machine loops through valid value: 0-63 Sets the PARAM_END_IDX in PARAM_RAM_IDX register

◆ numLoopsALT

uint16_t HWA_CommonConfig::numLoopsALT

same as HWA_CommonConfig::numLoops, but applicable to altername context for context switching sets the PARAM_RAM_LOOP_ALT_NUMLOOPS in the PARAM_RAM_LOOP_ALT registers

◆ paramStartIdxALT

uint16_t HWA_CommonConfig::paramStartIdxALT

same as HWA_CommonConfig::paramStartIdx, but applicable to altername context for context switching sets the PARAM_RAM_IDX_ALT_PARAM_START_IDX in the PARAM_RAM_IDX_ALT registers

◆ paramStopIdxALT

uint16_t HWA_CommonConfig::paramStopIdxALT

same as HWA_CommonConfig::paramStopIdx, but applicable to altername context for context switching sets the PARAM_RAM_IDX_ALT_PARAM_STOP_IDX in the PARAM_RAM_IDX_ALT registers

◆ contextswitchTriggerMode

uint8_t HWA_CommonConfig::contextswitchTriggerMode

4 bit value: See HWA_CONTEXTSWITCH_TRIG_MODE macros for correct values, used for context switching Sets the CS_CONFIG_CS_TRIGMODE bits of CS_CONFIG register

◆ contextswitchTriggerSrc

uint8_t HWA_CommonConfig::contextswitchTriggerSrc

5 bit value: if contextswitchTriggerMode is set to HWA_CONTEXTSWITCH_TRIG_MODE_DMA, specifies the DMA channel number to be monitored in context switching, if contextswitchTriggerMode is set to HWA_CONTEXTSWITCH_TRIG_MODE_HARDWARE, specifies which CSI2 trigger signal (out of 20 possible trigger signals) to wait for in context switch. sets the CS_CONFIG_CS_TRGSRC bits of CS_CONFIG register

◆ bpmRate

uint16_t HWA_CommonConfig::bpmRate

10 bit value: specifies the number of input samples corresponding to each BPM bit.. value of 0 is invalid, BPM is enabled/disabled by setting HWA_AccelModeFFT::bpmEnable bit in paramset Sets BPM_RATE bits in BPM_RATE register

◆ bpmPattern

uint32_t HWA_CommonConfig::bpmPattern[HWA_BPMPATTERN_LENGTH_INWORDS]

256-bit value: specifies a Binary Phase Modulation (BPM) pattern to be removed on the input samples prior to FFT, split into 8 32 bits register, BPM is enabled/disabled by setting HWA_AccelModeFFT::bpmEnable bit in paramset. Sets BPM_PATTERN_n 8 registers

◆ twidDitherEnable

uint8_t HWA_CommonConfig::twidDitherEnable

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) FFT is enabled/disabled by setting HWA_AccelModeFFT::fftEn in paramset. Sets the DITHER_TWID_EN bit in DITHER_TWID_EN register

◆ lfsrSeed

uint32_t HWA_CommonConfig::lfsrSeed

29-bit value: LFSR seed, if HWA_CommonConfig::twidDitherEnable is enabled. Sets the LFSR_SEED bits in LFSR_SEED

◆ 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), applied if HWA_PostProcStat::fftOutMode is set to HWA_FFT_MODE_OUTPUT_MAX_STATS or HWA_FFT_MODE_OUTPUT_SUM_STATS. Sets the FFTSUMDIV bits in FFTSUMDIV 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+6+ 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[HWA_NUM_RXCHANNELS]

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_PreProcessing::thresholdEnable is enabled, and HWA_PreProcessing::thresholdSelect is set to HWA_INTERFTHRESH_SELECT_SW in the intended paramset for this threshold to be used sets in INTERFTHRESH_MAGn_VAL register

◆ thresholdMagDiffSw

uint32_t HWA_CommonConfig::thresholdMagDiffSw[HWA_NUM_RXCHANNELS]

24-bit value: Interference zero-out threshold, is used to zero-out sample(s), whose magnitude diff (24-bit absolute value of the 24-bit complex input) is very high, prior to computing the FFT if the HWA_PreProcessing::thresholdEnable is enabled and HWA_PreProcessing::thresholdSelect is set to HWA_INTERFTHRESH_SELECT_SW in the intended paramset for this threshold to be used sets in INTERFTHRESH_MAGDIFFn_VAL registers

◆ 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

3 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

3 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

◆ mitigationWindowParam

uint8_t HWA_CommonConfig::mitigationWindowParam[HWA_NUM_INTERFMITG_WINARRAY]

5 bit value: unsigned 5 bit integer, set the window parameters if HWA_PreProcessing::enable is enabled, and HWA_PreProcessing::pathSelect is set to HWA_INTERFMITIGATION_PATH_WINDOWZEROOUT sets the INTF_MITG_WINDOW_PARAM_0_INTF_MITG_WINDOW_PARAM_0 in INTF_MITG_WINDOW_PARAM_x register

◆ interfConfig

struct { ... } HWA_CommonConfig::interfConfig

◆ Iscale

int32_t HWA_CommonConfig::Iscale[HWA_NUM_RXCHANNELS]

21 bits: complex scalars used in HWA_ComplexMultiply::cmultMode = HWA_COMPLEX_MULTIPLY_MODE_SCALAR_MULT, HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT or HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT_2 if HWA_ComplexMultiply::cmultScaleEn is set to 0, only cmultIScale[0] is used as constant scalar multiplication, 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::cmultMode = HWA_COMPLEX_MULTIPLY_MODE_SCALAR_MULT, HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT or HWA_COMPLEX_MULTIPLY_MODE_VECTOR_MULT_2 if HWA_ComplexMultiply::cmultScaleEn is set to 0, only cmultIScale[0] is used as constant scalar multiplication 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::cmultMode is set to HWA_COMPLEX_MULTIPLY_MODE_FREQSHIFT_FREQINCRE, frequency shifter with frequency increment mode, HWA_ComplexMultiply::twiddleIncr 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::cmultMode 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

◆ size

uint8_t HWA_CommonConfig::size

8 bit value: specifies the number of samples after channel combined in current iteration, if HWA_PreProcessing::chanCombEn is enabled. sets NUM_SAMPLES_AFTER_COMB in the CHAN_COMB_CTRL register

◆ vector

uint32_t HWA_CommonConfig::vector[HWA_CHANCOMB_LENGTH_INWORDS]

256 bit value: vector indicated the samples indices that need to be combined if if HWA_PreProcessing::chanCombEn is enabled. A string of "1" or "0" sums the samples corresponding to the indices. A "10" or "01" demarcates the groups. The LSB of the bit-vector corresponds to the first input samples. sets the register CHAN_COMB_VEC_0 - CHAN_COMB_VEC_7 registers

◆ chanCombConfig

struct { ... } HWA_CommonConfig::chanCombConfig

◆ number

uint8_t HWA_CommonConfig::number

8 bit value: number of zeros to be inserted in current iteration if HWA_PreProcessing::zeroInsertEn is enabled. sets ZERO_INSERT_NUM bit in ZERO_INSERT_CTRL register

◆ mask

uint32_t HWA_CommonConfig::mask[HWA_ZEROINSERT_LENGTH_INWORDS]

256 bit value: holds the positions of zero-insertion. if HWA_PreProcessing::zeroInsertEn is enabled. A bit-field of '0' inserts a zero at location based on bit-field index. "1" means the input is passed through. sets ZERO_INSERT_MASK_n bits in the ZERO_INSERT_MASK_0 - ZERO_INSERT_MASK_7 registers

◆ zeroInsertConfig

struct { ... } HWA_CommonConfig::zeroInsertConfig

◆ thresholdScale

uint32_t HWA_CommonConfig::thresholdScale

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, if HWA_ParamConfig_t:: accelMode is set to HWA_ACCELMODE_CFAR. 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_CFAR_THRESH bits in CFAR_THRESH register

◆ cfarConfig

struct { ... } HWA_CommonConfig::cfarConfig

◆ cfarDetthreshold

uint32_t HWA_CommonConfig::cfarDetthreshold

23-bit value: specifies the detection threshold value used to compare with cell under test. The detection threshold value is held constant, independent of “surrounding noise level” and CFAR_THRESH. This configuration is applicable only in constant threshold mode of CFAR (i.e. only in CFAR-CA mode and only if CFAR_AVG_LEFT = CFAR_AVG_RIGHT = 0).)

◆ cfarDetThresConfig

struct { ... } HWA_CommonConfig::cfarDetThresConfig

◆ max2DoffsetDim1

int32_t HWA_CommonConfig::max2DoffsetDim1

24 bit value: sets offset to be added to dimension 1 maxima result, if HWA_PostProcStat::max2Denable is enabled. sets MAX2D_OFFSET_DIM1 bits in MAX2D_OFFSET_DIM1 register

◆ max2DoffsetDim2

int32_t HWA_CommonConfig::max2DoffsetDim2

24 bit value: sets offset to be added to dimension 2 maxima result, if HWA_PostProcStat::max2Denable is enabled. sets IM2_MAX2D_OFFSET_DIM2 in MAX2D_OFFSET_DIM2 register

◆ cdfCntThresh

uint16_t HWA_CommonConfig::cdfCntThresh

12 bit value: is applied in CDF count threshold mode of operation, i.e. if HWA_PostProcStat::histogramMode is set to HWA_HISTOGRAM_MODE_CDF_THRESHOLD. CDF is computed over the histogram till the value of CDF exceeds the cdfCntThresh value is 0-4095 sets CDF_CNT_THRESH bits in CDF_CNT_THRESH register

◆ advStatConfig

struct { ... } HWA_CommonConfig::advStatConfig

◆ dimBThreshold

uint16_t HWA_CommonConfig::dimBThreshold

16 bits value: specify column threshold for local maxima, if HWA_AccelModeLocalMax::thresholdMode is set to HWA_LOCALMAX_THRESH_SELECT_DIMBREG_DIMCREG or HWA_LOCALMAX_THRESH_SELECT_DIMBREG_DIMCRAM sets LM_THRESH_VAL_DIMB_THRESH_VAL bits in LM_THRESH_VAL register

◆ dimCThreshold

uint16_t HWA_CommonConfig::dimCThreshold

16 bits value: specify row threshold for local maxima if HWA_AccelModeLocalMax::thresholdMode is set to either HWA_LOCALMAX_THRESH_SELECT_DIMBREG_DIMCREG or HWA_LOCALMAX_THRESH_SELECT_DIMBRAM_DIMCREG sets LM_THRESH_VAL_DIMC_THRESH_VAL bits in LM_THRESH_VALregister

◆ dimBBaseAddress

uint16_t HWA_CommonConfig::dimBBaseAddress

12 bits value: specify the base address in Stats RAM for the threshold values correspoinding to dimension B, if HWA_AccelModeLocalMax::thresholdMode is set to HWA_LOCALMAX_THRESH_SELECT_DIMBRAM_DIMCRAM or HWA_LOCALMAX_THRESH_SELECT_DIMBRAM_DIMCREG sets LM_2DSTATS_BASE_ADDR_BASE_ADDR_DIMB bits in LM_2DSTATS_BASE_ADDR register

◆ dimCBaseAddress

uint16_t HWA_CommonConfig::dimCBaseAddress

12 bits value: specify the base address in Stats RAM for the threshold values correspoinding to dimension C, if HWA_AccelModeLocalMax::thresholdMode is set to HWA_LOCALMAX_THRESH_SELECT_DIMBRAM_DIMCRAM or HWA_LOCALMAX_THRESH_SELECT_DIMBREG_DIMCRAM sets LM_2DSTATS_BASE_ADDR_BASE_ADDR_DIMC bits in LM_2DSTATS_BASE_ADDR register

◆ localMaxConfig

struct { ... } HWA_CommonConfig::localMaxConfig

◆ EGEKparam

uint8_t HWA_CommonConfig::EGEKparam[HWA_CMP_K_ARR_LEN]

5 bit value: valid value is from 0 - 31. the list of Golomb parameters to optimize over in the first pass. The maixmum length is 8, the valid length of the list is programmed by HWA_AccelModeCompress::compressEGEKarrayLength parameter. sets CMP_EGE_K0123_CMP_EGE_K0-k3 and CMP_EGE_K4567_CMP_EGE_K4-k7 bits in the CMP_EGE_K0123 and CMP_EGE_K4567 registers

◆ compressConfig

struct { ... } HWA_CommonConfig::compressConfig