I2C
Ti Wikipédia, énsiklopédi bébas
I²C nyaéta beus komputer sérial nu dipanggihkeun ku Philips nu dipigunakeun keur ngahubungkeun périferal laun kana motherboard, embedded system, atawa ponsél. Ngaran ieu mangrupakeun singketan tina Inter-Integrated Circuit disingket I-kuadrat-C.
Daptar eusi |
[édit] Rancangan
![]() |
Artikel ieu keur dikeureuyeuh, ditarjamahkeun tina basa Inggris. Bantosanna diantos kanggo narjamahkeun. |
I²C uses only two bidirectional open-collector lines, serial data (SDA) and serial clock (SCL), pulled up with resistors. The maximum voltage is +5 V, although +3.3 V systems are common and other voltages are permitted.
The I²C reference design has a 7-bit address space with 16 reserved addresses, so a maximum of 112 nodes can communicate on the same bus. The most common I²C bus modes are the 100 kbit/s standard mode and the 10 kbit/s low-speed mode, but clock frequencies down to zero are also allowed. Recent revisions of I²C can host more nodes and run faster (400 kbit/s Fast mode and 3.4 Mbit/s High Speed mode), and also support other extended features, such as 10-bit addressing.
[édit] Révisi
The original I²C system was created in the early 1980s as a simple internal bus system for building control electronics with various Philips chips.
In 1992 the first standardized version was released, which added a new fast mode at 400 kbit/s and a 10-bit addressing mode to increase capacity to 1008 nodes. Version 2.0 from 1998 added high-speed mode at 3.4 Mbit/s with reduced voltage and current requirements that saved power. Version 2.1 from 2001 is a minor cleanup of version 2.0 and is the latest standard.
[édit] Aplikasi
I²C is appropriate for peripherals where simplicity and low manufacturing cost are more important than speed. Common applications of the I²C bus are:
- Accessing NVRAM chips that keep user settings.
- Accessing low speed DACs.
- Accessing low speed ADCs.
- Changing contrast, hue, and color balance settings in monitors.
- Changing sound volume in intelligent speakers.
- Controlling LED displays, like in a cellphone.
- Reading hardware monitors and diagnostic sensors, like a CPU thermostat and fan speed.
- Reading real time clocks.
- Turning on and turning off the power supply of system components.
A particular strength of I²C is that a microcontroller can control a network of device chips with just two general-purpose I/O pins and software.
Peripherals can also be added to or removed from the I²C bus while the system is running, which makes it ideal for applications that require hot swapping of components.
Buses like I²C became popular when computer engineers realized that much of the manufacturing cost of an integrated circuit design results from its package size and pin count. A smaller package also usually weighs less and consumes less power, which is especially important in cellphones and portable computing.
[édit] pangrojong Sistim Oprasi
In Linux, I²C is handled with a specific kernel module for the specific device. Details on how to write I²C client can be found in the kernel-related documentation and in the /usr/include/linux/i2c.h header file. OpenBSD has recently added an I²C framework, with support for a number of common master controllers and sensors.
In Sinclair QDOS and Minerva (QDOS reimplementation) QL operating systems I²C is supported via a set of extensions provided by TF Services.
In AmigaOS the shared library i2c.library of Wilhelm Noeker allows I²C access.
eCos supports I²C for several hardware architectures.
EPIA-M motherboard also support I²C with their Mini-ITX range.
[édit] Téhnologi Turunan
I²C is the basis for the ACCESS.bus, the VESA Display Data Channel (DDC) interface, the System Management Bus (SMBus), and the Intelligent Platform Management Bus (IPMB, one of the protocols of IPMI). These implementations have differences in voltage and clock frequency ranges, and may have interrupt lines.
[édit] Tempo ogé
- I²S
- 1-Wire Bus
- Serial Peripheral Interface Bus
- SMBus
[édit] Tumbu luar
- Philips I2C specifications
- Detailed introduction, Primer
- Introduction to I2C
- I2C Bus / Access Bus
- Using the I2C Bus with Linux
- OpenBSD iic(4) manual page
- Linux package lm-sensors support I2C bus among others.
- massmind i2c page Source code, samples and technical information for using i2c with PC, PIC and SX microcontrollers.
- I2C bus
- Serial buses information page
- I2C Bus Technical Overview and Frequently Asked Questions
- The I2C Faq Version 2.0
- The Bus Buffer Resource. For 2-wire buses such as I2C, SMBus, PMBus, IPMB & IPMI