Serial Peripheral Interface (SPI) koristi se za komunikaciju na kratkim udaljenostima, posebno u ugrađenim sustavima. Uobičajeniji serijski komunikacijski protokol je I2C, koji olakšava komunikaciju između elektroničkih komponenti, bilo da su komponente na istoj tiskanoj ploči ili povezane kabelom.
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 različite prednosti koje se razlikuju kako se primjenjuju na vašu aplikaciju.
- Bolje za aplikacije velike brzine i male snage.
- Nije službeni standard - općenito je manje kompatibilan.
- Bolje za komunikaciju s 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 prikladniji za komunikaciju s velikim brojem perifernih uređaja. I SPI i I2C su robusni, stabilni komunikacijski protokoli za ugrađene aplikacije koji su dobro prilagođeni za ugrađeni svijet.
SPI prednosti i mane
-
Podržava veću brzinu full-duplex komunikacije.
- Vrlo mala snaga.
- Kratka udaljenost prijenosa, ne može komunicirati između komponenti na zasebnim tiskanim pločama.
- Nekoliko varijanti i prilagodbi mogu stvoriti probleme s kompatibilnošću.
- Potrebne su dodatne signalne linije za upravljanje više uređaja na istoj sabirnici.
- Ne provjerava jesu li podaci ispravno primljeni.
- Osjetljiviji na buku.
Serial to Peripheral Interface je četverožično serijsko komunikacijsko sučelje vrlo niske potrošnje. Dizajniran je tako da IC kontroleri i periferne jedinice mogu međusobno komunicirati. SPI sabirnica je full-duplex sabirnica, koja omogućuje protok komunikacije prema i od primarnog uređaja istovremeno pri brzinama do 10 Mbps. Rad velike brzine SPI-ja općenito ograničava njegovu upotrebu za komunikaciju između komponenti na zasebnim PCB-ima zbog povećanja kapaciteta koje komunikacija na veće udaljenosti dodaje signalnim linijama. PCB kapacitet također može ograničiti duljinu SPI komunikacijskih linija.
Iako je SPI uspostavljeni protokol, on nije službeni standard. SPI nudi nekoliko varijanti i prilagodbi koje dovode do problema s kompatibilnošću. SPI implementacije uvijek se trebaju provjeravati između primarnih kontrolera i sekundarnih perifernih uređaja kako bi se osiguralo da kombinacija neće imati neočekivane komunikacijske probleme koji utječu na razvoj proizvoda.
I2C prednosti i mane
- Podržava više uređaja na istoj sabirnici bez dodatnih odabranih signalnih linija putem adresiranja uređaja u komunikaciji.
- Službeni standard pruža kompatibilnost između I2C implementacija i kompatibilnost unazad.
- Osigurava da sekundarni uređaj prima poslane podatke.
- Može prenositi s PCB-a, ali pri malim brzinama prijenosa.
- Jeftiniji za implementaciju od SPI komunikacijskog protokola.
- Manje osjetljiv na buku od SPI.
- Prijenos podataka na veće udaljenosti.
-
Sporije brzine prijenosa i prijenos podataka.
- Može se zaključati jednim uređajem koji ne uspije osloboditi komunikacijsku sabirnicu.
- Privlači više energije nego 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 izvorno dizajniran za 100 kbps komunikaciju. Ipak, brži načini prijenosa podataka razvijeni su tijekom godina kako bi se postigle brzine do 3,4 Mbps. I2C protokol uspostavljen je kao službeni standard, pružajući dobru kompatibilnost među I2C implementacijama i dobru kompatibilnost unazad.
Uz gornji popis prednosti i mana, I2C zahtijeva samo dvije žice. SPI zahtijeva tri ili četiri. Nadalje, SPI podržava samo jedan primarni uređaj na sabirnici 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 niske potrošnje energije, dok je I2C prikladniji za komunikaciju s velikim brojem periferija, kao i u situacijama koje uključuju dinamičku promjenu uloge primarnog uređaja među periferijama na I2C autobus.