Max voltage on an input pin
groggory
Posts: 205
If I have the propeller running at VDD=3V, and I have a signal being triggered by a lipo based source that in my case will range from 3.0V - 4.2V will that potentially high voltage damage the propeller? ...or should I do voltage translation?
Comments
-Phil
So, 3.6 volts in answer to your question.
Logic high is defined as anything above 0.6Vdd, so anything above 2 volts. You could use a voltage divider to get the input you need.
http://www.parallax.com/Portals/0/Downloads/docs/prod/prop/PropellerDatasheet-v1.2.pdf
From a theoretical point of view, if there is no current (IO pin is set to input [high impedance]) then won't the voltage on the IO pin be whatever the battery voltage is, ie up to 4.2 volts? Which is outside the absolute maximum ratings, and hence should be avoided?
What do you think?
But in any case, it doesn't matter. I2C defines only the logic low. Logic high is from the pullup resistor, so in your circuit the high voltage on the I2C lines is 3v. Which is fine: the MAX17043 datasheet has logic high as 1.4v+. So, you don't need the I2C series resistors.
That's why it's not connected to the prop's power, which is switched on and off.
So you're saying my circuit is good, plus I can omit the series resistor, correct?
Ah. I assume by "connected to other things" you mean the !ALRT pin is connected to something? There isn't really much else to connect elsewhere...
Anyway, yes, your circuit without the series resistors should work fine.
Invoking the protection diodes is probably not the greatest way to go about it, but it's simple, ubiquitous, and effective.
-Phil
SRLM says no series resistors required.
PhiPi says 2.2k series resistors required.
...
My thoughts...
If the max17043 is an I2C slave, then I assume that it will never drive either line high. It's SCL line will be high-z, it's SDA line will pulse ground or sit at high-z.
The prop will be I2C master. It's SCL line will drive the line HIGH and LOW, aka +3 and 0V. It's SDA line will go to ground or be high-z.
So really, the only question is whether the 3V pullup is considered HIGH by the max17043 when the max17043's VDD line is sitting at 4.2V (worst case, largest voltage difference). According to the MAX17043's datasheet on page 2, the V(IH) value (minimum logic high) is 1.4V. So that tells me that 3V is perfectly acceptable as a voltage for HIGH.
Which makes me think that SRLM's response of, "no series resistors required" is correct.
...
What do you guys think?
Also, thank you so much for helping me with this! I really appreciate it!
Regarding the I2C interface: technically, according to the I2C specs, you need to pullup both the SDA and SCL lines, and only drive them low (never high). And yes, the 3V pullup is considered high by the MAX17043 (it's more than 1.4V).
I'm glad you posted. It made me realize that you probably don't need I2C level shifters for 3.3V and 5V devices sharing the same bus. As long as 3.3V is considered high by all the devices then you could connect them all to a bus pulled up to 3.3v. It's a very convenient feature.
@Phil
Ok, so assuming it's ok (even if it's not Kosher), then why not just use a ridiculously large value, say 10Mohm? Then you could practically guarantee less that 500uA under any positive voltage input.
To interface i2c on these two chips over these voltage parameters both lines should be pulled up to the propeller's VCC.
I2c should never drive the high, however, I believe some of the i2c objects on the obex do... Even though that is outside the i2c spec
A huge series resistor would increase rise times I believe... Which could lead to incorrect data being read off the i2c line... I may be wrong here. Also, if the input impedence of the prop were say 10M, and you used say, a 10M resistor, then sue to the voltage divider the prop would see 1/2 of your input voltage, which may no longer be correctly interpreted as high. Just throwing out an idea here
With high valued series resisters even the small capacitance on the pins may cause unacceptably long charging times. Unless you can tolerate really slow interface rates.
Duane
-Phil
Another question is about PLL accuracy over a wide temperature range, running @3v? (Say 45-120 F)
Any thoughts or advice would be greatly appreciated!
Just to add to your confusion, I'll add another consideration :
If this battery pack plugs in, you might consider series resistors as ESD / Misalign protection.
You need to watch the logic low with the pullup/series, and leave some noise margin.
2.2k might be a little large for that, 470R-1k more typical for a 10k pullup.