SPI

A Serial Peripheral Interface (SPI) egy szinkron soros kommunikációs interfész specifikáció, melyet rövid távú kommunikációhoz használnak, elsősorban a beágyazott rendszerekben. Az interfészt a Motorola fejlesztette ki az 1980-as évek közepén, és de facto szabvánnyá vált. Például a SD (Secure Digital) kártyák és a folyadékkristályos kijelzők alkalmazzák ezt, de az Arduino-s alkalmazásoknál is gyakran felbukkan.

Az SPI eszközök full duplex módban kommunikálnak, a master-slave architektúrák egy mastert tartalmazhatnak. Az SPI egy master, multi-slave kommunikáció. Több slave-eszköz esetén daisy chain konfigurációt vagy többszörös slave-szelekciót kell alkalmaznia (SS).

Az SPI-t néha négyvezetékes soros busznak hívják, ellentétben a három-, két- és egyvezetékes soros buszokkal. Az SPI pontosan leírható szinkron soros interfészként, de különbözik a Synchronous Serial Interface (SSI) protokolltól, amely szintén négyvezetékes szinkron soros kommunikációs protokoll.

A busz sebessége az eredeti specifikáció szerint 100 kbps volt, ez emelkedett az 1998-as specifikációval 3,4 Mbps-re. Maximális távolsága nagyjából 8 m.

Az SPI lehetséges portjai

  • SCLK: Soros óra (master kimenet).
  • MOSI: Master Output Slave Input, vagy Master Out Slave In
  • MISO: Master Input Slave Output, vagy Master In Slave Out
  • SDIO: Soros adat I/O (kétirányú I/O)
  • SS: Slave Select (master kimenet)

SPI hálózatkonfiguráció

Az SPI hálózat alapvelően két struktúra szerint épülhet fel:

Független slave konfiguráció

Független slave konfiguráció

Ebben a struktúrában a master-nek annyi kiválasztó SS (Slave Select) porttal kell rendelkeznie, ahány slave található a hálózatban. Ezek közül mindig csak a kiválasztott slave-vel folytat kétirányú kommunikációt. Mivel a slave-ek MISO kimenetei össze vanna kötve, azoknak három áramszinttel kell rendelkezniük: alacsony, magas, magas impedancia.

Daisy chain konfiguráció

Daisy chain konfiguráció

Ebben az esetben a master által kiadott MOSI jelsor először az első slave MOSI-jára kerül, majd onnan a MISO kimeneten keresztül jut el a következő slave MOSI-jára, és így tovább.

Az SPI kommunikáció

SPI kommunikáció

Az SPI-ben mindig a master kezdeményezi a kommunikációt azzal, hogy a kiválasztott slave felé az SS jel állapotát magasról alacsonyra váltja. Ez után a master által kiadott órajellel a forgalmazás mindkét csatornán egyidejűleg történik, az adatátvitelre alkalmazott regiszterek szinkronban kerülnek feltöltésre, általában a legmagasabb helyiértékekkel kezdve.

A regiszterek feltöltése után azokat tárolja mindkét egység, és ismétli a regisztertöltést az átvitel végéig. A regiszterek leggyakrabban 8 bitesek, de előfordulhat 16 / 12 bites változatuk is.

Az átvitel végeztével a master leállítja az SLCK órajelet és az SS kiválasztót ismét magas állapotba teszi.

Óra polaritás

Az órajel kezdő polaritása (CPOL) lehet felfutóél-vezérelt (CPHA=0) és lefutóél-vezérelt (CPHA=1) is, úgy, mint ahogy ez a lenti képen követhető:

SPI órapolaritás

Arduino SPI

Az Arduino-boardok támogatják az SPI alkalmazását, ennek a kivezetékezése megvalósítható közvetlenül a pineken is, de egyszerűbb igénybe venni az erre a célra (is) kialakított ICSP-csatlakozót.

Jegyzetek

Források

ob121: SPI

Arduino.cc: SPI library

Kapcsolódó szócikkek

Sablon:Buszrendszer
  • m
  • v
  • sz
Busz- és összeköttetési szabványok (vezetékes)
Fő cikkek
  • Front-side bus
  • Back-side bus
  • Daisy chain
  • Vezérlőbusz
  • Címbusz
  • Bus contention
  • Elektromos busz
    Buszrendszerek sávszélességének listája
Számítógépes buszrendszerek (asztali)
  • S-100 bus
  • MBus
  • SMBus
  • Q-Bus
  • ISA
  • Zorro II
  • Zorro III
  • CAMAC
  • FASTBUS
  • LPC
  • HP Precision Bus
  • EISA
  • VME
  • VXI
  • NuBus
  • TURBOchannel
  • MCA
  • SBus
  • VLB
  • PCI
  • PXI
  • HP GSC bus
  • CoreConnect
  • InfiniBand
  • UPA
  • PCI-X
  • AGP
  • PCI Express
  • Intel QuickPath Interconnect
  • HyperTransport
  • még…
Számítógépes buszrendszerek (hordozható)
  • PC Card
  • ExpressCard
Háttértárak buszrenderei
  • ST-506
  • ESDI
  • SMD
  • Parallel ATA
  • DMA
  • SSA
  • HIPPI
  • USB MSC
  • FireWire
  • Serial ATA
  • eSATA
  • SCSI
  • Parallel SCSI
  • Serial Attached SCSI
  • Fibre Channel
  • iSCSI
Perifériák buszrendszerei
Járművek buszrendszerei
  • LIN
  • J1708
  • J1587
  • FMS
  • J1939
  • CAN-busz
  • VAN
  • FlexRay
  • MOST
Automatizálási buszrendszerek
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap