Application Notes

AN10441
Level shifting techniques in I2C-bus design
Rev. 01 — 18 June 2007
Application note
Document information
Info
Content
Keywords
I2C-bus, level shifting
Abstract
Logic level shifting may be required when interfacing legacy devices with
newer devices that use a smaller geometry process. For bidirectional bus
systems like the I2C-bus, such a level shifter must also be bidirectional,
without the need of a direction control signal. The simplest way to solve
this problem is by connecting a discrete MOS-FET to each bus line.
AN10441
NXP Semiconductors
Level shifting techniques in I2C-bus design
Revision history
Rev
Date
Description
01
20070618
Application note; initial version.
Contact information
For additional information, please visit: http://www.nxp.com
For sales office addresses, please send an email to: [email protected]
AN10441_1
Application note
© NXP B.V. 2007. All rights reserved.
Rev. 01 — 18 June 2007
2 of 7
AN10441
NXP Semiconductors
Level shifting techniques in I2C-bus design
1. Introduction
Present technology processes for integrated circuits with clearances of 0.5 µm and less
limit the maximum supply voltage and consequently the logic levels for the digital I/O
signals. To interface these lower voltage circuits with existing 5 V devices, a level shifter is
needed. For bidirectional bus systems like the I2C-bus, such a level shifter must also be
bidirectional, without the need of a direction control signal. The simplest way to solve this
problem is by connecting a discrete MOS-FET to each bus line.
2. Bidirectional level shifter for Fast-mode and Standard-mode I2C-bus
systems
In spite of its surprising simplicity, such a solution not only fulfils the requirement of
bidirectional level shifting without a direction control signal, it also:
• isolates a powered-down bus section from the rest of the bus system
• protects the ‘lower voltage’ side against high voltage spikes from the ‘higher-voltage’
side.
The bidirectional level shifter can be used for both Standard-mode (up to100 kbit/s) or in
Fast-mode (up to 400 kbit/s) I2C-bus systems. It is not intended for Hs-mode systems,
which may have a bridge with a level shifting possibility.
2.1 Connecting devices with different logic levels
Different voltage devices could be connected to the same bus by using pull-up resistors to
the supply voltage line. Although this is the simplest solution, the lower voltage devices
must be 5 V tolerant, which can make them more expensive to manufacture. By using a
bidirectional level shifter, however, it is possible to interconnect two sections of an I2C-bus
system, with each section having a different supply voltage and different logic levels. Such
a configuration is shown in Figure 1. The left ‘low-voltage’ section has pull-up resistors
and devices connected to a 3.3 V supply voltage; the right ‘high-voltage’ section has
pull-up resistors and devices connected to a 5 V supply voltage. The devices of each
section have I/Os with supply voltage related logic input levels and an open-drain output
configuration.
The level shifter for each bus line is identical and consists of one discrete N-channel
enhancement MOS-FET; TR1 for the serial data line SDA and TR2 for the serial clock line
SCL. The gates (g) have to be connected to the lowest supply voltage VDD1, the
sources (s) to the bus lines of the ‘lower-voltage’ section, and the drains (d) to the bus
lines of the ‘higher-voltage’ section. Many MOS-FETs have the substrate internally
connected with its source, if this is not the case, an external connection should be made.
Each MOS-FET has an integral diode (n-p junction) between the drain and substrate.
AN10441_1
Application note
© NXP B.V. 2007. All rights reserved.
Rev. 01 — 18 June 2007
3 of 7
AN10441
NXP Semiconductors
Level shifting techniques in I2C-bus design
VDD2 = 5 V
VDD1 = 3.3 V
Rp
SDA1
g
Rp
TR1
s
Rp
Rp
SDA2
d
g TR2
SCL1
3.3 V DEVICE
s
3.3 V DEVICE
SCL2
d
5 V DEVICE
5 V DEVICE
mgk879
Fig 1. Bidirectional level shifter circuit connecting two different voltage sections in an
I2C-bus system
2.1.1 Operation of the level shifter
The following three states should be considered during the operation of the level shifter:
1. No device is pulling down the bus line. The bus line of the ‘lower-voltage’ section is
pulled up by its pull-up resistors Rp to 3.3 V. The gate and the source of the MOS-FET
are both at 3.3 V, so its VGS is below the threshold voltage and the MOS-FET is not
conducting. This allows the bus line at the ‘higher-voltage’ section to be pulled up by
its pull-up resistor Rp to 5 V. So the bus lines of both sections are HIGH, but at a
different voltage level.
2. A 3.3 V device pulls down the bus line to a LOW level. The source of the MOS-FET
also becomes LOW, while the gate stays at 3.3 V. VGS rises above the threshold and
the MOS-FET starts to conduct. The bus line of the ‘higher-voltage’ section is then
also pulled down to a LOW level by the 3.3 V device via the conducting MOS-FET. So
the bus lines of both sections go LOW to the same voltage level.
3. A 5 V device pulls down the bus line to a LOW level. The drain-substrate diode of the
MOS-FET the ‘lower-voltage’ section is pulled down until VGS passes the threshold
and the MOS-FET starts to conduct. The bus line of the ‘lower-voltage’ section is then
further pulled down to a LOW level by the 5 V device via the conducting MOS-FET. So
the bus lines of both sections go LOW to the same voltage level.
The three states show that the logic levels are transferred in both directions of the bus
system, independent of the driving section. State 1 performs the level shift function. States
2 and 3 perform a ‘wired-AND’ function between the bus lines of both sections as required
by the I2C-bus specification.
Supply voltages other than 3.3 V for VDD1 and 5 V for VDD2 can also be applied, e.g., 2 V
for VDD1 and 10 V for VDD2 is feasible. In normal operation VDD2 must be equal to or
higher than VDD1 (VDD2 is allowed to fall below VDD1 during switching power on/off).
AN10441_1
Application note
© NXP B.V. 2007. All rights reserved.
Rev. 01 — 18 June 2007
4 of 7
AN10441
NXP Semiconductors
Level shifting techniques in I2C-bus design
3. Abbreviations
Table 1.
Abbreviations
Acronym
Description
I2C-bus
Inter-Integrated Circuit bus
I/O
Input/Output
FET
Field-Effect Transistor
MOS
Metal-Oxide Semiconductor
AN10441_1
Application note
© NXP B.V. 2007. All rights reserved.
Rev. 01 — 18 June 2007
5 of 7
AN10441
NXP Semiconductors
Level shifting techniques in I2C-bus design
4. Legal information
4.1
Definitions
Draft — The document is a draft version only. The content is still under
internal review and subject to formal approval, which may result in
modifications or additions. NXP Semiconductors does not give any
representations or warranties as to the accuracy or completeness of
information included herein and shall have no liability for the consequences of
use of such information.
4.2
Suitability for use — NXP Semiconductors products are not designed,
authorized or warranted to be suitable for use in medical, military, aircraft,
space or life support equipment, nor in applications where failure or
malfunction of a NXP Semiconductors product can reasonably be expected to
result in personal injury, death or severe property or environmental damage.
NXP Semiconductors accepts no liability for inclusion and/or use of NXP
Semiconductors products in such equipment or applications and therefore
such inclusion and/or use is at the customer’s own risk.
Applications — Applications that are described herein for any of these
products are for illustrative purposes only. NXP Semiconductors makes no
representation or warranty that such applications will be suitable for the
specified use without further testing or modification.
Disclaimers
General — Information in this document is believed to be accurate and
reliable. However, NXP Semiconductors does not give any representations or
warranties, expressed or implied, as to the accuracy or completeness of such
information and shall have no liability for the consequences of use of such
information.
Right to make changes — NXP Semiconductors reserves the right to make
changes to information published in this document, including without
limitation specifications and product descriptions, at any time and without
notice. This document supersedes and replaces all information supplied prior
to the publication hereof.
4.3
Trademarks
Notice: All referenced brands, product names, service names and trademarks
are the property of their respective owners.
I2C-bus — logo is a trademark of NXP B.V.
AN10441_1
Application note
© NXP B.V. 2007. All rights reserved.
Rev. 01 — 18 June 2007
6 of 7
AN10441
NXP Semiconductors
Level shifting techniques in I2C-bus design
5. Contents
1
2
2.1
2.1.1
3
4
4.1
4.2
4.3
5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bidirectional level shifter for Fast-mode
and Standard-mode I2C-bus systems . . . . . . .
Connecting devices with different logic
levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operation of the level shifter. . . . . . . . . . . . . . .
Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . .
Legal information. . . . . . . . . . . . . . . . . . . . . . . .
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disclaimers . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trademarks. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
3
4
5
6
6
6
6
7
Please be aware that important notices concerning this document and the product(s)
described herein, have been included in section ‘Legal information’.
© NXP B.V. 2007.
All rights reserved.
For more information, please visit: http://www.nxp.com
For sales office addresses, please send an email to: [email protected]
Date of release: 18 June 2007
Document identifier: AN10441_1