AD7172-2 channel sequencer


I use two externl 4ch MUXs with AD7172-2 to get 8ch ADC system.
AD7172-2 setting is as follows
 ch0(Ain0-Ain1) and ch1(Ain2-Ain3) enabled.
 MUX_IO is set and GPIO0, GPIO1 are used to switch external 4ch MUXs.
 use continuous conversion mode.

How does the channel sequencer switch ch0, ch1 and external MUXs with GPIOs ?
ch0(GPIO=00)--->ch0(GPIO=01)--->ch0(GPIO=10)--->ch0(GPIO=11)---> ch1(GPIO=00)--->ch1(GPIO=01)--->ch1(GPIO=10)--->ch1(GPIO=11)

in the data sheet of AD7172-2, explanation of MUX_IO says:
This bit allows the ADC to control an external multiplexer, using GPIO0/GPIO1
in sync with the internal channel sequencing.
The analog input pins used for a channel can still be selected on a per channel basis.
Therefore, it is possible to have a 4-channel multiplexer in front of AIN0/AIN1 and
another in front of AIN2/AIN3, giving a total of eight differential channels with the AD7172-2.
However, only four channels at a time can be automatically sequenced.
A delay can be inserted after switching an external multiplexer (see the delay bits in the ADC Mode Register section).

"""However, only four channels at a time can be automatically sequenced."""
What does this means ?
Do I need to do something to switch from ch0 to ch1 ?

Thank you.

  • 0
    •  Analog Employees 
    on Jan 23, 2019 9:55 AM


    Yes, you can have 4 channel in front of AIN0/AIN1 and another four in front of AIN2/AIN3. However, there are only 4 internal channels in AD7172-2, thus only 4 channels can be automatically sequenced. And the sequence will be from Channel 0 to Channel 3, so whatever AIN+ or AIN- input pins you have selected for these particular channels will be your sequence. Since AD7172 has a cross point multiplexer you can also select any analog input combination you want. But let say for example you want to use AIN0/AIN1 as your input pair for 4 external differential channels and another 4 external differential channels for AIN2/AIN3. My suggestion is to enable the mux for your AIN0/AIN1 and disable the other mux for AIN2/AIN3, enable all channels (ch0 to ch3) with the same AINP=AIN0 and AINM=AIN1 settings, set ADC in single conversion mode, monitor DRDY line and read back the conversions. Then disable the mux, enable the second mux, change the settings to AINP=AIN2 and AINM=AIN3 and repeat the loop. There is also a delay that can be programmed ("DELAY" bits in MODE register) so the ADC will wait a short time before start of each conversion allowing external circuit to settle after switching. You can look into that. Please take note also the timing after single conversion as the ADC will put to standby mode. Please advise if this solution would fit your application or if you want anything specific in terms of channel sequencing just let me know.



  • Hi Jellenie,

    Thank you for the explanation and suggestion.

    I tested AD7172-2's MUX-IO function using my board.

    I now understand that I misunderstood the function.

    I got another question.

    After starting conversion, do I have to keep analog input signal stable until the conversion ends ?

    If input signal is sampled and hold by the internal circuit,  can I switch to the next signal while

    conversion is in process ?

    Thank you.


  • 0
    •  Analog Employees 
    on Jan 28, 2019 10:10 AM in reply to toda


    No, a settling time is required upon switching channels, so you have to keep the analog input stable for the 1st conversion for each channel until the required settling time has reached (but the DRDY pin will take care of it). Settling time will depends on the selected ODR and filter type (please see table 20-24 of the AD7172-2 Datasheet. Please take note also the timing after single conversion as the ADC will put to standby mode. So it will be need additional approximately 128 modulator clocks to power up and settle.



  • Hi Jellenie,

    Thank you for the explanation.

    I think I must re-design my software.

    Best wishes,