Skip to content

Výběr mezi I2C a SPI pro váš projekt

14 de Červen de 2021
I2C vs SPI 4b7b04e387554cc880d2730466d2053e

Pro komunikaci na krátkou vzdálenost se používá sériové periferní rozhraní (SPI), zejména v integrovaných systémech. Běžnějším sériovým komunikačním protokolem je I2C, který usnadňuje komunikaci mezi elektronickými součástmi, ať už jsou součásti na stejné desce plošných spojů nebo připojeny kabelem. Výběr mezi I2C a SPI, dvěma hlavními protokoly sériové komunikace, vyžaduje důkladné pochopení výhod a omezení I2C, SPI a aplikace. Každý komunikační protokol má různé výhody, které se obvykle odlišují při použití ve vaší aplikaci.

SPI

  • Lepší pro aplikace s vysokou rychlostí a nízkou spotřebou.
  • Není to oficiální standard – obecně méně kompatibilní.

I2C

  • Lepší pro komunikaci s několika periferiemi a změnu role primárního zařízení.
  • Standardizace zajišťuje lepší kompatibilitu.

SPI je lepší pro aplikace s vysokou rychlostí a nízkou spotřebou. I2C je vhodnější pro komunikaci s velkým počtem periferií. SPI i I2C jsou robustní a stabilní komunikační protokoly pro vestavěné aplikace, které jsou vhodné pro vestavěný svět.

Obvodová deska

SPI klady a zápory

Výhody

  • Podporuje vyšší rychlost plně duplexní komunikace.
  • Velmi nízký výkon.

Nevýhody

  • Krátké přenosové vzdálenosti, nelze komunikovat mezi součástmi na samostatných deskách plošných spojů.
  • Několik variant a přizpůsobení může způsobit problémy s kompatibilitou.
  • Vyžaduje další signální vedení pro správu více zařízení na stejné sběrnici.
  • Neověřuje, že jsou data přijímána správně.
  • Náchylnější na hluk.

Serial to Peripheral Interface je čtyřvodičové sériové komunikační rozhraní s velmi nízkou spotřebou. Je navržen tak, aby řadiče IC a periferní zařízení mohly navzájem komunikovat. Sběrnice SPI je plně duplexní sběrnice, která umožňuje současný tok komunikace z primárního zařízení rychlostí až 10 Mb / s. Vysokorychlostní provoz SPI obecně omezuje jeho použití ke komunikaci mezi součástmi na samostatných deskách plošných spojů z důvodu zvýšení kapacity, které komunikace na dálku přidává do signálních vedení. Kapacita PCB může také omezit délku komunikačních linek SPI. I když je SPI zavedený protokol, nejedná se o oficiální standard. SPI nabízí několik variant a přizpůsobení, které vedou k problémům s kompatibilitou. Implementace SPI by měla být vždy kontrolována mezi primárními řadiči a sekundárními periferiemi, aby se zajistilo, že kombinace nebude mít neočekávané komunikační problémy, které ovlivňují vývoj produktu.

Klady a zápory I2C

Výhody

  • Podporuje více zařízení na stejné sběrnici bez dalších vybraných signálních vedení prostřednictvím adresování zařízení v komunikaci.
  • Oficiální standard poskytuje kompatibilitu mezi implementacemi I2C a zpětnou kompatibilitu.
  • Zajišťuje, že sekundární zařízení přijímá odeslaná data.
  • Může vysílat z PCB, ale při nízkých přenosových rychlostech.
  • Levnější než komunikační protokol SPI.
  • Méně citlivý na hluk než SPI.
  • Přenášejte data na větší vzdálenosti.

Nevýhody

  • Pomalejší přenosové rychlosti a přenosové rychlosti.
  • Může být uzamčeno jedním zařízením, které nedokáže uvolnit komunikační sběrnici.
  • Čerpá více energie než SPI.

I2C je oficiální standardní sériový komunikační protokol, který vyžaduje pouze dvě signální linky, které byly navrženy pro komunikaci mezi čipy na desce plošných spojů. I2C byl původně navržen pro komunikaci 100 kbps. Přesto byly v průběhu let vyvíjeny rychlejší režimy přenosu dat, aby bylo dosaženo rychlosti až 3,4 Mb / s. Protokol I2C byl zaveden jako oficiální standard a poskytuje dobrou kompatibilitu mezi implementacemi I2C a dobrou zpětnou kompatibilitu. Kromě výše uvedeného seznamu kladů a záporů vyžaduje I2C pouze dva vodiče. SPI vyžaduje tři nebo čtyři. SPI dále podporuje pouze jedno primární zařízení na sběrnici, zatímco I2C podporuje více primárních zařízení.

Výběr mezi I2C a SPI

Celkově je SPI lepší pro aplikace s vysokou rychlostí a nízkou spotřebou, zatímco I2C je vhodnější pro komunikaci s velkým počtem periferií, stejně jako v situacích zahrnujících dynamickou změnu role primárního zařízení mezi periferiemi na sběrnici I2C.