I2C is ontwikkel deur Philips in die 1980's en is een van die mees algemene seriële kommunikasie protokolle in elektronika. I2C maak kommunikasie tussen elektroniese komponente of IC tot IC moontlik, of die komponente op dieselfde PCB is of via 'n kabel verbind word. Die belangrikste kenmerk van I2C is die vermoë om 'n groot aantal komponente op 'n enkele kommunikasiebus te hê met net twee drade wat die I2C ideaal maak vir toepassings wat eenvoud en lae koste oor spoed vereis.
Oorsig van die I2C-protokol
I2C is 'n seriële kommunikasie protokol wat slegs twee sein lyne benodig wat ontwerp is vir kommunikasie tussen skyfies op 'n PCB. I2C is oorspronklik ontwerp vir kommunikasie van 100kbps, maar vinniger data-oordragmodusse is oor die jare ontwikkel om snelhede van tot 3,4Mbit te bereik. Die I2C protokol is gestig as 'n amptelike standaard, wat voorsiening maak vir goeie verenigbaarheid onder I2C implementasies en goeie agteruitkompatibiliteit.
I2C Seine
Die I2C-protokol gebruik slegs twee tweerigting seinlyne om met al die toestelle op die I2C-bus te kommunikeer. Die twee seine wat gebruik word, is:
- Serial Data Line (SDL)
- Serial Data Clock (SDC)
Die rede waarom I2C slegs twee seine kan gebruik om met 'n aantal randapparatuur te kommunikeer, is hoe kommunikasie langs die bus hanteer word. Elke I2C-kommunikasie begin met 'n 7-bis (of 10-bis) adres wat die adres van die periferie roep. Die res van die kommunikasie is bedoel om die kommunikasie te ontvang. Dit laat verskeie toestelle op die I2C-bus toe om die rol van die meestertoestel te speel, aangesien die behoeftes van die stelsel dikteer. Om kommunikasiebotsings te voorkom, bevat die I2C-protokol arbitrasie- en botsingsdeteksie-vermoëns wat gladde kommunikasie langs die bus toelaat.
Voordele en beperkings
As 'n kommunikasie protokol, I2C het baie voordele wat maak is 'n goeie keuse vir baie ingebedde ontwerp toepassings. I2C bring die volgende voordele:
- I2C benodig slegs twee seinlyne
- Buigsame data oordrag pryse
- Elke toestel op die bus is onafhanklik aanspreeklik
- Toestelle het 'n eenvoudige meester / slaaf verhouding
- I2C is in staat om verskeie meester kommunikasie te hanteer deur middel van arbitrasie en kommunikasie botsing opsporing
- Langer afstandskommunikasie as SPI
Met al hierdie voordele, het I2C ook 'n paar beperkings wat moontlik rondom die ontwerp moet wees. Die belangrikste I2C-beperkings sluit in:
- Aangesien slegs 7-bits (of 10-bits) beskikbaar is vir toesteladressering, kan toestelle op dieselfde bus dieselfde adres deel. Sommige toestelle kan die laaste paar bisse van die adres konfigureer, maar dit stel steeds 'n beperking van toestelle op dieselfde bus in.
- Slegs 'n paar beperkte kommunikasie snelhede is beskikbaar en baie toestelle ondersteun nie die oordrag hoër snelhede nie. Gedeeltelike ondersteuning vir elke spoed op die bus is nodig om te verhoed dat stadiger toestelle partiële transmissies vang wat tot operasionele glitches sal lei.
- Die gedeelde aard van die I2C-bus kan tot gevolg hê dat die hele bus ophang wanneer 'n enkele toestel op die bus stop werk. Fietsry die krag na die bus kan gebruik word om die bus weer te begin en die korrekte werking te herstel.
- Aangesien toestelle hul kommunikasietoerusting kan stel, kan stadiger operasionele toestelle die werking van vinniger spoed toestelle vertraag.
- I2C trek meer krag as ander seriële kommunikasie busse as gevolg van die oop dreineer topologie van die kommunikasie lyne.
- Die beperkings van die I2C-bus beperk tipies die aantal toestelle op 'n bus na 'n dosyn toestelle.
aansoeke
Die I2C-bus is 'n uitstekende opsie vir toepassings wat lae koste en eenvoudige implementering eerder as hoë spoed benodig. Byvoorbeeld, die lees van sekere geheue IC's, toegang tot DAC's en ADC's, lees sensors , stuur en beheer van gebruikergerigte aksies, lees van hardeware ore, en kommunikasie met verskeie mikrokontrolers is algemene gebruike van die I2C kommunikasie protokol.