App note: Logic-level translation

Here is an app note from Maxim describing how to implement level translation when faced with two systems that operate at different voltages. The article describes methods for accomplishing logic-level translation varying from very simple circuits using only a few discrete components, to circuits using a single dedicated IC.

Electronic design has changed considerably since the days when TTL and 5V CMOS were the dominant standards for logic circuits. The increasing complexity of modern electronic systems has led to lower voltage logic, which in turn can cause incompatibility between input and output levels for the logic families within a system. It is not unusual, for example, that a digital section operating at 1.8V must communicate with an analog subsection operating at 3.3V. This article examines the basics of logic operation and considers, primarily for serial-data systems, the available methods for translating between different domains of logic voltage.

Join the Conversation


  1. For low line count you can use the likes of Gunning Transceiver Logic (GTL) parts. NXP’s GTL2002 is a nice example; I’ve used it for 5V/3.3V bi-directional I2C translation. For high line count (bus width), CPLD’s rule.

  2. @J. Peterson, I had a quick look at the TXB series application note. I don’t think the TI parts are true bi-directional, so they may not work with I2C translation – but I may be wrong.

  3. The TXB serial is bi-directional. It is not suited for I2C though since it has no open-collector outputs, but is push-pull. For I2C level translation, look at the TXS series.
    Also, have a look at e.g. the LTC4314 from Linear. It combines I2C level translation with a bus switch, so you can even even three or four different voltages (or have multiple I2C devices with the same address).

Leave a comment

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

Notify me of followup comments via e-mail. You can also subscribe without commenting.