Serial Peripheral Interface

SPI (Serial Peripheral Interface) 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í zvláštních vodičů, které při logické nule aktivují příjem a vysílání zvoleného zařízení (piny SS nebo CS).

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

Sběrnice SPI: jedno řídicí (master) a jedno podřízené (slave) zařízení

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

Sběrnice SPI: jedno řídicí (master) a tři podřízená (slave) zařízení
  • 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ž MOSI (Master Out, Slave In) je vždy Master výstup, Slave vstup a MISO (Master In, Slave Out) je Master Vstup, Slave výstup.
  • Jakmile jsou data vyslána, můž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.

Polarita a fáze hodinového signálu

Časový diagram zobrazující úroveň a posun hodinového signálu

Vztah mezi hodinovým signálem a daty se určuje dvěma konfiguračními bity, které se v původní dokumentaci k SPI označují jako CPOL a CPHA. Tuto konvenci definuje firma Freescale Semiconductor (původně Motorola) ve "Freescale's SPI Block Guide" [1].

  • 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 přechodu hodin z klidové do aktivní úrovně (tj. "první" hranou)
  • CPHA = 1; hodnota je čtena při přechodu hodin z aktivní do klidové úrovně (tj. "druhou" hranou)

Tabulka módů říkající jakou kombinaci CPOL a CPHA sběrnice má. Tyto kódy namísto CPOL a CPHA využívají některé logické analyzátory, vývojová studia (př. Arduino IDE) nebo datasheety součástek.

Mode CPOL CPHA
0 0 0
1 0 1
2 1 0
3 1 1

Odkazy

Reference

  1. SPI Block Guide V03.06 - tj. Příručka k obvodu SPI (anglicky),

Související články

Externí odkazy

  • Logo Wikimedia Commons Obrázky, zvuky či videa k tématu Serial Peripheral Interface na Wikimedia Commons
  • Externí sériové sběrnice SPI a I²C: http://www.root.cz/…
Standardy a de facto standardy sběrnic
Obecně
Standardy
  • Sběrnice S-100
  • Unibus
  • VAXBI
  • MBus
  • STD Bus
  • SMBus
  • Q-Bus
  • Europe Card Bus
  • ISA
  • STEbus
  • Zorro II
  • Zorro III
  • CAMAC
  • FASTBUS
  • LPC
  • HP Precision Bus
  • EISA
  • VME
  • VXI
  • VXS
  • NuBus
  • TURBOchannel
  • MCA
  • SBus
  • VLB
  • PCI
  • PXI
  • HP GSC bus
  • CoreConnect
  • InfiniBand
  • UPA
  • PCI Extended (PCI-X)
  • AGP
  • PCI Express (PCIe)
  • Direct Media Interface (DMI)
  • RapidIO
  • Intel QuickPath Interconnect
  • HyperTransport
  • Úložiště
    Periferie
  • Apple Desktop Bus
  • HIL
  • MIDI
  • Multibus
  • RS-232
  • RS-422
  • RS-423
  • RS-485
  • DMX512-A
  • IEEE-488 (GPIB)
  • IEEE-1284 (parallel port)
  • UNI/O
  • ACCESS.bus
  • 1-Wire
  • D²B
  • I²C
  • I3C
  • SPI
  • Parallel SCSI
  • Profibus
  • PS/2
  • USB
  • IEEE 1394 (FireWire)
  • Camera Link
  • External PCIe
  • Thunderbolt
  • Audio
  • ADAT Lightpipe
  • AES3
  • Intel HD Audio
  • I²S
  • MADI
  • McASP
  • S/PDIF
  • TOSLINK
  • Přenosné
    Vestavěné
  • Multidrop bus
  • AMBA
  • Wishbone
  • Poznámka: rozhraní jsou (přibližně) uvedena od nejpomalejšího k nejrychlejšímu, rozhraní na konci každé části by mělo být nejrychlejší
    Kategorie