Spi programozás Arduino
Ez a könyvtár lehetővé teszi Arduino kölcsönhatásba különböző SPI-eszközök eljárva így például a mester eszköz.
Rövid bevezetés az interfész SPI (Serial Peripheral Interface)
A soros periféria interfész (SPI) - egy szinkron soros adat használt protokoll mikrovezérlő kommunikációt egy vagy több perifériaeszközt. SPI interfész jellemzi viszonylag nagy sebességgel, és célja a kapcsolatot, szorosan elhelyezett eszközök. Azt is fel lehet használni kölcsönhatás a két mikrokontrollerek.
Szerint SPI protokoll egyik kölcsönható eszköz (jellemzően a mikrokontroller) mindig a mester, és vezérli a slave perifériák. Jellemzően, az összes eszköz egyesítjük vzaimodeystvyuschie három általános vonalak:
- MISO (Master Slave Out) - line adatokat a szolga (slave) a mester (master),
- MOSI (Master Out slave) - line adatoknak a mester készülék (Master) a szolga (slave),
- SCK (Serial Clock) - az órajelek a master generálja (Master) szinkronizálására adatátviteli folyamatot.
Amellett, hogy ezek, minden eszköz kap egy külön sorban:
- SS (Slave Select) - kimeneti jelen egyes másodlagos. Úgy tervezték, hogy aktiválja a mester egy periféria.
Periféria (slave) reagáltatjuk ólom (Master), ha az SS jelen van kimeneti alacsony szintű jeleket. Ellenkező esetben az adatok a Master-készülék figyelmen kívül hagyja. Ez a felépítés lehetővé, hogy befolyásolja a több SPI-eszköz csatlakozik ugyanazon a buszon: MISO MOSI és SCK.
Mielőtt elküldi az adatokat az új SPI-eszközt, akkor kell, hogy megtudja róla néhány kiemeli:
- Shift adatokat kell végezni, kezdve a legnagyobb helyiértékű bit (MSB) vagy legkisebb helyiértékű (LSB)? Az adatok sorrendje vezérli SPI.setBitOrder () függvény.
- Ennek hiányában órajelek SCK vonalat kell egy magas vagy alacsony? Az adatok olvasása zajlik az első vagy a bomlási az órajel? Ezek a módok ellenőrzött SPI.setDataMode () függvényt.
- Mi legyen az SPI adatsebesség? Ezt az opciót egy SPI.setClockDivider () függvényt.
Mivel az SPI szabvány nyitva van, annak végrehajtását a különböző eszközök némileg eltérhet. Ezért, amikor az írás programokkal, különleges figyelmet kell fordítani adatlap egy eszköz.
Nagyjából elmondható, hogy négy adatátviteli mód, eltérő adatokat a váltás feltétel (az első vagy a bomlás a szinkron-impulzus - az úgynevezett fázis), és azt a jelszintet, amely SCK az a vonal hiányában szinkronozóimpulzusokat (polaritású). Különféle kombinációi fázis és polaritás, alkotó négy átviteli módok -ról a táblázatban:
Változtatni az adatokat átviteli módot használjuk SPI.setDataMode () függvény.
Minden SPI-berendezés ír elő bizonyos korlátozások a legnagyobb arány SPI-Bus. A helyes működés a perifériák a könyvtárban olyan funkciót nyújt SPI.setClockDivider () lehetővé teszi, hogy módosítsa az órajel a busz (az alapbeállítás 4 MHz).
Miután beállította az összes paramétert az SPI, csak megtudja, mi a perifériás regiszterek felelős az egyik vagy másik funkció. Jellemzően, ez a készülék le van írva a adatlap.
További információ a SPI interfészen keresztül. Lásd a Wikipedia oldalt.
kapcsolatok
Az alábbi táblázat azt mutatja, pin számok, SPI busz használják a különböző modellek Arduino:
Uno vagy Duemilanove
Mega1280 vagy Mega2560
Felhívjuk figyelmét, hogy az összes díjat következtetések MISO MOSI és SCK csatlakozik az azonos névjegyek ICSP csatlakozó. Egy ilyen elrendezés esetén is hasznos lehet létre egy univerzális bővítőkártyákról dolgozik minden modell Arduino.
Jellemzők O SS munka Arduino-alapú AVR
Minden Arduino alapuló modellek AVR mikrokontrollerek kötött az SS, amely a használt Slave módban (például, ha ellenőrző Arduino külső master). Azonban a könyvtárban kerül végrehajtásra csak Master módban, tehát ebben az üzemmódban SS kimenet kell konfigurálni egy kimenetet. Ellenkező esetben az SPI lehet hardveres kapcsolót Slave mód, amely ahhoz vezet, hogy működésképtelensége a könyvtári funkciókat.
Vezérlő termináljára SS perifériák bármelyikét használhatja a rendelkezésre álló terminálok. Például, a bővítőkártya Arduino Ethernet kommunikálni integrált SD-kártyára, és az Ethernet vezérlő az SPI csapok 4, illetve 10.
Részletes SPI lehetőségek Arduino Due
Vannak bizonyos funkciók munka SPI interfész a táblák Arduino Due. Emellett az alapvető funkciókat és módszereket alkalmazni valamennyi táblák Arduino, az SPI könyvtár számos további módszereket. Ezek a módszerek aktualizálása hardveres képességek SAM3X mikrovezérlők és a fejlesztők fejlett funkciók:
- automatikus szabályozása válasszuk szolga folyamat
- automatikus vezérlés SPI interfész konfigurációk különböző eszközök (órajel, adatátviteli mód, stb). Emiatt egyes szolga eszközök saját készlet automatikusan beállításra kerülnek elején az átvitel.
A Arduino miatt három különálló kimenetet (4, 10, és 52), hogy ellenőrizzék vonalak SS perifériák.