I2C

**I²C** nyaéta beus komputer sérial nu kapanggih ku Philips pikeun nyambungkeun périferal laun kana *motherboard*, *embedded system*, atawa ponsél. **I²C** ieu mangrupa singgetan tina **Inter-Integrated Circuit** anu dibaca *I-dua-C*.

## Rancangan 
[thumb|350px|Skema conto hiji *master* atawa *dunungan* ([mikrokontroler) sarta tilu titik *slave* atawa *badéga* (ADC, DAC, sarta mikrokontroler séjén) maké résistor jungjung (*pull-up*) Rp]]
I²C saukur maké dua jalur koléktor muka dua arah, nyaéta *serial data (SDA)* jeung *serial clock (SCL)*, nu ditarik ka luhur *(pull-up)* maké resistor. Tegangan pangluhurna +5 V, sok sanajan sistim nu tegangannana +3.3 V ogé ilahar dipaké, sarta tegangan séjén ogé teu nanaon.

Disain rujukan I²C boga rohangan alamat *(address space)* 7-bit katut 16 alamat nu disayagakeun, jadi panglobana nepi keun ka 112 titik bisa komunikasi dina beus nu sarua. Mode beus I²C pangilaharna nyaéta 100 kbit/det dina *mode standar*, sarta 10 kbit/det dina *mode lalaunan*, tapi frekuénsi *clock* nu ngadeukeutan enol ogé teu nanaon. Revisi I²C pangpandeurina bisa ngawengku leuwih loba titik sarta leuwih gancang (400 kbit/det *mode gancang* sarta 3.4 Mbit/det *mode gancang pisan*), sarta ngarojong fitur tambahan lianna, kawas mode alamat 10-bit.

## Révisi 
Sistim I²C nu asli dijieunna dina taun 80-an minangka hiji sistim beus anu basajan pikeun ngabangun elektronika kadali nu maké rupa-rupa IC ti Philips.

Dina taun 1992, kaluar vérsi munggaran anu geus distandardisasi. Vérsi ieu nambahkeun *mode gancang* anyar (400kbit/det) jeung mode alamat 10-bit sangkan kapasitasna bisa ngaronjat nepi ka 1008 titik. Vérsi 2.0 ti taun 1998 nambahkeun *mode gancang pisan* (3.4 Mbit/detik) sarta ngurangan tegangan jeung arus listrik sangkan nyumponan pangabutuh nu perelu ngahémat daya. Vérsi 2.1 ti taun 2001 minangka standar pangpandeurina, tapi teu loba parobahan ti vérsi 2.0.

## Pamakéan 
I²C cocog pisan pikeun rupa-rupa périferal anu kabasajanan sarta murahna ongkos produksi leuwih penting batan gancangna sistim. Pamakéan anu ilahar nyaéta pikeun:

* Ngaksés mémori non volatil.
* Ngaksés DACs anu laun.
* Ngaksés ADCs anu laun.
* Ngaganti setélan kontras, hué, jeung kasaimbangan kelir dina layar monitor.
* Ngaganti volume dina spiker pinter.
* Ngadalikeun témbongan LED atawa LCD, siga nu aya dina ponsél.
* Nyalurkeun data ti sénsor jeung pikeun diagnostik, saperti térmostat CPU jeung gancangna kipas.
* Maca real time clocks.
* Ngahurung-paéhkeun sistim.

Kaunggulan husus I²C nyaéta hiji mikrokontroler bisa ngadalikeun jaringan IC ngan saukur ku dua pin nu dijalankeun dina program. Périferal ogé bisa disambungkeun atawa dipegatkeun tina beus I²C sawaktu sistim hurung kénéh. Hal ieu idéal pikeun pamakéan anu merelukeun ngaganti komponén sacara gancang (en: *hot swapping*).

Sistim beus siga I²C jadi leuwih kahot nalika insinyur komputer sadar yén loba pisan ongkos produksi jeung désain rangkéyan kaintegrasi (IC) ayana dina ukuran awakna jeung jumlah pinna. Awak anu leuwih leutik ogé biasana boga beurat anu leuwih hampang jeung merelukeun daya listrik leuwih saeutik, tangtu penting pisan dina pamakéan ponsél jeung komputasi portabel.

## Pangrojong ti Sistim Operasi 
Dina Linux, komunikasi I²C dipigawé ku modul kernél husus. Tata cara pikeun nulis program klién I²C bisa dipanggihan dina dokuméntasi ngeunaan kernél dina *header file* /usr/include/linux/i2c.h. OpenBSD ogé kakara nambahan cara gawé pikeun I²C, sarta pangrojong pikeun kontroler tur sénsor-sensor anu ilahar kapanggih di pasaran.

Dina sistem operasi Sinclair QDOS jeung Minerva (QDOS reimplementation) QL, I²C dirojong ngaliwatan sakumpulan éksténsi nu disadiakeun ku TF Services.

Dina AmigaOS, pustaka *i2c.library* nu ditulis ku Wilhelm Noeker nyadiakeun aksés I²C.

eCos ngarojong I²C pikeun sababaraha arsitéktur komputer.

*Motherboard* EPIA-M ogé ngarojong I²C ngaliwatan modél Mini-ITX.

## Téhnologi Turunan 
I²C jadi dadasar pikeun ACCESS.bus, VESA Display Data Channel (DDC) interface, System Management Bus (SMBus), jeung "Intelligent Platform Management Bus" (IPMB, salah sahiji protokol IPMI). Impléméntasi ieu béda dina hal tegangan jeung wengkuan frékuénsi *clock*-na, sarta bisa miboga jalur interupsi.

## Tempo ogé 
* I²S
* 1-Wire
* Serial Peripheral Interface
* SMBus

## 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