0
\$\begingroup\$

I am wanting to use a FSTD16211 in my circuit. It's datasheet says that pins OE1 and OE2 should be high to disconnect the 2 channels of the bus, and both should be low to connect the 2 channels of the bus.

Therefore, in my circuit, I need to drive these 2 pins as logic high by default, and my ESP8266 at the heart of the circuit needs to be able to pull these 2 pins low to 'enable' the bus.

The question is, how should I do this - what would best practice be? I was hoping to use level shifters wherever possible as that appears to be a good idea in such use cases...but I cannot determine what the correct shifter would be.

I find it hard to understand the levels that would be considered high or low in this circuit as well.

-0.5v - 7v is the input pin control voltage....so what does that mean? would driving that pin at 3.3v be considered 'high'?

Can somebody point me in the right direction here, with a bit more reasoning and detail than simply 'this is the chip I would use', as the explanation is more important to me than the specific answer. In an ideal world, I would be shown how an appropriate level shifter would be wired into a circuit with a brief explanation of the behaviour to expect from that.

Thanks!

\$\endgroup\$
2
\$\begingroup\$

-0.5v - 7v

That's from the "Absolute Maximum Ratings" section of the datasheet.
Ignore that and pretend you didn't see it - it's not relevant to you unless you're trying to push the poor chip past it's normal operating limits.

The part of the datasheet you're interested in is a little lower down in the "DC Electrical Characteristics" table.
There you'll see entries for "HIGH Level Input Voltage" and "LOW Level Input Voltage" - these are the voltage thresholds which you need to reach for the IC to reliably register an input as either High or Low.
So in this case, you'll need to apply at least 2V for High, and no more than 0.8V for Low.

If your ESP device provides close to 3.3V as a High, and close to 0V as a low, it'll work just fine.

\$\endgroup\$
1
\$\begingroup\$

I need to drive these 2 pins as logic high by default, and my ESP8266 at the heart of the circuit needs to be able to pull these 2 pins low to 'enable' the bus.

The question is, how should I do this - what would best practice be?

Though the other answers have shown your 3.3 V microcontroller can drive an adequate high level for this chip's inputs, you should also consider cases like start-up or reset, where your microcontroller is not operating, and its IO pins are in their default condition, configured as inputs.

To deal with this, and to give better noise margin in normal operation, you might rather use pull up resistor to 5 V on these FSTD16211 inputs, and then control them with open-drain logic. If your micro's IO pis are 5 V tolerant, then you can configure its IO as open-drain (or configure it as input when you want a high output or as input with value 0 when you want low output). If your micro doesn't have 5 V tolerant IOs, then you could introduce an open-drain buffer IC like 74LVC2G07 between the micro and the FSTD16211.

\$\endgroup\$
  • \$\begingroup\$ As the MCU in question doesn't have 5v tolerant I/O, you're basically recommending needlessly introducing extra parts. \$\endgroup\$ – Chris Stratton Apr 10 at 20:51
  • \$\begingroup\$ @ChrisStratton, it's not needless if you want to be sure the pin is high during start-up and reset. \$\endgroup\$ – The Photon Apr 10 at 21:11
  • 1
    \$\begingroup\$ The extra chip doesn't change your ability to use pulling resistors for that. However with the mentioned ESP8266 in either case what one really needs to be careful of is avoiding MCU pins that must be strapped to a certain state for the MCU to start up in the desired mode. That is something new experimenters routinely get wrong. \$\endgroup\$ – Chris Stratton Apr 10 at 21:13
  • \$\begingroup\$ @Chris, if the 5 V supply comes up first, or you don't control the power up order, you'd better tie your pull up to 5 V. Then you need a buffer if your MCU doesn't have 5-V tolerant IO. \$\endgroup\$ – The Photon Apr 10 at 21:14
  • \$\begingroup\$ You're pointlessly and uselessly complication a beginner's project with irrelevance. Take a step far enough back to realize that the thing being controlled here is a bus switch - essentially you are trying to argue that they need a buffer to control a buffer. \$\endgroup\$ – Chris Stratton Apr 10 at 21:18
0
\$\begingroup\$

Look at the DC Electrical Characteristics table.

That table shows that the minimum High level voltage is 2.0 volts, and the maximum Low level voltage is 0.8 volts, for a 4.5 - 5.5 volt Vcc.

\$\endgroup\$
  • \$\begingroup\$ Aha - great ty - can you answer the rest of the question too? \$\endgroup\$ – RenegadeAndy Apr 10 at 23:18
  • \$\begingroup\$ This is an answer to the whole question. You don't need a level shifter here. \$\endgroup\$ – Chris Stratton Apr 11 at 0:14
  • \$\begingroup\$ As in....I can drive it directly and safely from the esp8266? \$\endgroup\$ – RenegadeAndy Apr 25 at 13:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.