EasyManuals Logo

Analog Devices ADRV9002 User Manual

Analog Devices ADRV9002
338 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #49 background imageLoading...
Page #49 background image
Preliminary Technical Data UG-1828
Rev. PrC | Page 49 of 338
Single-Byte Data Transfer
When enSpiStreaming = 0, a single-byte data transfer is chosen. In this mode, CSB goes active-low, the SCLK signal activates, and the
address is transferred from the baseband processor to the device.
In LSB mode, the LSB of the address is the first bit transmitted from the baseband processor, followed by the next 14 bits in order from
next LSB to MSB. The next bit signifies if the operation is read (set) or write (clear). If the operation is a write, the baseband processor
transmits the next 8 bits LSB to MSB. If the operation is a read, the device transmits the next 8 bits LSB to MSB. Once the final bit is
transferred, the data lines return to their idle state and the CSB line must be driven high to end the communication session.
In MSB mode, the first bit transmitted is the R/Wb bit that determines if the operation is a read (set) or write (clear). The MSB of the
address is the next bit transmitted from the baseband processor, followed by the remaining 14 bits in order from next MSB to LSB. If the
operation is a write, the baseband processor transmits the next 8 bits MSB to LSB. If the operation is a read, the device transmits the next
8 bits MSB to LSB. Once the final bit is transferred, the data lines return to their idle state and the CSB line must be driven high to end the
communication session.
Multibyte Data Transfer
When enSpiStreaming = 1, a multi-byte data transfer is allowed. In this mode, data transfers across the bus as long as the CSB pin is low.
The autoIncAddrUp controls how the address changes for subsequent writes or reads. When autoIncAddrUp = 1, the address increments
from the starting address for each subsequent data transfer until CSB is driven high. If the last register address is reached, the next address
accessed is 0x000. When autoIncAddrUp = 0, the address decrements from the starting address for each subsequent data transfer. If
address 0x000 is reached, the next address that is accessed is the last register location defined in the register map. The register address
0x000 is used to setup SPI interface as well as functionality to soft reset the device. Uncontrolled data written to the register address 0x000
can cause SPI misconfigurations or can reset the device. It is strongly recommended that any data transfer using Multi-Byte Data feature
to be controlled so that 0x000 is only written once at startup.
For multi-byte data transfers in LSB mode, the LSB of the address is the first bit transmitted from the baseband processor, followed by the
next 14 bits in order from next LSB to MSB. The next bit signifies if the operation is read (set) or write (clear). If the operation is a write,
the baseband processor transmits the next 8 bits LSB to MSB. After the MSB is received, the address increments or decrements based on
the autoIncAddrUp parameter. The baseband processor, then continues to transfer data in 8-bit words, LSB to MSB, until the operation is
terminated by CSB being driven high. If the operation is a read, the device transmits the next 8 bits LSB to MSB. It then changes the
address and continues to transfer data in 8-bit words, LSB to MSB, until the operation is terminated by CSB being driven high.
For multi-byte data transfers in MSB mode, the same process is followed, except the first bit transferred indicates if the operation is read
(set) or write (clear). The starting address is then transmitted by the baseband processor MSB to LSB, followed by the data transfer, MSB
to LSB. Address increment or decrement is still controlled by the autoIncAddrUp parameter.
Using multi-byte data transfer mode provides little benefit because most registers in the device are not consecutive. It is up to the user to
determine if multi-byte data transfer enhances device control in their end application compared to the single command format.
Example: LSB-First Multibyte Transfer, Auto-Incrementing Address
To complete a 4-byte write starting at register address 0x02A and ending with register 0x02D in LSB-first format, follow these instructions
when programming the master:
Make sure that fourWireMode = 1 the device is configured to work with 4-wire interface.
Make sure that MSBFirst = 0 - SPI operates in LSB first mode.
Make sure that autoIncAddrUp = 1 - the address pointer automatically increments.
Make sure that enSpiStreaming = 1 - a multi-byte data transfer is allowed.
Force the CSB line low and keep it low until the last byte is transferred.
Send the instruction word 0101 0100 0000 000_0 (the last 0 indicates a write operation) to select 0x02A as the starting address.
Use the next 32 clock cycles to send the data to be written to the registers, LSB to MSB for each 8-bit word.
Make sure the CSB line is driven high after the last bit has been sent to 0x02D to end the data transfer.
Example: MSB-First Multibyte Transfer, Autodecrementing Address
To complete a 4-byte write starting at register address 0x02A and ending with register 0x027 in LSB-first format, follow these instructions
when programming the master:
Make sure that fourWireMode = 1 the device is configured to work with 4-wire interface.
Make sure that MSBFirst = 1 - SPI operates in MSB first mode.
Make sure that autoIncAddrUp = 0 - the address pointer automatically decrements.
Make sure that enSpiStreaming = 1 - a multi-byte data transfer is allowed.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Analog Devices ADRV9002 and is the answer not in the manual?

Analog Devices ADRV9002 Specifications

General IconGeneral
BrandAnalog Devices
ModelADRV9002
CategoryTransceiver
LanguageEnglish

Related product manuals