Valides I2C ja SPI, kaks peamist jadaühendusvõimalust, võib olla üsna väljakutse ja neil on projekti projektist märkimisväärne mõju, eriti kui vale kommunikatsiooniprotokolli kasutatakse. Nii SPI kui ka I2C pakuvad oma eeliseid ja piiranguid sideprotokollina, mis muudavad need iga konkreetse rakenduse jaoks sobilikuks.
SPI
SPI või seeriaviis perifeersele liidesele on väga madala võimsusega, nelja kanali jadaliides, mis on mõeldud IC- kontrolleritele ja välisseadmetele, et omavahel suhelda. SPI-buss on täisdupleksbuss, mis võimaldab sidet voolata master-seadmesse ja sealt samaaegselt kiirusega kuni 10 Mbps. SPI kiire toimimine piirab selle üldiselt seda, et seda kasutatakse erinevate PCB-de komponentidevaheliste ühenduste vahel, kuna mahtuvuse suurenemine suurendab signaaliliinide pikemat kaugühendust. PCB mahtuvus võib samuti piirata SPI kommunikatsiooniliinide pikkust.
Kuigi SPI on kehtestatud protokoll, ei ole see ametlik standard, mis viib mitme versiooni ja SPI kohandamiseni, mis võib põhjustada ühilduvuse probleeme. SPI rakendusi tuleks alati kontrollida master-kontrollerite ja alluväljade vahel, et tagada, et kombinatsioonil pole ootamatuid kommunikatsiooniprobleeme, mis mõjutavad toote arendamist.
I2C
I2C on ametlik standardne seeriakommunikatsiooniprotokoll, mis nõuab ainult kahte signaali, mis on mõeldud PCB-kiipide vaheliseks kommunikatsiooniks. I2C oli algselt mõeldud 100 kbps kommunikatsiooniks, kuid aastate jooksul on välja töötatud kiiremad andmeedastusrežiimid kiiruste saavutamiseks kuni 3,4 Mbps. I2C protokoll on kehtestatud ametliku standardina, mis tagab hea ühilduvuse I2C rakenduste vahel ja hea tagasiulatuva ühilduvuse.
I2C ja SPI vahel valimine
I2c ja SPI vahelise kahe peamise jadaliideste protokolli valimine eeldab I2C, SPI ja teie rakenduse eeliste ja piirangute head mõistmist. Igal kommunikatsiooniprotokolil on selged eelised, mis kipuvad end ise eristama, nagu see kehtib teie taotlusele. Peamised erinevused I2C ja SPI vahel on järgmised:
- I2C nõuab ainult kahte juhtmest, SPI-st on vaja kolm või neli
- SPI toetab suurema kiirusega full-duplex kommunikatsiooni, samas I2C on aeglasem
- I2C juhib rohkem jõudu kui SPI
- I2C toetab mitut seadet ühes ja samas bussis ilma täiendavate valimisignaaliliinideta kommunikatsiooniseadme adresseerimise kaudu, samal ajal kui SPI vajab sama bussi mitme seadme haldamiseks täiendavaid signaali read
- I2C tagab, et saatnud andmeid saab alamseade, samas kui SPI ei kontrolli andmete õiget vastuvõttu
- I2C saab lukustada ühe seadmega, mis ei eralda sidebussi
- SPI ei saa I2C-i kaudu PCB-d edastada, ehkki andmeedastuskiirus on madal
- I2C on odavam rakendada kui SPI sideprotokoll
- SPI toetab ainult ühte põhiseadet bussis, samal ajal kui I2C toetab mitut peamist seadet
- I2C on vähem müra kui SPI
- SPI saab reisida ainult lühikeste vahemaade ja harva PCB-st, samal ajal kui I2C saab edastada andmeid palju suurema vahemaa tagant, kuigi madala andmeedastuskiirusega
- Ametliku standardi puudumine on põhjustanud SPI protokolli mitmesuguseid muudatusi, mida on I2C protokolliga suuresti välistatud
Need eristused SPI ja I2C vahel peaksid teie rakenduse jaoks parima kommunikatsioonivõimaluse valimiseks olema lihtsamad. Nii SPI kui ka I2C on head suhtlusvalikud, kuid neil on mõni konkreetne eelis ja eelistatud rakendused. Üldiselt on SPI parem kiire ja vähese energiatarbega rakenduste jaoks, samas kui I2C sobib paremini suhelda paljude välisseadmetega ja peamise seadme rolli dünaamiline muutus I2C bussi välisseadmete seas. Nii SPI kui ka I2C on jõulised stabiilsed sideprotokollid varjatud rakenduste jaoks, mis sobivad hästi varjatud maailmale.