Izbira med I2C in SPI za vaš projekt

Kazalo:

Izbira med I2C in SPI za vaš projekt
Izbira med I2C in SPI za vaš projekt
Anonim

Serijski periferni vmesnik (SPI) se uporablja za komunikacijo na kratke razdalje, zlasti v vgrajenih sistemih. Pogostejši serijski komunikacijski protokol je I2C, ki olajša komunikacijo med elektronskimi komponentami, ne glede na to, ali so komponente na istem tiskanem vezju ali povezane s kablom.

Izbira med I2C in SPI, dvema glavnima serijskima komunikacijskima protokoloma, zahteva dobro razumevanje prednosti in omejitev I2C, SPI in aplikacije. Vsak komunikacijski protokol ima različne prednosti, ki se razlikujejo, ko se nanašajo na vašo aplikacijo.

Image
Image
  • Boljše za aplikacije z visoko hitrostjo in nizko porabo energije.
  • Ni uradni standard – na splošno manj združljiv.
  • Boljše za komunikacijo z več zunanjimi napravami in spreminjanje vloge primarne naprave.
  • Standardizacija zagotavlja boljšo združljivost.

SPI je boljši za aplikacije z visoko hitrostjo in nizko porabo energije. I2C je bolj primeren za komunikacijo z velikim številom zunanjih naprav. Tako SPI kot I2C sta robustna in stabilna komunikacijska protokola za vgrajene aplikacije, ki sta zelo primerna za vgrajeni svet.

Image
Image

Prednosti in slabosti SPI

  • Podpira hitrejšo full-duplex komunikacijo.

  • Zelo nizka moč.
  • Kratke razdalje prenosa, ni mogoče komunicirati med komponentami na ločenih PCB-jih.
  • Več različic in prilagoditev lahko povzroči težave z združljivostjo.
  • Potrebne so dodatne signalne linije za upravljanje več naprav na istem vodilu.
  • Ne preverja, ali so podatki pravilno prejeti.
  • Bolj dovzeten za hrup.

Serial to Peripheral Interface je štirižilni serijski komunikacijski vmesnik z zelo nizko porabo energije. Zasnovan je tako, da lahko krmilniki IC in zunanje naprave komunicirajo med seboj. Vodilo SPI je vodilo s polnim dupleksom, ki omogoča hkratni pretok komunikacije v primarno napravo in iz nje s hitrostjo do 10 Mbps. Visokohitrostno delovanje SPI na splošno omejuje njegovo uporabo za komunikacijo med komponentami na ločenih PCB-jih zaradi povečanja kapacitivnosti, ki jo komunikacija na daljše razdalje doda signalnim linijam. Kapacitivnost PCB lahko tudi omeji dolžino komunikacijskih linij SPI.

Čeprav je SPI uveljavljen protokol, ni uradni standard. SPI ponuja več različic in prilagoditev, ki povzročajo težave z združljivostjo. Implementacije SPI je treba vedno preveriti med primarnimi krmilniki in sekundarnimi zunanjimi napravami, da se zagotovi, da kombinacija ne bo imela nepričakovanih komunikacijskih težav, ki bi vplivale na razvoj izdelka.

Prednosti in slabosti I2C

  • Podpira več naprav na istem vodilu brez dodatnih izbranih signalnih linij prek naslavljanja naprav v komunikaciji.
  • Uradni standard zagotavlja združljivost med implementacijami I2C in združljivost za nazaj.
  • Zagotavlja, da poslane podatke prejme sekundarna naprava.
  • Lahko prenaša prek PCB, vendar pri nizkih hitrostih prenosa.
  • Ceneje za implementacijo kot komunikacijski protokol SPI.
  • Manj dovzeten za hrup kot SPI.
  • Prenos podatkov na večje razdalje.
  • Manjše hitrosti prenosa in podatkovne hitrosti.
  • Lahko se zaklene z eno napravo, ki ne sprosti komunikacijskega vodila.
  • Porabi več energije kot SPI.

I2C je uradni standardni serijski komunikacijski protokol, ki zahteva samo dve signalni liniji, ki sta bili zasnovani za komunikacijo med čipi na tiskanem vezju. I2C je bil prvotno zasnovan za komunikacijo 100 kbps. Kljub temu so bili z leti razviti hitrejši načini prenosa podatkov za doseganje hitrosti do 3,4 Mbps. Protokol I2C je bil vzpostavljen kot uradni standard, ki zagotavlja dobro združljivost med implementacijami I2C in dobro združljivost za nazaj.

Poleg zgornjega seznama prednosti in slabosti, I2C zahteva samo dve žici. SPI potrebuje tri ali štiri. Poleg tega SPI podpira samo eno primarno napravo na vodilu, medtem ko I2C podpira več primarnih naprav.

Izbira med I2C in SPI

Na splošno je SPI boljši za aplikacije z visoko hitrostjo in nizko porabo energije, medtem ko je I2C bolj primeren za komunikacijo z velikim številom zunanjih naprav, kot tudi v situacijah, ki vključujejo dinamično spreminjanje vloge primarne naprave med zunanjimi napravami na I2C avtobus.

Priporočena: