SPI Interface(Sériové Periferní Rozhraní)autobus je vysoká rychlost, 3-wire, sériové komunikační protokol (4 pokud jste zahrnout SSn – viz níže). Jeho účelem je snížit směrování drátů na PCB nahrazením klasické paralelní sběrnice sériovým rozhraním. (Můžete jen aboutmanage 8 bit sběrnice směrování přes několik vrstev PCB, ale když výsledek 16, 32 bitů a více, to dostane mnohem obtížnější).,
spojení jsou:
- MOSI (Master out Slave In) .
- MISO (Master in Slave Out).
- SCK (Slave Clock) .
- SS_n (Slave Select).
– označuje PIC nomenklatury
Poznámka: poslední signál SS nebo slave select je oddělené od protokolu a je obvykle realizován jako umožňující kontrolu pin z mikrokontroléru. Je zde zahrnuto pro úplnost.
rozhraní SPI PIC umožňuje připojení periferií pomocí vysokorychlostního sériového rozhraní. SPI FlashMemory a SPI SRAM lze snadno přidat do jakéhokoli systému., Mezi další typy zařízení patří:
- ADC.
- DAC.
- blesk.
- EEPROM.
- Accellerometry.
- LCD.
- teplota& snímače vlhkosti.
- …a mnoho dalších.
Itsonly další skutečnou konkurencí je sběrnice I2C, což je důvod, proč často vidíteto rozhraní jsou k dispozici jak na procesorech, tak na mikrokontrolérech.
rozhraní SPI bylo navrženo v sedmdesátých letech společností Motorola, která jej používala ve svém 68000procesoru a mnoho dalších výrobců ji rychle přijalo jako standard defacto.,
je určenopřenos dat z hlavního zařízení na jedno nebo více otrokůzařízení na krátké vzdálenosti a při vysokých rychlostech (MHz).
jak to funguje
funguje tak, že přenáší data jeden bit najednou mezi dvěma zařízeními s hlavním zařízením, které vysílá hodinový signál (SCK). Hodiny řídí načasování přenosu dat.
Data (MOSI )je odeslán z posuvného registru v Master SPI zařízení spolu s taktovací signál (SCK), zatímco ve stejné době další posun rejstříku přijímá data od slave (MISO ).,
Master je vždy pod kontrolou a iniciuje přenos dat pomocí hodinového signálu. Slave zařízení jsou vybírána pomocí samostatného slave select signálu, který je řízen softwarem, tj. tyto signály jsou odděleny od hardwarového modulu SPI.
Poznámka: počet bitů není definován protokol, takže nejste omezeni na použití jen 8 – to může být libovolný počet bitů. To je užitečné, když daisy řetězení SPI otroky, jak je třeba nastavit počet bitů na součet všech bitů požadovaných každým zařízením.,
Poznámka: SPI definuje jeden hlavní systém.
alternativní protokol, IIC, umožňuje více bus master provoz.
SPI rozhraní Clock Definice
SPI clock je vůbec definován, což znamená, že různých slave zařízení lze předpokládat různé hodiny provozu; Jeden otrok může vyžadovat nečinnosti hodiny, které je vysoké, zatímco jiné mohou vyžadovat klidovém stavu nízké. Jiní budou reagovat na stoupající hranu, zatímco jiní reagují na klesající hranu!,
protokol SPI rozhraní se s tím vyrovná tím, že vám umožní naprogramovat tyto podrobnosti do hardwarového modulu SPI.
následující obrázek ukazuje PIC rozhraní pro SPI (všechny SPI hardwarové moduly v jiné mikroprocesory umožní stejnou operaci jen pomocí různých rejstříků).,
SPI Rozhraní PIC signály (extrakt z PIC datasheet DS39582B)
To je na vás, abyste nastavit správné hodiny pro ty zařízení, když je aktivován slave select, signál (nebo v případě, že jeden otrok je vždy vybrána tak tam bude žádný otrok vyberte signál).
Arduino SPI Spojení
následující diagram ukazuje rozhraní SPI připojení, který také se stane být programovací konektor (ICSP), na desce Arduino, který umožňuje přímé programování ATmega328p.,p>
5 – Reset
6 – GND
Location of the SPI connector on Arduino Uno R3
Photo Credit : kenming_wang (mod shows ICSP)
Different SPI Interface operational Modes
There are three ways of using the SPI interface
- Single Master – Single Slave.,
- Single Master – Multiple Slaves – Chip vybrán.
- Single Master-Multiple Slaves – dasiy chained.
Single Master-Single Slave.
Zde je nastavení pro jeden SPI připojení zařízení:
Poznámka: chip select signál SS je volitelný pro jeden přístroj systémjako budete normálně svázat SSinput na slave nízká (pokud ostatní řádky jsou určeny k použití SPI).,
SIP Rozhraní: Pomocí čipu vybere
S tímto programem můžete ovládat každé slave zařízení usingits chip select line (obvykle aktivní low – červené šipky ukazují controllines). Když je vypnutá data výstup z theslave přejde do stavu vysoké impedance, takže to není v rozporu withthecurrently vybrané slave a slave datový vstup je ignorován (checkdatasheet).,
výhodou tohoto schématu je, že můžete zvážit (ovládat) každé zařízenísamostatně, když jej porovnáte s metodou daisy chain – což umožňuje připojení zařízení SPI, která vyžadují různá schémata hodin.
Pokud máte SPI otroky, které fungují pomocí různých hodin (hrany/nečinnosti státy) můžete re-program master SPI hardware modul před zapnutím konkrétní CS takže každý otrok má správné signály.
Pokud používáte metodu Daisy chain, musíte se ujistit, že všechny čipy používají stejnou hranu hodin a stav nečinnosti.,
SPIInterface :Daisy řetězení
S tímto systémem všechna data odeslaná do hlavní je posunuta do všech zařízení a všech odeslaných dat z každého zařízení je posunul do další (znázorněno červenou přerušovanou šipkou). Aby toto schéma fungovalo, musíte se ujistit, že každý otrok používá hodiny stejným způsobem a musíte získat správný počet bitů, takže v softwaru je více práce.
Poznámka: výhodou metody Daisy-Chain je uložení signálu chip select pro každé slave SPI zařízení.
Více informací na Wikipedii.,
SPI Rozhraní Daisy Řetězec
SPI Daisy Řetězec Příklad:
Použít několik HC595 čipy, daisy-chain spojeny, dává snadný nárůst počtu výstupů je k dispozici bez použití mnoha piny mikrokontroléru.
limity provozu jsou rychlost HC, Rychlost výstupu SPI. Při řízení sady LED, která musí být aktualizována každých 20 ms.
paralelní Versus sériová SPI
kompromis mezi použitím paralelního rozhraní a rozhraní SPI je rychlost např., pokud si přečtete paralelní 12bit ADC na 200ksp, můžete si přečíst zařízení rychlostí ata 200kHz, ale pokud chcete získat stejnou datovou rychlost pomocí SPI, pakPotřebujete sériovou rychlost 200kHz x 12 = 2.4 MHz. Výsledkem je tedy rychlost a následný hluk, který je do okruhu zaveden.
shrnutí
rozhraní SPI definuje velmi populární protokol, který pracuje vysokou rychlostí. Hlavní problém je, že slave zařízení nejsou vázáni žádnou konkrétní stopování režimu, takže mohou fungovat odlišně na každé jiné, a že může jejich ovládání obtížné tj., hodiny nečinnosti a hrany musí být správně nastaveny pro každé zařízení.
výhody:
- vysoká rychlost.
- Exremely jednoduché rozhraní, které lze snadno replikovat v softwaru.
nevýhody:
- slave chips mohou svobodně přijmout jakékoli taktovací schéma, které vyžadují.