UG-1828 Preliminary Technical Data
Rev. PrB | Page 38 of 277
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 so on. 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.
LOAD STREAM IMAGE
adi_adrv9001_Utilities_Resources_Load
LOAD ARM IMAGE
LOAD ARM PROFILE
LOAD PFIR
COEFFICIENTS
LOAD Tx/Rx/ORx
GAIN TABLES
START ARM.
INITIALIZE
DIGITAL CLOCKS,
PROGRAM
CLK PLL AND ETC.
adi_adrv9001_Utilities_
ArmImage_Load
adi_adrv9001_arm_
Profile_Write
adi_adrv9001_arm_
PfirProfiles_Write
adi_adrv9001_Utilities_
Tables_Load
adrv9001_ArmStart
adi_adrv9001_Utilities_
StreamImage_Load
24159-019
Figure 18. Load Resources and Digital Initialization
Radio Initialization
After digital initialization, the next step is radio 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.
GPIO CONFIGURATION
adi_adrv9001_gpio_ControlInit_
CONFIGURE
adi_adrv9001_Utilities_InitRadio_Load
SET LOOP FILTER CONFIGURATION FOR
PLL LO1, PLL LO2 AND AUX PLL
SET CARRIER FREQUENCY
SET TDD TIMING PARAMETERS
ENABLE ADC DYNAMIC SWITCH
24159-020
Figure 19. Radio Control Initialization
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 transmit and receive
channels are enabled by the user.
Note after the channel is primed, in order to start the normal transmit or reception activities, it must be further transitioned from primed
state to RF enabled state. This can be accomplished by a set of API calls. There are two modes for channel enabling, which are PIN mode
and SPI mode.
PIN Mode