Odabir između I2C i SPI za vaš projekat

Sadržaj:

Odabir između I2C i SPI za vaš projekat
Odabir između I2C i SPI za vaš projekat
Anonim

A Serial Peripheral Interface (SPI) se koristi za komunikaciju na kratkim udaljenostima, posebno u ugrađenim sistemima. Češći serijski komunikacioni protokol je I2C, koji olakšava komunikaciju između elektronskih komponenti, bilo da su komponente na istoj PCB ili povezane kablom.

Odabir između I2C i SPI, dva glavna serijska komunikacijska protokola, zahtijeva dobro razumijevanje prednosti i ograničenja I2C, SPI i aplikacije. Svaki komunikacijski protokol ima jasne prednosti koje se obično razlikuju kako se primjenjuju na vašu aplikaciju.

Image
Image
  • Bolje za aplikacije velike brzine i male snage.
  • Nije zvanični standard - generalno manje kompatibilan.
  • Bolje za komunikaciju sa nekoliko perifernih uređaja i promjenu uloge primarnog uređaja.
  • Standardizacija osigurava bolju kompatibilnost.

SPI je bolji za aplikacije velike brzine i male snage. I2C je pogodniji za komunikaciju sa velikim brojem perifernih uređaja. I SPI i I2C su robusni, stabilni komunikacijski protokoli za ugrađene aplikacije koji su vrlo prikladni za svijet ugrađenih.

Image
Image

SPI prednosti i nedostaci

  • Podržava veću brzinu full-duplex komunikacije.

  • Veoma mala snaga.
  • Kratke udaljenosti prijenosa, ne mogu komunicirati između komponenti na odvojenim PCB-ima.
  • Nekoliko varijanti i prilagođavanja mogu stvoriti probleme s kompatibilnošću.
  • Zahtijeva dodatne signalne linije za upravljanje više uređaja na istoj magistrali.
  • Ne potvrđuje da su podaci ispravno primljeni.
  • Podložniji buci.

Serial to Peripheral Interface je četvorožični serijski komunikacioni interfejs veoma male snage. Dizajniran je tako da IC kontroleri i periferni uređaji mogu međusobno komunicirati. SPI magistrala je full-duplex magistrala, koja omogućava protok komunikacije do i od primarnog uređaja istovremeno brzinom do 10 Mbps. Rad SPI velike brzine generalno ga ograničava da se koristi za komunikaciju između komponenti na odvojenim PCB-ima zbog povećanja kapacitivnosti koje komunikacija na veće udaljenosti dodaje signalnim linijama. Kapacitet PCB-a također može ograničiti dužinu SPI komunikacionih linija.

Iako je SPI ustaljeni protokol, on nije službeni standard. SPI nudi nekoliko varijanti i prilagođavanja koje dovode do problema s kompatibilnošću. SPI implementacije uvijek treba provjeriti između primarnih kontrolera i sekundarnih perifernih uređaja kako bi se osiguralo da kombinacija neće imati neočekivane probleme u komunikaciji koji utiču na razvoj proizvoda.

I2C prednosti i nedostaci

  • Podržava više uređaja na istoj magistrali bez dodatnih odabranih signalnih linija putem adresiranja uređaja u komunikaciji.
  • Službeni standard pruža kompatibilnost između I2C implementacija i kompatibilnost unatrag.
  • Osigurava da sekundarni uređaj prima poslane podatke.
  • Može prenositi sa PCB-a, ali pri malim brzinama prijenosa.
  • Jeftinije za implementaciju od SPI komunikacijskog protokola.
  • Manje podložan buci od SPI.
  • Prenesite podatke na veće udaljenosti.
  • Manje brzine prijenosa i prijenosa podataka.

  • Može biti zaključan od strane jednog uređaja koji ne uspije osloboditi komunikacijsku magistralu.
  • Više snage od SPI.

I2C je službeni standardni serijski komunikacijski protokol koji zahtijeva samo dvije signalne linije koje su dizajnirane za komunikaciju između čipova na PCB-u. I2C je prvobitno dizajniran za komunikaciju od 100 kbps. Ipak, tokom godina su se razvijali brži načini prijenosa podataka kako bi se postigle brzine do 3,4 Mbps. I2C protokol je uspostavljen kao zvanični standard, pružajući dobru kompatibilnost između I2C implementacija i dobru kompatibilnost unatrag.

Pored gornje liste prednosti i nedostataka, I2C zahtijeva samo dvije žice. SPI zahtijeva tri ili četiri. Nadalje, SPI podržava samo jedan primarni uređaj na magistrali, dok I2C podržava više primarnih uređaja.

Odabir između I2C i SPI

Sve u svemu, SPI je bolji za aplikacije velike brzine i male energije, dok je I2C pogodniji za komunikaciju s velikim brojem perifernih uređaja, kao i u situacijama koje uključuju dinamičku promjenu uloge primarnog uređaja među periferijama na I2C autobus.

Preporučuje se: