Dimekarkeun ku Philips di 1980 urang, I2C geus jadi salah sahiji protokol komunikasi serial paling umum dina éléktronika. I2C nyandak komunikasi antara komponén éléktronik atawa IC mun IC, naha komponén anu dina PCB sarua atawa dihubungkeun liwat kabel hiji. Fitur konci I2C nyaéta kamampuhan pikeun boga angka vast komponén dina beus komunikasi tunggal kalawan ukur dua kawat nu ngajadikeun I2C sampurna pikeun aplikasi anu pamenta kesederhanaan jeung béaya rendah leuwih speed.
Tinjauan tina I2C Protocol
I2C nyaéta protokol komunikasi serial nu ngan merlukeun dua garis sinyal nu ieu dirancang pikeun komunikasi antara chip on PCB a. I2C asalna dirancang pikeun komunikasi 100kbps tapi modus pangiriman data leuwih gancang geus dimekarkeun leuwih taun pikeun ngahontal speeds nepi ka 3.4Mbit. Protokol I2C geus ngadegkeun salaku standar resmi, nu nyadiakeun keur kasaluyuan alus diantara implementations I2C sarta kasaluyuan mundur alus.
sinyal I2C
The I2C Protocol migunakeun ukur dua garis sinyal bi-arah pikeun ngahubung sareng sadaya alat dina beus I2C. dua sinyal nu dipaké nyaéta:
- Serial Data Line (SDL)
- Serial Data Jam (SDC)
Alesan anu I2C tiasa make ukur dua sinyal jeung komunikasi sareng sababaraha périferal aya dina sabaraha komunikasi sapanjang beus geus diatur. Unggal komunikasi I2C dimimitian ku alamat 7-bit (atawa 10-bit) nu nyebut kaluar alamat tina periferal sesa komunikasi anu dimaksud pikeun nampa komunikasi. Hal ieu ngamungkinkeun sababaraha alat dina beus I2C maén peran nu alat master sakumaha kaperluan sistem ngarahkeunnana. Pikeun nyegah collisions komunikasi, protokol I2C ngawengku kamampuhan arbitrase sarta Pangwanoh tabrakan anu ngawenangkeun komunikasi lancar sapanjang beus.
Kaunggulan na watesan
Salaku protokol komunikasi, I2C ngabogaan loba kaunggulan anu nyieun téh pilihan alus keur loba aplikasi desain study. I2C brings kaunggulan handap:
- I2C ngan merlukeun dua garis sinyal
- ongkos pangiriman data fléksibel
- Unggal alat dina beus téh bebas addressable
- Alat boga Master basajan / hubungan Budak
- I2C sanggup nanganan sababaraha komunikasi master ku cara méré arbitrase jeung tabrakan komunikasi deteksi
- komunikasi dina jarak leuwih ti SPI
Kalayan sakabéh kaunggulan ieu, I2C ogé boga sababaraha watesan nu mungkin perlu dirancang sabudeureun. Keterbatasan I2C pangpentingna ngawengku:
- Kusabab ngan 7-bit (atawa 10-bit) anu disadiakeun pikeun alat alamat, alat dina beus sarua bisa babagi alamat anu sarua. Sababaraha alat nu bisa Konfigurasi sababaraha bit panungtungan alamat, tapi ieu tetep imposes hiji watesan alat dina beus nu sarua.
- Ngan sababaraha speeds komunikasi dugi sadia tur loba alat teu ngarojong speeds transmisi nu leuwih luhur. rojongan parsial pikeun tiap speed on beus anu diperlukeun pikeun nyegah alat laun ti catching transmisi parsial anu bakal ngahasilkeun glitches operasional.
- alam dibagikeun tina beus I2C bisa ngahasilkeun sakabéh nongkrong beus lamun alat tunggal on beus eureun operasi. Ngabuburit mangsa kakawasaan ka beus bisa dipaké pikeun ngabalikan deui beus tur malikkeun operasi ditangtoskeun.
- Kusabab alat tiasa nyetél speed komunikasi maranéhanana, alat operasional laun bisa reureuh operasi alat speed gancang.
- I2C draws langkung kakuatan ti busses komunikasi serial sejen alatan topology buka-solokan tina garis komunikasi.
- Keterbatasan beus I2C ilaharna ngawatesan jumlah alat dina beus ka sabudeureun belasan alat.
aplikasi
Beus I2C mangrupakeun pilihan gede pikeun aplikasi anu merlukeun béaya rendah sarta palaksanaan basajan batan speed tinggi. Contona, maca ICs memori tangtu, ngakses DACs na ADCs, maca sensor , ngalirkeun sarta ngadalikeun tindakan pamaké diarahkeun, maca sensor hardware, sarta berkomunikasi kalawan sababaraha microcontrollers anu kagunaan umum tina protokol komunikasi I2C.