1
\$\begingroup\$

I made a circuit that is supposed to detect when all 8 output lines are logic high. I connected the inputs of a 74HC30 (8-input NAND) to the data lines of an AT28C256 (ROM). After a while, I checked the datasheet of both of these devices, and it states that for AT28C256:

output low voltage max: 0.45V output high voltage min: 2.4V

And for 74HC30, it states:

high level input voltage min: about 3.15V low level input voltage max: about 1.8V

For 74HCT30, it states:

high level input voltage min: 2V low level input voltage max: 0.8V

I've already built the circuit with everything soldered in place. Rather than go through 1/3 a spool of solder wick and replacing all my 74HC's with 74HCT's, would I be able to add pull-up or pull-down resistors to all the inputs of the 74HC30 to make it function like a 74HCT30 without using excessive current?

\$\endgroup\$
2
  • \$\begingroup\$ I can assure you that the digital outputs from your AT28C256 will be well above 3.15 volts when running from a 5 volt supply unless you try driving LEDs with it. \$\endgroup\$
    – pipe
    Commented Oct 6, 2016 at 19:38
  • 1
    \$\begingroup\$ For a one-off or a prototype batch I wouldn't bother, I'd measure the actual output voltage from the AT28C256 on a scope. I bet it's comfortably in the valid range for the 74HC30. For 10000, or for high temperature operation, etc, that's a different matter. \$\endgroup\$
    – user16324
    Commented Oct 6, 2016 at 19:39

3 Answers 3

1
\$\begingroup\$

You may be able to add pull-up resistors to the AT28C256 outputs to get its High output voltage closer to Vcc, and acceptable to the 74HC part.

The actual switching threshold for the 74HC parts may be close to 2.5 volts, and the AT28C256 output High is probably well above 2.4 volts, so your circuit may work fine, with no modification - but I wouldn't trust it in a production situation.

\$\endgroup\$
3
  • \$\begingroup\$ Note that adding pull-up resistors to the outputs means that you're adding it to the whole databus in the system. That may be a bad idea, since the AT28C256 won't be the only one using it. \$\endgroup\$
    – pipe
    Commented Oct 6, 2016 at 19:40
  • \$\begingroup\$ Why would it be bad? On the bus, I ensure only one device at a time can act as output and all the remaining devices can act as input. \$\endgroup\$
    – user116345
    Commented Oct 6, 2016 at 20:23
  • 1
    \$\begingroup\$ I should perhaps have said "put pull-up resistors on the data bus" to make it clear that you only want one set of pull-ups. Too many low-resistance pull-ups could make it difficult for some parts to pull the bus down to a valid Low voltage. \$\endgroup\$ Commented Oct 6, 2016 at 20:31
1
\$\begingroup\$

Sure- Just connect your 8 lines to +5 with a 10k resistor to each pin. Actually, unless you're driving TTL inputs, you probably don't need pullup resistors at all. This data sheet,l for instance, specifies a minimum high output voltage of 2.4 volts for an output current of 0.4 mA. If you're just driving CMOS, the low output current will allow the output voltage to be a good deal higher.

Also note that your "all one's" circuit will also respond anytime the ROM is not being accessed, since the pullups will operate just fine on outputs which are in a tristate off condition.

\$\endgroup\$
2
  • \$\begingroup\$ The only other thing the 8 data lines drive is an HD44780 compatible LCD display. Will that have an effect on the resistor values I need. \$\endgroup\$
    – user116345
    Commented Oct 6, 2016 at 20:16
  • \$\begingroup\$ What does the HD44780 data sheet say about its inputs? \$\endgroup\$ Commented Oct 7, 2016 at 1:08
0
\$\begingroup\$

The AT28C256 datasheet specifies a minimum of 2.4V because that is the minimum for TTL compatibility, but the actual output voltage is normally much higher. The chip I tested achieved 4V unloaded, and 3.6V with a 4.7kΩ pulldown resistor.

When connected to other devices with low loading (ie. other CMOS parts) you shouldn't have any problem getting the voltage level you need. The only time it might be problem is if the bus was loaded with many bipolar TTL devices and/or low value pull-down resistors.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.