2

I have read that "I2C standards does not allow to connect slaves with same address on same master.". Also each chip vendor assigns an address for I2C communication.

Question 1- Would all ADS7830 have same I2C address (I think it is 0x4B) Question 2 - If all ADS7830 have same I2C address, does this mean I can't use more than one in the same circuit?

Manu Chadha
  • 147
  • 4

1 Answers1

6

The ADS7380 has, according to the data sheet 2 address pins. That means you can connect up to 4 of them to the same I2C bus. If you need more, you can either use multiple I2C busses (the Raspberry Pi 4 has up to 6 of them) or use I2C multiplexers.

If you use breakout boards, they usually use pull-downs on the address pins, but you can normally still change them, either by soldering a bridge on the board or by using the A0 and A1 pins, if they're wired out.

PMF
  • 804
  • 4
  • 12
  • Thanks. How do I assign the address to individual ones? Eg. in one of the codes I saw, the address assigned is `0x4b` which is the default i2c address for ADS7830 Module. Though I don't understand from where this value comes and what the next 3 addresses should be – Manu Chadha Jan 03 '22 at 16:28
  • That depends on the exact kind of breadboard you use (if any). Which product do you have? – PMF Jan 03 '22 at 18:20
  • ADS7830 for ADC. Rasberry Pi 3, This breadboard (pic from a different question I asked earlier) https://raspberrypi.stackexchange.com/questions/132164/why-the-gpio-light-gets-switched-on-but-not-scl1/132166?noredirect=1#comment224756_132166 – Manu Chadha Jan 03 '22 at 18:28
  • I think I found the answer (but will be happy for you to confirm). The datasheet says that the first 5 bits MSB of address are fixed to `10010` followed by `A1` and `A0`. So possible addresses are hex 0x48 (for 00), 0x49 (for 01), 0x4A (for 10) and 0x4B (for 11). The default input for pins A1 and A0 seem to be high (pull up) so 4B is the default address. If I ground A1 and A0 then I get pattern 48, 49,4A. So if I want to use 4 ADC, I'll need to wire their addresses like this. – Manu Chadha Jan 03 '22 at 19:26
  • That makes sense. The default values differ by manufacturer, but with your observation, that should work for you. You can always use i2cdetect to check whether the address change worked. (Note that you should avoid changing the addresses while the device is powered. Some devices may act unpredictably after that) – PMF Jan 04 '22 at 05:45