Basics spi protokoll
SPI (Serial Bus perifériás) - Soros perifériás protokoll. Ez szúrás által kifejlesztett Motorola. de most sokan használják a gyártók. Célja közötti kommunikáció mikrokontroller, valamint mindenféle perifériát: érzékelők D átalakító, memória chipek óra. Mégis, a legtöbb gyakori használata SPI - ez rögzíti a program memória a mikrokontroller. A mikrokontroller AVR c keresztül SPI Flash mikrokontroller nem vypaivaya a fórumon, ezt a módszert nevezik firmware ISP (In System Programming). Bár az SPI nevét és ISP nagyon harmonikusan, ez nem ugyanaz a dolog, az AVR SPI használják fizikai ISP szinten. azaz a SPI sor adatátvitel, de a protokoll is (szoftveres réteg) különbözik.
Az adatok átvitele az SPI használ három sort:
MISO (Master Input Output Slave) - ezt a sort mester (master) adatokat kap a Slave (szolga).
MOSI (Master kimenet Slave bemenet) - ezt a sort Mester adatokat küld a slave.
SCK (Serial Clock) - arra szolgál, hogy továbbítson egy órajelet a szolga eszköz.
vonal SS (Slave Select) is használják. amely meghatározza az eszköz, amellyel a Mester adatcserét.

Annak a ténynek köszönhetően, hogy sok gyártó használja SPI saját eszközök, megállapításait a név némileg eltérhet. Az alábbi táblázat az alternatív neveket.

SPI kétféle hardver és szoftver. Ha a szoftver segítségével SPI. van, hogy kézzel állítsa be a jelet a megfelelő lábainak MISO MOSI, SS az húzza SCK. Hardveres megvalósítás SPI átadjuk az adatokat a külön nyilvántartást, és a mikrokontroller maga végzi a fenti manipuláció szerint az előzetes beállításokat.
Fizikai megvalósítása SPI. Ez jelenti a két léptető regiszterre kapcsolódik egymáshoz.

Attól függően, hogy mely logikai jel szintjét SCK. Ez akkor fordul elő Master és Slave szinkronizáció, és minden él egy befogó és shift adatszolgáltatás 4 SPI módban.

- CPOL = 0 - burst kezdődik egy alacsony szintű;
- CPOL = 1 - burst kezdődik magas szintű;
- CPHA = 0 - Az adatok mintában felfutó élénél szinkronjel;
- CPHA = 1 - adatok mintavételezése a hátsó él időzítő jel.
Oszcilio mutatja, hogyan néz ki a kiküldetés 0h17 különböző módban.
CPOL = CPHA = 0 0

CPOL = 1 CPHA = 0

CPOL = 0 CPHA = 1

CPOL = 1 CPHA = 1

SPI - szinkron felület, azaz, hogy bizonyos adatokat a Slave. Mester küldeni valamit. Úgy tűnik, minden világos, de mi van, ha mester küld egy bájt, és a Slave vissza kell kettő? Ebben az esetben a Mester kell küldeni neki valami 2-szer, mint például a 0x00.
Ez minden, a fenti kód kivett mintát munkatervét.