Vyvinutý v roku 1980 spoločnosťou Philips, I2C sa stala jedným z najbežnejších sériových komunikačných protokolov v elektronike. I2C umožňuje komunikáciu medzi elektronickými komponentmi alebo IC na IC, či sú komponenty na tej istej doske alebo pripojené pomocou kábla. Kľúčovým prvkom I2C je schopnosť mať obrovský počet komponentov na jednej komunikačnej zbernici s iba dvomi drôtmi, čo robí I2C ideálnymi pre aplikácie, ktoré vyžadujú jednoduchosť a nízke náklady na rýchlosť.
Prehľad protokolu I2C
I2C je sériový komunikačný protokol, ktorý vyžaduje iba dve signálne linky, ktoré boli navrhnuté na komunikáciu medzi čipmi na PCB. I2C bol pôvodne navrhnutý pre komunikáciu 100 kb / s, avšak v priebehu rokov sa vyvinuli rýchlejší spôsoby prenosu dát, aby sa dosiahli rýchlosti až do 3,4 Mbit. Protokol I2C bol zavedený ako oficiálny štandard, ktorý zabezpečuje dobrú kompatibilitu medzi implementáciami I2C a dobrou spätnou kompatibilitou.
Signály I2C
Protokol I2C používa iba dve obojsmerné signálne linky na komunikáciu so všetkými zariadeniami na zbernici I2C. Použité dva signály sú:
- Sériový dátový riadok (SDL)
- Sériové dátové hodiny (SDC)
Dôvodom, prečo I2C môže používať len dva signály na komunikáciu s viacerými periférnymi zariadeniami, je spôsob, akým sa komunikuje so zbernicou. Každá komunikácia I2C začína s 7-bitovou (alebo 10-bitovou) adresou, ktorá vyvolá adresu periférneho zariadenia, pričom zvyšok komunikácie je určený na príjem komunikácie. To umožňuje viacerým zariadeniam na zbernici I2C hrať úlohu hlavného zariadenia podľa potrieb systému. Aby sa zabránilo kolízii v komunikácii, protokol I2C zahŕňa možnosti rozhodovania a detekcie kolízie, ktoré umožňujú plynulú komunikáciu pozdĺž zbernice.
Výhody a obmedzenia
Ako komunikačný protokol, I2C má veľa výhod, ktoré robia, je dobrou voľbou pre mnohé embedded design aplikácie. I2C prináša tieto výhody:
- I2C vyžaduje len dve riadky signálu
- Flexibilné rýchlosti prenosu údajov
- Každé zariadenie na zbernici je nezávisle adresovateľné
- Zariadenia majú jednoduchý vzťah Master / Slave
- I2C je schopný zvládnuť viaceré hlavné komunikácie tým, že poskytuje rozhodovanie a detekciu kolíznych zmien
- Komunikácia s dlhšou vzdialenosťou ako SPI
So všetkými týmito výhodami, I2C má tiež niekoľko obmedzení, ktoré môžu byť potrebné navrhnúť okolo. Medzi najdôležitejšie obmedzenia I2C patrí:
- Keďže na adresovanie zariadení sú k dispozícii iba 7 bitov (alebo 10 bitov), zariadenia na tej istej zbernici môžu zdieľať rovnakú adresu. Niektoré zariadenia dokážu nakonfigurovať posledných pár bitov adresy, ale stále to obmedzuje zariadenia na tej istej zbernici.
- Existuje len niekoľko obmedzených komunikačných rýchlostí a mnohé zariadenia nepodporujú vyššiu rýchlosť prenosu. Čiastočná podpora každej rýchlosti na zbernici je potrebná, aby sa zabránilo pomalším zariadeniam pri zachytávaní čiastočných prenosov, ktoré spôsobia prevádzkové závady.
- Spoločná povaha zbernice I2C môže viesť k tomu, že celá zbernica visí, keď jedno zariadenie na autobusovej jednotke prestane pracovať. Cyklovanie napájania do zbernice sa môže použiť na reštartovanie zbernice a obnovenie správnej prevádzky.
- Pretože zariadenia môžu nastaviť svoju komunikačnú rýchlosť, pomalšie operačné zariadenia môžu oddialiť prevádzku zariadení s vyššou rýchlosťou.
- I2C čerpá viac energie ako iné sériové komunikačné zbernice kvôli topológii otvoreného odtoku komunikačných liniek.
- Obmedzenia zbernice I2C zvyčajne obmedzujú počet zariadení na zbernici na približne tucet zariadení.
aplikácia
Zbernica I2C je skvelou voľbou pre aplikácie, ktoré vyžadujú nízke náklady a jednoduchú implementáciu, a nie vysokú rýchlosť. Napríklad čítanie určitých pamäťových integrovaných obvodov, prístup k DAC a ADC, čítanie senzorov , vysielanie a riadenie užívateľom riadených akcií, čítanie hardvérových snímačov a komunikácia s viacerými mikrokontrolérmi sú bežným použitím komunikačného protokolu I2C.