Pregled in prednosti avtobusa I2C

click fraud protection

Razvil ga je Philips v osemdesetih letih, I2C (alternativno napisano I2C) je postal eden najpogosteje uporabljenih serijskih komunikacijskih protokolov v elektroniki. I2C olajša komunikacijo med elektronskimi komponentami ali integrirano vezja, ali so komponente enake PCB ali povezana s kablom.

Druga faza protokola I2C
Mwnuk / CC BY 2.0 / Wikimedia Commons

Kaj je protokol I2C?

I2C je serijski komunikacijski protokol, ki zahteva samo dve signalni liniji. Zasnovan je bil za komunikacijo med čipi na tiskanem vezju (PCB). I2C je bil prvotno zasnovan za 100 Kbps komunikacijo. Vendar pa so se z leti razvijali hitrejši načini prenosa podatkov, da bi dosegli hitrosti do 3,4 Mbita.

Ključna značilnost I2C je možnost, da ima veliko komponent na enem komunikacijski avtobus s samo dvema žicama, zaradi česar je I2C popoln za preproste aplikacije. Protokol I2C je bil vzpostavljen kot uradni standard, ki omogoča združljivost za nazaj med implementacijami I2C.

I2C signali

Protokol I2C uporablja dve dvosmerni signalni liniji za komunikacijo z napravami na komunikacijskem vodilu. Uporabljena sta dva signala:

  • Serijska podatkovna linija (SDL)
  • Serijska podatkovna ura (SDC)

Razlog, da lahko I2C uporablja samo dva signala za komunikacijo z več zunanjimi napravami, je v tem, kako poteka komunikacija vzdolž vodila. Vsaka komunikacija I2C se začne s 7-bit (ali 10-bitni) naslov, ki pokliče naslov periferne naprave.

To omogoča, da več naprav na vodilu I2C igra vlogo primarne naprave, kot narekujejo potrebe sistema. Za preprečevanje komunikacijskih kolizij protokol I2C vključuje arbitražo in zmožnosti zaznavanja trkov, ki omogočajo nemoteno komunikacijo vzdolž vodila.

Prednosti I2C

Kot komunikacijski protokol ima I2C naslednje prednosti:

  • Prilagodljive hitrosti prenosa podatkov.
  • Komunikacija na daljše razdalje kot SPI.
  • Vsaka naprava na vodilu je neodvisno naslovljiva.
  • Naprave imajo preprosto primarno/sekundarno razmerje.
  • Potrebuje samo dve signalni liniji.
  • Zmožen je obravnavati več primarnih komunikacij z zagotavljanjem arbitraže in zaznavanja komunikacijskih kolizij.

Omejitve I2C

Z vsemi temi prednostmi ima I2C tudi nekaj omejitev, ki jih bo morda treba oblikovati. Najpomembnejše omejitve I2C vključujejo:

  • Ker je za naslavljanje naprav na voljo samo 7-bit (ali 10-bit), lahko naprave na istem vodilu delijo isti naslov. Nekatere naprave lahko konfigurirajo zadnjih nekaj bitov naslova, vendar to nalaga omejitev naprav na istem vodilu.
  • Na voljo je le nekaj omejenih komunikacijskih hitrosti in številne naprave ne podpirajo prenosa pri višjih hitrostih. Delna podpora za vsako hitrost na vodilu je potrebna, da preprečimo, da bi počasnejše naprave ujale delne prenose, ki lahko povzročijo napake pri delovanju.
  • Skupna narava vodila I2C lahko povzroči, da celotno vodilo visi, ko ena naprava na vodilu preneha delovati. Preklop napajanja na vodilo lahko obnovi pravilno delovanje.
  • Ker naprave nastavljajo svojo hitrost komunikacije, lahko počasnejše delujoče naprave zakasnijo delovanje hitrejših naprav.
  • I2C zaradi topologije komunikacijskih vodov z odprtim odtokom porabi več energije kot druga serijska komunikacijska vodila.
  • Omejitve vodila I2C običajno omejujejo število naprav na vodilu na približno ducat.

I2C aplikacije

I2C je odlična možnost za aplikacije, ki zahtevajo nizke stroške in preprosto izvedbo namesto visoke hitrosti. Na primer, običajne uporabe komunikacijskega protokola I2C vključujejo:

  • Branje nekaterih pomnilniških IC.
  • Dostop do DAC in ADC.
  • Prenos in nadzor uporabniško usmerjenih dejanj.
  • Branje senzorjev strojne opreme.
  • Komunikacija z več mikrokrmilniki.