david_prentice:
If you are talking about an I2C interface, the pins are never driven high. They are simply pulled high by the 4k7 external pull-up resistors. Or "sunk" low by the open-drain outputs of your AVR / ARM.
Yes, the 4k7 will pass some current through the substrate diodes because the "top end" is at 5V. With 4k7, this will be about 360uA.
With a 3.3V system, it will be common to use 2k7 pull-ups to 3.3V. Even if you have a mixture of 3.3V and 5V I2C slaves, the bus lines are never going to cause any harm.
Of course, it is a different matter if you connect your Due directly to a 5V AVR and drive the AVR output high and the ARM output high. You will pass a large current through the substrate diode which will be harmful. With Ray's 300R series resistor, you will be passing 6mA. This is unwise (tm) but you will just get away with it on one pin.
The PCF8574 in your I2C adapter is not capable of driving I2C lines high. So I do not see a problem.
David.
Hello David,
Thanks for the info.
Yes i agree that during "normal" operation there should not be a problem. But there is a case where there 'could' be a problem. I dont want to have to come up with every possible scenario, but here is one. The user inadvertently programs the pin as an output, and it is driven high, or the user wants to big bang the I2C connection. If the pin is driven high when the 8574 chip is trying to deliver an acknowledge signal, we end up with a low impedance +3.3v output from the ARM chip and a low impedance ground (0v) from the 8574 chip, which causes a large current to flow in the diode in the ARM chip.
But this isnt the only possible error that could come up, i just wanted to illustrate what could happen with at least one example.
The information we would need then is how much current can the diode really take. It would be good to know the continuous current rating like they publish for many of the PIC line of chips. They state 20ma for those chips right on the data sheet. If we design for 10ma we should get by. Note however that for the 8574 chip this rating is also given but is only 400ua. So that is how much they can differ.
So for the Atmel chip(s) is it, 20ma, 10ma, 5ma, 1ma, 500ua, 100ua, 10ua, 1ua, 10pa, 10fa, etc.? We dont know do we?