Megértés a beágyazott SPI kommunikációs protokollról

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





A kommunikáció alapvető szerepet játszik a beágyazott rendszerek tervezésében. A protokollok megismerése nélkül a perifériás bővítés rendkívül összetett és nagy energiát igénylő. Az beágyazott rendszer alapvetően soros kommunikációt használ a perifériákkal való kommunikációhoz.
Sok soros kommunikációs protokoll létezik, például UART, CAN, USB, I2C és SPI kommunikáció. A soros kommunikációs protokoll a jellemzők közé tartozik a nagy sebesség és az alacsony adatvesztés. Megkönnyíti a rendszerszintű tervezést és megbízható adatátvitelt biztosít.

Soros adatkommunikáció

Az elektromosan kódolt információt soros adatnak nevezzük, amelyet protokollról haladva továbbítunk egyik eszközről a másikra. A beágyazott rendszerben a vezérlő szenzorok és a működtetők adatait fogadják vagy továbbítják a vezérlő eszközökhöz, például mikrovezérlőkhöz, így az adatokat tovább elemzik és feldolgozzák. Mivel a mikrovezérlők a digitális adatokkal dolgoznak, a analóg érzékelők A működtetőket és más perifériákat egy bájtos (8 bites) bináris szóvá alakítják át, mielőtt továbbítanák őket a mikrovezérlőre.




Soros adatkommunikáció

Soros adatkommunikáció

Ezeket a soros adatokat bizonyos óraimpulzusra vonatkoztatva továbbítják. Az adatátviteli sebességet átviteli sebességnek nevezzük. A másodpercenként továbbítható adatbitek számát adatátviteli sebességnek nevezzük. Tegyük fel, hogy az adatok 12 bájtból állnak, majd mindegyik bájtot 8 bitesre konvertálunk úgy, hogy az adatátvitel teljes mérete körülbelül 96 bites / sec legyen az adatnál (12 bájt * 8 bit bájtonként). Ha az adatokat másodpercenként egyszer lehet továbbítani, az adatátviteli sebesség 96 bit / sec vagy 96 baud körül van. A kijelző másodpercenként egyszer frissíti az adatértéket.



Soros perifériás interfész alapjai

Az SPI kommunikáció a soros perifériás interfészt jelenti kommunikációs protokoll , amelyet a Motorola fejlesztett ki 1972-ben. Az SPI interfész elérhető olyan népszerű kommunikációs vezérlőkön, mint a PIC, AVR és ARM vezérlő stb. Szinkron soros kommunikációs adatkapcsolattal rendelkezik, amely teljes duplexben működik, ami azt jelenti, hogy az adatjelek mindkét irányt egyidejűleg folytatják.

Az SPI protokoll négy vezetékből áll, úgymint MISO, MOSI, CLK, SS, amelyeket master / slave kommunikációra használnak. A mester mikrovezérlő, és a rabszolgák más perifériák, például érzékelők, GSM modem és a GPS modem stb. A több szolga egy SPI soros buszon keresztül kapcsolódik a masterhez. Az SPI protokoll nem támogatja a Multi-master kommunikációt, és rövid távolságra használják az áramköri lapon belül.

Soros perifériás interfész alapjai

Soros perifériás interfész alapjai

SPI vonalak

MISO (Master in Slave out) : A MISO vonal bemenetként van konfigurálva a master eszközben és kimenetként egy slave eszközben.


MOSI (Master ki Slave be) : A MOSI egy vonal, amelyet kimenetként konfigurálnak egy master eszközben és bemenetként egy slave eszközben, ahol az adatmozgás szinkronizálására szolgál.

SCK (soros óra) : Ezt a jelet mindig a master vezérli a master és a slave közötti szinkron adatátvitel érdekében. Az adatmozgatás szinkronizálására szolgál mind a be-, mind a kimeneten a MOSI és a MISO vonalakon keresztül.

SS (Slave Select) és CS (Chip Select) : Ezt a jelet a master vezérli az egyes rabszolgák / perifériák kiválasztására. Ez egy bemeneti vonal, amelyet a slave eszközök kiválasztására használnak.

Master Slave kommunikáció az SPI soros busszal

Single Master és Single Slave SPI megvalósítás

Itt a kommunikációt mindig a mester kezdeményezi. A master eszköz először konfigurálja az órajel frekvenciáját, amely kisebb vagy egyenlő azzal a maximális frekvenciával, amelyet a slave eszköz támogat. Ezután a mester kiválasztja a kommunikációhoz kívánt szolgát azáltal, hogy az adott szolga eszköz chip-választó vonalát (SS) húzza alacsony állapotba és aktívvá. A master generálja az információt a MOSI vonalon, amely az adatokat a master-től a slave-ig továbbítja.

Master Slave kommunikáció

Master Slave kommunikáció

Egyetlen mester és több szolga megvalósítás

