What is I2C? How Inter-Integrated Circuits Work

I2C goes by several names such as Inter-Integrated Circuit, I2C, and IIC. I2C are two-wire data transfer bus. Wide variety of computers can take advantage of this bus.

What is I2C?

Inter-Integrated Circuit, known as I2C, I2C, or even IIC, is a two-wire data transfer bus. Philips Semiconductor (now NXP Semiconductors) invented the protocol in 1982, and it received widespread use in applications where low costs and ease-of-implementation take priority over lightning-quick speed.

Since 2006, users do not need to pay licensing fees to implement I2C, though NXP does allocate slave addresses that require payment. Derivatives of this technology are also currently available, including TWI (Two-Wire-Interface) and SMBus (System Management Bus).

I2C Communication

I2C-linked systems communicate using data (SDA) and clock (SCL) connections to transfer information between one or more master and slave node. Here’s a quick guide to how they operate:

1. Pullup resistors pull SDA and SCL lines high. Usually, these resistors are 5V or 3.3V, though you may occasionally see other voltages in use.

2. The transmitting device then pulls the lines to ground to signify data output.

3. If a system requires a new node, you can simply “clip it on” to the existing shared SDA and SCL lines. When you’re dealing with multiple nodes, this method simplifies wiring requirements dramatically.

You can use either a 7-bit system or a 9-bit system to address I2C devices, though the 7-bit systems are much more common. Each node on an I2C setup will need to have its own individual address, which can be either:

- Fixed

- Set via jumpers

- Set via solder connections

I2C Speed and Uses

Address space limits how many nodes can fit on a single bus, and the total bus capacitance must be below 400 picofarads (pF) for proper operation, which limits data transfer to a few meters. Data transmission takes place in 8-bit bytes, and the receiving party generates a ninth bit to acknowledge receipt. In I2C’s original implementation, transfer speed is set at 100 kilobits per second, though other rates up to 5 megabits per second (Ultra-Fast-mode) are also available.

Applications of I2C protocol are broad and employed for various purposes, including:

- Display identification data (EDID) for monitors using HDMI connectors

- Speaker volume control

- Accessing real-time clock modules

A wide variety of computers can take advantage of this bus, including those that run using Windows, Mac, Linux, and more. All major IC manufacturers implement I2C, and dev boards and single-board computers made by Arduino and Raspberry Pi commonly support this protocol for peripheral communication. The applications we’ve listed here are only a few of the possibilities for using I2C-linked systems; manufacturers are constantly developing new modules to take advantage of this technology.

 

最新消息

Sorry, your filter selection returned no results.

请仔细阅读我们近期更改的隐私政策。当按下确认键时,您已了解并同意艾睿电子的隐私政策和用户协议。

本网站需使用cookies以改善用户您的体验并进一步改进我们的网站。此处阅读了解关于网站cookies的使用以及如何禁用cookies。网页cookies和追踪功能或許用于市场分析。当您按下同意按钮,您已经了解并同意在您的设备上接受cookies,并给予网站追踪权限。更多关于如何取消网站cookies及追踪的信息,请点击下方“阅读更多”。尽管同意启用cookies追踪与否取决用户意愿,取消网页cookies及追踪可能导致网站运作或显示异常,亦或导致相关推荐广告减少。

我们尊重您的隐私。请在此阅读我们的隐私政策。