AnsweredAssumed Answered

AD9364 multibyte read/write implementation

Question asked by ravi@k2-inc.com on May 12, 2015
Latest reply on May 20, 2015 by ravi@k2-inc.com

Hello Forum,

 

I am implementing spi_write_then_read API for my MCU platform integrated with AD9364 over SPI using no-OS driver specified on http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/baremetal#downloads

 

I see that the AD9364 no-OS driver uses following SPI multi-byte read/write command format

Bit15 : 1 = Write or 0 = read

Bit14:12 : 0 = 1 to 7 = 8 byte Multi-byte read/write command

Bit9:0 : 10 bit SPI register address

If write command, then the buffer follows with write values.

 

With this above format used in ADI provided no-OS driver, MCU is not able to do multi-byte SPI read/write operation on AD9364.

 

In order to make multi-byte SPI read/write operation on AD9364 on my MCU platform, I have to use following command format

Bit15 : 1 = Write or 0 = read

Bit6:4 : 0 = 1 to 7 = 8 byte Multi-byte read/write command

Bit1: 0 : Bit 9:8 of 10 bit SPI register address

Next buffer:

Bit15:8 : Bit 7:0 of 10 bit SPI register address

If write command, then the buffer follows with write values.

 

My question is what settings are required in ADI AFE or SPI bus to make it work with ADI AFE provided multi-byte read/write format.

 

Thanks,

Ravi

Outcomes