UG-1828
and baseband processor data interface for all devices. For simplicity, in the following descriptions, MCS operations are omitted from the
initialization steps. Refer to Clock Generation and Multichip Synchronization section in the user guide for more details.
Analog Initialization
Analog initialization API adi_adrv9001_InitAnalog() is the very first API call to configure the device after all dependent data structures
have been initialized. It mainly sets the master bias, validates the profile settings and configures the analog clocks.
Digital Initialization
After analog initialization, adi_adrv9001_Utilities_Resources_Load() is the next API call. It loads all the resources such as stream image,
ARM image, programmable FIR (PFIR) coefficients and etc. It also enables the internal microprocessor and initialize digital clocks.
This API further calls a set of sub-APIs as shown in Figure 18. The order of the major sub-API calls is from the left to the right
sequentially. The functionality of each sub-API is explained in the box below it. At the end, this function further programs transmit
attenuation configurations.
adi_adrv9001_Utilities_
StreamImage_Load
LOAD STREAM IMAGE
Radio Initialization
After digital initialization, the next step is radio control initialization through API call adi_adrv9001_Utilities_InitRadio_Load(), which
is used to load any radio configuration data not passed by profile before performing initial calibrations, such as GPIO configurations and
PLL frequencies.
This API further calls a set of sub-APIs as shown in Figure 19 (private APIs are not shown). Similarly, the order of the major sub-API
calls is from the left to the right sequentially. The functionality of each sub-API is explained below it.
adi_adrv9001_gpio_ControlInit_
Calibrations Initialization
The next step in initialization is to perform initial calibrations through API call adi_adrv9001_cals_InitCals_Run() based on calibration
mask. To understand calibration mask, see the Transmitter/Receiver/Observation Receiver Signal Chain Calibrations section. When
initial calibrations are correctly performed, the channel state is transitioned from standby to the calibrated state as shown in Figure 17.
Prime and RF Enable
The last step in initialization is to move the device from calibrate to the primed state through API call
adi_adrv9001_Radio_Channel_Prime(). The primed state indicates that the system is ready for operation when the Tx and Rx channels
are enabled by user.
adi_adrv9001_Utilities_Resources_Load
adi_adrv9001_Utilities_
adi_adrv9001_arm_
ArmImage_Load
Profile_Write
LOAD ARM IMAGE
LOAD ARM PROFILE
Figure 18. Load Resources and Digital Initialization
adi_adrv9001_Utilities_InitRadio_Load
CONFIGURE
GPIO CONFIGURATION
Figure 19. Radio Control Initialization
adi_adrv9001_arm_
PfirProfiles_Write
LOAD PFIR
COEFFICIENTS
SET LOOP FILTER CONFIGURATION FOR
PLL LO1, PLL LO2 AND AUX PLL
SET CARRIER FREQUENCY
SET TDD TIMING PARAMETERS
ENABLE ADC DYNAMIC SWITCH
Rev. PrA | Page 38 of 253
Preliminary Technical Data
adi_adrv9001_Utilities_
adrv9001_ArmStart
Tables_Load
START ARM.
LOAD Tx/Rx/ORx
INITIALIZE
GAIN TABLES
DIGITAL CLOCKS,
PROGRAM
CLK PLL AND ETC.
Need help?
Do you have a question about the ADRV9001 and is the answer not in the manual?