Unidirectional voltage level translators

The most popular hobby electronics platforms usually work at 5 V, but many times you need to interface your circuit with a high-end sensor which works at a lower voltage (ex. 3.3 V). It is quite easy to design your own low cost voltage level translators, using only discrete components.

Unidirectional high to low voltage level translator

This is an easy once, since it can be done only with passive components. The easiest high to low voltage level translator is a resistor divider.

Since \(R_1\) and \(R_2\) form a resistor divider, the output voltage is only a fraction of the input voltage:

\(\large{V_{out} =  \frac{R_2}{R_1 + R_2} \cdot V_{in}}\)

For the values used in the picture from the above, if you input  a 5 V signal, then you get a 3.3 V output signal.

For other signal values you can choose the resistors as follows:

\(\large{R_2 = R_1 \cdot (\frac{V_{in}}{V_{out}}-1)}\)

Usually \(4.7k\) is a good start value for \(R_1\).

Unidirectional low to high voltage level translator

A very simple low to high level translator can be built using only a transistor and a resistor:

How does it works ? Well, the MOSFET acts as a switch: when the input signal is high, the MOSFET is turned on and the output signal is low; when the input signal is low, the MOSFET is off and the output signal is high (because of the pull-up resistor).

As you can see from the above explanation, the output voltage is not only translated to a different voltage level, but it’s also inverted. This inversion can be corrected either in software, either with some additional hardware:

If it works once, then do it again ! We use the same circuit twice, the first stage is used for an inverting voltage level translation, and the second stage is used to correct the inversion.

This unidirectional voltage level translator has the advantage the it draws very little power from the input and it assures a good noise insulation between the input and the output.

A sensitive subject in this design is the value of the pull-up resistors. A too low value burns too much power without any benefit, a too high value will affect the communication at high speeds. Depending of the speed at which you operate this circuit, if you operate it at a high speed, you might need to use a lower value resistor.

There are some things that you should know here:

  • the higher the speed, the lower is the value of the resistor that you need
  • the higher the capacitance at the output, the lower is the value of the resistor that you need
  • the lower the value of the resistor, the higher is the power consumption
Add Comment Register



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>