Zhvilluar nga Philips në vitet 1980, I2C (e shkruar ndryshe I2C) është bërë një nga protokollet e komunikimit serial më të përdorur në elektronikë. I2C lehtëson komunikimin midis komponentëve elektronikë ose qarqeve të integruara, pavarësisht nëse komponentët janë në të njëjtën PCB ose të lidhur me një kabllo.
Çfarë është Protokolli I2C?
I2C është një protokoll komunikimi serial që kërkon vetëm dy linja sinjali. Ai ishte projektuar për komunikimin midis çipave në një tabelë të qarkut të printuar (PCB). I2C fillimisht ishte projektuar për komunikim 100 Kbps. Sidoqoftë, mënyrat më të shpejta të transmetimit të të dhënave janë zhvilluar gjatë viteve për të arritur shpejtësi deri në 3.4 Mbit.
Veçoria kryesore e I2C është aftësia për të pasur shumë komponentë në një autobus të vetëm komunikimi me vetëm dy tela, gjë që e bën I2C të përsosur për aplikime të thjeshta. Protokolli I2C është krijuar si një standard zyrtar, duke lejuar përputhshmërinë e prapambetur midis implementimeve të I2C.
Sinjalet I2C
Protokolli I2C përdor dy linja sinjalesh dydrejtimëshe për të komunikuar me pajisjet në autobusin e komunikimit. Dy sinjalet e përdorura janë:
- Linja e të dhënave serike (SDL)
- Ora e të dhënave serike (SDC)
Arsyeja që I2C mund të përdorë vetëm dy sinjale për të komunikuar me disa pajisje periferike është se si trajtohet komunikimi përgjatë autobusit. Çdo komunikim I2C fillon me një adresë 7-bit (ose 10-bit) që thërret adresën e pajisjes periferike.
Kjo lejon pajisje të shumta në autobusin I2C të luajnë rolin e pajisjes parësore siç e diktojnë nevojat e sistemit. Për të parandaluar përplasjet e komunikimit, protokolli I2C përfshin arbitrazhin dhe aftësitë e zbulimit të përplasjeve, të cilat lejojnë komunikim të qetë përgjatë autobusit.
Përfitimet e I2C
Si një protokoll komunikimi, I2C ka përparësitë e mëposhtme:
- Shkalla fleksibël të transmetimit të të dhënave.
- Komunikim në distancë më të gjatë se SPI.
- Çdo pajisje në autobus është e adresueshme në mënyrë të pavarur.
- Pajisjet kanë një marrëdhënie të thjeshtë parësore/sekondare.
- Kërkon vetëm dy linja sinjalizuese.
- Është në gjendje të trajtojë komunikime të shumta parësore duke ofruar arbitrazh dhe zbulim të përplasjeve të komunikimit.
Kufizimet e I2C
Me të gjitha këto avantazhe, I2C ka gjithashtu disa kufizime që mund të kenë nevojë të dizajnohen. Kufizimet më të rëndësishme të I2C përfshijnë:
- Meqenëse vetëm 7-bit (ose 10-bit) janë të disponueshëm për adresimin e pajisjes, pajisjet në të njëjtin autobus mund të ndajnë të njëjtën adresë. Disa pajisje mund të konfigurojnë pjesët e fundit të adresës, por kjo imponon një kufizim të pajisjeve në të njëjtin autobus.
- Disponohen vetëm disa shpejtësi të kufizuara komunikimi dhe shumë pajisje nuk e mbështesin transmetimin me shpejtësi më të larta. Kërkohet mbështetje e pjesshme për çdo shpejtësi në autobus për të parandaluar që pajisjet më të ngad alta të kapin transmetime të pjesshme që mund të rezultojnë në defekte operacionale.
- Natyra e përbashkët e autobusit I2C mund të rezultojë që i gjithë autobusi të varet kur një pajisje e vetme në autobus ndalon së punuari. Çiklizmi i energjisë deri te autobusi mund të rivendosë funksionimin e duhur.
- Meqenëse pajisjet vendosin shpejtësinë e tyre të komunikimit, pajisjet operacionale më të ngad alta mund të vonojnë funksionimin e pajisjeve më të shpejta.
- I2C tërheq më shumë energji se autobusët e tjerë të komunikimit serial për shkak të topologjisë së linjave të komunikimit me kullim të hapur.
- Kufizimet e autobusit I2C zakonisht e kufizojnë numrin e pajisjeve në një autobus në rreth një duzinë.
Aplikime I2C
I2C është një opsion i shkëlqyeshëm për aplikacionet që kërkojnë kosto të ulët dhe zbatim të thjeshtë dhe jo shpejtësi të lartë. Për shembull, përdorimet e zakonshme të protokollit të komunikimit I2C përfshijnë:
- Leximi i IC-ve të caktuara të memories.
- Qasja në DAC dhe ADC.
- Transmetimi dhe kontrolli i veprimeve të drejtuara nga përdoruesi.
- Leximi i sensorëve të harduerit.
- Komunikimi me mikrokontrollues të shumtë.