Datasheet
www.ti.com
CONNECTING MULTIPLE DEVICES
1
2
3
6
5
4
V
IN-
V
IN+
SCL
GND
V
DD
SDA
ADS1000
V
DD
Microcontrolleror
Microprocessor
withI CPort
2
SCL
SDA
NOTE:ADS1000power
andinputconnections
omittedforclarity.
1
2
3
6
5
4
SDA
SCL
I CPull-UpResistors
1k to10k (typ.)W W
2
V
DD
Microcontrolleror
Microprocessor
withI CPort
2
V
IN-
V
IN+
SCL
GND
V
DD
SDA
ADS1000A0
1
2
3
6
5
4
V
IN-
V
IN+
SCL
GND
V
DD
SDA
ADS1000A1
1
2
3
6
5
4
V
IN-
V
IN+
SCL
GND
V
DD
SDA
ADS1100A2
NOTE:ADS1000power
andinputconnections
omittedforclarity.
USING GPIO PORTS FOR I
2
C
ADS1000
SBAS357A – SEPTEMBER 2006 – REVISED OCTOBER 2007
Connecting two ADS1000s to a single bus is almost
trivial. An example showing two ADS1000s and one
ADS1100 connected on a single bus is shown in
Figure 10 . Multiple devices can be connected to a
single bus (provided that their addresses are
different).
Note that only one set of pull-up resistors is needed
per bus. A user might find that he or she needs to
lower the pull-up resistor values slightly to
compensate for the additional bus capacitance
presented by multiple devices and increased line
length.
Figure 11. Using GPIO with a Single ADS1000
Bit-banging I
2
C with GPIO pins can be done by
setting the GPIO line to zero and toggling it between
input and output modes to apply the proper bus
states. To drive the line low, the pin is set to output a
'0'; to let the line go high, the pin is set to input. When
the pin is set to input, the state of the pin can be
read; if another device is pulling the line low, this
device will read as a '0' in the port input register.
Note that no pull-up resistor is shown on the SCL
line. In this simple case, the resistor is not needed;
the microcontroller can simply leave the line on
output, and set it to '1' or '0' as appropriate. It can do
this because the ADS1000 never drives its clock line
low. This technique can also be used with multiple
devices, and has the advantage of lower current
consumption resulting from the absence of a resistive
pull-up.
If there are any devices on the bus that may drive
their clock lines low, the above method should not be
used; the SCL line should be high-Z or zero and a
pull-up resistor provided as usual. Note also that this
cannot be done on the SDA line in any case,
because the ADS1000 does drive the SDA line low
Figure 10. Connecting Multiple ADS1000s
from time to time, as all I
2
C devices do.
Some microcontrollers have selectable strong pull-up
circuits built into the GPIO ports. In some cases,
Most microcontrollers have programmable
these can be switched on and used in place of an
input/output pins that can be set in software to act as
external pull-up resistor. Weak pull-ups are also
inputs or outputs. If an I
2
C controller is not available,
provided on some microcontrollers, but usually these
the ADS1000 can be connected to GPIO pins, and
are too weak for I
2
C communication. If there is any
the I
2
C bus protocol simulated, or bit-banged, in
doubt about the matter, test the circuit before
software. An example of this for a single ADS1000 is
committing it to production.
shown in Figure 11 .
12 Submit Documentation Feedback Copyright © 2006 – 2007, Texas Instruments Incorporated
Product Folder Link(s): ADS1000