Let's Make Robots!

Help with circuit :P

Hello, i just received my samples of max127acng+ (datasheet). It's an i2c ADC with lots of inputs :) There's a typical circut drawing on it, this one:


Can you explain me what are the componens ?  In particular what are the three capacitor ? why two are different (the ones with the + and the curve) ?

and also: why that resistor ? and is it placed so near the UC becouse i have to put it there? shouldn't it be near the maxim chip, before the SDA bus? If i connect another i2c device, it's SDA should be directly connected the the Maxim SDA ? 


Thanks guys :) 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The ones with the curve and + are polarised. With disc ceramic types (parallel straight lines), it doesn't matter what way round you put them, but with electrolytic types, you need to put them the right way round.

The three parallel horizontal bars getting shorter towards the bottom are just a common ground. Normally these are all connected to the battery cathode.

The wiggly line is a resistor, but you already knew that!!

The resistor is because the SDA line is bi-directional. Imagine the microcontroller and the ADC both tried to talk at the same time and one tried to pull the lie high while the other was trying to pull it low... You'd have an instant one-shot smoke generator!

That resistor will be OKay as the MCU is the master. Put it in the line between the master and the rest of the bus. No two slave devices should be trying to talk on the bus unless the master asks them a question, so it's usually OKay to connect all your slaves in parallel with no resistors between.

Usual disclaimer for all you I2C experts: Yes, this is a simplified explaination. Yes, there are details missing.

ok, i'm going to build this circuit, i just purchased all the stuff.

But there's a couple of things that baffle me, REF and REFADJ. the datasheet says:

REFADJ   Bandgap Voltage-Reference Output/External Adjust Pin. Bypass with a 0.01µF
             capacitor to AGND. Connect to VDD when using an external reference at REF.

 REF       Reference Buffer Output/ADC Reference Input. In internal reference mode, the
             reference buffer provides a 4.096V nominal output, externally adjustable at
             REFADJ. In external reference mode, disable the internal reference by pulling
             REFADJ to VDD and applying the external reference to REF.


Uhm now i want to have a scale 0-5 Volts. If i understood correctly, i should connect both  REF and REFADJ to VDD (+5V), right? REFADJ to 5V to disable the internal reference, and then REF to 5V to give my own external reference. Is it correct?


But it also says (in table 3):

MAX127  Range:0 to 5   Full Scale: VREF x 1.2207

So given that 1.2207 * 4.096 gives  4,9999872 (5 volts), maybe i should just use the internal reference?

Thanks everybody :P 

many thanks boa.. So i can just go to the store and ask for two electrolytic capacitor of the given values and one disc ceramic capacitor ?

ok for the resistor. So that's a general rule, isn't it? i should apply that resistor to each i2c circuit i have? 

By the way, i've always wondered: how do a chip pull a line low?

I believe they should understand your requirements, yes.

Actually, I've reconsidered this resistor and I feel the example circuit may be incorrect, or incomplete.

Normally, inside a PIC, for example, there is a pair of transistors at the output.. If the CPU wants the output high, it asserts the "high side" transistor which pulls the output up. If it wants the output low, it asserts the "low side" transistor which pulls the output to ground.

This is no the case for the I2C SDA line. Because it's bidirectional (both master and are able to assert it), there is no pullup the output. (This removes the possibility of one-shot smoke mode. It's called an "open-drain" output.) Instead, you should put an external resistor which pulls the SDA line high all the time, which means that either the master or the slave is able to pull the line low, but it "floats" high.

I feel that the master and slave SDA lines should be connected together but that there should be a resistor pulling the whole SDA line to +5V. There should also be a pullup on the SCL line IF it is an open-drain output from the master. (Look at the description of DIP pin 7 on page 8.)

However, this is an elementary error and it's not one that Maxim would make. So I'm flummoxed as to the meaning of this resistor. It may be that they have assumed an MCU is in use which can actively pull the line high.

Uhm i think you're talking about the "usual" i2c pullup resistors, aren't you? In my case they're included in the Arduino board (and in the PICAXE board too). Maybe it's standard to consider them part of the i2c master. Maybe they say something about that on the datasheet (i need to read it better :P )

Else, i'm not good enought to follow your reasoning :( I hope i'll not make a mess of a circuit :P


Thanks boa! 

Just copy the circuit is my advice. The 1K resistors certainly won't cause it to stop working!