First, I'll go through what I think is going on in this circuit. If I understand it correctly it's basically a logic converter. The 3v input comes from STM32 GPIO and the output goes to a floppy disc controller.
When 3v3 input is low the inverter will raise the voltage on the gate of the transistor, transistor will open and the 5V will be pulled to ground and there will be no output. So when there's no voltage on the gate, transistor is shut and output will sense 5V on the line.
Assuming that my analysis here is correct, I am wondering if I could possibly replace this this whole part with an IC?
I have six lines that need level shifting and I found TXB0106 IC. It says that it is a bidirectional level shifter and voltage translator. Reading the specs I figured I could just replace the inverter IC, resistor, mosfets and the 5V pull-up resitor with this IC.
I set VCCa to 3.3V, VCCb to 5V, OE pulled to high, take care of decoupling and then just use the input and output for each line that I need.
Because this seems a little bit too easy, I have a feeling that I'm not seeing something and I'm missing some detail that will break my design.
I know that I don't actually need a bidirectional converter, but this one fits perfectly so I'm not going to be pedantic about it.
So, any ideas why it might not work and if there are better solutions, I'm open to all the suggestions.