Przejdź do zawartości

Serial Peripheral Interface

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez MalarzBOT (dyskusja | edycje) o 08:22, 15 wrz 2020. Może się ona znacząco różnić od aktualnej wersji.
Najprostsze zastosowanie SPI, tylko jedno urządzenie nadrzędne i jedno urządzenie podrzędne

SPI (ang. Serial Peripheral Interface) – szeregowy interfejs urządzeń peryferyjnych. Jeden z najczęściej używanych interfejsów komunikacyjnych pomiędzy systemami mikroprocesorowymi a układami peryferyjnymi takimi jak: przetworniki ADC/DAC, układy RTC, pamięci EEPROM, pamięci flash, karty MMC/SD/ itp.

Komunikacja poprzez SPI odbywa się synchronicznie za pomocą 3 linii:

  1. MOSI (ang. Master Output Slave Input) – dane dla układu peryferyjnego,
  2. MISO (ang. Master Input Slave Output) – dane z układu peryferyjnego,
  3. SCLK (ang. Serial CLocK) – sygnał zegarowy (taktujący).

Do aktywacji wybranego układu peryferyjnego służy dodatkowo linia SS (ang. Slave Select – wybór układu podrzędnego) lub adresacja układów. W drugim przypadku, w przesyłanej wiadomości zawarty musi być adres urządzenia, które po jego rozpoznaniu przyjmuje pozostałe bajty. Adresowanie układów wykorzystywane jest szczególnie podczas pracy z rozbudowanymi systemami, których poszczególne części można programować niezależnie, także po zamontowaniu na płytce.

Interfejs SPI zbudowany jest na rejestrach przesuwnych, które składają się z przerzutników typu D. Synchronizacja każdego z nich odbywa się za pomocą sygnału zegarowego. Przerzutników jest 8 od 0 do 7. Na wejście przerzutnika nr 0 wprowadzany jest stan logiczny, który uruchamia ramkę danych.

Każdy przerzutnik przechowuje jeden bajt danych. Interfejs SPI MASTER generuje sygnał zerowy za pomocą generatora. Połączone linie MOSI i MISO tworzą zamknięty pierścień, dzięki czemu transfer danych jest ciągły, ale nie stały. Co osiem cykli zegarowych generatora wysyłany jest 1 bajt danych. Wartość rejestru można zmieniać co 8 cykli zegara.[1]

Przesyłanie data frame przez interfejs SPI nie jest domyślnie nastawione. Może zostać nastawione czy wysyłanie ramek rozpocznie się od najstarszego, czy od najmłodszego bitu. Przesuwanie danych w rejestrach można również ustawić dla zbocza opadającego lub narastającego sygnału SCK.

Przypisy

  1. y, SPI communication - How SPI works ? [online], 911 Electronic, 11 maja 2020 [dostęp 2020-09-14] (ang.).

Zobacz też