SPIinterface Tutorial. (Dansk)

SPI Interface(Seriel Perifere Grænseflade) – bus er en høj hastighed, 3-wire, seriel kommunikation-protokollen (4 hvis man medregner SSn – se nedenfor). Det primære formål er at reducere on-PCB wireire routing ved at erstatte thetraditional parallel bus med en seriel grænseflade. (Du kan bare aboutmanage en 8-bit bus-routing det gennem en flere lag PCB, men når youget til 16, 32 bits, og mere bliver det langt vanskeligere).,

forbindelserne er:

  • MOSI (Master Out Slave In) .
  • MISO (Master i Slave ud).
  • SCK (Slave ur).
  • SS_n (Slave Vælg).

– betegner PIC-nomenklatur

Bemærk: det sidste signal SS eller slave select er adskilt fra protokollen og implementeres normalt som en aktiverende kontrol pin fra mikrocontrolleren. Det er inkluderet her for fuldstændighed.

SPI PIC-grænsefladen tillader tilslutning af perifere enheder ved hjælp af en seriel grænseflade med høj hastighed. SPI FlashMemory og SPI SRAM kan nemt tilføjes til ethvert system., Andre typer enheder omfatter:

  • ADC.
  • DAC.
  • Flash.
  • EEPROM.
  • Accellerometre.
  • LCD-skærme.
  • temperatur & fugtighedssensorer.
  • …og mange flere.kun anden reel konkurrence er I2C-bussen, hvorfor du ofte ser disse grænseflader både tilgængelige på processorer og mikrocontrollere.

    SPI-grænsefladen blev designet i 1970 ‘ erne af Motorola, der brugte den i deres 68000processor, og den blev hurtigt vedtaget af mange andre producenter som en defacto-standard.,

    det er beregnet tiloverførsel af data fra en masterenhed til en eller flere slaveenheder over korte afstande og ved høje hastigheder (MH.).

    Sådan fungerer det

    det fungerer ved at overføre data en bit ad gangen mellem to enheder med masterenheden, der sender ursignalet (SCK). Uret styrer tidspunktet for dataoverførslen.

    Data (MOSI )sendes ud af et skift register i Master SPI enheden sammen med et ur signal (SCK), mens på samme tid en anden skift register modtager data fra slaven (MISO,).,Master er altid i kontrol og initierer dataoverførsel ved hjælp af ursignalet. Slave enheder er valgt ved hjælp af en separat slave select signal, der er soft .are styret dvs disse signaler er adskilt fra SPI hard .are modul.

    Bemærk: antallet af bits er ikke defineret af protokollen, så du er ikke begrænset til kun at bruge 8 – Det kan være et vilkårligt antal bits. Dette er nyttigt, når daisy chaining SPI slaver, som du har brug for at indstille antallet af bits til summen af alle de bits, der kræves af hver enhed.,

    Bemærk: SPI definerer et enkelt master system.

    den alternative protokol, IIC, tillader flere bus master drift.

    SPI interface Clock Definition

    SPI uret er ikke defineret overhovedet – hvilket betyder, at forskellige slave enheder kan påtage sig forskellige ur drift; en slave kan kræve en tomgang ur, der er høj, mens en anden kan kræve en tomgang tilstand af lav. Andre vil reagere på den stigende kant, mens andre reagerer på den faldende kant!,

    SPI interface protocl klarer dette ved at lade dig programmere disse detaljer til SPI hard .are modulet.

    følgende billede viser pic-grænsefladen til SPI (alle SPI-hard .aremoduler i andre mikrocontrollere tillader den samme handling blot ved hjælp af forskellige registre).,

    SPI Interface PIC signaler (uddrag fra PIC datablad DS39582B)

    Det er op til dig at indstille den rigtige ur for dig-enhed, når det aktiveres af en slave vælg signal (eller i tilfælde af en enkelt slave er det altid valgt, så vil der ikke være nogen slave vælg signal).

    Arduino SPI-forbindelse

    følgende diagram viser grænsefladen til SPI-forbindelserne, som også tilfældigvis er programming connector (ICSP) på Arduino-kortet, der tillader direkte programmering af 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

  1. Single Master – Single Slave.,
  2. Single Master-flere slaver-Chip valgt.
  3. enkelt mester-flere slaver-Dasiy kædet.

enkelt Master-enkelt Slave.

Her er opsætningen for en enkelt SPI forbindelsen:

Bemærk: chip select signal SS er valgfrit for en enkelt enhed, systemas du vil normalt binde SSinput på slave lav (hvis de andre linier er dedikeret til SPI til brug).,

SIP Interface: Brug af chip vælger

Med denne ordning kan du styre hver slave-enhed usingits chip select line (normalt aktiv lav – røde pile viser, controllines). Når deaktiveret data output fra theslave går i en høj impedans tilstand, så det ikke forstyrrer den aktuelt valgte slave og slave data input ignoreres (checkdatablad).,
fordelen ved denne ordning er, at du kan overveje (kontrollere) hver enhedseparat, når du sammenligner det med daisy chain – metoden-tillader tilslutning af SPI-enheder, der kræver forskellige urskemaer.

Hvis du har SPI-slaver, der fungerer ved hjælp af forskellige ure (kanter / tomgangstilstande), kan du omprogrammere master SPI-hard .aremodulet, før du aktiverer en bestemt CS, så hver slave har de korrekte signaler sendt til det.

Hvis du bruger Daisy chain-metoden, skal du sørge for, at alle chips bruger den samme urkant og inaktiv urtilstand.,

SPIInterface :Daisy chaining

med dette skema flyttes alle data, der sendes af masteren, til alle enheder, og alle data, der sendes fra hver enhed, flyttes ud til den næste (vist med rød prikket pil). For at denne ordning skal fungere, skal du sørge for, at hver slave bruger uret på samme måde, og du skal få det rigtige antal bits, så der er mere arbejde at gøre i Soft .are.

Bemærk: fordelen ved Daisy-Chain-metoden er, at du gemmer et chip select-signal for hver slave SPI-enhed.

mere information om .ikipedia.,

SPI Interface Daisy Chain

SPI Daisy Chain Eksempel

Brug flere HC595 chips, daisy-chain forbundet, hvilket giver en let stigning i antallet af udgange til rådighed uden at bruge mange microcontroller ben.

grænserne for drift er hastigheden af HC, hastigheden af SPI-udgangen. Design også overvejelse, f. eks. hvis du kører et sæt lysdioder, der skal opdateres hver 20 ms.

Parallel Versus Serial SPI

udvekslingen mellem at bruge en parallel grænseflade og SPI-grænsefladen er hastighed f. eks., hvis du læser en parallel 12bit ADC ved 200ksps, kan du læse enheden ata 200kh. – hastighed, men hvis du vil have den samme datahastighed ved hjælp af SPI, har du brug for en seriehastighed på 200kh. 12 12 = 2.4 MH.. Så den faktiske handel er hastighed, og den deraf følgende støj introduceret i kredsløbet.

resum.

SPI-grænsefladen definerer en meget populær protokol, der fungerer med høj hastighed. Det største problem er, at slave enheder ikke er bundet af en bestemt clocking ordning, så de kan fungere forskelligt fra hinanden, og det kan gøre at kontrollere dem vanskeligt dvs .. , uret tomgang og kant skal indstilles korrekt for hver enhed.

fordele:

  • høj hastighed.
  • ekstremt enkel grænseflade, der er let at replikere i Soft .are.

ulemper:

  • Slave chips er fri til at vedtage enhver clocking ordning, de kræver.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *