AD7616 Burst Sequence in Serial Software Mode

Hello?

I looking for procedure of Burst Sequence. (1-wire Serial, Software Mode)

I want to set V0A-V0B-V1A-V1B-V2A-V2B-V3A-V3B-V4A-V4B-V5A-V5B-V6A-V6B-V7A-V7B.(and then loop-back)

I did for this list.

1. RESET High and Low

2. skipped input range setting.(using default +-10V)

3. setting seqencer stack channel

  - 0x20 ; 0, 0 (transmit 0xc000)

  - 0x21 ; 1, 1 (transmit 0xc211)

  - 0x22;  2, 2 (transmit 0xc422)

  - 0x23;  3, 3 (transmit 0xc633)

  - 0x24;  4, 4 (transmit 0xc844)

  - 0x25 ; 5, 5 (transmit 0xca55)

  - 0x26;  6, 6 (transmit 0xcc66)

  - 0x27;  7, 7 (transmit 0xce77)

4. Setting seqencer stack SSRENx bit

  - 0x20 ; 1 (transmit 0xc100)

  - 0x21 ; 1 (transmit 0xc311)

  - 0x22;  1 (transmit 0xc522)

  - 0x23;  1 (transmit 0xc733)

  - 0x24;  1 (transmit 0xc944)

  - 0x25 ; 1 (transmit 0xcb55)

  - 0x26;  1 (transmit 0xcd66)

  - 0x27;  1 (transmit 0xcf77)

5. CONVST Set High and Low

6. After read loop 16 word (16 bit x 2(A/B) x 8 times(0~7)) using transmit 0x0000

it is only read V0A / V0B 8 times each.

How to read normally at once?

Please reply.

Thank you.



adding tags
[edited by: Lluis at 4:06 PM (GMT 0) on 2 Dec 2019]
Parents
  • +1
    •  Analog Employees 
    on Dec 2, 2019 4:16 PM 10 months ago

    Hello,

    There are two things I want to note from your procedure above:

    -RESET line is active low, so you should tie it high when idle

    -steps 3 and 4 should be merged into one, i.e. you need to assert SSRENx only once. On the last channel within the sequence. So, you should have instead:

    1. Toggle Reset (and wait the required time). Make sure SER1W pin is low prior to the full reset

    2. Write the Sequencer stack registers:

    - 0x20 ; 0, 0 (transmit 0xc000)

      - 0x21 ; 1, 1 (transmit 0xc211)

      - 0x22;  2, 2 (transmit 0xc422)

      - 0x23;  3, 3 (transmit 0xc633)

      - 0x24;  4, 4 (transmit 0xc844)

      - 0x25 ; 5, 5 (transmit 0xca55)

      - 0x26;  6, 6 (transmit 0xcc66)

      - 0x27;  7, 7 (transmit 0xcf77) SSRENx high, so it tells the device that this should be the last item on the sequence

    3. Bring DIN low and issue a dummy conversion

    4. Toggle CNVST and wait for BUSY line to de-assert

    5. Read 16bit * 2ADCs * 8ch while keeping DIN tied low and loop back to 4.

    I hope this helps.

    Regards,

    Lluis.

  • I've solved. The method was corrected, but my MCU had problem.

    Busy time for all conversions is about 7 us, after 16 bit * 16 sample load is O.K.

    Thank you.

Reply Children