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
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
- 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:
- Master dále dodává hodinový signál, hodnota SS se nemění
- 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
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
Související články
Externí odkazy
- 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/…