Synchrónna komunikácia SPI
SPI (Serial Peripheral Interface) je štvorvodičová synchrónna sériová zbernica pracujúca v móde full duplex slúžiaca na prepojenie periférií s mikropočítačmi. Protokol bol definovaný firmou Motorola v produktovej línii mikroradičov MC68HCxx. Zariadenia komunikujú spôsobom master/slave, kde zariadenie master iniciuje dátový rámec. Použitie SPI v prípadoch, kedy je k jednému zariadeniu master pripojených viacero zariadení slave, je síce možné, ale na jej realizáciu musí master disponovať potrebným počtom slave select (chip select) vývodov. SPI sa niekedy nazýva "four wire" sériová zbernica ako opak ku three, two a one wire sériovým zberniciam.
Rozhranie zbernice SPI
Zbernica SPI špecifikuje štyri logické signály:
- SCLK - Serial Clock (výstup od zariadenia master)
- MOSI/SIMO - Master Output, Slave Input (výstup od zar. master)
- MISO/SOMI - Master Input, Slave Output (výstup od zar. slave)
- SS - Slave Select (active low - jednotku reprezentuje nižšia úroveň napätia; výstup od zar. master)
Alternatívne pomenovania, ktoré sú tiež často používané:
- SCK, CLK - Serial Clock
- SDI, DI, SI - Serial Data In, Data In, Serial In
- SDO, DO, SO - Serial Data Out, Data Out, Serial Out
- nCS, CS, CSB, nSS, STE - Chip Select, Slave Transmit Enable
Pri pomenovaní SDI/SDO (DI/DO, SI/SO) je vyžadované, aby SDO na zariadení master bolo spojené s SDI na slave a naopak. Polarita Chip Select je zriedkakedy active high (jednotku reprezentuje vyššia úroveň napätia), aj keď niektoré značenia (SS alebo CS namiesto nSS, nCS) naznačujú opak.
Činnosť zbernice SPI
Zbernica SPI vie pracovať s jedným zariadením master a jedným alebo viacerými zariadeniami slave. Ak sa používa iba jedno zariadenie slave, SS pin môže byť zafixovaný na nižšiu úroveň napätia, ak to zariadenie dovoľuje. Niektoré zariadenia vyžadujú na pine SS hranu prechodu napätia z vyššej úrovne na nižšiu pre iniciáciu akcie, napríklad AD prevodník Maxim MAX1242. Ak je pripojených viacero zariadení slave, je potrebný samostatný SS signál zo zariadenia master do každého zariadenia slave. Väčšina zariadení slave má trojstavový výstup, takže ich signál MISO sa stane hi-Z (vysoko-impedančný, "odpojený" - neovplyvňuje obvod, do ktorého je zapojený), keď zariadenie nie je vybraté. Zariadenia bez trojstavového výstupu nemôžu zdielať segmenty SPI zbernice s ostatnými zariadeniami