Valg mellem I2C og SPI til dit projekt

Indholdsfortegnelse:

Valg mellem I2C og SPI til dit projekt
Valg mellem I2C og SPI til dit projekt
Anonim

A Serial Peripheral Interface (SPI) bruges til kortdistancekommunikation, især i indlejrede systemer. En mere almindelig seriel kommunikationsprotokol er I2C, som letter kommunikationen mellem elektroniske komponenter, uanset om komponenterne er på samme printkort eller forbundet med et kabel.

Valg mellem I2C og SPI, de to vigtigste serielle kommunikationsprotokoller, kræver en solid forståelse af fordelene og begrænsningerne ved I2C, SPI og applikationen. Hver kommunikationsprotokol har særskilte fordele, der har en tendens til at adskille sig selv, når de gælder for din applikation.

Image
Image
  • Bedre til højhastigheds- og laveffektapplikationer.
  • Ikke en officiel standard - generelt mindre kompatibel.
  • Bedre til kommunikation med flere eksterne enheder og ændring af den primære enhedsrolle.
  • Standardisering sikrer bedre kompatibilitet.

SPI er bedre til applikationer med høj hastighed og lavt strømforbrug. I2C er bedre egnet til kommunikation med et stort antal perifere enheder. Både SPI og I2C er robuste, stabile kommunikationsprotokoller til indlejrede applikationer, der er velegnede til den indlejrede verden.

Image
Image

SPI fordele og ulemper

  • Understøtter fuld-duplex-kommunikation med højere hastighed.

  • Meget lavt strømforbrug.
  • Korte overførselsafstande, kan ikke kommunikere mellem komponenter på separate printkort.
  • Flere varianter og tilpasninger kan skabe kompatibilitetsproblemer.
  • Kræver yderligere signallinjer for at administrere flere enheder på den samme bus.
  • Bekræfter ikke, at data modtages korrekt.
  • Mere modtagelig for støj.

Serial to Peripheral Interface er en fire-leder seriel kommunikationsgrænseflade med meget lav effekt. Den er designet, så IC-controllere og perifere enheder kan kommunikere med hinanden. SPI-bussen er en fuld-dupleks-bus, som tillader kommunikation at flyde til og fra den primære enhed samtidigt med hastigheder på op til 10 Mbps. Højhastighedsdriften af SPI begrænser det generelt fra at blive brugt til at kommunikere mellem komponenter på separate PCB'er på grund af stigningen i kapacitansen, som langdistancekommunikation tilføjer til signallinjerne. PCB-kapacitans kan også begrænse længden af SPI-kommunikationslinjer.

Mens SPI er en etableret protokol, er det ikke en officiel standard. SPI tilbyder flere varianter og tilpasninger, der fører til kompatibilitetsproblemer. SPI-implementeringer bør altid kontrolleres mellem primære controllere og sekundære perifere enheder for at sikre, at kombinationen ikke vil have uventede kommunikationsproblemer, der påvirker udviklingen af et produkt.

I2C fordele og ulemper

  • Understøtter flere enheder på den samme bus uden yderligere udvalgte signallinjer via enhedsadressering i kommunikation.
  • Den officielle standard giver kompatibilitet mellem I2C-implementeringer og bagudkompatibilitet.
  • Sikrer, at de sendte data modtages af den sekundære enhed.
  • Kan sende fra printkortet, men ved lave transmissionshastigheder.
  • Billigere at implementere end SPI-kommunikationsprotokollen.
  • Mindre modtagelig for støj end SPI.
  • Send data over større afstande.
  • Langsommere overførselshastigheder og datahastigheder.
  • Kan låses af én enhed, der ikke frigiver kommunikationsbussen.
  • Trækker mere strøm end SPI.

I2C er en officiel standard seriel kommunikationsprotokol, der kun kræver to signallinjer, der er designet til kommunikation mellem chips på et PCB. I2C blev oprindeligt designet til 100 kbps kommunikation. Alligevel er hurtigere datatransmissionstilstande blevet udviklet gennem årene for at opnå hastigheder på op til 3,4 Mbps. I2C-protokollen er blevet etableret som en officiel standard, der giver god kompatibilitet blandt I2C-implementeringer og god bagudkompatibilitet.

Ud over ovenstående liste over fordele og ulemper kræver I2C kun to ledninger. SPI kræver tre eller fire. Desuden understøtter SPI kun én primær enhed på bussen, mens I2C understøtter flere primære enheder.

Valg mellem I2C og SPI

SPI er samlet set bedre til højhastigheds- og laveffektapplikationer, mens I2C er bedre egnet til kommunikation med et stort antal perifere enheder, såvel som i situationer, der involverer dynamisk ændring af den primære enhedsrolle blandt perifere enheder på I2C bus.

Anbefalede: