SPIinterface Opplæringen.

SPI-Grensesnitt(Serial Peripheral Interface)buss er en høy hastighet, 3-wire, serial communications protocol (4 hvis du inkluderer SSn – se nedenfor). Itsprimiary formål er å redusere på-PCB wire ruting ved å erstatte thetraditional parallell buss med et serielt grensesnitt. (Du kan bare aboutmanage eit 8-bits buss ruting det gjennom en flere-lags PCB men når youget 16, 32-bits og mer det blir langt vanskeligere).,

tilkoblinger er:

  • MOSI (Master Ut Slave) .
  • MISO (Master I Slave Ut) .
  • SCK (Slave Klokke) .
  • SS_n (Slave Select).

– angir PIC nomenklatur

Merk: Den siste signal SS eller slave select er atskilt fra protokollen, og er som regel implementert som en aktiverer pin-kontroll fra mikrokontrolleren. Det er tatt med her for å vise helheten.

SPI-BILDE-grensesnitt gjør at du kan koble eksterne enheter med høy hastighet serielle grensesnittet. SPI FlashMemory og SPI SRAM kan enkelt legges til systemet., Andre typer enheter inkluderer:

  • ADC.
  • DAC.
  • Flash.
  • EEPROM.
  • Aksellerometre.
  • Lcd-skjermer.
  • Temperatur & Fuktighet sensorer.
  • …og mange flere.

Itsonly andre reell konkurranse er I2C buss som er grunnen til at du ofte seethese grensesnitt både tilgjengelig på prosessorer og mikrokontrollere.

SPI-grensesnittet ble utviklet i 1970-årene av Motorola, som brukte det i sin 68000processor, og det ble raskt tatt i bruk av mange andre produsenter som en defacto standard.,

Itis beregnet fortransmission av data fra en master-enheten til én eller flere slavedevices over korte avstander og i høy hastighet (MHz).

Hvordan det Fungerer

Det fungerer ved å overføre dataene én bit om gangen mellom to enheter med master-enheten sender klokke signal (SCK). Klokken styrer tidspunktet for overføring av data.

Data (MOSI )er sendt ut av et skift registrere deg i Master SPI-enheten sammen med en klokke signal (SCK), mens på samme tid en annen endring registrere mottar data fra slave (MISO, ).,

The Master er alltid i kontroll-og initierer dataoverføring ved hjelp av klokke signal. Slave-enheter er valgt ved hjelp av en egen slave velge signal som er programvare kontrollert dvs. de signaler som er atskilt fra SPI-maskinvare-modulen.

Merk: antall biter som ikke er definert av protokollen så du er ikke begrenset til å bruke bare 8 – det kan være et vilkårlig antall bits. Dette er nyttig når du seriekoble SPI slaver som du trenger for å velge antall biter summen av alle biter som kreves av hver enhet.,

Merk: SPI definerer en enkelt master system.

Den alternative protokollen, IIC, gjør at flere buss-master drift.

SPI-grensesnitt Klokke Definisjon

SPI-klokke er ikke definert i det hele tatt – noe som betyr at forskjellige slave-enheter kan anta forskjellige klokke drift; En slave kan kreve en inaktiv klokke som er høy, mens en annen kan kreve en inaktiv tilstand av lav. Andre vil reagere på den stigende flanke, mens andre reagerer på fallende kant!,

SPI-grensesnitt protocl takler dette ved at du programmet disse detaljene til SPI-maskinvare-modulen.

følgende bilde viser PIC grensesnitt for SPI (alle SPI maskinvare moduler i andre mikrokontrollere vil tillate den samme operasjonen bare ved hjelp av ulike registre).,

SPI-Grensesnitt PIC-signaler (utdrag fra PIC dataark DS39582B)

Det er opp til deg å sette riktig klokke for enheten når det er aktivert av en slave velge signal (eller i tilfelle av en eneste slave-det er alltid valgt så vil det ikke være slave velge signal).

Arduino SPI-Tilkobling

følgende diagrammet viser grensesnittet til SPI-tilkoblinger som også skjer for å være programmering-kontakt (ICSP), på Arduino styret, som gjør det mulig direkte programmering av 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. Én Master – Flere Slaver – Chip som er valgt.
  3. Én Master – Flere Slaver – Dasiy lenket.

Én Master – Single-Slave.

Her er oppsettet for en enkelt SPI-enhet-tilkobling:

Merk: chip-en velger du signal SS er valgfritt for en enkelt enhet systemas normalt vil du knytte SSinput på slave lav (hvis de andre linjene er dedikert til å SPI bruk).,

SIP-Grensesnitt: Bruker chip velger

Med denne ordningen kan du styre hver slave enhet usingits chip velger linje (vanligvis aktiv lav – røde piler viser controllines). Når det er deaktivert theData utgang fra theslave går inn i en høy impedans staten, slik at det ikke forstyrrer withthecurrently valgt slave og slave data input er ignorert (checkdatasheet).,
fordel med denne ordningen er at du kan vurdere (kontroll) hver deviceseparately når du sammenligner det med daisy-chain-metoden – slik at tilkobling av SPI-enheter som krever forskjellige klokke ordninger.

Hvis du har SPI slaver som opererer ved hjelp av ulike klokker (kanter/inaktiv stater) kan du re-programmet master SPI maskinvare-modulen før du kan aktivere en bestemt CS så hver slave har de riktige signaler som sendes til den.

Hvis du bruker Daisy chain metoden, så du må sørge for at alle sjetongene bruke samme klokke kanten og inaktiv klokke staten.,

SPIInterface :seriekobling

Med denne ordningen blir alle data som sendes av master er flyttet inn i alle enheter og alle data som er sendt fra hver enhet er flyttet ut til det neste (vist med rød stiplet pil). For denne ordningen til å fungere må du sørge for at hver slave bruker klokken på samme måte, og du har til å få riktig antall biter, så det er mer arbeid å gjøre i programvaren.

Merk: nytte av Daisy-Chain-metoden er at du sparer en brikke for å velge signal for hver slave SPI-enheten.

Mer informasjon på Wikipedia.,

SPI-Grensesnitt Daisy Chain

SPI Daisy Chain Eksempel

Bruk flere HC595 chips, daisy-chain knyttet sammen, noe som gir en lett økning i antall utganger tilgjengelig uten å bruke mange microcontroller pinner.

grensene av drift, er hastigheten på HC, hastigheten på SPI-utgang. Også design vederlag for eksempel Hvis du kjører et sett av Led-lys som må oppdateres hver 20ms.

Parallell Versus Seriell SPI

The trade off mellom ved hjelp av et parallelt grensesnitt og SPI-grensesnitt er hastigheten f.eks., hvis youread en parallell 12 bit ADC på 200ksps så kan du lese den enheten ata 200kHz rente, men hvis du ønsker å få de samme data rate ved hjelp av SPI thenyou trenger en seriell hastighet på 200kHz x 12 = 2.4 MHz. Så theactual trade off er hastigheten og den påfølgende støy introducedinto kretsen.

Oppsummering

SPI-grensesnitt definerer en svært populær protokoll som fungerer i høy hastighet. Det største problemet er at slave-enheter er ikke bundet av noen bestemt klokkes ordningen, slik at de kan operere annerledes til hverandre og som kan gjøre kontrollere dem vanskelig dvs., klokken er inaktiv og kanten må være riktig innstilt for hver enhet.

Fordeler:

  • Høy hastighet.
  • Exremely enkelt grensesnitt som er lett å gjenskape i programvaren.

Ulemper:

  • Slave chips er gratis å vedta noen klokkes ordningen som de krever.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *