This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DAC81404: Read operation possible in Daisy Chain ?

Part Number: DAC81404

Hello,

when using multiple DAC81404 in daisy-chained mode, is it still possible to perform a read operation (read back the registers of the DACs) ?
The SDO of the last DAC in the chain would be connected back to the host MCU/FPGA.

If it is possible, how would the read procedure look like ?

Thanks in advance for the help.

Regards,
Marcel

  • Hey Marcel,

    In the daisy chain configuration, while the shared chip select pin remains LOW, frames are sent sequentially through each device in the chain until the chip select goes high, at which point each device latches the command last received on SDI. Typically, this means the first command sent out by the host MCU will be latched by the last device in the chain, the second command will be latched by the second-to-last device, and so on.

    Therefore, say you had 4 DAC's in your daisy chain, and you wanted to read data from each of them. The timing diagram below shows how this would be done (note that this diagram refers to the pins on your MCU, i.e. the SDI line in the diagram is the SDI of the microcontroller, connected to the SDO of DAC3.)

                                                                         

    As seen from the color coding, the first 24 bits of frame N-1 reach DAC3 by the time all 96 bits are transmitted, and the Chip Select goes HIGH again. This latches the READ_CMD instruction in each respective DAC, and when the MCU initiates communication again by pulling chip select low, the DAC's respond with their respective data, in reverse order of their connection (as DAC3's output is the first to reach the MCU, followed by DAC2,DAC1 and finally DAC0). 

    If for example you only wanted data from DAC2, the timing diagram would have been as follows 

                                                                            

    Thus, the read operation can be performed by issuing a read command in the correct frame position, and parsing your data from the SDO of the last DAC (SDI of your MCU) appropriately.

    Hope this helps!

    Anshuman

  • Wow, thank you for the great explanation and help Anshuman!

    Have a great day!

    -Marcel