Preliminary Technical Data UG-1828
Rev. PrB | Page 175 of 277
MONITOR MODE ENABLE
(HIGHER PRIORITY)
TX_ENABLE
(HIGHER PRIORITY)
RX_ENABLE
(HIGHER PRIORITY)
BBIC/DSP
TRX
TIME
UP
TIME
UP
TIME
UP
WAKE UP
PIN ON
MONITOR MODE
PIN OFF
TIME
UP
RX_ENABLE
ON
WAKE UPSLEEPING
RECEIVES
RX DATA
SPI WRITE OR MONITOR
MODE PIN ON TO ENABLE
MONITOR MODE
CARRIER
DETECTED
BUFFER
RX DATA
DETECT UNTIL
“DETECT TIMER”
UP
DETECT UNTIL
“DETECT TIMER”
UP
ENTER
RX_ENABLE STATE
TRANSMITS RX DATA
DETECT UNIT “BATTERY SAVE
MODE DELAY TIMER”
IME-UP
SLEEP UNTIL
“SLEEP TIMER”
UP
SLEEP UNTIL
“SLEEP TIMER”
UP
24159-139
Figure 166. Monitor Mode: Baseband Processor in Sleep and ADRV9001 in Alternate Sleep and Carrier Detection
API command adi_adrv9001_arm_SystemPowerSavingAndMonitorMode_Configure() is used to configure the monitor mode, baseband
processor should leave enough time to send this command and receive acknowledge before enable Monitor Enable pin. Data structure
adi_adrv9001_SystemPowerSavingAndMonitorModeCfg defines the Monitor Mode configuration and is shown as following:
typedef struct adi_adrv9001_SystemPowerSavingAndMonitorModeCfg
adi_adrv9001_SystemPowerDownMode_e powerDownMode;
uint32_t initialBatterySaverDelay_us;
uint32_t detectionTime_us;
uint32_t sleepTime_us;
uint8_t detectionFirst;
adi_adrv9001_MonitorDetectionMode_e detectionMode;
bool detectionDataBufferEnable;
bool externalPllEnable;
} adi_adrv9001_SystemPowerSavingAndMonitorModeCfg_t;
Monitor modes support there type of system power down mode. The initial, sleep and detection durations are user configurable, and
users can decide detection first or sleep first when ADRV9001 is moved into monitor mode.
The enumerator adi_adrv9001_MonitorDetectionMode_e defines five detection modes which can be used in different radio standards.
Some modes are standard dependent, such as the modes with suffix “SYNC” are only available for the DMR standard, and the modes
with suffix “FFT” are only available for the standards that use FSK modulation scheme. But the “MODE_RSSI” can be used for any radio
standards.
Current monitor mode only supports “ADI_ADRV9001_MONITOR_DETECTION_MODE_RSSI” detection modo, other detection
mode will be added in software support in future.
typedef enum adi_adrv9001_MonitorDetectionMode
{
ADI_ADRV9001_MONITOR_DETECTION_MODE_RSSI, /*!< RSSI detection only */
ADI_ADRV9001_MONITOR_DETECTION_MODE_SYNC, /*!< DMR Sync detection only */
ADI_ADRV9001_MONITOR_DETECTION_MODE_FFT, /*!< detection only */
ADI_ADRV9001_MONITOR_DETECTION_MODE_RSSI_SYNC, /*!< RSSI and Sync detection */
ADI_ADRV9001_MONITOR_DETECTION_MODE_RSSI_FFT, /*!< RSSI and FFT detection */
} adi_adrv9001_MonitorDetectionMode_e;
ADRV9001 can always buffer the latest incoming data in Monitor Mode detection cycle, once a valid incoming signal is detected and the
baseband processor has been waked up by ADRV9001, ADRV9001 can send out the buffered Rx data to baseband processor. This
procedure can make sure the baseband processor won’t miss the valid incoming signal when it’s in the sleep state.
Monitor Mode uses same power down modes with System Power Saving, but additional detection function than System Power Saving,
and they can use the same DGPIO as the power saving trigger interface. Users can use either System Power Saving or Monitor Mode, and
these two modes can also be dynamically switched for different time slots, a System Power Saving or Monitor Mode API command
should be sent during each time switching between System Power Saving.