On the off-chance you are under the misimpression that the plethora of supply voltages used in today's electronics systems is something new, you should know that level translation has been needed for a while.
Many years ago, for example, we were wrestling with TTL/ECL interfaces and CMOS/TTL interfaces. I guess those of us of a certain vintage who enjoyed many years of 5V-only logic had our reverie shattered. A few of us (yours truly included) have continued with the 5V tradition, which means there is precious little I can tell you about 3V3 to 2V8 level shifters and the like. I looked up level translators on the Digi-Key selection tables, and there were 3409 parts, but this blog is not about advanced high-speed logic level translators. I will let you find your own way through the Digi-Key and/or Mouser tables -- in this column I want to talk about shifting real-world voltages and some of the oddball techniques I have garnered along the way.
Notwithstanding the previous paragraph, I thought I should kick off with a 3V3 to 5V interface. An early technique used the 74HCT series of devices as translators from 3V3 to 5V, because the guaranteed high on the input was less that the high output of CMOS 3V3 devices. Although somewhat less useful today, knowledge of this approach could be helpful in certain circumstances.
We all know the simplest way to step down a voltage is by means of a resistor divider, but did you know you can use a resistor divider to step a voltage up as well? Take a look at the circuit below.
Resistor network to shift voltage level up or down.
A few years ago, I presented a Design Idea on Electronic Design that explains the relationships and provides an Excel worksheet to calculate the resistor values. (It appears that the actual worksheet is no longer available in as part of the Design Idea, but you can access it by clicking here.) The original idea assumed an analog input, but there is no reason it can't be used with a digital signal also.
With any resistor network, there are two additional things to consider. First, the source must be able to drive the load; and second, any capacitance on the output of the resistor network (even the parasitic capacitance of the digital circuitry) will slow the waveform down.
While I am touching on analog circuits used in digital level translation, I should mention that you could use an op-amp to scale a voltage up and even level shift it if it wasn't zero referenced. I only wanted to remind you that this can be done and you should consider it if the circumstances warrant such an approach.
Of much greater use, though, is a comparator with its ability to program the changeover level through external resistors. In addition, most of these have an open collector output that can be pulled to any value (within the chip's limits) resulting in the desired level shift. The fact that some comparators like the LM311 can work with bipolar supplies and refer the output to a reference (ground for instance) is particularly helpful in shifting the zero level. It is a good idea to add hysteresis, though, in order to prevent multiple transitions at changeover.
Inverting (a) and non-inverting (b) comparators with hysteresis. The switching level is set by R1 and R2; the hysteresis is set by R3 and R4 (and R5 in (b)). In the case of (b), beware the fact that if Vin is derived from a resistor divider, the hysteresis values will interfere with it.
Generally speaking, it is not a good idea to overdrive the input of any IC. The classic technique to handle this is shown in the circuit below.
Standard input protection against overvoltage.
Schottky diodes are preferred so that they will turn on before the device's internal diodes. Be careful of the input current (limited by the input resistor) that you are forcing though the diode into the supply rail. If it exceeds the current needs of the total circuit, the supply voltage can go up and destroy some of the circuitry.
To Page 2 >