UG-1828
Preliminary Technical Data
Rev. PrC | Page 138 of 338
Interface Gain
Due to the bit-width limitation of the data port, an interface gain is applied by shifting the signal properly so as not to clip the output
upon saturation. It could also increase the signal level for small signals to avoid losing sensitivity when a quantizer is utilized to limit the
receiver output data bit-width. The interface gain could be automatically adjusted internally inside the device by utilizing the RSSI
measurement or by user through API commands. The user could also optionally retrieve the signal level measured by RSSI through an
API command to control the interface gain. See the Receiver Gain Control section or more details.
Phase Offset Correction
In both NB and WB modes, a phase offset correction block is provided as an option to adjust the sampling phase offset on IQ data or
frequency deviation data. It re-samples the incoming received signal, by reconstructing intermediate samples between every 2 inputs
samples according to the phase parameter configured by user through an API command. Currently, it is only programmable by the
device. More user interaction will be provided in the future.
NB FSK Discrimination
In NB applications, the ADRV9001 device provides the capability of demodulating and detecting FSK/FM signals. This block has 2
operation modes, one is detecting mode and the other is detected mode. The detecting mode is only used when Monitor Mode is enabled.
It is employed to detect the FSK/FM signals. As mentioned previously, the signal detection could be accomplished by RSSI only. However,
this block could be further used in NB mode to achieve more accurate signal detection. After FSK/FM signal is detected, this block will
operate in the detected mode. Some components in the datapath will be reconfigured to operate differently from the detecting mode. In
case no FSK/FM signal is detected, transmitter/receiver will move to sleep mode.
It is well known that DMR and FM radio has an about 90% idle time, during which, both RF front end and baseband processor are put to
sleep to save power. As a traditional solution, both baseband processor and transmitter/receiver have to power up to do the carrier
detection and transmitter/receiver only passes through the data. With the equipped capability of the ADRV9001, it detects the DMR and
FM signal independent of the baseband processor during its idle state, so that the baseband processor could sleep at the whole idle state to
extent the battery life. Please refer to Rx Demodulator section for more details.
RECEIVE DATA CHAIN API PROGRAMMING
A set of receiver data chain APIs are provided for user interaction with the ADRV9001 device receive datapath. Some of them have been
briefly discussed in the previous sections. This set of APIs could be classified into 3 categories: Receiver Gain APIs, Interface Gain APIs
and Miscellaneous APIs as shown in Table 48
Table 49 and Table 50, respectively. Each table summarizes the list of API functions with a
brief description for each one. More APIs will be provided to user in the future to allow more programmability of the receiver datapath.
Please refer to the ADRV9001 Device API doxygen document for more details.
Table 48. A List of Rx Gain APIs
Rx Gain API Function Name
Description
adi_adrv9001_Rx_GainTable_Write
Programs the gain table settings for Rx channels.
adi_adrv9001_Rx_GainTable_Read
Reads the gain table entries for Rx channels requested.
adi_adrv9001_Rx_Gain_Set
Sets the Manual Gain Index for the given Rx channel.
adi_adrv9001_Rx_Gain_Get
Reads the Rx Gain Index for the requested Rx channel.
adi_adrv9001_Rx_GainIndex_Gpio_Configure
Configure GPIO pins to route the ADRV9001 Rx1 and Rx2 gain indices
Table 49. A List of Interface Gain APIs
Rx Gain API Function Name
Description
adi_adrv9001_Rx_InterfaceGain_Configure
Sets the Rx interface gain control configuration parameters for the given Rx channel.
adi_adrv9001_Rx_InterfaceGain_Set
Sets the Rx interface gain for the given Rx channel.
adi_adrv9001_Rx_InterfaceGain_Inspect
Gets the Rx interface gain control configuration parameters for the given Rx channel.
adi_adrv9001_Rx_InterfaceGain_Get
Gets the Rx interface gain for the given Rx channel.
adi_adrv9001_Rx_DecimatedPower_Get
Gets the decimated power at configurable locations for the specified channel.
Table 50. A List of Rx Miscellaneous APIs
Rx Miscellaneous API Function Name
Description
adi_adrv9001_Rx_Rssi_Read
Reads the received signal power measurement in both linear and dB format.
adi_adrv9001_Rx_FrequencyCorrection_Set
Corrects for small deviations in Rx LO frequency offset.
adi_adrv9001_Rx_AdcSwitchEnable_Set
Sets the readiness of dynamic switch between Low Power and High Performance ADCs.