Pregled I2C

Razvijen od Philipsa 1980-ih, I2C je postao jedan od najčešćih protokola serijske komunikacije u elektronici. I2C omogućava komunikaciju između elektronskih komponenti ili IC-a na IC, bez obzira na to da li su komponente na istom PCB-u ili su povezane preko kabla. Ključna karakteristika I2C-a je mogućnost da na jednom komunikacijskom sabirničkom području postoji veliki broj komponenti sa samo dvije žice što čini I2C savršenim za aplikacije koje zahtevaju jednostavnost i niske troškove preko brzine.

Pregled I2C protokola

I2C je serijski komunikacijski protokol koji zahteva samo dve signalne linije koje su dizajnirane za komunikaciju između čipova na PCB-u. I2C je originalno dizajniran za komunikaciju od 100 Kb / s, ali su tokom godina razvijeni brži modovi prenosa podataka kako bi se postigli brzini do 3,4 Mbit. I2C protokol je uspostavljen kao zvanični standard, koji obezbeđuje dobru kompatibilnost između I2C implementacija i dobre kompatibilnosti za nazad.

Signali I2C

I2C protokol koristi samo dve dvosmerne linije signala da komunicira sa svim uređajima na I2C magistrali. Dva korišćena signala su:

Razlog zbog kojeg I2C može da koristi samo dva signala za komunikaciju sa više perifernih uređaja jeste kako se rukuje komunikacijom duž magistrale. Svaka I2C komunikacija počinje sa 7-bitnom (ili 10-bitnom) adresom koja naziva adresu periferije, a ostatak komunikacije ima za cilj da primi komunikaciju. Ovo dozvoljava višestrukim uređajima na I2C busu da igraju ulogu glavnog uređaja jer potrebe diktata sistema diktiraju. Za sprječavanje komunikacionih sudara, I2C protokol uključuje mogućnosti za otkrivanje sudara i sudara koji omogućavaju nesmetanu komunikaciju duž magistrale.

Prednosti i ograničenja

Kao komunikacijski protokol, I2C ima puno prednosti koje donosi je dobar izbor za mnoge ugrađene dizajnerske aplikacije. I2C donosi sledeće prednosti:

Uz sve ove prednosti, I2C takođe ima nekoliko ograničenja koja bi možda trebala biti dizajnirana. Najvažnije I2C ograničenja uključuju:

Aplikacije

I2C bus je odlična opcija za aplikacije koje zahtevaju nisku cenu i jednostavnu implementaciju, a ne veliku brzinu. Na primer, čitanje određenih memorijskih ICs-a, pristupa DAC-u i ADC-u, senzorima za čitanje , prenošenjem i kontrolom akcija usmerenih na korisnike, čitanjem senzora hardvera i komuniciranjem sa više mikrokontrolera su uobičajene upotrebe I2C komunikacijskog protokola.