Ez egy több szolga konfiguráció, egy masterrel és több szolga az SPI soros buszon keresztül. A több szolga párhuzamosan csatlakozik a master eszközhöz az SPI soros busszal. Itt az összes óravonal és adatvonal összekapcsolódik, de az egyes slave eszközök chipkiválasztó tüskéit külön masszázsválasztó csaphoz kell csatlakoztatni a maser eszközön.

Egyetlen mester és több rabszolga

Egyetlen mester és több rabszolga

Ebben a folyamatban az egyes szolga eszközök vezérlését egy chip kiválasztó vonal (SS) végzi. A chipkiválasztó tüske alacsony lesz, hogy aktiválja a slave eszközt, és magasra kerül, hogy letiltja a slave eszközt.

Az adatátvitel úgy van megszervezve, hogy mind a master-, mind a slave-eszközökön a shift regisztereket használják, adott szóméret kb. 8 bites, illetve 16 bites. Mindkét eszköz gyűrűs formában van összekapcsolva úgy, hogy a maser shift regiszter értéke a MOSI vonalon keresztül kerül továbbításra, majd a slave eltolja az adatokat a shift regiszterében. Az adatokat általában először az MSB-vel együtt helyezik át, és az új LSB-t ugyanabba a regiszterbe helyezik át.

Adatátvitel a master és a slave között

Adatátvitel a master és a slave között

Az óra polaritásának és fázisának jelentősége

Az adatok továbbítását és fogadását általában az emelkedő széleken és az eső széleken lévő óraimpulzusok alapján végzik. A fejlett mikrovezérlőknek két frekvenciája van: belső és külső. Az SPI perifériák hozzáadhatók a MISO, MOSI és SCLK vonalak megosztásával. A perifériák különböző típusúak vagy sebességűek, például ADC, DAC stb. Ezért meg kell változtatnunk az SPCR beállításait a különböző perifériákra történő átvitelek között.

SPCR regisztráció

SPCR regisztráció

Az SPI busz a 4 különböző átviteli mód egyikében működik, óra-polaritással (CPOL) és órafázissal (CPHA), amelyek meghatározzák a használandó óraformátumot. Az óra polaritása és a fázis órajelek attól függenek, hogy melyik perifériás eszközzel próbál kommunikálni a mesterrel.
CPHA = 0, CPOL = 0: Az első bit alacsonyabb jelként indul - az adatokból az emelkedő élnél vesznek mintát, és az adatok csökkenő élnél változnak.

CPHA = 0, CPOL = 1: Az első bit alacsonyabb órával kezdődik - az adatokból eső élen vesznek mintát, és az adatok emelkedő élen változnak.

CPHA = 1, CPOL = 0: Az első bit magasabb órával kezdődik - az adatokból eső élnél vesznek mintát, és az adatok emelkedő élnél változnak.

CPHA = 1, CPOL = 1: Az első bit magasabb órával kezdődik - az adatokból emelkedő élen vesznek mintát, és az adatok csökkenő élnél változnak.

SPI busz időzítés

SPI busz időzítés

SPI kommunikációs protokoll

Sok mikrovezérlő beépített SPI protokollt tartalmaz, amelyek az összes küldő és fogadó adatot kezelik. Az adatmód bármely műveletét (R / W) az SPI protokoll vezérlő és állapotregiszterei vezérlik. Itt figyelheti meg az EEPROM interfészt a PIC16f877a mikrovezérlőhöz az SPI protokollon keresztül.

Itt a 25LC104 EEROM egy 131072 bájtos memória, ahol a mikrovezérlő két bájt adatot továbbít a EEROM memória egy SPI soros buszon keresztül. Az interfész programját az alábbiakban adjuk meg.

Master-Slave kommunikáció az SPI soros buszon keresztül

Master-Slave kommunikáció az SPI soros buszon keresztül

#include
Sbit SS = RC ^ 2
Sbit SCK = RC ^ 3
Sbit SDI = RC ^ 4
Sbit SDO = RC ^ 5
Törölje az EEROM () inicializálását
Érvénytelen fő ()
{
SSPSPAT = 0x00
SSPCON = 0x31
SMP = 0
SCK = 0
SDO = 0
SS = 1
EE_cím = 0x00
SPI_write (0x80)
SPI_write (1234)
SS = 0
}

Az SPI protokoll előnyei

  • Ez egy teljes duplex kommunikáció.
  • Ez egy nagysebességű 10MHz-es adatbusz.
  • Átvitel közben nem korlátozódik 8 bitre
  • A hardver interfész az SPI-n keresztül egyszerű.
  • A Slave mesterórát használ, és nincs szüksége értékes oszcillátorokra.

Mindez az SPI kommunikációról és annak kapcsolódás egy mikrovezérlőhöz . Nagyra értékeljük a cikk iránti érdeklődését és figyelmességét, és így előre láthatjuk a cikk véleményét. Ezenkívül bármilyen interfészes kódoláshoz és segítségért az alábbi megjegyzésekkel kérdezhet bennünket.

Fotók: