Correct. All you have to do is limit the current flow into the Dues I/O pins to a safe value for the ESD diodes. For a 5V peripheral, 330-470 ohms does the trick.Regards,Ray L.
Didn't we beat that to death about a week ago? It is based on the specs for the SAM3X, and the recommendation came from an Atmel engineer on one of their forums. Any value that keeps the max voltage on the pin below 3.6V is fine.Regards,Ray L.
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.
The user inadvertently programs the pin as an output, and it is driven high, or the user wants to big bang the I2C connection. Please explain how "user" can do that? Maybe you are talking about the programmer, right?