UG-1828
SERIAL PERIPHERAL INTERFACE (SPI)
The SPI bus provides the mechanism for digital control by a baseband processor. Each SPI register is 8 bits wide, and each register
contains control bits, status monitors, or other settings that control all functions of the device. This section is mainly an information-
only section meant to give the user an understanding of the hardware interface used by the baseband processor to control the device. All
control functions are implemented using the API detailed within this document. The following sections explain the specifics of this
interface.
SPI CONFIGURATION
Users can configure SPI settings for the device with different SPI controller configurations by configuring member values of the
adi_adrv9001_SpiSettings_t data structure. The adi_adrv9001_SpiSettings_t data structure contains:
typedef struct adi_adrv9001SpiSettings
{
uint8_t msbFirst;
uint8_t enSpiStreaming;
uint8_t autoIncAddrUp;
uint8_t fourWireMode;
adi_adrv9001_CmosPadDrvStr_e cmosPadDrvStrength;
} adi_adrv9001_SpiSettings_t;
The parameters for this structure are listed in Table 12.
Table 12. SPI Settings Data Structure
Structure Member
MSBFirst
enSpiStreaming
autoIncAddrUp
fourWireMode
cmosPadDrvStrength
Any value that is not listed in the table is invalid.
For more details please refer to ADRV9001_API doxygen file provided in ADRV9001 SDK package.
Value
Function
0x00
Least significant bit first
0x01
Most significant bit first
0x00
Disable SW feature. Section Multi-Byte Data Transfer (SPI
Streaming) describes this mode of operation.
0x01
Enable SW feature to improve SPI throughput. Section
Multi-Byte Data Transfer (SPI Streaming) describes this
mode of operation.
Not Recommended since most registers in ADRV9001 API
are not consecutive
0x00
Auto-decrement. Functionality intended to be used with SPI
Streaming.
Sets address auto-decrement -> next addr = addr -1
0x01
Auto-increment. Functionality intended to be used with SPI
Streaming.
Sets address auto-increment -> next addr = addr +1
0x00
SPI hardware implementation. Use 3-wire SPI (SDIO pin is
bidirectional). Figure 23 shows example of SPI 3-wire mode
of operation.
NOTE: ADI's FPGA platform always uses 4-wire mode.
0x01
SPI hardware implementation. Use 4-wire SPI. Figure 21 and
Figure 22 show examples of SPI 4 –wire mode of operation.
NOTE: Default mode for ADI's FPGA platform is 4-wire mode.
0x00
5pF load @ 75 MHz
0x01
100pF load @ 20 MHz
Rev. PrA | Page 40 of 253
Preliminary Technical Data
Default
0x01
0x00
0x01
0x01
0x01
Need help?
Do you have a question about the ADRV9001 and is the answer not in the manual?