0
\$\begingroup\$

I need to shift a 3.3V, push-pull SPI bus from my STM32F3 controller up to 5V to drive a MAX7219 LED controller. To do this, I aim to use an NVT2022 level shifter, datasheet here. The first paragraph of chapter 7 states the following:

The NVT2001/02 is ideal for use in applications where an open-drain driver is connected to the data I/Os. The NVT2001/02 can also be used in applications where a push-pull driver is connected to the data I/Os.

In the typical application circuit underneath, the device is connected with pull-up resistors on both inputs and outputs, implying open-drain functionality. In my use case, I am driving the input pins with a push-pull signal from GPIO, which is why I assume that I don't need pull-up resistors on the input lines (pins A1 and A2) of the level shifters, but do I need them on the outputs (pins B1 and B2)?

\$\endgroup\$
2
  • 1
    \$\begingroup\$ From long experience, it is always best to ensure logic levels are deterministic on power-up, prior to MCU port pins being configured. \$\endgroup\$ Nov 21, 2023 at 15:36
  • \$\begingroup\$ I think a more important question is; why would you use a bi-directional level shifter with open-drain outputs for non-bidirectional push-pull signals to begin with. \$\endgroup\$
    – Justme
    Nov 21, 2023 at 16:34

1 Answer 1

1
\$\begingroup\$

With push/pull signals, you do not need pull-ups at the inputs. The NVT2002 has open-drain outputs, so you need pull-ups at the outputs.

The NVT2002 is a clone of TI's LSF0102, which has an application note that describes it in more detail.

\$\endgroup\$
3
  • \$\begingroup\$ I understand. In that case, how may I determine the value of a pull-up resistor? My gut tells me that since it's a signal line, and not a current-carrying line, the pull-up resistor can be of a relatively high value (>10K), but how can I be sure? \$\endgroup\$
    – kiryakov
    Nov 21, 2023 at 15:57
  • 1
    \$\begingroup\$ @kiryakov, with no reflection at all on the quality of this answer, it's good that you accept answers but please don't accept the one answer so fast. Another answer may be posted that covers more and already answers the further question(s) you've posted here. Remember that it's not a discussion forum so it's not about opening discussion with the first answerer. Thanks. \$\endgroup\$
    – TonyM
    Nov 21, 2023 at 16:19
  • \$\begingroup\$ @kiryakov That would be a different question. (It depends on the desired speed and your circuit's capacitance.) \$\endgroup\$
    – CL.
    Nov 22, 2023 at 7:44

Your Answer

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

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