ADA4350 multiple devices on SPI bus

Hello,

In my project I use 3 ADA4350 amplifiers, and I want to control them via SPI bus. I plan to connect them together (i.e. the SCLK, MISO and MOSI lines are connected in parallel to all 3 ADA4350's) with a separate CS line for each slave device. I.e. as follows:

Now, according to this other forum post https://ez.analog.com/amplifiers/f/q-a/14726/conflicting-spi-devices

the ADA4350 keeps it's SDO-line always driven unless disabled by software by writing 1 in the 23rd bit in the register. But on startup, the default is 0, so the SDO line is driven. Could this cause a short-circuit between the three ADA4350's? Or does the SDO-line go Hi-Z when the slave is not selected (CS line high) ??

So how can I use all 3 ADA4350's on the same SPI bus together?

I know that similar questions have already been asked in this forum, but there were no complete answers.

Thank you in advance!

Top Replies

Parents
  • +1
    •  Analog Employees 
    on Dec 16, 2019 4:08 AM over 1 year ago

    HI Marcel457,

    Apologies for the late response.
    The case of SPI line conflict on https://ez.analog.com/amplifiers/f/q-a/14726/conflicting-spi-devices shows that the SDO pin is driven unless it's disabled through the 24-bit register of ADA4350.

    The configuration with three independent slaves (the schematic you showed) may be used with ADA4350 and
    I don't see any issue with it unless you perform a read operation on one of the ADA4350s without disabling the SDO pin on
    the other ADA4350s.

    On start-up, you can perform a write operation on all the ADA4350s disabling the SDO pins, and only enabling the SDO pin to the ADA4350 where you'll perform the read operation. Also take note that you should write 1 in the 14th bit of the register instead of the 23rd bit stated in table 14 of the datasheet.

    Let me know how it turns out Marcel457.

    Best Regards,
    Dann

  • I built my amplifier and tested it and the SPI communication with one single device works reliably now. I think for multiple devices on the bus the steps for configuration should be as follows:

    1.) disable the SDO/MISO line for all ADA4350 devices
    2.) write configuration to device1 and enable SDO line of device1
    3.) read back configuration of device1 and verify it
    4.) disable SDO line of device1 again
    5.) repeat steps 2.) to 4.) for each additional ADA4350 device on the SPI bus

    though I didn't test it yet. As for now I think I will go without using the SDO line at all, since anyway the only purpose is to read back and verify the written configuration. But honestly I think It would have been better to design the ADA4350 so that in SPI mode, the SDO line goes Hi-Z when the SPI slave is deselected (i.e. when the CS line is high). This would avoid this complicated procedure when using multiple devices on one bus.

    Anyway, thanks again for your help!

Reply
  • I built my amplifier and tested it and the SPI communication with one single device works reliably now. I think for multiple devices on the bus the steps for configuration should be as follows:

    1.) disable the SDO/MISO line for all ADA4350 devices
    2.) write configuration to device1 and enable SDO line of device1
    3.) read back configuration of device1 and verify it
    4.) disable SDO line of device1 again
    5.) repeat steps 2.) to 4.) for each additional ADA4350 device on the SPI bus

    though I didn't test it yet. As for now I think I will go without using the SDO line at all, since anyway the only purpose is to read back and verify the written configuration. But honestly I think It would have been better to design the ADA4350 so that in SPI mode, the SDO line goes Hi-Z when the SPI slave is deselected (i.e. when the CS line is high). This would avoid this complicated procedure when using multiple devices on one bus.

    Anyway, thanks again for your help!

Children
No Data