2

I've got a couple of ADCs on the same I²C bus, which all default to the same address. My first instinct tells me to use an I²C multiplexer like the TCA9544A but that would require sending a byte to the MUX before getting the data from the ADC and I'd like to avoid that (since I need to continuously read data pretty much as quickly as I can).

The ADCs do support custom address assignment through I²C so I just need to make sure, that I'll send the configuration byte to one single ADC. I could include a FET into the SDL line to every ADC so that I'd have only one ADC connected during address assignment but there's probably a much more elegant solution since there must be a bunch of people out there having the same issue. My google search terms are just not good enough to find the answer :(

Clayton Louden
  • 263
  • 3
  • 13

1 Answers1

3

This problem is, indeed, pretty common. Here is the typical solution...

(All of this presumes you have spare pins to use, which vary well may not be the case.)

If the chip has a chip enable (CE) pin, you should be able to use that to allow multiple identical devices on the same bus and address. Unfortunately, your specified chip does not have this pin :(

Alternately, power the chips from MCU pin[s], which will have similar effect.


The first is the better option, since the chip won't necessarily need to be configured each time, and could potentially be running ADC captures while a different chip is using the bus.

Otherwise, the chip will require some startup and acquire time each time it's enabled/started. This will hurt bandwidth/latency, but that could be hidden.


If it can't be done the CE way, and the alternative is too problematic for you, then yes, you will most-likely need some kind of buffer IC. They do make units that do not require a config command. See mcmayer's comment to the original post.

Charlie
  • 365
  • 1
  • 9