how do I mix 3.3V and 5V ?
Submitted By: Erik Malund FAQ Last Modified: 09/13/07
- first a bit about which things need to be considered when mixing 3V3 and 5V.
For a safe, noise resistant, connection between two 'logic points' the significant parametres are:
For the output Voh (min) and Vol (max) [minimum voltage out when high and maximum voltage out when low]
For the input Vih (min) and Vil (max) [minimum voltage in for a high and maximum voltage in for a low]
The difference between Voh (min) and Vih(min) is often referred to as "the noise resistance" since that is the highest amount of noise that the circuit is guaranteed to tolerate without malfunctioning. Same for Vol (max) and Vil(max).
There are, in mixed Vcc, two methods used a) active pullup and b) passive pullup. Active pullup means that a transistor pulls- the outpur high, passive pullup means that a resistor pulls the output high. What difference is there? the most significant difference is the risetime of the signal. For an active pullup the risetime will be the output transition time or propagation delay (unfortunately not all manufactureres use the same name) for the chip as seen in the datacheet (for a tyoical HC(T) chip it will be in the 10ns range). For a passive pullup the risetime will be the time constant (T=RC), chips and traces typically will combine to about 30pf so with a pullup of 10k you will have a propagation deley of 300ns. Propagation delay has another effect which is that while the signal is propagating through the "grey zone" [Vil (max) to Vih (min)] the "noise resitance" is virtually zero.
3V3 outputs to 5V inputs
a) passive pullup. It has been shown that many devices (I have heard of LCDs) fail when passive pullup is used simply because the synchronization between e.g. clock and signal fail (stray capacitance differences). Another reason for failure using passive pullup is not waiting long enough for the signal to stabilize before changing it. I, personally will not use a passive pullup, you can do so at your own risk.
b) any HCT, (not HC), chip. The input characteristics of a HCT chip powered by 5V match the output characteristics of 3V3 logic perfectly. The output characteristics of a HCT chip powered by 5V match the input characteristics of 5V logic perfectly.
c) the 74LVC4245 level converter.
d) just connect it . will not work (it may, but not reliably) because the Voh(min) for 3V3 is less than the Vih(min) for 5V lofic.
5V outputs to 3V3 inputs.
a) use a level converter such as the 74LVC4245 - problem free.
b) just connect it. This works quite well if the 3V3 input is stated "5V tolerant", but in some cases there will be a small "timing penalty" because the 5V drives the 3V3 input deep into saturation.
Erik
for more info see http://www.silabs.com/public/do.../an111.pdf
Add Information to this FAQ: If you have additional information or alternative solutions to this question, you may add to this FAQ by clicking here.