Sériové periférne rozhranie (SPI) sa používa na komunikáciu na krátku vzdialenosť, najmä vo vstavaných systémoch. Bežnejším sériovým komunikačným protokolom je I2C, ktorý uľahčuje komunikáciu medzi elektronickými komponentmi, či už sú komponenty na rovnakej doske plošných spojov alebo sú prepojené káblom.
Výber medzi I2C a SPI, dvoma hlavnými sériovými komunikačnými protokolmi, si vyžaduje dôkladné pochopenie výhod a obmedzení I2C, SPI a aplikácie. Každý komunikačný protokol má odlišné výhody, ktoré majú tendenciu sa odlišovať, keď sa vzťahujú na vašu aplikáciu.
- Lepšie pre vysokorýchlostné a nízkoenergetické aplikácie.
- Nie je to oficiálny štandard – vo všeobecnosti menej kompatibilný.
- Lepšie na komunikáciu s viacerými perifériami a zmenu roly primárneho zariadenia.
- Štandardizácia zaisťuje lepšiu kompatibilitu.
SPI je lepšie pre vysokorýchlostné aplikácie s nízkou spotrebou energie. I2C je vhodnejšie pre komunikáciu s veľkým počtom periférií. SPI aj I2C sú robustné, stabilné komunikačné protokoly pre embedded aplikácie, ktoré sa dobre hodia pre embedded svet.
SPI Klady a zápory
-
Podporuje vyššiu rýchlosť plne duplexnej komunikácie.
- Veľmi nízky výkon.
- Krátke prenosové vzdialenosti, nemožnosť komunikovať medzi komponentmi na samostatných PCB.
- Niekoľko variantov a prispôsobení môže spôsobiť problémy s kompatibilitou.
- Vyžaduje dodatočné signálne linky na správu viacerých zariadení na tej istej zbernici.
- Neoveruje správnosť prijatia údajov.
- Väčší náchylnosť na hluk.
Sériové rozhranie k periférii je štvorvodičové sériové komunikačné rozhranie s veľmi nízkou spotrebou energie. Je navrhnutý tak, aby IC ovládače a periférne zariadenia mohli medzi sebou komunikovať. Zbernica SPI je plne duplexná zbernica, ktorá umožňuje simultánny tok komunikácie do az primárneho zariadenia rýchlosťou až 10 Mbps. Vysokorýchlostná prevádzka SPI vo všeobecnosti obmedzuje jeho použitie na komunikáciu medzi komponentmi na samostatných doskách plošných spojov z dôvodu zvýšenia kapacity, ktorú k signálnym linkám pridáva komunikácia na dlhšie vzdialenosti. Kapacita PCB môže tiež obmedziť dĺžku komunikačných liniek SPI.
Hoci SPI je zavedený protokol, nie je oficiálnym štandardom. SPI ponúka niekoľko variantov a prispôsobení, ktoré vedú k problémom s kompatibilitou. Implementácie SPI by sa mali vždy kontrolovať medzi primárnymi radičmi a sekundárnymi periférnymi zariadeniami, aby sa zabezpečilo, že kombinácia nebude mať neočakávané komunikačné problémy, ktoré ovplyvňujú vývoj produktu.
I2C Výhody a nevýhody
- Podporuje viacero zariadení na rovnakej zbernici bez ďalších vybraných signálnych liniek prostredníctvom adresovania zariadení v rámci komunikácie.
- Oficiálny štandard poskytuje kompatibilitu medzi implementáciami I2C a spätnú kompatibilitu.
- Zabezpečuje, aby boli odoslané dáta prijaté sekundárnym zariadením.
- Môže vysielať mimo PCB, ale pri nízkych prenosových rýchlostiach.
- Implementácia je lacnejšia ako komunikačný protokol SPI.
- Menej náchylné na hluk ako SPI.
-
Prenášajte dáta na väčšie vzdialenosti.
- Pomalšie prenosové rýchlosti a prenosové rýchlosti.
- Môže byť zablokované jedným zariadením, ktoré nedokáže uvoľniť komunikačnú zbernicu.
- Vyčerpáva viac energie ako SPI.
I2C je oficiálny štandardný sériový komunikačný protokol, ktorý vyžaduje iba dve signálne linky, ktoré boli navrhnuté na komunikáciu medzi čipmi na PCB. I2C bol pôvodne navrhnutý pre komunikáciu 100 kbps. Napriek tomu boli v priebehu rokov vyvinuté rýchlejšie režimy prenosu dát, aby sa dosiahli rýchlosti až 3,4 Mbps. Protokol I2C bol ustanovený ako oficiálny štandard, ktorý poskytuje dobrú kompatibilitu medzi implementáciami I2C a dobrú spätnú kompatibilitu.
Okrem vyššie uvedeného zoznamu výhod a nevýhod vyžaduje I2C iba dva káble. SPI vyžaduje tri alebo štyri. Okrem toho SPI podporuje iba jedno primárne zariadenie na zbernici, zatiaľ čo I2C podporuje viacero primárnych zariadení.
Výber medzi I2C a SPI
Celkovo je SPI lepšie pre vysokorýchlostné a nízkoenergetické aplikácie, zatiaľ čo I2C je vhodnejšie na komunikáciu s veľkým počtom periférnych zariadení, ako aj v situáciách, ktoré zahŕňajú dynamickú zmenu úlohy primárneho zariadenia medzi periférnymi zariadeniami na I2C autobus.