Philipsin 1980-luvulla kehittämä I2C (vaihtoehtoisesti kirjoitettu I2C) on tullut yhdeksi elektroniikan yleisimmin käytetyistä sarjaliikenneprotokollista. I2C helpottaa viestintää elektronisten komponenttien tai integroitujen piirien välillä riippumatta siitä, ovatko komponentit samalla piirilevyllä tai kytkettynä kaapelilla.
Mikä on I2C-protokolla?
I2C on sarjaliikenneprotokolla, joka vaatii vain kaksi signaalilinjaa. Se on suunniteltu piirilevyjen (PCB) sirujen väliseen viestintään. I2C suunniteltiin alun perin 100 kbps:n tiedonsiirtoon. Kuitenkin nopeampia tiedonsiirtotiloja on kehitetty vuosien varrella jopa 3 nopeuden saavuttamiseksi.4 Mbit.
I2C:n tärkein ominaisuus on kyky yhdistää useita komponentteja yhdelle viestintäväylällä vain kahdella johdolla, mikä tekee I2C:stä täydellisen yksinkertaisiin sovelluksiin. I2C-protokolla on vakiintunut 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:
- Serial Data Line (SDL)
- Serial Data Clock (SDC)
Syy siihen, että I2C voi käyttää vain kahta signaalia viestiäkseen useiden oheislaitteiden kanssa, on väylän varrella tapahtuvan tiedonsiirron käsittely. Jokainen I2C-viestintä alkaa 7-bittisellä (tai 10-bittisellä) osoitteella, joka kutsuu oheislaitteen osoitteen.
Tämän ansiosta useat I2C-väylällä olevat laitteet voivat toimia ensisijaisena laitteena järjestelmän tarpeiden mukaan. Tietoliikennetörmäysten estämiseksi I2C-protokolla sisältää sovittelu- ja törmäystunnistusominaisuudet, jotka mahdollistavat sujuvan tiedonsiirron väylällä.
I2C:n edut
Tiedonsiirtoprotokollana I2C:llä on seuraavat edut:
- Joustavat tiedonsiirtonopeudet.
- Pidempi matkaviestintä 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 kommunikaatioita 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ärkeimpiä I2C-rajoituksia ovat:
- Koska laiteosoitteisiin on käytettävissä vain 7 bittiä (tai 10 bittiä), samassa väylässä olevat laitteet voivat jakaa saman osoitteen. Jotkut laitteet voivat määrittää osoitteen viimeiset bitit, mutta tämä rajoittaa laitteita samassa väylässä.
- Vain muutama rajoitettu tiedonsiirtonopeus on saatavilla, ja monet laitteet eivät tue lähetystä suuremmilla nopeuksilla. Väylän jokaiselle nopeudelle tarvitaan osittainen tuki, jotta hitaammat laitteet eivät saa kiinni osittaisista lähetyksistä, jotka voivat aiheuttaa toimintahäiriöitä.
- I2C-väylän yhteinen luonne voi johtaa siihen, että koko väylä roikkuu, kun yksi linja-auton laite lakkaa toimimasta. Virran kytkeminen väylään voi palauttaa oikean toiminnan.
- Koska laitteet asettavat oman tiedonsiirtonopeudensa, hitaammat laitteet voivat viivästyttää nopeampien laitteiden toimintaa.
- I2C kuluttaa enemmän virtaa kuin muut sarjaliikenneväylät tietoliikennelinjojen avoimen nielutopologian vuoksi.
- I2C-väylän rajoitukset rajoittavat tyypillisesti väylän laitteiden määrän noin tusinaan.
I2C-sovellukset
I2C on loistava vaihtoehto sovelluksille, jotka vaativat alhaisia kustannuksia ja yksinkertaista toteutusta nopean nopeuden sijaan. Esimerkiksi I2C-viestintäprotokollan yleisiä käyttökohteita ovat:
- Tiettyjen muistipiirien lukeminen.
- Käytetään DAC:ita ja ADC:itä.
- Käyttäjän ohjaamien toimien lähettäminen ja hallinta.
- Laitteistoanturien lukeminen.
- Kommunikointi useiden mikro-ohjainten kanssa.