AD7091R-8

Hello
I'm trying to set up communication with AD7091R-8. In setup I send following SPI command: 0X0CFF, 0X08FF, 0XFFFF, 0XFFFF, 0X00FF. Then I periodically send 0X0020 and I'm trying to read channel 5. I'd like to read one channeland them sequential readings. I inserted pictures from the logic analyzer into the attachment. I guess I'm getting bad data. Could you help me.

Thank you

Lukáš Mistr

attachments.zip
  • 0
    •  Analog Employees 
    on Mar 16, 2018 3:40 AM

    Hi Mistr,

       In your sequence, try writing 0x0CFF only , then try pulsing 9 CONVST after the write. The CONVST is a negative pulse width, max of 500ns(10 ns min). Every CONVST pulse a conversion data should be clock out except on the first pulse after the write.

    Regards,

    Jonathan

  • Hi Jonathan,


    it is my mistake 0x0800. Now i sending periodically this data:

    //prepare reading

    0x0DFF //set channel register
    0x01FF //set channel sequencer
    0x0000 // of the reasons for the latency

    //read

    CONVST //pulse width 20 Microseconds
    0x0000 // read data from convert
    CONVST //pulse width 20 Microseconds
    0x0000 // read data from convert
    CONVST //pulse width 20 Microseconds
    0x0000 // read data from convert
    CONVST //pulse width 20 Microseconds
    0x0000 // read data from convert
    CONVST //pulse width 20 Microseconds
    0x0000 // read data from convert
    CONVST //pulse width 20 Microseconds
    0x0000 // read data from convert
    CONVST //pulse width 20 Microseconds
    0x0000 // read data from convert
    CONVST //pulse width 20 Microseconds
    0x0000 // read data from convert

    When I use this, all works fine. The question is why I need to use the 0x0DFF command instead of 0x0CFF and 0x01FF instead of 0x00FF. If I use only 0x0CFF and 0x00FF I do not read the last channel. The second question is about the pulse width of CONVST. If it decrease from the current 20 microseconds so the result is not correct.


    Regards,
    Mistr

  • Hi Jonathan, 

    I tried use your advice but witout success. Next, I joined a 3 AD in the daisy chain modu and the two AD sending data correctly to command (0x0DFF, 0x01FF 0x0000 ... ) but slave C sending only channel 0 

  • 0
    •  Analog Employees 
    on Aug 2, 2018 4:02 PM
    This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin