Zhvilluar nga Philips në vitet 1980, I2C është bërë një nga protokollet më të zakonshme të komunikimit serial në elektronikë. I2C mundëson komunikimin midis komponentëve elektronikë ose IC në IC, nëse komponentët janë në të njëjtën PCB ose të lidhur nëpërmjet një kablli. Tipari kryesor i I2C është aftësia që të ketë një numër të madh të komponentëve në një autobus të vetëm komunikimi me vetëm dy tela, gjë që e bën I2C të përsosur për aplikacione që kërkojnë thjeshtësi dhe kosto të ulët mbi shpejtësinë.
Përmbledhje e Protokollit të I2C
I2C është një protokoll serik komunikimi që kërkon vetëm dy linja sinjalesh që janë projektuar për komunikim midis patate të skuqura në një PCB. I2C është projektuar fillimisht për komunikim 100kbps, por mënyrat më të shpejta të transmetimit të të dhënave janë zhvilluar gjatë viteve për të arritur shpejtësi deri në 3.4Mbit. Protokolli I2C është themeluar si një standard zyrtar, i cili siguron pajtueshmëri të mirë midis implementimeve të I2C dhe përputhshmërisë së mirë të prapambetur.
Sinjale I2C
Protokolli i I2C përdor vetëm dy linja sinjalesh bi-drejtimese për të komunikuar me të gjitha pajisjet në autobusin I2C. Dy sinjalet e përdorura janë:
- Linja Serial Data (SDL)
- Serial Data Clock (SDC)
Arsyeja që I2C mund të përdorë vetëm dy sinjale për komunikim me një numër të periferikësh është se si trajtohet komunikimi përgjatë autobusit. Çdo komunikim i I2C fillon me një adresë 7-bitësh (ose 10-bitësh) që nxjerrin në pah adresën e periferisë, pjesa tjetër e komunikimit ka për qëllim marrjen e komunikimit. Kjo lejon pajisje të shumta në autobus I2C për të luajtur rolin e pajisjes master ashtu siç diktojnë nevojat e sistemit. Për të parandaluar goditjet e komunikimit, protokolli i I2C përfshin aftësitë e zbulimit të arbitrazhit dhe përplasjes që lejojnë komunikimin e qetë përgjatë autobuzit.
Avantazhet dhe kufizimet
Si një protokoll komunikimi, I2C ka shumë avantazhe që e bëjnë është një zgjedhje e mirë për shumë aplikacione të dizajnuara të ngulitura. I2C sjell përparësitë e mëposhtme:
- I2C kërkon vetëm dy linja sinjalizuese
- Norma fleksibile të transmetimit të të dhënave
- Çdo pajisje në autobus është e adresueshme në mënyrë të pavarur
- Pajisjet kanë një marrëdhënie të thjeshtë Master / Slave
- I2C është i aftë të trajtojë komunikime të shumëfishta master duke siguruar zbulimin e konfliktit të arbitrazhit dhe komunikimit
- Komunikim me distancë më të gjatë se SPI
Me të gjitha këto avantazhe, I2C ka gjithashtu disa kufizime që mund të kenë nevojë të projektohen përreth. Kufizimet më të rëndësishme të I2C përfshijnë:
- Meqë vetëm 7 bit (ose 10 bit) janë në dispozicion për adresimin e pajisjes, pajisjet në të njëjtin autobus mund të ndajnë të njëjtin adresë. Disa pajisje janë të afta të konfigurojnë bit e fundit të adresës, por kjo ende imponon një kufizim të pajisjeve në të njëjtin autobus.
- Vetëm disa shpejtësi të kufizuara të komunikimit janë në dispozicion dhe shumë pajisje nuk i mbështesin shpejtësitë më të larta transmetimi. Mbështetja e pjesshme për secilën shpejtësi në autobus është e nevojshme për të parandaluar pajisjet më të ngadalta nga kapja e transmetimeve të pjesshme që do të rezultojnë në glitches operacionale.
- Natyra e përbashkët e autobusit I2C mund të rezultojë në të gjithë autobusin që varet kur një pajisje e vetme në autobus ndalon të funksionojë. Çiklizmi i energjisë në autobus mund të përdoret për të rinisur autobusin dhe për të rivendosur funksionimin e duhur.
- Meqenëse pajisjet mund të vendosin shpejtësinë e tyre të komunikimit, pajisjet më të ngadalshme operacionale mund të vonojnë funksionimin e pajisjeve me shpejtësi më të madhe.
- I2C tërheq më shumë energji se sa autobusë të tjerë të komunikimit serial për shkak të topologjisë së hapur të shkarkimit të linjave të komunikimit.
- Kufizimet e autobusit I2C zakonisht kufizojnë numrin e pajisjeve në një autobus për rreth një duzinë pajisje.
Aplikimet
Autobusi I2C është një mundësi e shkëlqyer për aplikacione që kërkojnë kosto të ulët dhe një zbatim më të thjeshtë sesa shpejtësi të lartë. Për shembull, leximi i disa IC-ve të memories, qasja në DAC dhe ADC, leximi i sensorëve , transmetimi dhe kontrolli i veprimeve të drejtuara nga përdoruesi, leximi i sensorëve të pajisjeve dhe komunikimi me mikrokontrollorë të shumtë janë përdorime të zakonshme të protokollit të komunikimit I2C.