bi directional level shifter

21,539

bi directional level shifter
bi directional level shifter

In electronic circuits, 5V has historically been the most common voltage for components, and it remains prevalent today, especially with USB protocols and many microcontrollers. However, as technology has advanced, devices have become more efficient, leading to a decrease in power consumption and an increase in the use of 3.3V devices. This creates a challenge when different voltage levels coexist in a circuit, as communication between devices requires voltage level adjustments. While resistors can effectively step down voltage from a 5V microcontroller to a lower level, they are not suitable for stepping up voltage when a signal is insufficient to trigger an input. A solution to this problem is the use of a bi-directional level shifter. The 2N7000 MOSFET is a common choice for this purpose, although higher power MOSFETs can also be used temporarily. The gate of the MOSFET is always connected to the lower voltage side. This setup can be utilized for devices sharing a signal line across different voltage levels. Using 10K resistors on either side has proven effective for serial data communication. Additionally, when interfacing two I2C devices operating at different voltages, the resistors should correspond to the pull-up resistors for the I2C lines—typically 4.7K on the 5V side and 3.3K on the 3.3V side, ensuring a suitable current of 1mA. It is important to avoid connecting multiple sets of pull-up resistors on the same line if they are already present elsewhere.

In electronic design, the integration of devices operating at different voltage levels necessitates careful consideration of signal integrity and compatibility. The bi-directional level shifter serves as a critical component in such mixed-voltage environments. The 2N7000 MOSFET, a widely available N-channel MOSFET, is utilized due to its favorable characteristics, including low on-resistance and sufficient switching speed for most digital applications. The configuration involves connecting the gate of the MOSFET to the lower voltage side, which allows the MOSFET to turn on when the higher voltage signal is present, effectively passing the signal through to the lower voltage side.

The choice of 10K resistors on both sides of the level shifter aids in providing a balanced pull-up configuration, which is particularly beneficial for serial communication protocols. This resistor value is a common standard that ensures reliable signal levels without excessive power consumption. For I2C communication, where pull-up resistors are essential for proper operation, the specified values of 4.7K and 3.3K must be adhered to for the respective voltage levels. This configuration guarantees that the I2C bus can operate correctly, allowing for reliable data transmission between devices.

When designing circuits that incorporate level shifting, it is crucial to avoid duplicating pull-up resistors on the same signal line, as this can lead to contention and signal degradation. Proper circuit layout and component selection are paramount to ensure that the level shifter functions as intended, maintaining the integrity of the signals being transmitted across different voltage domains. This approach not only enhances the versatility of the circuit design but also facilitates the integration of a diverse range of electronic components.On your circuit 5v was the most common voltage for electronic components, everything was 5v, and a lot still is now. USB is still a 5v protocol, and many microcontrollers are still 5v. As electronics have become more efficient and smaller however, their power consumption has also gone down, so now we see many 3.

3v devices. The trouble is that often there is now a mixture of these different voltage levels on a circuit, so when different voltage devices want to communicate signals need to be stepped down with resistors. This was fine, as generally it was the 5v microcontroller having its output voltage stepped down to a lower voltage, but there were issues.

Resistor solutions work one way, i. e. when you need to lower the voltage level of a signal. But when the problem is reversed such that the voltage of your signal is not enough to trigger an input so that you need to step it up, then resistors are no good. The solution to stepping down and stepping up a voltage is to use a Bi-directional level shifter. I used the general purpose 2N7000 MOSFET, but I had used some 3A power MOSFET`s while I was waiting for the 2N7000`s to arrive!

Note that the Gate is always connected to the LOWER voltage. Any devices that share a signal line but are on two different voltages can use this set up. The 10K resistors on either side, I have found to work well with serial data. Another application of a level shifter would be with two I2C devices working on different voltages. The resistors would then take the values of the corresponding pull-up resistor for the I2C line, usually 4. 7K on the 5v side and 3. 3K on the 3. 3v side; this will provide a suitable current of 1mA. Be careful here, don`t have two sets of pull-up resistors on the same line, if you already have them installed somewhere else then don`t include them again.

🔗 External reference