Wybieranie między I2C i SPI dla Twojego projektu

Spisu treści:

Wybieranie między I2C i SPI dla Twojego projektu
Wybieranie między I2C i SPI dla Twojego projektu
Anonim

Serial Peripheral Interface (SPI) jest używany do komunikacji na krótkie odległości, szczególnie w systemach wbudowanych. Bardziej powszechnym protokołem komunikacji szeregowej jest I2C, który ułatwia komunikację między komponentami elektronicznymi, niezależnie od tego, czy są one na tej samej płytce drukowanej, czy są połączone kablem.

Wybór pomiędzy I2C i SPI, dwoma głównymi protokołami komunikacji szeregowej, wymaga solidnego zrozumienia zalet i ograniczeń I2C, SPI oraz aplikacji. Każdy protokół komunikacyjny ma wyraźne zalety, które mają tendencję do wyróżniania się w zależności od aplikacji.

Image
Image
  • Lepsze dla aplikacji o dużej prędkości i niskim poborze mocy.
  • Nie jest to oficjalny standard – ogólnie mniej zgodny.
  • Lepsze do komunikacji z kilkoma urządzeniami peryferyjnymi i zmiany podstawowej roli urządzenia.
  • Standaryzacja zapewnia lepszą kompatybilność.

SPI jest lepszy dla szybkich aplikacji o niskim poborze mocy. I2C lepiej nadaje się do komunikacji z dużą liczbą urządzeń peryferyjnych. Zarówno SPI, jak i I2C to solidne, stabilne protokoły komunikacyjne dla aplikacji wbudowanych, które są dobrze przystosowane do świata systemów wbudowanych.

Image
Image

Wady i zalety SPI

  • Obsługuje szybszą komunikację w pełnym dupleksie.

  • Bardzo niska moc.
  • Krótkie odległości transferu, brak komunikacji między komponentami na oddzielnych płytkach drukowanych.
  • Kilka wariantów i dostosowań może powodować problemy ze zgodnością.
  • Wymaga dodatkowych linii sygnałowych do zarządzania wieloma urządzeniami na tej samej magistrali.
  • Nie sprawdza, czy dane są odbierane prawidłowo.
  • Bardziej podatny na hałas.

Serial to Peripheral Interface to czteroprzewodowy interfejs komunikacji szeregowej o bardzo niskim poborze mocy. Został zaprojektowany tak, aby kontrolery IC i urządzenia peryferyjne mogły się ze sobą komunikować. Magistrala SPI jest magistralą full-duplex, która umożliwia komunikację z i do głównego urządzenia jednocześnie z szybkością do 10 Mb/s. Szybkie działanie SPI generalnie ogranicza jego użycie do komunikacji między komponentami na oddzielnych płytkach drukowanych ze względu na wzrost pojemności, który komunikacja na większe odległości dodaje do linii sygnałowych. Pojemność PCB może również ograniczać długość linii komunikacyjnych SPI.

Chociaż SPI jest ustalonym protokołem, nie jest oficjalnym standardem. SPI oferuje kilka wariantów i dostosowań, które prowadzą do problemów ze zgodnością. Implementacje SPI powinny być zawsze sprawdzane między głównymi kontrolerami a dodatkowymi urządzeniami peryferyjnymi, aby upewnić się, że kombinacja nie będzie miała nieoczekiwanych problemów z komunikacją, które wpłyną na rozwój produktu.

Wady i zalety I2C

  • Obsługuje wiele urządzeń na tej samej magistrali bez dodatkowych wybranych linii sygnałowych poprzez adresowanie urządzeń komunikacyjnych.
  • Oficjalny standard zapewnia kompatybilność pomiędzy implementacjami I2C oraz kompatybilność wsteczną.
  • Zapewnia, że wysyłane dane są odbierane przez urządzenie dodatkowe.
  • Może nadawać z płytki drukowanej, ale przy niskich prędkościach transmisji.
  • Tańszy do wdrożenia niż protokół komunikacyjny SPI.
  • Mniej podatny na hałas niż SPI.
  • Przesyłaj dane na większe odległości.
  • Większe prędkości transferu i szybkości transmisji danych.
  • Może być zablokowany przez jedno urządzenie, które nie zwalnia magistrali komunikacyjnej.
  • Pobiera więcej mocy niż SPI.

I2C to oficjalny standardowy protokół komunikacji szeregowej, który wymaga tylko dwóch linii sygnałowych, które zostały zaprojektowane do komunikacji między chipami na płytce drukowanej. I2C został pierwotnie zaprojektowany do komunikacji 100 kb/s. Mimo to przez lata opracowywano szybsze tryby transmisji danych, aby osiągnąć prędkość do 3,4 Mb/s. Protokół I2C został ustanowiony jako oficjalny standard, zapewniając dobrą kompatybilność pomiędzy implementacjami I2C i dobrą kompatybilność wsteczną.

Oprócz powyższej listy zalet i wad, I2C wymaga tylko dwóch przewodów. SPI wymaga trzech lub czterech. Co więcej, SPI obsługuje tylko jedno główne urządzenie na magistrali, podczas gdy I2C obsługuje wiele podstawowych urządzeń.

Wybieranie między I2C i SPI

Ogólnie rzecz biorąc, SPI jest lepszy do zastosowań o dużej szybkości i niskim poborze mocy, podczas gdy I2C lepiej nadaje się do komunikacji z dużą liczbą urządzeń peryferyjnych, a także w sytuacjach dynamicznej zmiany roli głównego urządzenia wśród urządzeń peryferyjnych na I2C autobus.

Zalecana: