Philipsin 1980-luvulla kehittämä I2C:stä (vaihtoehtoisesti kirjoitettu I2C) on tullut yksi elektroniikan laajimmin käytetyistä sarjaliikenneprotokollista. I2C helpottaa viestintää elektronisten komponenttien tai integroitujen piirien välillä riippumatta siitä, ovatko komponentit samalla piirilevyllä tai langallisesti.
Mikä on I2C-protokolla?
I2C on sarjaliikenneprotokolla, joka vaatii vain kaksi signaalilinjaa. Se on suunniteltu piirilevyjen (PCB) sirujen väliseen tiedonsiirtoon. I2C suunniteltiin alun perin 100 kbps:n tiedonsiirtoon. Vuosien varrella on kuitenkin kehitetty nopeampia tiedonsiirtotiloja jopa 3,4 Mbit:n nopeuksille. I2C:n pääominaisuus on kyky sisältää useita komponentteja yhdellä viestintäväylällä vain kahdella johdolla, mikä tekee I2C:stä täydellisen yksinkertaisiin sovelluksiin. I2C-protokolla on vakiinnutettu viralliseksi standardiksi, joka mahdollistaa taaksepäin yhteensopivuuden I2C-toteutusten välillä.
I2C signaalit
I2C-protokolla käyttää kahta kaksisuuntaista signaalilinjaa viestiäkseen tietoliikenneväylällä olevien laitteiden kanssa. Kaksi käytettyä signaalia ovat:
- Sarjadatalinja (SDL)
- Sarjadatakello (SDC)
Syy, miksi I2C voi käyttää vain kahta signaalia viestiäkseen eri oheislaitteiden kanssa, on tapa, jolla viestintää käsitellään väylällä. Jokainen I2C-viestintä alkaa 7-bittisellä (tai 10-bittisellä) osoitteella, joka kutsuu oheislaitteen osoitetta. Tämän ansiosta useat I2C-väylällä olevat laitteet voivat toimia ensisijaisena laitteena järjestelmän tarpeista riippuen. Tietoliikennetörmäysten välttämiseksi I2C-protokolla sisältää sovittelu- ja törmäystunnistusominaisuudet, jotka mahdollistavat sujuvan tiedonsiirron väylällä.
I2C:n edut
Tietoliikenneprotokollana I2C:llä on seuraavat edut:
- Joustavat tiedonsiirtonopeudet.
- Pidemmän matkan viestintä kuin SPI.
- Jokainen väylän laite on itsenäisesti osoitettavissa.
- Laitteilla on yksinkertainen ensisijainen/toissijainen suhde.
- Se vaatii vain kaksi signaalilinjaa.
- Se pystyy käsittelemään useita ensisijaisia viestintöjä tarjoamalla sovittelun ja tietoliikennetörmäysten havaitsemisen.
I2C:n rajoitukset
Kaikkien näiden etujen ansiosta I2C:llä on myös joitain rajoituksia, jotka on ehkä suunniteltava. Tärkeimmät I2C-rajoitukset ovat:
- Koska vain 7-bittiset (tai 10-bittiset) ovat käytettävissä laiteosoitteita varten, samassa väylässä olevat laitteet voivat jakaa saman osoitteen. Jotkut laitteet voivat määrittää osoitteen viimeiset bitit, mutta tämä rajoittaa laitteet samassa väylässä.
- Vain joitain rajoitettuja tiedonsiirtonopeuksia on saatavilla, ja monet laitteet eivät tue siirtoja suuremmilla nopeuksilla. Väylän kullekin nopeudelle tarvitaan osittainen tuki, jotta hitaammat laitteet eivät sieppaa osittaisia lähetyksiä, jotka voivat johtaa toimintahäiriöihin.
- I2C-väylän yhteinen luonne voi saada koko väylän roikkumaan, kun yksi väylässä oleva laite lakkaa toimimasta. Virran kytkeminen väylään voi palauttaa oikean toiminnan.
- Koska laitteet asettavat oman tiedonsiirtonopeudensa, hitaammat laitteet voivat hidastaa nopeampien laitteiden toimintaa.
- I2C käyttää enemmän virtaa kuin muut sarjaliikenneväylät tietoliikennelinjojen avoimen nielutopologian vuoksi.
- I2C-väylän rajoitukset rajoittavat tyypillisesti väylällä olevien laitteiden määrän noin kymmeneen.
I2C-sovellukset
I2C on loistava vaihtoehto sovelluksille, jotka vaativat alhaisia kustannuksia ja helppoa käyttöönottoa nopean nopeuden sijaan. I2C-viestintäprotokollan yleisiä sovelluksia ovat esimerkiksi:
- Tiettyjen muistipiirien lukeminen.
- Pääsy DAC:iin ja ADC:ihin.
- Lähetä ja seuraa käyttäjän ohjaamia toimintoja.
- Lue laitteistoanturit.
- Kommunikoi useiden mikro-ohjainten kanssa.