UG-1828
Preliminary Technical Data
Rev. PrC | Page 164 of 338
Peak Detect and Peak/Power Detect Mode Comparison
Among the two detect modes, peak detect offers the quickest response time to overload signals by employing “fast attack” mode. It allows
the AGC to respond within hundreds of nanoseconds in overload scenarios. In addition, the peak detect also provides “fast recovery”
option to increase the gain of the desired signal quickly when an interferer disappears. It can also avoid the possible gain index oscillation
issue of peak/power detect when the signal has higher than expected PAR.
With power detect, the gain change can only happen at the expiration of the gain update counter, which is typically set at the order of
hundreds of microseconds or milliseconds. However, the power detector is usually more stable and will not likely cause frequent gain
changes. In addition, it can provide a tighter control of signal level by utilizing a set of inner and outer thresholds comparing with peak
detect.
It is highly recommended to use peak detect especially when fast gain control is desired.
Manual Gain Control (MGC)
The gain control block applies the settings from the selected gain index in the gain table. In MGC mode, the baseband processor is in
control of selecting the gain index. There are two options: 1) API commands (ADI_ADRV9001_RX_GAIN_CONTROL_MODE_SPI);
and 2) pin control (ADI_ADRV9001_RX_GAIN_CONTROL_MODE_PIN). By default, if MGC is chosen the part is configured for API
commands.
In API command mode, the user selects a gain index in the gain table through the API function adi_adrv9001_Rx_Gain_Set(). The gain
index selected for a channel can be read back through the API function adi_adrv9001_Rx_Gain_Get().
The pin control MGC mode is useful when real time control of gain is required. API command
adi_adrv9001_Rx_GainControl_PinMode_Configure() can be used to properly configure this mode. In this mode, out of 16 digital
DGPIO pins, 2 pins per receiver are used, one increasing and the other decreasing the gain table index. The user specifies both the max
and min gain index as well as the increment and decrement step size (in the range of 0 to 7 gain table indices). A pulse is applied to the
relevant DGPIO pin to trigger an increment or decrement in gain as shown in Figure 155. This pulse must be held high for at least 2 AGC
clock cycles for a reliable detection of the rising edge to trigger the gain change (see AGC clock section for details). The configuration
data structure for this mode is defined as the following:
typedef struct adi_adrv9001_RxGainControlPinCfg
{
uint8_t minGainIndex; //Minimum gain index. Must be >= gainTableMinGainIndex and <
maxGainIndex
uint8_t maxGainIndex; //Maximum gain index. Must be > minGainIndex and <=
gainTableMaxGainIndex
uint8_t incrementStepSize; //Number of indices to increase gain on rising edge on
incrementPin (Range: 0 to 7)
uint8_t decrementStepSize; //Number of indices to decrease gain on rising edge on
decrementPin (Range: 0 to 7)
adi_adrv9001_GpioPin_e incrementPin;// A rising edge on this pin will increment gain by
incrementStepSize.
adi_adrv9001_GpioPin_e decrementPin; //A rising edge on this pin will decrement gain by
decrementStepSize.
} adi_adrv9001_RxGainControlPinCfg_t
Figure 155. MGC PIN Mode: DGPIO (a to d) Represent Any of DGPIO[0:15]
In the MGC mode, to properly control the gain, user could optionally retrieve the status of peak detectors and power detector in the
device through a set of DGPIO pins (this could also be done in the AGC mode for observation). In order to make sure that the status
information from the signal detectors are meaningful, it is important that the user should first enable and configure the signal detectors
Rx1
Rx1
Rx2
DGPIO[
a
]
DGPIO[
b
]
DGPIO[
c
]
DGPIO[
d
]
Rx2
24159-
113