Přehled a výhody sběrnice I2C

Vyvinutý společností Philips v 80. letech 20. století, I2C (alternativně hláskovaný I2C) se stal jedním z nejčastěji používaných protokolů sériové komunikace v elektronice. I2C usnadňuje komunikaci mezi elektronickými součástkami nebo integrovanými obvody, zda jsou komponenty na stejné PCB nebo propojeny kabelem.

Druhá fáze protokolu I2C
Mwnuk / CC BY 2.0 / Wikimedia Commons

Co je protokol I2C?

I2C je sériový komunikační protokol, který vyžaduje pouze dvě signální linky. Byl navržen pro komunikaci mezi čipy na desce plošných spojů (PCB). I2C byl původně navržen pro 100 kb/s sdělení. V průběhu let však byly vyvinuty rychlejší režimy přenosu dat, které dosahují rychlosti až 3,4 Mbit.

Klíčovou vlastností I2C je schopnost mít mnoho komponent na jednom komunikační sběrnice pouze se dvěma vodiči, díky čemuž je I2C ideální pro jednoduché aplikace. Protokol I2C byl zaveden jako oficiální standard umožňující zpětnou kompatibilitu mezi implementacemi I2C.

I2C signály

Protokol I2C využívá ke komunikaci se zařízeními na komunikační sběrnici dvě obousměrné signálové linky. Používají se dva signály:

  • Sériová datová linka (SDL)
  • Hodiny sériových dat (SDC)

Důvod, proč I2C může používat pouze dva signály pro komunikaci s několika periferiemi, je způsob, jakým je řešena komunikace po sběrnici. Každá I2C komunikace začíná 7-bit (nebo 10bitová) adresa, která volá adresu periferie.

To umožňuje, aby více zařízení na sběrnici I2C hrálo roli primárního zařízení, jak to vyžadují potřeby systému. Aby se předešlo komunikačním kolizím, zahrnuje I2C protokol funkce arbitráže a detekce kolize, které umožňují plynulou komunikaci po sběrnici.

Výhody I2C

Jako komunikační protokol má I2C následující výhody:

  • Flexibilní přenosové rychlosti dat.
  • Komunikace na delší vzdálenost než SPI.
  • Každé zařízení na sběrnici je samostatně adresovatelné.
  • Zařízení mají jednoduchý primární/sekundární vztah.
  • Vyžaduje pouze dvě signální linky.
  • Je schopen zpracovávat více primárních komunikací poskytováním arbitráže a detekce komunikačních kolizí.

Omezení I2C

Se všemi těmito výhodami má I2C také několik omezení, která může být potřeba upravit. Mezi nejdůležitější omezení I2C patří:

  • Protože pro adresování zařízení je k dispozici pouze 7 bitů (nebo 10 bitů), zařízení na stejné sběrnici mohou sdílet stejnou adresu. Některá zařízení mohou konfigurovat posledních několik bitů adresy, ale to znamená omezení zařízení na stejné sběrnici.
  • K dispozici je pouze několik omezených komunikačních rychlostí a mnoho zařízení nepodporuje přenos vyšší rychlostí. Je vyžadována částečná podpora pro každou rychlost na sběrnici, aby se zabránilo pomalejším zařízením zachytit částečné přenosy, které mohou vést k provozním závadám.
  • Sdílená povaha sběrnice I2C může mít za následek zablokování celé sběrnice, když jediné zařízení na sběrnici přestane fungovat. Zapnutím napájení sběrnice lze obnovit správný provoz.
  • Protože si zařízení nastavují vlastní komunikační rychlost, pomalejší provozní zařízení mohou zpozdit činnost rychlejších zařízení.
  • I2C spotřebovává více energie než jiné sériové komunikační sběrnice díky topologii komunikačních linek typu open-drain.
  • Omezení sběrnice I2C obvykle omezují počet zařízení na sběrnici na přibližně tucet.

I2C aplikace

I2C je skvělá volba pro aplikace, které vyžadují spíše nízkou cenu a jednoduchou implementaci než vysokou rychlost. Běžná použití komunikačního protokolu I2C například zahrnují:

  • Čtení určitých paměťových IC.
  • Přístup k DAC a ADC.
  • Přenos a ovládání akcí řízených uživatelem.
  • Čtení hardwarových senzorů.
  • Komunikace s více mikrokontroléry.