Electronic – Driving a 74HC245 in one direction with 3.3V when Vcc is 5V

level-shiftinglogic-level

I have a 5V device that accepts parallel data in. That data is buffered by a 74HC245 IC (TI datasheet, NXP datasheet) where the Dir pin is hard wired to drive in one direction. I can't change/modify this device hardware-wise.

To date I have been driving this device using an ATMega328P, running at 5V, with no problems.

I now have to switch to a 3.3V microcontroller for other reasons out of my control.

I am hoping that I don't have to add logic level adjustment circuitry in-between the microcontroller PCB and the device being controlled. Reading the datasheet of the 74HC245, the input high threshold is 2.4V(typ.) to 3.15V when Vcc is 4.5V. Being that the 74HC245 IC is supplied by 5V, I am concerned that 3.3V logic out of the microcontroller is going to be right on the limit.

Will I be able to get away without any logic level adjustment circuitry?

74HC245 Circuit

Best Answer

This will not work reliably. If you look at the TI datasheet you will see that \$V_{IH}\$ is specified at \$3.15\$V when \$V_{CC} = 4.5\$V, and it is clearly a strong function of \$V_{CC}\$. If we assume that \$V_{IH}\$ scales linearly then it would be \$3.675\$V when your power supply voltage is \$5.25\$V, which could be the case if your voltage regulator tolerance is 5%. In fact, this arrangement won't work is the supply voltage is above about \$4.7\$V.

Furthermore, if the supply voltage for the microcontroller is \$3.3\$V that doesn't mean that the logic signals will be right at \$3.3\$V. Check \$V_{OH}\$ for the microcontroller.