![]() |
![]() |
mmwave radar RF/Sensor Configuration Module More...
Functions | |
MMWL_EXPORT rlReturnVal_t | rlSetChannelConfig (rlUInt8_t deviceMap, rlChanCfg_t *data) |
Sets the Rx and Tx Channel Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetAdcOutConfig (rlUInt8_t deviceMap, rlAdcOutCfg_t *data) |
Sets ADC Output Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetLowPowerModeConfig (rlUInt8_t deviceMap, rlLowPowerModeCfg_t *data) |
Sets Low Power Mode Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfInit (rlUInt8_t deviceMap) |
Initializes the RF/Analog Subsystem. More... | |
MMWL_EXPORT rlReturnVal_t | rlGetProfileConfig (rlUInt8_t deviceMap, rlUInt16_t profileId, rlProfileCfg_t *data) |
Gets Chirp profile Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetProfileConfig (rlUInt8_t deviceMap, rlUInt16_t cnt, rlProfileCfg_t *data) |
Sets Chirp profile Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlGetChirpConfig (rlUInt8_t deviceMap, rlUInt16_t chirpStartIdx, rlUInt16_t chirpEndIdx, rlChirpCfg_t *data) |
Gets Chirp Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetChirpConfig (rlUInt8_t deviceMap, rlUInt16_t cnt, rlChirpCfg_t *data) |
Sets Chirp Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetMultiChirpCfg (rlUInt8_t deviceMap, rlUInt16_t cnt, rlChirpCfg_t **data) |
Injects chirp configuration to be programmed dynamically. More... | |
MMWL_EXPORT rlReturnVal_t | rlGetFrameConfig (rlUInt8_t deviceMap, rlFrameCfg_t *data) |
Gets Frame Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetFrameConfig (rlUInt8_t deviceMap, rlFrameCfg_t *data) |
Sets Frame Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSensorStart (rlUInt8_t deviceMap) |
Triggers Transmission of Frames. More... | |
MMWL_EXPORT rlReturnVal_t | rlSensorStop (rlUInt8_t deviceMap) |
Stops Transmission of Frames. More... | |
MMWL_EXPORT rlReturnVal_t | rlFrameStartStop (rlUInt8_t deviceMap, rlFrameTrigger_t *data) |
Triggers/Stops Transmission of Frames. More... | |
MMWL_EXPORT rlReturnVal_t | rlGetAdvFrameConfig (rlUInt8_t deviceMap, rlAdvFrameCfg_t *data) |
Gets Advance Frame Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetAdvFrameConfig (rlUInt8_t deviceMap, rlAdvFrameCfg_t *data) |
Sets Advance Frame Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetContModeConfig (rlUInt8_t deviceMap, rlContModeCfg_t *data) |
Sets Continous mode Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlEnableContMode (rlUInt8_t deviceMap, rlContModeEn_t *data) |
Enable/Disable Continous mode. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetBpmCommonConfig (rlUInt8_t deviceMap, rlBpmCommonCfg_t *data) |
Sets Binary Phase Modulation Common Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetBpmChirpConfig (rlUInt8_t deviceMap, rlBpmChirpCfg_t *data) |
Sets Binary Phase Modulation Chirp Configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetMultiBpmChirpConfig (rlUInt8_t deviceMap, rlUInt16_t cnt, rlBpmChirpCfg_t **data) |
Sets Binary Phase Modulation configuration for multiple Chirp. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetTestSourceConfig (rlUInt8_t deviceMap, rlTestSource_t *data) |
Configures the Test Source. More... | |
MMWL_EXPORT rlReturnVal_t | rlTestSourceEnable (rlUInt8_t deviceMap, rlTestSourceEnable_t *data) |
Enables the Test Source. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfGetTemperatureReport (rlUInt8_t deviceMap, rlRfTempData_t *data) |
Gets Time and Temperature information report. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfDfeRxStatisticsReport (rlUInt8_t deviceMap, rlDfeStatReport_t *data) |
Gets Digital Front end statistics such as Residual DC, RMS power in I and Q chains for different Receive channels for different selected profiles. It also includes Cross correlation between I and Q chains. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfDynamicPowerSave (rlUInt8_t deviceMap, rlDynPwrSave_t *data) |
: Configure dynamic power saving feature. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetDeviceCfg (rlUInt8_t deviceMap, rlRfDevCfg_t *data) |
: Set different RadarSS device configurations More... | |
MMWL_EXPORT rlReturnVal_t | rlSetGpAdcConfig (rlUInt8_t deviceMap, rlGpAdcCfg_t *data) |
: Configure GP ADC data parameters More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetPhaseShiftConfig (rlUInt8_t deviceMap, rlUInt16_t cnt, rlRfPhaseShiftCfg_t *data) |
Enable/Disable phase shift configurations per chirp in each of the TXs. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetPALoopbackConfig (rlUInt8_t deviceMap, rlRfPALoopbackCfg_t *data) |
Enable/Disable PA loopback for all enabled profiles. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetPSLoopbackConfig (rlUInt8_t deviceMap, rlRfPSLoopbackCfg_t *data) |
Enable/Disable Phase shift loopback for all enabled profiles. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetIFLoopbackConfig (rlUInt8_t deviceMap, rlRfIFLoopbackCfg_t *data) |
Enable/Disable RF IF loopback for all enabled profiles. This is used for debug to check if both TX and RX chains are working correctly. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetProgFiltCoeffRam (rlUInt8_t deviceMap, rlRfProgFiltCoeff_t *data) |
Set Programmable Filter coefficient RAM. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetProgFiltConfig (rlUInt8_t deviceMap, rlRfProgFiltConf_t *data) |
Set Programmable Filter configuration. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetMiscConfig (rlUInt8_t deviceMap, rlRfMiscConf_t *data) |
Sets misc feature such as per chirp phase shifter. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetCalMonTimeUnitConfig (rlUInt8_t deviceMap, rlRfCalMonTimeUntConf_t *data) |
Set Calibration monitoring time unit. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfSetCalMonFreqLimitConfig (rlUInt8_t deviceMap, rlRfCalMonFreqLimitConf_t *data) |
Set Calibration monitoring Frequency Limit. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfInitCalibConfig (rlUInt8_t deviceMap, rlRfInitCalConf_t *data) |
Set RF Init Calibration Mask bits and report type. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfRunTimeCalibConfig (rlUInt8_t deviceMap, rlRunTimeCalibConf_t *data) |
Set RF one time & periodic calibration of various RF/analog aspects and trigger. More... | |
MMWL_EXPORT rlReturnVal_t | rlRxGainTempLutSet (rlUInt8_t deviceMap, rlRxGainTempLutData_t *data) |
Overwrite RX gain temperature Lookup Table(LUT) in Radar SS. More... | |
MMWL_EXPORT rlReturnVal_t | rlTxGainTempLutSet (rlUInt8_t deviceMap, rlTxGainTempLutData_t *data) |
Overwrites TX gain temperature based Lookup table (LUT) More... | |
MMWL_EXPORT rlReturnVal_t | rlRfTxFreqPwrLimitConfig (rlUInt8_t deviceMap, rlRfTxFreqPwrLimitMonConf_t *data) |
Sets the limits for RF frequency transmission for each TX and also TX power limits. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetLoopBckBurstCfg (rlUInt8_t deviceMap, rlLoopbackBurst_t *data) |
This API is used to introduce loopback chirps within the functional frames. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetDynChirpCfg (rlUInt8_t deviceMap, rlUInt16_t segCnt, rlDynChirpCfg_t **data) |
Injects chirp configuration to be programmed dynamically. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetDynChirpEn (rlUInt8_t deviceMap, rlDynChirpEnCfg_t *data) |
Triggers copy of chirp config from SW to HW RAM. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetDynPerChirpPhShifterCfg (rlUInt8_t deviceMap, rlUInt16_t segCnt, rlDynPerChirpPhShftCfg_t **data) |
Injects per-chirp phase shifter configuration to be applied dynamically. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfCalibDataStore (rlUInt8_t deviceMap, rlCalibrationData_t *data) |
Read calibration data from the device. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfCalibDataRestore (rlUInt8_t deviceMap, rlCalibrationData_t *data) |
Injects calibration data to the device. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfInterRxGainPhaseConfig (rlUInt8_t deviceMap, rlInterRxGainPhConf_t *data) |
Sets different Rx gain/phase offset. More... | |
MMWL_EXPORT rlReturnVal_t | rlGetRfBootupStatus (rlUInt8_t deviceMap, rlRfBootStatusCfg_t *data) |
Get radarSS bootup status. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetInterChirpBlkCtrl (rlUInt8_t deviceMap, rlInterChirpBlkCtrlCfg_t *data) |
Sets Inter-chip turn on and turn off times or various RF blocks. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetSubFrameStart (rlUInt8_t deviceMap, rlSubFrameStartCfg_t *data) |
Triggers the next sub-frame in software triggered sub-frame mode. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfPhShiftCalibDataStore (rlUInt8_t deviceMap, rlPhShiftCalibrationData_t *data) |
Read calibration data from the device. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfPhShiftCalibDataRestore (rlUInt8_t deviceMap, rlPhShiftCalibrationData_t *data) |
Injects phase shifter calibration data to the device. More... | |
MMWL_EXPORT rlReturnVal_t | rlGetRfDieId (rlUInt8_t deviceMap, rlRfDieIdCfg_t *data) |
Get device die ID status. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfGetEsmFault (rlUInt8_t deviceMap, rlBssEsmFault_t *data) |
Get RadarSS ESM fault status. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfGetCpuFault (rlUInt8_t deviceMap, rlCpuFault_t *data) |
Get RadarSS CPU fault status. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetAdvChirpConfig (rlUInt8_t deviceMap, rlAdvChirpCfg_t *data) |
Set the Advanced chirp configuration to the device. More... | |
MMWL_EXPORT rlReturnVal_t | rlMonTypeTrigConfig (rlUInt8_t deviceMap, rlMonTypeTrigCfg_t *data) |
Maintains monitoring timing synchronization in cascaded devices to avoid mutual interference of monitors running in different devices in the cascade sensor. More... | |
MMWL_EXPORT rlReturnVal_t | rlRfApllSynthBwCtlConfig (rlUInt8_t deviceMap, rlRfApllSynthBwControl_t *data) |
Control bandwidth of the APLL and Synthesizer. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetAdvChirpLUTConfig (rlUInt8_t deviceMap, rlAdvChirpLUTCfg_t *data) |
Set the Advanced chirp LUT configuration to the device. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetMultiAdvChirpLUTConfig (rlUInt8_t deviceMap, rlAdvChirpLUTCfg_t *AdvChirpLUTCfgArgs, rlInt8_t *AdvChirpLUTData) |
Multi Advanced chirp LUT configuration API. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetAdvChirpDynLUTAddrOffConfig (rlUInt8_t deviceMap, rlAdvChirpDynLUTAddrOffCfg_t *data) |
Configure LUT address offset dynamically for each chirp parameters defined in rlSetAdvChirpConfig API. More... | |
MMWL_EXPORT rlReturnVal_t | rlSetPowerSaveModeConfig (rlUInt8_t deviceMap, rlPowerSaveModeCfg_t *data) |
Sets the power save mode Configuration. More... | |
mmwave radar RF/Sensor Configuration Module
The RF/Sensor Configuration module controls the different HW blocks inside mmWave Front end. mmWave Front End has below key blocks
The Sensor Control APIs needs to be called by application in below sequence
Application should first configure the mmWave Front end or Radar SS with below Static configurations
After initial static configurations, application should initialize RF and shall wait for calibration complete Asynchornous event RL_RF_AE_INITCALIBSTATUS_SB
After RF initilization, Application can configure chirps and frame using below APIs
Frame Configuration - rlSetFrameConfig or rlSetAdvFrameConfig Note about HW SYNC_IN pulse in hardware triggered mode
a. The SYNC_IN pulse must not arrive before the frame end boundary b. If frame trigger delay is used with hardware triggered mode, then external SYNC_IN pulse periodicity should take care of the configured frame trigger delay and frame periodicity. The external pulse should be issued only after the sum total of frame trigger delay and frame periodicity. See figure below
c. The inter frame blank time should be at least 250 uS(100 uS for frame preparation and 150 uS for any calibration updates to hardware). Add 150 uS to inter-frame blank time for test source configuration if test source is enabled.
After All the configuration, Application can use Sensor Start API to start Frame and shall wait for Frame Ready Asynchronous event RL_RF_AE_FRAME_TRIGGER_RDY_SB
Legacy frame config API rlSetFrameConfig supports looping of the same FMCW frame. In order to configure multiple FMCW frames with different chirp profiles, user needs to use rlSetAdvFrameConfig API. Advance Frame consists of one or upto 4 Sub-Frames Each Sub-Frame consists of multiple bursts. Each burst consists of multiple chirps as shown in diagram below.
To enable Advance Frame, Application needs to follow below sequence
Using Legacy chirp configuration API rlSetChirpConfig, chirps can't be re-configure without stopping the ongoing FMCW frame using rlSensorStop API.
If user needs to re-configure chirp during the frame, it needs to use Dynamic chirp config APIs. Once the API is received by mmWave Front end, it would re-configure the chirps for next FMCW frame. Dynamic Chirps can be defined using below APIs
Diagram below shows the Dynamic Chirp behaviour. Note that since dynamic chirps are configured at run time, there is not error checks done on the input data. If input data is out of range or invalid, device might misbehave.
TI mmWave Front end includes built-in processor that is programmed by TI to handle RF calibrations and functional safety monitoring. The RF calibrations ensure that the performance of the device is maintained across temperature and process corners
S No | Master Device Sequence | Slave Device Sequence |
---|---|---|
1 | Power up master device | |
2 | Wait for AWR_AE_DEV_MSSPOWERUPDONE_SB | |
3 | AWR_DEV_RFPOWERUP_SB | |
4 | Wait for AWR_AE_DEV_RFPOWERUPDONE_SB | |
5 | AWR_CHAN_CONF_SET_SB with CASCADING_CFG = 0x0001. The reference clock for slave device is enabled by default | |
6 | Power on slave device | |
7 | Wait for AWR_AE_DEV_MSSPOWERUPDONE_SB | |
8 | AWR_DEV_RFPOWERUP_SB | |
9 | Wait for AWR_AE_DEV_RFPOWERUPDONE_SB | |
10 | AWR_CHAN_CONF_SET_SB with CASCADING_CFG = 0x0002 and disable OSC CLOCK OUT. | |
11 | Follow all AWR_RF_STATIC_CONF_SET_MSG APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip | Follow all AWR_RF_STATIC_CONF_SET_MSG APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip |
12 | Follow all Data path configurations APIs sequence as instructed in single chip mode | Follow all Data path configurations APIs sequence as instructed in single chip mode |
13 | Follow all AWR_RF_INIT_MSG APIs sequence as instructed in single chip mode | Follow all AWR_RF_INIT_MSG APIs sequence as instructed in single chip mode |
14 | Follow all AWR_RF_DYNAMIC_CONF_SET_MSG APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip | Follow all AWR_RF_DYNAMIC_CONF_SET_MSG APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip |
15 | Follow all MONITOR CONFIGURATIONS APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip | Follow all MONITOR CONFIGURATIONS APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip |
16 | AWR_FRAMESTARTSOP_CONF_SB with STARTSTOP_CMD = 0x0001 | |
17 | Wait for AWR_AE_RF_FRAME_TRIGGER_RDY_SB | |
18 | AWR_FRAMESTARTSOP_CONF_SB with STARTSTOP_CMD = 0x0001 | |
19 | Wait for AWR_AE_RF_FRAME_TRIGGER_RDY_SB | |
20 | Trigger AWR_MONITOR_TYPE_TRIG_CONF_SB API for type 0, 1 and 2 monitors and follow instructions mentioned in this API section | Trigger AWR_MONITOR_TYPE_TRIG_CONF_SB API for type 0, 1 and 2 monitors and follow instructions mentioned in this API section |
21 | AWR_FRAMESTARTSOP_CONF_SB with STARTSTOP_CMD = 0x0000 | |
22 | Wait for AWR_FRAME_END_AE_SB AE | |
23 | AWR_FRAMESTARTSOP_CONF_SB with STARTSTOP_CMD = 0x0000 | |
24 | Wait for AWR_FRAME_END_AE_SB AE |
When using cascaded devices, the reference clock is provided by master to slave. So unless master is powered-up and clock is available from master to slave, the slave device cannot be powered up.
Following instructions and sequence needs to be followed in cascade mode (Master and Slave mode configured in CASCADING_CFG field in rlSetChannelConfig API):
S No | Master Device Sequence | Slave Device Sequence |
---|---|---|
1 | Power up master device | |
2 | Wait for AWR_AE_DEV_MSSPOWERUPDONE_SB | |
3 | AWR_DEV_RFPOWERUP_SB | |
4 | Wait for AWR_AE_DEV_RFPOWERUPDONE_SB | |
5 | AWR_CHAN_CONF_SET_SB with CASCADING_CFG = 0x0001. The reference clock for slave device is enabled by default | |
6 | Power on slave device | |
7 | Wait for AWR_AE_DEV_MSSPOWERUPDONE_SB | |
8 | AWR_DEV_RFPOWERUP_SB | |
9 | Wait for AWR_AE_DEV_RFPOWERUPDONE_SB | |
10 | AWR_CHAN_CONF_SET_SB with CASCADING_CFG = 0x0002 and disable OSC CLOCK OUT. | |
11 | Follow all AWR_RF_STATIC_CONF_SET_MSG APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip | Follow all AWR_RF_STATIC_CONF_SET_MSG APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip |
12 | Follow all Data path configurations APIs sequence as instructed in single chip mode | Follow all Data path configurations APIs sequence as instructed in single chip mode |
13 | Follow all AWR_RF_INIT_MSG APIs sequence as instructed in single chip mode | Follow all AWR_RF_INIT_MSG APIs sequence as instructed in single chip mode |
14 | Follow all AWR_RF_DYNAMIC_CONF_SET_MSG APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip | Follow all AWR_RF_DYNAMIC_CONF_SET_MSG APIs sequence as instructed in single chip mode, please refer application Care Abouts above if any deviation from single chip |
15 | AWR_CONT_STREAMING_MODE_CONF_SET_SB | |
16 | AWR_CONT_STREAMING_MODE_EN_SB with CONT_STREAMING_EN = 0x0001 to start continuous streaming | |
17 | AWR_CONT_STREAMING_MODE_CONF_SET_SB with the same RF frequency configuration as in master device | |
18 | AWR_CONT_STREAMING_MODE_EN_SB with CONT_STREAMING_EN = 0x0001 to start continuous streaming | |
19 | AWR_CONT_STREAMING_MODE_EN_SB with CONT_STREAMING_EN = 0x0000 to stop continuous streaming | |
20 | AWR_CONT_STREAMING_MODE_EN_SB with CONT_STREAMING_EN = 0x0000 to stop continuous streaming | |
21 | Repeat steps 6-20 for a different CW mode configuration |
Below is the list of calibrations and corresponding duration in microseconds
Boot Time Calibration
Calibration | Duration(us) |
---|---|
APLL | 500 |
Synth VCO | 2500 |
LO DIST | 1500 |
ADC DC | 600 |
HPF cutoff | 3500 |
LPF cut off | 200 |
Peak detector | 7000 |
TX power (for each TX) | 2000 |
RX gain | 1500 |
TX phase (for each TX) | 12000 |
RX IQMM | 42000 |
Calibration | Duration(us) |
---|---|
APLL | 500 |
Synth VCO (VCO1, VCO2) | 2500 |
Synth VCO (VCO1, VCO2, VCO3) | 3750 |
LO DIST | 12 |
ADC DC | 600 |
HPF cutoff | 3500 |
LPF cut off | 200 |
Peak detector | 8000 |
TX power (for each TX) | 3000 |
RX gain | 1500 |
TX phase (for each TX) | 12000 |
RX IQMM | 42000 |
Run Time Calibration The Calibration Total duration is consist of two components,
Calibration | Total Duration(us) | Total Critical Time(us) |
---|---|---|
APLL | 150 | 145 |
Synth VCO | 300 | 290 |
LO DIST | 30 | 0 |
Peak detector | 600 | 580 |
TX power CLPC (for each TX and for 1 profile) | 800 | 580 |
TX power OLPC (In case CLPC is disabled) | 30 | 0 |
RX gain | 30 | 0 |
Application of calibration to hardware (This needs to be included always) | 50 | 50 |
Calibration | Total Duration(us) |
---|---|
APLL | 150 |
Synth VCO (VCO1, VCO2) | 350 |
Synth VCO (VCO1, VCO2, VCO3) | 525 |
LO DIST | 30 |
Peak detector | 600 |
TX power CLPC (for each TX and for 1 profile) | 800 |
TX power OLPC (In case CLPC is disabled) | 30 |
RX gain | 30 |
Application of calibration to hardware (This needs to be included always) | 50 |
AWR2243/xWR6243 device minimum chirp cycle time, inter-burst time, inter sub-frame/frame time requirements are documented in this section.
Chirp Cycle Time
Use case | Min Chirp cycle time(us) | Description |
---|---|---|
Typical chirps | 13 | The normal chirps used in a burst or a frame using legacy chirp configuration API |
Advance chirps | 25 | The advance chirps used in a burst or a frame using advanced chirp configuration API |
Chirps in Continuous framing mode | 20 | A single advance chirp used in a burst using either normal legacy chirp or advanced chirp configuration API. Continuous framing mode is a mode in which a single chirp is programmed in a burst using advanced frame configuration API. In this mode it is recommended to set idle time of chirp minimum 10us to save Inter chirp power save override time (Refer below table) |
Minimum Inter Burst Time
Min inter burst time | Time(us) | Description |
---|---|---|
Typical inter burst time | 55 | The minimum inter burst idle time required in normal bursts with legacy chirps configured in a advanced frame configuration API with inter burst power save disabled. |
Inter burst power save time | 55 | Add inter burst power save time to minimum inter burst time if it is enabled. By default inter-burst power save is enabled, it can be disabled (Only in single chip mode) using rlRfSetDeviceCfg API |
Inter chirp power save override time (power save disable) | 15 | Add inter chirp power save override time to minimum inter burst time if chirp idle time < 10us in a burst or can be controlled using rlRfDynamicPowerSave API |
Advance chirp configuration time | 45 | Add advance chirp configuration time to minimum inter burst time if advance chirp configuration is enabled in rlRfSetMiscConfig API. Not applicable for Continuous framing mode (Refer below). |
Advance chirp configuration time (Continuous framing mode) | 30 | Add Continuous framing mode advance chirp configuration time to minimum inter burst time if advance chirp configuration is enabled in rlRfSetMiscConfig API. Continuous framing mode is a mode in which a single chirp is programmed in a burst using advanced frame configuration API. |
Normal chirps (Continuous framing mode) | 10 | Add Continuous framing mode normal chirp configuration time to minimum inter burst time. Continuous framing mode is a mode in which a single chirp is programmed in a burst using advanced frame configuration API. |
Calibration or Monitoring chirp time | 145 | Add calibration or Monitoring chirp time to minimum inter burst time if calibration or monitors intended to be run in inter burst idle time. The calibration and monitoring chirps can run only in inter sub-frame or inter-frame interval if this time is not allocated in inter-burst time. Add calibration or Monitoring duration to minimum inter burst or sub-frame/frame time. |
Minimum Inter Sub-frame or Frame Time
Min inter subframe/frame time | Time(us) | Description |
---|---|---|
Typical inter subframe/frame time | 300 | The minimum inter sub-frame/frame idle time required in normal sub-frames with legacy chirps configured in a advanced frame configuration API or in a legacy frame config API. This time includes time required for minimum inter-burst idle time, inter burst power save, inter chirp power save override and single calibration/monitoring chirp time. |
Advance chirp configuration time | 45 | Add advance chirp configuration time to minimum inter sub-frame/frame time if advance chirp configuration is enabled in rlRfSetMiscConfig API |
Calibration or Monitoring duration | Table 12.4 and Table 12.8 | Add calibration or Monitoring duration to minimum inter sub-frame/frame time based on Table 12.4 and Table 12.8 |
Loop-back burst configuration time | 300 | Add Loop-back burst configuration time to minimum inter sub-frame time for loop back sub-frames if it is enabled in advance frame config API |
Dynamic legacy chirp configuration time (for 16 chirps) | 20 for 16 chirps + 500 | Add dynamic legacy chirp configuration time to minimum inter frame time if dynamic chirp/phase-shifter APIs are issued in runtime. |
Dynamic advance chirp configuration time (without LUT) | 500 | Add dynamic advance chirp configuration time to minimum inter frame time if dynamic advance chirp API is issued in runtime. The dynamic update of advance chirp generic LUT is done immediately when the API is received at BSS and there is no impact to inter frame time, however user has to take care of timing of the LUT update as it should not corrupt the ongoing chirp configuration. |
Dynamic profile configuration time (for 1 profile) | 1200 | Add dynamic profile configuration time to minimum inter frame time if dynamic profile API is issued in runtime. |
Test source config time | 170 | Add test source configuration time to minimum inter sub-frame time if test source API is issued. |
Typical APLL and Synth BW settings
Synth ICP | Synth Rtrim | APLL ICP | APLL Rtrim LPF | APLL Rtrim VCO | VCO1_BW/VCO3_BW | VCO2_BW | APLL_BW | Emission Improv | 1M PN Degrad at 60G | 100K PN Improv at 60G | Max Slope (MHz/us) |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 8 | 0x26 | 0x9 | 8 | 1.5M | 1.5M | 150K | 2 dB | 2 dB | 0 dB | 250 |
3 | 8 | 0x26 | 0x9 | 8 | 0.75M | 0.75M | 150K | 2 dB | 2 dB | 0 dB | 125 |
1 | 8 | 0x3F | 0x9 | 8 | 1.5M | 1.5M | 300K | 2 dB | 4 dB | 5 dB | 250 |
1 | 8 | 0x26 | 0x9 | 5 | 1.5M | 1.5M | 150K | 8 dB | 1.5 dB | 0 dB | 250 |
3 | 8 | 0x26 | 0x9 | 5 | 0.75M | 0.75M | 150K | 8 dB | 1.5 dB | 0 dB | 125 |
1 | 8 | 0x3F | 0x9 | 5 | 1.5M | 1.5M | 300K | 8 dB | 3.5 dB | 5 dB | 250 |
1 | 8 | 0x26 | 0x9 | 6 | 1.5M | 1.5M | 150K | 5 dB | 1 dB | 0 dB | 250 |
3 | 8 | 0x26 | 0x9 | 6 | 0.75M | 0.75M | 150K | 5 dB | 1 dB | 0 dB | 125 |
1 | 8 | 0x3F | 0x9 | 6 | 1.5M | 1.5M | 300K | 5 dB | 3 dB | 5 dB | 250 |
1 | 8 | 0x26 | 0x9 | 18 | 1.5M | 1.5M | 150K | 0 dB | 0 dB | 0 dB | 250 |
3 | 8 | 0x26 | 0x9 | 18 | 0.75M | 0.75M | 150K | 0 dB | 0 dB | 0 dB | 125 |
1 | 8 | 0x3F | 0x9 | 18 | 1.5M | 1.5M | 300K | 0 dB | 2 dB | 5 dB | 250 |
SYNTH_ICP_TRIM | SYNTH_RZ_TRIM | APLL_ICP_TRIM | APLL_RZ_TRIM | VCO1_BW | VCO2_BW | APLL_BW | Description | Max VCO Slope (MHz/us) |
---|---|---|---|---|---|---|---|---|
1 | 8 | 0x26 | 0x9 | 750K | 1.5M | 150K | Default settings (+/-0.2% Ferror at 2us ADC start) | 266 |
3 | 8 | 0x26 | 0x9 | 375K | 750K | 150K | Optimum for 76-77GHz VCO1 (1M, 10M PN) | 100 |
0 | 8 | 0x26 | 0x9 | 1.3M | 2.6M | 150K | Synth High BW (+/-0.2% Ferror at 1us ADC start) | 266 |
3 | 8 | 0x3F | 0x9 | 375K | 1.5M | 300K | Optimum 100K PN | 100 |
Programmable filter DFE sampling rate and number of taps
DFE sampling rate Fs (Msps) | No of taps in Real Mode | No of taps in Complex Mode |
---|---|---|
>=25 | 42 | NA |
>=12.5, <25 | 42 | 21 |
>=6.25, <12.5 | 63 | 45 |
Else | 63 | 63 |
Related Files - rl_sensor.c
rlReturnVal_t rlEnableContMode | ( | rlUInt8_t | deviceMap, |
rlContModeEn_t * | data | ||
) |
Enable/Disable Continous mode.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Continous Mode enable/disable |
This function enables/disables the FMCW radar continous mode
Definition at line 1357 of file rl_sensor.c.
rlReturnVal_t rlFrameStartStop | ( | rlUInt8_t | deviceMap, |
rlFrameTrigger_t * | data | ||
) |
Triggers/Stops Transmission of Frames.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for Frame trigger Configuration data |
This function triggers/stops the transmission of the frames as per the frame and chirp configuration. If trigger mode is selected as SW API based trigger, mmWaveFront end would start chirp immediately after receiving this API. If trigger mode is HW SYNC IN pulse, it would wait for SYNC pulse
Definition at line 1563 of file rl_sensor.c.
rlReturnVal_t rlGetAdvFrameConfig | ( | rlUInt8_t | deviceMap, |
rlAdvFrameCfg_t * | data | ||
) |
Gets Advance Frame Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[out] | data | - Container for Advance Frame Configuration data |
This function reads the advance frame properties of the device. This API calls internally two APIs, one to RadraSS for sensor configuraion and another to MasterSS for datapath configuraion.
Definition at line 1244 of file rl_sensor.c.
rlReturnVal_t rlGetChirpConfig | ( | rlUInt8_t | deviceMap, |
rlUInt16_t | chirpStartIdx, | ||
rlUInt16_t | chirpEndIdx, | ||
rlChirpCfg_t * | data | ||
) |
Gets Chirp Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | chirpStartIdx | - Chirp Start Index |
[in] | chirpEndIdx | - Chirp End Index |
[out] | data | - Container for Chirp Configuration data |
This function gets the chirp configuration from the device.
Definition at line 728 of file rl_sensor.c.
rlReturnVal_t rlGetFrameConfig | ( | rlUInt8_t | deviceMap, |
rlFrameCfg_t * | data | ||
) |
Gets Frame Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[out] | data | - Container for Frame Configuration data |
This function reads the frame properties of the device. This API calls internally two APIs, one to RadraSS for sensor configuraion and another to MasterSS for datapath configuraion.
Definition at line 1084 of file rl_sensor.c.
rlReturnVal_t rlGetProfileConfig | ( | rlUInt8_t | deviceMap, |
rlUInt16_t | profileId, | ||
rlProfileCfg_t * | data | ||
) |
Gets Chirp profile Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | profileId | - Profile Id |
[out] | data | - Container for Profile Configuration data |
This function gets the FMCW radar chirp properties like FMCW slope, chirp duration, TX power etc. from the device.
Definition at line 528 of file rl_sensor.c.
rlReturnVal_t rlGetRfBootupStatus | ( | rlUInt8_t | deviceMap, |
rlRfBootStatusCfg_t * | data | ||
) |
Get radarSS bootup status.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - bootup status configuration |
This API gets the radarSS bootup status
Definition at line 3440 of file rl_sensor.c.
rlReturnVal_t rlGetRfDieId | ( | rlUInt8_t | deviceMap, |
rlRfDieIdCfg_t * | data | ||
) |
Get device die ID status.
[in] | deviceMap | - Bitmap of devices to send the message |
[out] | data | - Die ID status |
This API gets the device Die ID status
Definition at line 3735 of file rl_sensor.c.
rlReturnVal_t rlMonTypeTrigConfig | ( | rlUInt8_t | deviceMap, |
rlMonTypeTrigCfg_t * | data | ||
) |
Maintains monitoring timing synchronization in cascaded devices to avoid mutual interference of monitors running in different devices in the cascade sensor.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - structure contains monitor trigger type configs |
This API helps to maintain monitoring timing synchronization in cascaded devices to avoid mutual interference of monitors running in different devices in the cascade sensor.
The host must trigger the monitor of types below to avoid interference if MONITORING MODE is set to ’1’ in AWR_CALIB_MON_TIME_UNIT_CONF_SB.
The AWR_AE_RF_MONITOR_TYPE_TRIGGER_DONE_SB_AE will be sent once monitor type is executed
The monitors can be categorized into 3 types :
Monitor Types Description Type 0 Non-transmitting monitor, The execution of non-transmitting monitors does not cause RF interference to monitors executing on other devices. Therefore, they can be executed in parallel across all devices in the cascade. These include monitors which receive a test signal through RX LNA and digital monitors.
Type 1 Transmitting but not receiving (test signal), The monitors that transmit but don’t receive any test signal through RX LNA are not susceptible to interference. Therefore, they can be executed in parallel across all devices in the cascade, but not when monitors that receive test signals through RX LNA are executing.
Type 2 Transmitting and receiving (test signal), The monitors that transmit and also receive test signal through RX LNA are susceptible to interference. They can be executed sequentially so as to create time separation between monitoring chirps of different devices
Definition at line 3985 of file rl_sensor.c.
rlReturnVal_t rlRfApllSynthBwCtlConfig | ( | rlUInt8_t | deviceMap, |
rlRfApllSynthBwControl_t * | data | ||
) |
Control bandwidth of the APLL and Synthesizer.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - APLL and Synthesizer B/W control data |
This API is used to control bandwidth of the APLL and Synthesizer
Definition at line 4030 of file rl_sensor.c.
rlReturnVal_t rlRfCalibDataRestore | ( | rlUInt8_t | deviceMap, |
rlCalibrationData_t * | data | ||
) |
Injects calibration data to the device.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Calibration data of 3 chunks stored at application space |
This API restores the calibration data which was stored previously using the rlCalibDataStore command. Application needs to feed in 3 chunks of calibration data. recommended API sequence for calibration data restore is:
Definition at line 3242 of file rl_sensor.c.
rlReturnVal_t rlRfCalibDataStore | ( | rlUInt8_t | deviceMap, |
rlCalibrationData_t * | data | ||
) |
Read calibration data from the device.
[in] | deviceMap | - Bitmap of devices to send the message. |
[in] | data | - Calibration data of 3 chunks which will filled by device. |
This API reads the calibration data from the device which can be injected later using the rlCalibDataRestore command. RadarSS will return 3 chunks of calibration data.
Definition at line 3324 of file rl_sensor.c.
rlReturnVal_t rlRfDfeRxStatisticsReport | ( | rlUInt8_t | deviceMap, |
rlDfeStatReport_t * | data | ||
) |
Gets Digital Front end statistics such as Residual DC, RMS power in I and Q chains for different Receive channels for different selected profiles. It also includes Cross correlation between I and Q chains.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container of dfe receiver status report |
Gets Digital Front end statistics such as Residual DC, RMS power in I and Q chains for different Receive channels for different selected profiles. It also includes Cross correlation between I and Q chains
Definition at line 1795 of file rl_sensor.c.
rlReturnVal_t rlRfDynamicPowerSave | ( | rlUInt8_t | deviceMap, |
rlDynPwrSave_t * | data | ||
) |
: Configure dynamic power saving feature.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container of dynamic power save information |
Configure dynamic power saving feature during Inter chirp Idle time by turning off various circuits such as Transmitter, Receiver and LO distribution blocks
Definition at line 1844 of file rl_sensor.c.
rlReturnVal_t rlRfGetCpuFault | ( | rlUInt8_t | deviceMap, |
rlCpuFault_t * | data | ||
) |
Get RadarSS CPU fault status.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for RadarSS CPU fault status |
This API gets the RadarSS CPU fault status.
Definition at line 3768 of file rl_sensor.c.
rlReturnVal_t rlRfGetEsmFault | ( | rlUInt8_t | deviceMap, |
rlBssEsmFault_t * | data | ||
) |
Get RadarSS ESM fault status.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for RadarSS ESM fault status |
This API gets the RadarSS ESM fault status.
Definition at line 3807 of file rl_sensor.c.
rlReturnVal_t rlRfGetTemperatureReport | ( | rlUInt8_t | deviceMap, |
rlRfTempData_t * | data | ||
) |
Gets Time and Temperature information report.
[in] | deviceMap | - Bitmap of devices to send the message |
[out] | data | - Structure to store temperature report from all the temp sensors |
This function reads Temperature information from all temperature sensors in the device
Definition at line 1753 of file rl_sensor.c.
rlReturnVal_t rlRfInit | ( | rlUInt8_t | deviceMap | ) |
Initializes the RF/Analog Subsystem.
[in] | deviceMap | - Bitmap of devices to send the message |
Initializes the RF/Analog Subsystem. This triggers one time calibrations for APLL and synthesizer. Calibration can be enabled/disabled using Calibraton configuration APIs. Device will turn on Tx/Rx and components for the calibration which will cause higher curent consumption momenterily.
Definition at line 1625 of file rl_sensor.c.
rlReturnVal_t rlRfInitCalibConfig | ( | rlUInt8_t | deviceMap, |
rlRfInitCalConf_t * | data | ||
) |
Set RF Init Calibration Mask bits and report type.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - RF Init calib config |
This function configures RF Init calibration mask bits and report type. Normally, upon receiving rlRfInit API, the Radar SS performs all relevant initial calibrations. This step can be disabled by setting the corresponding bit in rlRfInitCalConf_t field to 0x0.If disabled, the host needs to send the calibration data using rlRfCalibDataRestore so that the RadarSS can operate using the injected calibration data
Definition at line 2540 of file rl_sensor.c.
rlReturnVal_t rlRfInterRxGainPhaseConfig | ( | rlUInt8_t | deviceMap, |
rlInterRxGainPhConf_t * | data | ||
) |
Sets different Rx gain/phase offset.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Inter RX gain, phase offset config |
This API can be used to compensate various RX and gain/phase offsets and same API can be used to estimation the same using TX frequency shift.
Definition at line 3406 of file rl_sensor.c.
rlReturnVal_t rlRfPhShiftCalibDataRestore | ( | rlUInt8_t | deviceMap, |
rlPhShiftCalibrationData_t * | data | ||
) |
Injects phase shifter calibration data to the device.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Calibration data of number of TX channels enabled chunks stored at application space |
This API restores the phase shifter calibration data which was stored previously using the rlRfPhShiftCalibDataStore command. Application needs to feed number of TX channels enabled chunks of phase shifter calibration data. This is device specific feature, please refer data sheet.
Definition at line 3574 of file rl_sensor.c.
rlReturnVal_t rlRfPhShiftCalibDataStore | ( | rlUInt8_t | deviceMap, |
rlPhShiftCalibrationData_t * | data | ||
) |
Read calibration data from the device.
[in] | deviceMap | - Bitmap of devices to send the message. |
[in] | data | - Phase shift calibration data of number of TX channels enbled chunks which will filled by device. |
This API reads the phase shifter calibration data from the device which can be injected later using the rlRfPhShifterCalibDataRestore command. RadarSS will return number of TX chunks of phase shifter calibration data.This is device specific feature, please refer data sheet.
Definition at line 3660 of file rl_sensor.c.
rlReturnVal_t rlRfRunTimeCalibConfig | ( | rlUInt8_t | deviceMap, |
rlRunTimeCalibConf_t * | data | ||
) |
Set RF one time & periodic calibration of various RF/analog aspects and trigger.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Runtime calibration config |
This function configures RF one time & periodic calibration of various RF/analog aspects and trigger. The response is in the form of an asynchronous event. The calibration would be performed by Radar SS during while framing during inter-burst idle time slot of 250uS.
Definition at line 2592 of file rl_sensor.c.
rlReturnVal_t rlRfSetCalMonFreqLimitConfig | ( | rlUInt8_t | deviceMap, |
rlRfCalMonFreqLimitConf_t * | data | ||
) |
Set Calibration monitoring Frequency Limit.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - RF Calib Frequency Limit config |
This function configures limits on RF frequency transmission during calibration and monitoring
Definition at line 2492 of file rl_sensor.c.
rlReturnVal_t rlRfSetCalMonTimeUnitConfig | ( | rlUInt8_t | deviceMap, |
rlRfCalMonTimeUntConf_t * | data | ||
) |
Set Calibration monitoring time unit.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - RF Calib Monitoring Time unit config |
This function configures calibration monitoring time unit
Definition at line 2439 of file rl_sensor.c.
rlReturnVal_t rlRfSetDeviceCfg | ( | rlUInt8_t | deviceMap, |
rlRfDevCfg_t * | data | ||
) |
: Set different RadarSS device configurations
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Configuration parameter for AE. |
Set different RadarSS device configurations. Enable and Configure asynchronous event direction for device. By default all asynchronous event are enabled and sent to the platform which issued the API. Below events can be configured to be received on different platform by using this API:
[1.] CPU_FAULT [2.] ESM_FAULT [3.] ANALOG_FAULT Similarly all monitoring events can be configured to be received on specific platform using this API Below events can be disabled using this API:
[1.] FRAME_START_ASYNC_EVENT [2.] FRAME_STOP_ASYNC_EVENT
Enable[1]/Disable[0] RadarSS Watchdog, where by default it is disable. Configure CRC type for asynchronous event from RadarSS [0] 16Bit, [1] 32Bit, [2] 64Bit.
Definition at line 1894 of file rl_sensor.c.
rlReturnVal_t rlRfSetIFLoopbackConfig | ( | rlUInt8_t | deviceMap, |
rlRfIFLoopbackCfg_t * | data | ||
) |
Enable/Disable RF IF loopback for all enabled profiles. This is used for debug to check if both TX and RX chains are working correctly.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - IF loopback configuration |
This function Enables/Disables RF IF loopback for all enabled profiles. This is used to debug the RX IF chain.
Definition at line 2253 of file rl_sensor.c.
rlReturnVal_t rlRfSetMiscConfig | ( | rlUInt8_t | deviceMap, |
rlRfMiscConf_t * | data | ||
) |
Sets misc feature such as per chirp phase shifter.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Misc configuration such as per chirp phase shifter |
This function enables misc feature such as per chirp phase shifter.This API is valid for devices for which phase shifter is enabled(AWR1243P, AWR2243, xWR6243, AWR1843).
Definition at line 2387 of file rl_sensor.c.
rlReturnVal_t rlRfSetPALoopbackConfig | ( | rlUInt8_t | deviceMap, |
rlRfPALoopbackCfg_t * | data | ||
) |
Enable/Disable PA loopback for all enabled profiles.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - PA loopback configuration |
This function Enables/Disables PA loopback for all enabled profiles. This is used for debug purpose that both the TX and RX paths are working properly
Definition at line 2160 of file rl_sensor.c.
rlReturnVal_t rlRfSetPhaseShiftConfig | ( | rlUInt8_t | deviceMap, |
rlUInt16_t | cnt, | ||
rlRfPhaseShiftCfg_t * | data | ||
) |
Enable/Disable phase shift configurations per chirp in each of the TXs.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | cnt | - Number of configurations |
[in] | data | - phase shift enable/disable configuration |
This function configures the static phase shift configurations per chirp in each of the TXs. This API is applicable only in certain devices (please refer data sheet). This API will be honored after enabling per chirp phase shifter in rlRfSetMiscConfig.
Definition at line 2036 of file rl_sensor.c.
rlReturnVal_t rlRfSetProgFiltCoeffRam | ( | rlUInt8_t | deviceMap, |
rlRfProgFiltCoeff_t * | data | ||
) |
Set Programmable Filter coefficient RAM.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - array of coefficients for the programmable filter |
This function is used to program the coefficients for the external programmable filter. This is a new feature added in AWR2243/xWR6243.
Definition at line 2302 of file rl_sensor.c.
rlReturnVal_t rlRfSetProgFiltConfig | ( | rlUInt8_t | deviceMap, |
rlRfProgFiltConf_t * | data | ||
) |
Set Programmable Filter configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - programmable filter configuration |
This function selects programmable filter cofficient RAM and map it to configured profile ID.
Definition at line 2344 of file rl_sensor.c.
rlReturnVal_t rlRfSetPSLoopbackConfig | ( | rlUInt8_t | deviceMap, |
rlRfPSLoopbackCfg_t * | data | ||
) |
Enable/Disable Phase shift loopback for all enabled profiles.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Phase shift loopback configuration |
This function Enables/Disables Phase shift loopback for all enabled profiles.This is used to debug the TX (before the PA) and RX chains.
Definition at line 2210 of file rl_sensor.c.
rlReturnVal_t rlRfTxFreqPwrLimitConfig | ( | rlUInt8_t | deviceMap, |
rlRfTxFreqPwrLimitMonConf_t * | data | ||
) |
Sets the limits for RF frequency transmission for each TX and also TX power limits.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Tx Rf freq and power limit config data |
This API sets the limits for RF frequency transmission for each TX and also TX power limits.
Definition at line 2845 of file rl_sensor.c.
rlReturnVal_t rlRxGainTempLutSet | ( | rlUInt8_t | deviceMap, |
rlRxGainTempLutData_t * | data | ||
) |
Overwrite RX gain temperature Lookup Table(LUT) in Radar SS.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - RX gain Temperature LUT config |
This API can be used to overwrite the RX gain Lookup Table(LUT) for different temperature used in RadarSS.
Definition at line 2633 of file rl_sensor.c.
rlReturnVal_t rlSensorStart | ( | rlUInt8_t | deviceMap | ) |
Triggers Transmission of Frames.
[in] | deviceMap | - Bitmap of devices to send the message |
This function triggers the transmission of the frames as per the frame and chirp configuration If trigger mode is selected as SW API based trigger, mmWaveFront end would start chirp immediately after receiving this API. If trigger mode is HW SYNC IN pulse, it would wait for SYNC pulse
Definition at line 1449 of file rl_sensor.c.
rlReturnVal_t rlSensorStop | ( | rlUInt8_t | deviceMap | ) |
Stops Transmission of Frames.
[in] | deviceMap | - Bitmap of devices to send the message |
This function stops the transmission of the frames.
Definition at line 1503 of file rl_sensor.c.
rlReturnVal_t rlSetAdcOutConfig | ( | rlUInt8_t | deviceMap, |
rlAdcOutCfg_t * | data | ||
) |
Sets ADC Output Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for ADC Configuration data |
This function sets the static device configuration for the data format of the ADC and digital front end output. This is RAW ADC samples of IF signal and needs to be processed by HW accelerator or DSP. The ADC data can be sent to external Processor over High Speed Interface such as LVDS or CSI2. The ADC data size supported are 12, 14 and 16 bits and supported formats are Real, Complex 1x and Complex 2x. In Complex 1x, Image band is filtered out and only signal band is sampled in ADC. Where as in Complex 2x, Both Image and Signal band is sampled.
Complex baseband architecture results in better noise figure and is recommended.
Definition at line 153 of file rl_sensor.c.
rlReturnVal_t rlSetAdvChirpConfig | ( | rlUInt8_t | deviceMap, |
rlAdvChirpCfg_t * | data | ||
) |
Set the Advanced chirp configuration to the device.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - structure contains adv-chirp configs |
This API defines the programming of advanced chirp configurations for each chirp parameters to generate a waveform pattern in a frame/burst. It provides ability to program fixed delta increment (Delta dither) for certain chirp parameters (eg. chirp start frequency, idle time, phase shifter), on top of unique dithers selected from configurable look-up-table (LUT Dither). The configurable look-up-table is an array of values loaded into a pre-configured Generic SW Chirp Parameter LUT. The size of the generic LUT is 12kB and user has the flexibility to program any number of unique dithers for each chirp parameters. Thus the user can achieve fixed increment, or LUT based dither, or a combination of both.
When using the Advanced Chirp Config API, there are some implications to frame config and advanced frame config APIs. Specifically, the CHIRP_START_INDX and CHIRP_END_INDX fields are no longer applicable, and the NUM_LOOPS field has a different meaning in the sense that this field now denotes the total number of chirps in the frame/burst. Please refer AWR_FRAME_CONF_SET_SB and AWR_ADVANCED_FRAME_CONF_SB APIs with the updated field descriptions as below.
The total number of chirps L in a burst should be programmed as per below calculation in frame configuration API (using the NUM_LOOPS field).
L = X * Y, where X is 1 to 512 (supported HW CHIRP RAM) and Y is 1 to 128 (supported HW CHIRP LOOPS)
The value of L should be a multiple of 4 (assuming each chirp is min 25us duration) i.e 1, 4, 8, 12, 16, 20, 24 ¦ 32768 (max). The FW needs to prepare and update HW CHIRP RAM dynamically in advance chirp config API, this puts some restriction on minimum number of chirps in a burst/frame.
Using this API, four types of control can be achieved on each parameters of a chirp.
Definition at line 3914 of file rl_sensor.c.
rlReturnVal_t rlSetAdvChirpDynLUTAddrOffConfig | ( | rlUInt8_t | deviceMap, |
rlAdvChirpDynLUTAddrOffCfg_t * | data | ||
) |
Configure LUT address offset dynamically for each chirp parameters defined in rlSetAdvChirpConfig API.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - structure contains adv-chirp dynamic LUT address offset configs |
This API helps to update only the LUT offset address for chirp parameters when LUT data is modified at frame boundary dynamically while frames are running.
The dynamic chirp enable API AWR_DYN_CHIRP_ENABLE_SB shall be issued after issuing this API at least 500us before end of current active window of frame (500us before start of idle time of the frame) to apply the dynamic configurations in immediate next frame.
Definition at line 4264 of file rl_sensor.c.
rlReturnVal_t rlSetAdvChirpLUTConfig | ( | rlUInt8_t | deviceMap, |
rlAdvChirpLUTCfg_t * | data | ||
) |
Set the Advanced chirp LUT configuration to the device.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - structure contains adv-chirp configs |
This API sub-block loads the unique dither values for each chirp on Generic SW Chirp Parameter LUT at offset address defined in AWR_ADVANCE_CHIRP_CONF_SB API. This LUT can be used to pre-load dither patterns for each chirp parameters and provides the flexibility to program any number of unique dithers for each chirp parameters.
Definition at line 4084 of file rl_sensor.c.
rlReturnVal_t rlSetAdvFrameConfig | ( | rlUInt8_t | deviceMap, |
rlAdvFrameCfg_t * | data | ||
) |
Sets Advance Frame Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for Advance Frame Configuration data |
This function allows configuration of advance frame in mmWave Front end. Advance Frame is a sequence of chirps and how this sequnece needs to be repeated over time. User first need to define a profile and set of chirps(associated with a profile).
This function then defines how to sequence these chirps. Multiple chirps can be looped to create a burst. Multiple bursts can be grouped to create a sub-frame. Multiple sub-frames(Upto 4) can be grouped to create advance frame.
This function defines the advance frame properties like the number of burst in subframe, number of chirps and loops in a burst, sequence of subframes to be transmitted, number of frames to be transmitted, periodicity of the frame and the trigger method. This API calls internally two APIs, one to RadraSS for sensor configuraion and another to MasterSS for datapath configuraion.
Definition at line 1196 of file rl_sensor.c.
rlReturnVal_t rlSetBpmChirpConfig | ( | rlUInt8_t | deviceMap, |
rlBpmChirpCfg_t * | data | ||
) |
Sets Binary Phase Modulation Chirp Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for BPM chirp configuration data |
This API defines static configurations related to BPM (Binary Phase Modulation) feature in each of the TXs
Definition at line 241 of file rl_sensor.c.
rlReturnVal_t rlSetBpmCommonConfig | ( | rlUInt8_t | deviceMap, |
rlBpmCommonCfg_t * | data | ||
) |
Sets Binary Phase Modulation Common Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for BPM common Configuration data |
This API defines static configurations related to BPM (Binary Phase Modulation) feature in each of the TXs. E.g. the source of the BPM pattern (one constant value for each chirp as defined, or intra-chirp pseudo random BPM pattern as found by a programmable LFSR or a programmable sequence inside each chirp), are defined here.
Definition at line 199 of file rl_sensor.c.
rlReturnVal_t rlSetChannelConfig | ( | rlUInt8_t | deviceMap, |
rlChanCfg_t * | data | ||
) |
Sets the Rx and Tx Channel Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for Channel Configuration data |
This function allows configuration of mmWave Front end for how many Receiver and Transmit channels need to be enabled. It also defines whether to to enable single mmWave device or multiple mmWave devices to realize a larger antenna array (multiple is applicable only in AWR2243/xWR6243). This is applicable for given power cycle.
Definition at line 107 of file rl_sensor.c.
rlReturnVal_t rlSetChirpConfig | ( | rlUInt8_t | deviceMap, |
rlUInt16_t | cnt, | ||
rlChirpCfg_t * | data | ||
) |
Sets Chirp Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | cnt | - Number of configurations |
[in] | data | - Array of Chirp Configuration data |
This function sets the chirp to chirp variations on top of the chirp profile. The User should first define a profile using rlSetProfileConfig. This function then configures the chirp by associating it with a particular profile defined in rlSetProfileConfig API. In addition to that user can define fine dither to the profile parameters using this API. The dithers used in this configuration are only additive on top of programmed parameters in rlSetProfileConfig. This API allows configuration of 1 or upto 512 chirps. Also it allows configuraiton of which Transmit channels to be used for each chirp.
Definition at line 603 of file rl_sensor.c.
rlReturnVal_t rlSetContModeConfig | ( | rlUInt8_t | deviceMap, |
rlContModeCfg_t * | data | ||
) |
Sets Continous mode Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Continous mode Configuration data |
This function sets the FMCW radar continous mode properties like Start Freq, TX power etc. In continuous mode, the signal is not frequency modulated but has the same frequency over time.
Definition at line 1317 of file rl_sensor.c.
rlReturnVal_t rlSetDynChirpCfg | ( | rlUInt8_t | deviceMap, |
rlUInt16_t | segCnt, | ||
rlDynChirpCfg_t ** | data | ||
) |
Injects chirp configuration to be programmed dynamically.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | segCnt | - number of segments for which application sends array of data. |
[in] | data | - Dynamic chirp configuration |
This API can be used to dynamically change the chirp configuration while frames are on-going. The configuration will be stored in software and at rlDynChirpEnCfg API invocation radarSS copies these chirp configurations from SW RAM to HW RAM at the end of current on-going frame.
Definition at line 2941 of file rl_sensor.c.
rlReturnVal_t rlSetDynChirpEn | ( | rlUInt8_t | deviceMap, |
rlDynChirpEnCfg_t * | data | ||
) |
Triggers copy of chirp config from SW to HW RAM.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Dynamic chirp enable configuration |
This API can be used to trigger the copy of chirp configuration from software to hardware RAM. The copy will be performed at the end of the ongoing frame active window (start of the frame idle time).
Definition at line 3065 of file rl_sensor.c.
rlReturnVal_t rlSetDynPerChirpPhShifterCfg | ( | rlUInt8_t | deviceMap, |
rlUInt16_t | segCnt, | ||
rlDynPerChirpPhShftCfg_t ** | data | ||
) |
Injects per-chirp phase shifter configuration to be applied dynamically.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | segCnt | - number of segments for which application sends array of data. |
[in] | data | - Dynamic chirp configuration |
This API can be used to dynamically change the per-chirp phase shifter configuration while frames are on-going. The configuration will be stored in software and the new configuration will be applied at the end of the on-going frame. Note that the configuration should be received by the firmware 10 ms before the end of the current frame.
Definition at line 3114 of file rl_sensor.c.
rlReturnVal_t rlSetFrameConfig | ( | rlUInt8_t | deviceMap, |
rlFrameCfg_t * | data | ||
) |
Sets Frame Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for Frame Configuration data |
This function allows configuration of FMCW frame in mmWave Front end. A Frame is basically a sequence of chirps and how this sequnece needs to be repeated over time. User first need to define a profile and set of chirps(associated with a profile).
This function then defines how to sequence these chirps. The same chirp can be simply looped to create a large FMCW frame or multiple unique chirps cane be sequenced to create the frame. Chirp Start and end Index defines how to sequence them in a frame.
The API also allows configuration of number of frames to be transmitted, periodicity of the frame and the trigger method. The trigger method could be SW API based trigger or HW SYNC IN based trigger.
This API calls internally two APIs, one to RadraSS for sensor configuraion and another to MasterSS for datapath configuraion.
Definition at line 1023 of file rl_sensor.c.
rlReturnVal_t rlSetGpAdcConfig | ( | rlUInt8_t | deviceMap, |
rlGpAdcCfg_t * | data | ||
) |
: Configure GP ADC data parameters
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Configuration parameter for GP ADC |
This API enables the GPADC reads for external inputs (available only in xWR1642/xWR6843/ xWR1843/AWR2243/xWR6243). xWR1642/xWR1843 sends GP-ADC measurement data in async event RL_RF_AE_GPADC_MEAS_DATA_SB
Definition at line 1940 of file rl_sensor.c.
rlReturnVal_t rlSetInterChirpBlkCtrl | ( | rlUInt8_t | deviceMap, |
rlInterChirpBlkCtrlCfg_t * | data | ||
) |
Sets Inter-chip turn on and turn off times or various RF blocks.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Inter chirp block control config |
This API programs the Inter-chip turn on and turn off times or various RF blocks
Definition at line 3480 of file rl_sensor.c.
rlReturnVal_t rlSetLoopBckBurstCfg | ( | rlUInt8_t | deviceMap, |
rlLoopbackBurst_t * | data | ||
) |
This API is used to introduce loopback chirps within the functional frames.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Loopback chirp config |
This API can be used to introduce loopback chirps within the functional frames. This loopback chirps will be introduced only if advanced frame configuration is used where user can define which sub-frame contains loopback chirps. The following loopback configuration will apply to one burst and user can program up to 16 different loopback configurations in 16 different bursts of a given sub-frame. User has to ensure that the corresponding sub-frame is defined in rlSetAdvFrameConfig and sufficient time is given to allow the loopback bursts to be transmitted.
Definition at line 2901 of file rl_sensor.c.
rlReturnVal_t rlSetLowPowerModeConfig | ( | rlUInt8_t | deviceMap, |
rlLowPowerModeCfg_t * | data | ||
) |
Sets Low Power Mode Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for Low power mode Configuration data |
This function sets the static device configurations of low power options. Sigma Delta ADC root sampling reduces to half the rate to save power in small IF bandwidth applications. In xWR6x43 devices, this API doesn't modify the ADC root sampling rate, but reduces the power by reducing the bias currents to some of the IF analog blocks.
Definition at line 1404 of file rl_sensor.c.
rlReturnVal_t rlSetMultiAdvChirpLUTConfig | ( | rlUInt8_t | deviceMap, |
rlAdvChirpLUTCfg_t * | AdvChirpLUTCfgArgs, | ||
rlInt8_t * | AdvChirpLUTData | ||
) |
Multi Advanced chirp LUT configuration API.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | AdvChirpLUTCfgArgs | - Parameters for Advanced chirp LUT configuaration |
[in] | AdvChirpLUTData | - LUT buffer filled with the chirp parameter data |
Multi Advanced chirp LUT configuration API. This API is used to send the programmed LUT RAM data to the device populating the RadarSS LUT. This API takes Chirp LUT buffer from the application and internally chunks to multiple SPI packets (max 256 Bytes each).
Definition at line 4134 of file rl_sensor.c.
rlReturnVal_t rlSetMultiBpmChirpConfig | ( | rlUInt8_t | deviceMap, |
rlUInt16_t | cnt, | ||
rlBpmChirpCfg_t ** | data | ||
) |
Sets Binary Phase Modulation configuration for multiple Chirp.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | cnt | - number of BPM chirp config data |
[in] | data | - pointer to linked list/array of BPM chirp configuration data |
Using this API application can configure multiple BPM chirp configuration in a single call. This API defines static configurations related to BPM (Binary Phase Modulation) feature in each of the TXs.
Definition at line 285 of file rl_sensor.c.
rlReturnVal_t rlSetMultiChirpCfg | ( | rlUInt8_t | deviceMap, |
rlUInt16_t | cnt, | ||
rlChirpCfg_t ** | data | ||
) |
Injects chirp configuration to be programmed dynamically.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | cnt | - number of chirps |
[in] | data | - Pointer to Chirp configuration linked list/array |
This function sets the chirp to chirp variations on top of the chirp profile. The User should first define a profile using rlSetProfileConfig.
This function then configures the chirp by associating it with a particular profile defined in rlSetProfileConfig API. In addition to that user can define fine dither to the profile parameters using this API
This API allows configuration of 1 or upto 512 chirps. Also it allows configuraiton of which Transmit channels to be used for each chirp.
Definition at line 866 of file rl_sensor.c.
rlReturnVal_t rlSetPowerSaveModeConfig | ( | rlUInt8_t | deviceMap, |
rlPowerSaveModeCfg_t * | data | ||
) |
Sets the power save mode Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for power save mode configuration data |
This API defines the power saving modes configuration.
Definition at line 4312 of file rl_sensor.c.
rlReturnVal_t rlSetProfileConfig | ( | rlUInt8_t | deviceMap, |
rlUInt16_t | cnt, | ||
rlProfileCfg_t * | data | ||
) |
Sets Chirp profile Configuration.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | cnt | - Number of Profiles |
[in] | data | - Array of Profile Configuration data |
This function sets the chirp profile in mmWave Front end. A profile is like a template which contains coarse information about FMCW signal such as start frequency, chirp slope, chirp duration, TX power etc. The API allows multiple profiles to be set together by passing the array of profile data along with count of profiles.
Definition at line 441 of file rl_sensor.c.
rlReturnVal_t rlSetSubFrameStart | ( | rlUInt8_t | deviceMap, |
rlSubFrameStartCfg_t * | data | ||
) |
Triggers the next sub-frame in software triggered sub-frame mode.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Sub-frame start config |
This API triggers the next sub-frame in software triggered sub-frame mode
Definition at line 3532 of file rl_sensor.c.
rlReturnVal_t rlSetTestSourceConfig | ( | rlUInt8_t | deviceMap, |
rlTestSource_t * | data | ||
) |
Configures the Test Source.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for Test source configuration |
This API allows configuration of the Test Source in mmWave Front end. A Test source simulates 2 objects at certain position relative to the mmWave device and generates the RAW ADC data. It also simulates velocity of objects, relative position of TX and RX antennas.
Definition at line 1673 of file rl_sensor.c.
rlReturnVal_t rlTestSourceEnable | ( | rlUInt8_t | deviceMap, |
rlTestSourceEnable_t * | data | ||
) |
Enables the Test Source.
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - Container for Test source enable parameters |
Enables the Test Source that is configured using rlSetTestSourceConfig API
Definition at line 1713 of file rl_sensor.c.
rlReturnVal_t rlTxGainTempLutSet | ( | rlUInt8_t | deviceMap, |
rlTxGainTempLutData_t * | data | ||
) |
Overwrites TX gain temperature based Lookup table (LUT)
[in] | deviceMap | - Bitmap of devices to send the message |
[in] | data | - TX gain Temperature LUT config |
This API can be used to overwrite the TX gain temperature LUT used in Radar SS. This API should be issued after profile configuration API.
Definition at line 2731 of file rl_sensor.c.