Serial Peripheral Interface (SPI) tiek izmantots neliela attāluma saziņai, īpaši iegultās sistēmās. Biežāks seriālās komunikācijas protokols ir I2C, kas atvieglo saziņu starp elektroniskajiem komponentiem neatkarīgi no tā, vai komponenti atrodas vienā PCB vai savienoti ar kabeli.
Izvēloties starp I2C un SPI, diviem galvenajiem seriālās komunikācijas protokoliem, ir nepieciešama laba izpratne par I2C, SPI un lietojumprogrammas priekšrocībām un ierobežojumiem. Katram sakaru protokolam ir atšķirīgas priekšrocības, kas mēdz atšķirties, jo tās attiecas uz jūsu lietojumprogrammu.
- Labāks liela ātruma un mazjaudas lietojumiem.
- Nav oficiāls standarts - parasti ir mazāk saderīgs.
- Labāk saziņai ar vairākām perifērijas ierīcēm un primārās ierīces lomas maiņai.
- Standartizācija nodrošina labāku saderību.
SPI ir labāks liela ātruma un mazjaudas lietojumprogrammām. I2C ir labāk piemērots saziņai ar lielu skaitu perifērijas ierīču. Gan SPI, gan I2C ir izturīgi, stabili sakaru protokoli iegultajām lietojumprogrammām, kas ir labi piemēroti iegultajām lietojumprogrammām.
SPI plusi un mīnusi
-
Atbalsta lielāka ātruma pilna duplekso komunikāciju.
- Ļoti maza jauda.
- Īsi pārsūtīšanas attālumi, nevar sazināties starp komponentiem atsevišķās PCB.
- Vairāki varianti un pielāgojumi var radīt saderības problēmas.
- Nepieciešamas papildu signāla līnijas, lai pārvaldītu vairākas ierīces vienā kopnē.
- Nepārbauda, vai dati ir saņemti pareizi.
- Uzņēmīgāks pret troksni.
Seriālais–perifēriskais interfeiss ir ļoti mazjaudas četru vadu seriālo sakaru saskarne. Tas ir izstrādāts tā, lai IC kontrolleri un perifērijas ierīces varētu sazināties savā starpā. SPI kopne ir pilna dupleksa kopne, kas nodrošina sakaru plūsmu uz primāro ierīci un no tās vienlaicīgi ar ātrumu līdz 10 Mbps. SPI ātrgaitas darbība parasti ierobežo tā izmantošanu, lai sazinātos starp komponentiem uz atsevišķām PCB, jo palielinās kapacitāte, ko signāla līnijām pievieno liela attāluma sakari. PCB kapacitāte var arī ierobežot SPI sakaru līniju garumu.
Lai gan SPI ir izveidots protokols, tas nav oficiāls standarts. SPI piedāvā vairākus variantus un pielāgojumus, kas rada saderības problēmas. SPI ieviešana vienmēr ir jāpārbauda starp primārajiem kontrolleriem un sekundārajām perifērijas ierīcēm, lai nodrošinātu, ka kombinācijai neradīsies negaidītas komunikācijas problēmas, kas ietekmē produkta izstrādi.
I2C plusi un mīnusi
- Atbalsta vairākas ierīces vienā kopnē bez papildu atlases signāla līnijām, izmantojot sakaru ierīces adresāciju.
- Oficiālais standarts nodrošina saderību starp I2C implementācijām un atpakaļejošu saderību.
- Nodrošina, ka nosūtītie dati tiek saņemti sekundārajā ierīcē.
- Var pārraidīt no PCB, bet ar zemu pārraides ātrumu.
- Lētāk ieviešanai nekā SPI sakaru protokols.
- Mazāk jutīgs pret troksni nekā SPI.
- Pārsūtiet datus lielākā attālumā.
- Lēnāks pārsūtīšanas ātrums un datu pārraides ātrums.
- Var bloķēt viena ierīce, kurai neizdodas atbrīvot sakaru kopni.
- Paņem vairāk jaudas nekā SPI.
I2C ir oficiāls standarta seriālo sakaru protokols, kam nepieciešamas tikai divas signāla līnijas, kas paredzētas saziņai starp mikroshēmām uz PCB. I2C sākotnēji bija paredzēts 100 kbps saziņai. Tomēr gadu gaitā ir izstrādāti ātrāki datu pārraides režīmi, lai sasniegtu ātrumu līdz 3,4 Mbps. I2C protokols ir izveidots kā oficiāls standarts, kas nodrošina labu saderību starp I2C implementācijām un labu atpakaļsaderību.
Papildus iepriekš minētajam plusu un mīnusu sarakstam I2C nepieciešami tikai divi vadi. SPI ir nepieciešami trīs vai četri. Turklāt SPI atbalsta tikai vienu primāro ierīci kopnē, savukārt I2C atbalsta vairākas primārās ierīces.
Izvēle starp I2C un SPI
Kopumā SPI ir labāks liela ātruma un mazjaudas lietojumprogrammām, savukārt I2C ir labāk piemērots saziņai ar lielu skaitu perifērijas ierīču, kā arī situācijās, kas saistītas ar dinamisku primārās ierīces lomas maiņu starp I2C perifērijas ierīcēm. autobuss.