Přeskočit na obsah

Serial Peripheral Interface

Z Wikipedie, otevřené encyklopedie
(rozdíl) ← Starší revize | zobrazit aktuální verzi (rozdíl) | Novější revize → (rozdíl)

SPI rozhraní

SPI je sériové periferní rozhraní. Používá se pro komunikaci mezi řídícími mikroprocesory a ostatními integrovanými obvody (EEPROM, A/D převodníky, displeje...). Komunikace je realizována pomocí společné sběrnice. Adresace se provádí pomocí vzláštních vodičů, které při logické nule aktivují příjem a vysilání zvoleného zařízení (piny SS nebo CS).


Rozdělení zařízení na sériové SPI sběrnici

SPI bus: single master and single slave

Master

  • řídí komunikaci pomocí hodinového signálu
  • určuje se kterým zařízením na sběrnici bude komunikovat pomocí SS-Slave Select(někdy CS-Chip Select)

Slave

  • vysílá podle hodinového signálu, pokud je aktivován pomocí SS/CS

Průběh komunikace

SPI bus: single master and three slaves
  • Pro komunikaci Master nastaví log.0 na SS zařízení se kterým chce komunikovat.
  • Pak začne generovat hodinový signál na SCLK a v té chvíli vyšlou obě zařízení svoje data, přičemž MISO je vždy Master výstup, Slave vstup a MOSI je Master Vstup, Slave výstup.
  • Jakmile jsou data vyslána muže komunikace dále pokračovat:
    1. Master dále dodává hodinový signál, hodnota SS se nemění
    2. nebo může být ukončena: Master přestane vysílat hodinový signál a nastaví SS do log.1.
  • Délka vyslaných dat je buď 8bit (Byte) a nebo 16bit (Word).

Polarita a fáze hodinového signálu

A timing diagram showing clock polarity and phase

Vztah mezi hodinovým signálem a daty se určuje dvěma konfiguračními bity:CPOL a CPHA.

  • CPOL= 0; klidová úroveň hodinového signálu log.0
  • CPOL = 1; klidová úroveň hod.sig. je log.1
  • CPHA = 0; hodnota je čtena při vzestupné hraně
  • CPHA = 1; hodnota je čtena při sestupné hraně