So I'm a little rusty with pull ups etc. - Page 1
Forum section: electronics / beginners

author: paulca
author_rank: Super Contributor
timestamp: July 28, 2019, 02:59:44 pm
content: I'm about to put one of these into a protoboard project and I'm procrastinating about what to do with some of the enables.https://cdn-shop.adafruit.com/product-files/1787/1787AHC125.pdfI only need 1 channel and I don't need to enable/disable the output. So I was considering simply connecting OE1 to GND.But the datasheet note:"To ensure the high-impedance state during power up or power down, OE should be tied to VCC through a pullupresistor; the minimum value of the resistor is determined by the current-sinking capability of the driver."Stumped me a bit and presents a problem for me. I'm using the bus transciever to level shift uni-directional between 3.3V and 5V. If I tie OE1 to Vcc via a pull up and then pull it down with the ESP32 once it boots, will that not mean my ESP32 is sinking 5V, which it can't do.Then there is what to do with the unused OEs and A inputs. If tied all of these to ground, that will enable all buffer channels and send a logic low, meaning the unused outputs are just 0 volts and not floating. Or I could connect the OE's to Vcc and the A inputs to GND, disabling the buffer channels and grounding the input pins.If I did the later, I would of course need 3 4k7 resistors wouldn't I? You see I'm a bit confused as I expected these inputs to be high impedance inputs which could be directly connected to Vcc, but now I'm not sure.

author: ledtester
author_rank: Super Contributor
timestamp: July 28, 2019, 03:29:42 pm
content: Quote from: paulca on July 28, 2019, 02:59:44 pmIf I understand your set up correctly, the ESP32 won't be sinking 5V because of the voltage drop across the pull-up resistor. E.g. with a 10K pull-up the voltage at the ESP32 pin should be close to 0V and the current will only be 0.5 mA.QuoteI'm sure you can tie the OE lines directly to Vcc. You would only need a pull-up if you wanted to control them with another logic signal.A pull-up resistor gives the pin a "default value" during power-up and power-down when the micro-controller's GPIO pins are in a HI-Z state while still allowing it to control the line once it is up and running.

author: bson
author_rank: Unknown
timestamp: July 28, 2019, 10:47:05 pm
content: The AHC125 is a bus driver. The purpose of the OE# controls is to make sure only one buffer is actively driving its outputs onto the bus at any time. Hence the suggestion for the pullups so during powerup all bus buffers don't randomly have the outputs enabled and end up shorting each other and potentially shortening the lifespan of the output drivers. You don't need this if you can convince yourself it's impossible for two bus devices to try to drive the bus simultaneously. For example, if the AHC125 is only used for 3.3V/5V interoperability and never needs to go hi-Z, then just the OE# to ground as you're not really using it in a bus configuration.

author: paulca
author_rank: Super Contributor
timestamp: July 29, 2019, 06:41:58 am
content: Thanks. Makes sense.So as this is going on a protoboard I want to minimise the number of wires I need to run to pins.Is it wise to just "dirty hack" it and tie all unused pins to ground? This would mean the unused bus channels are enabled, but fed 0V which should mean there is 0V on the output. Or does the output being directly grounded leave the possibility of current flowing out the outputs at start up damaging the chip?You see if they are all grounded I can just solder a bit of mod wire across groups of pins and connect to ground.I'm thinking if that's not wise I will need to tie OE to Vcc and the input to GND, leaving the outputs unconnected, but that requires a bit more work... and I kinda hate protoboard mod wiring.