Preliminary Technical Data  UG-1828 
 
Rev. PrC | Page 43 of 338 
SYSTEM INITIALIZATION AND SHUTDOWN 
A graphical user interface (GUI) based transceiver evaluation software (TES) is provided to user to initialize and interact with the 
ADRV9001 device. Through this TES, user could provide high level system configuration parameters such as signal bandwidth, sample 
rate and initial gain control settings to initialize the device. The TES uses the user provided parameters to set up an initialization C 
structure and then makes multiple API calls in a proper order to initialize the device. During the normal operation of the device, the TES 
allows further user interaction with the device, such as adjusting the transmit/receive gain on the fly. When the operation is completed, 
the user can safely shut down the device through TES. Figure 20 describes the high level flow of the device operation sequence and the 
user interaction through TES. 
START
Initialization
Normal Operation
Shutdown
END
User provides initialization 
parameters to TES.
TES sets up the C structure 
and calls API commands.
User adjust parameters on 
the fly through TES.
User safely shuts down the 
device through TES.
1: Analog Initialization APIs
2: Resources Loading APIs
3: Radio Initialization APIs
4: Initial Calibration APIs
5: Channel Prime APIs
Shut Down ADRV9001 API
API commands
...
 
Figure 20. High Level Flowchart of the Device Operation and User Interaction Through TES 
As indicated in Figure 20, the purpose of this section is to provide user information about the initialization and shutdown process for the 
ADRV9001 device utilizing the APIs developed by ADI. Figure 20 listed all high level operations used for initialization and shutdown 
through one or a set of APIs. In the later sections, the major steps associated with each high level operation are further discussed. Note 
with Software Development Kit (SDK) provided to the user, The ADRV9001 device can be initialized through the user’s own software 
program independent of TES. However, the same API calling procedure described in this document should be followed. 
Note all the information discussed in this section is subject to change over the time. It is not the intention of this section to explain every 
related API function. Detailed information regarding the API functions can be found in the ADRV9001 Device API doxygen document. 
In addition, this section does not describe API integration and the hardware abstraction Interface. Details of such can be found in the 
Software Integration section. To find more details about the TES, refer to the Transceiver Evaluation Software (TES) section. 
TES CONFIGURATION AND INITIALIZATION 
The TES provides a Config tab that contains all the setup options for the ADRV9001. Under the Config tab, the user could configure 
each channel of the device for a desired profile under the Device Configuration subtab, which sets high level parameters such as duplex 
mode, data port sample rates and RF channel bandwidth. Then the user could further initialize the options used by the device during 
startup under other subtabs, such as the carrier frequencies, ADC type and initial calibrations. Note GUI design could change 
significantly over the time, see the ADRV9001 Evaluation System section for up-to-date information. 
Based on the parameters set by the user, an initialization structure, adi_adrv9001_Init_t, is formulated by TES to contain all the required 
settings to configure the device. This structure contains the system configuration setting, the system clock settings, transmit/receive data 
structure settings and Programmable FIR filter settings. Please refer to the doxygen document for more details. 
After all tabs are configured, the user must press the Program button in TES. This kicks off initialization programming. TES sends a 
series of API commands that are executed by a dedicated Linux application on the platform. This initialization structure is passed to the