SPIinterface Tutorial.

de SPI Interface(Serial Peripheral Interface)bus is een high speed, 3-wire, serial Communication protocol (4 Als u SSn – zie hieronder). Het belangrijkste doel is om de routering van draad op PCB te verminderen door de traditionele parallelle bus te vervangen door een seriële interface. (Je kunt gewoon over het beheer van een 8 bit bus routeren door middel van een aantal laag PCB, maar wanneer je naar 16, 32 bits en meer wordt het veel moeilijker).,

de verbindingen zijn:

  • MOSI (Master Out Slave In).
  • MISO (Master In Slave Out) .
  • SCK (Slave Clock) .
  • SS_n (Slave Select).

– geeft de pic-nomenclatuur aan

opmerking: de laatste ss-of slave-select van het signaal staat los van het protocol en wordt meestal geà mplementeerd als een inschakelende controlepin van de microcontroller. Het is hier opgenomen voor volledigheid.

de SPI PIC interface maakt aansluiting van randapparatuur mogelijk met behulp van een High speed serial interface. SPI FlashMemory en SPI SRAM kunnen eenvoudig worden toegevoegd aan elk systeem., Andere typen apparaten zijn:

  • ADC.
  • DAC.
  • Flash.
  • EEPROM.
  • Accellerometers.
  • LCD ‘ s.
  • temperatuur & vochtigheidssensoren.
  • …en nog veel meer.

De enige echte concurrentie is de I2C bus. daarom zie je vaak deze interfaces beschikbaar op processors en microcontrollers.

de spi-interface werd ontworpen in de jaren 70 door Motorola, die het gebruikte in hun 68000processor, en het werd al snel door vele andere fabrikanten als een defacto-standaard aangenomen.,

Het is de bedoeling dat gegevens van een hoofdtoestel naar een of meer slavedevices worden verzonden over korte afstanden en bij hoge snelheden (MHz).

hoe het werkt

het werkt door gegevens een bit per keer over te brengen tussen twee apparaten waarbij het master-apparaat het kloksignaal (SCK) verzendt. De klok bepaalt de timing van de gegevensoverdracht.

Data (MOSI )wordt verzonden vanuit een shift register in het Master SPI apparaat samen met een kloksignaal (SCK), terwijl tegelijkertijd een ander shift register data ontvangt van de slave (MISO,).,

De Master heeft altijd de controle en start de gegevensoverdracht met behulp van het kloksignaal. Slave-apparaten worden geselecteerd met behulp van een afzonderlijk slave select-signaal dat softwaregestuurd is, dat wil zeggen dat deze signalen gescheiden zijn van de SPI-hardwaremodule.

opmerking: het aantal bits is niet gedefinieerd door het protocol, dus u bent niet beperkt tot het gebruik van slechts 8 – Het kan elk aantal bits zijn. Dit is handig bij daisy chaining SPI slaves omdat je het aantal bits moet instellen op de som van alle bits die nodig zijn voor elk apparaat.,

opmerking: SPI definieert een enkel mastersysteem.

het alternatieve protocol, IIC, staat meerdere bus-masterbewerkingen toe.

SPI-interfaceklok definitie

de SPI – klok is helemaal niet gedefinieerd-wat betekent dat verschillende slave-apparaten verschillende klokbediening kunnen aannemen; een slave kan een inactieve klok nodig hebben die hoog is, terwijl een andere slave een inactieve toestand van laag kan vereisen. Anderen zullen reageren op de stijgende rand terwijl anderen reageren op de dalende rand!,

de spi interface protocl gaat hiermee om door u deze details te laten programmeren naar de SPI hardware module.

de volgende afbeelding toont de pic interface voor SPI (alle SPI hardwaremodules in andere microcontrollers zullen dezelfde operatie toestaan met behulp van verschillende registers).,

SPI Interface PIC signalen (uittreksel uit Pic datasheet DS39582B)

Het is aan u om de juiste klok voor uw apparaat in te stellen wanneer het wordt geactiveerd door een slave select signaal (of in het geval van een enkele slave is het altijd geselecteerd zodat er geen slave select signaal zal zijn).

Arduino SPI-verbinding

het volgende diagram toont de interface naar de SPI-verbindingen, die ook de programmeerconnector (ICSP) op het Arduino-bord is, die directe programmering van de ATmega328p mogelijk maakt.,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. enkele Master – meerdere Slaves-Chip geselecteerd.
  3. Single Master-Multiple Slaves – dasiy chained.

Single Master-Single Slave.

Hier is de instelling voor een enkele SPI-apparaatverbinding:

opmerking: de chip select signal SS is optioneel voor een enkel apparaatsysteem, omdat u normaal gesproken de SSinput aan de slave low bindt (als de andere regels zijn gewijd aan SPI-gebruik).,

SIP-Interface: met behulp van chip selecteert

met dit schema kunt u elk slave – apparaat bedienen met behulp van de chip select-lijn (meestal actieve laag-rode pijlen tonen regellijnen). Wanneer uitgeschakeld gaat de data-uitvoer van de slave in een hoge impedantie staat, zodat het niet interfereert met de momenteel geselecteerde slave en de slave ‘ s gegevensinvoer wordt genegeerd (checkdatasheet).,
Het voordeel van dit schema is dat u elk apparaat afzonderlijk kunt controleren wanneer u het vergelijkt met de daisy chain methode – waardoor verbinding mogelijk is van SPI apparaten die verschillende klokschema ‘ s vereisen.

als je SPI slaves hebt die werken met verschillende klokken (randen/inactieve toestanden), kun je de master SPI hardware module opnieuw programmeren voordat je een specifieke CS inschakelt, zodat elke slave de juiste signalen krijgt.

Als u de Daisy chain methode gebruikt dan moet u ervoor zorgen dat alle chips dezelfde klokrand en inactieve klokstatus gebruiken.,

SPIInterface: Daisy chaining

met dit schema worden alle gegevens die door de master worden verzonden naar alle apparaten verplaatst en alle gegevens die van elk apparaat worden verzonden naar het volgende (weergegeven met rode gestippelde pijl). Om dit schema te laten werken moet je ervoor zorgen dat elke slave de klok op dezelfde manier gebruikt en je moet het juiste aantal bits krijgen, dus er is meer werk te doen in software.

opmerking: het voordeel van de Daisy-Chain methode is dat je een chip select signaal opslaat voor elk slave SPI apparaat.

meer informatie op Wikipedia.,

SPI-Interface Daisy Chain

SPI Daisy Chain voorbeeld

Gebruik meerdere HC595-chips, daisy-chain gekoppeld, waardoor het aantal beschikbare uitgangen gemakkelijk toeneemt zonder veel Microcontroller-pinnen te gebruiken.

De werkgrenzen zijn de snelheid van HC, De snelheid van de SPI-uitgang. Ook ontwerp overweging B. V. als het besturen van een set van LEDs die elke 20ms moet worden bijgewerkt.

Parallel Versus seriële SPI

de afweging tussen het gebruik van een parallelle interface en de SPI-interface is snelheid bijv., als je een parallelle 12bit ADC leest bij 200ksps dan kun je het apparaat lezen bij een snelheid van 200kHz, maar als je dezelfde datasnelheid wilt krijgen met SPI dan heb je een seriële snelheid van 200kHz x 12 = 2,4 MHz nodig. De werkelijke afweging is snelheid en de daaruit voortvloeiende ruis die in het circuit wordt gebracht.

samenvatting

de spi-interface definieert een zeer populair protocol dat op hoge snelheid werkt. Het grootste probleem is dat slave devices niet gebonden zijn aan een bepaald klokschema, zodat ze anders kunnen werken dan elkaar en dat kan het beheersen ervan moeilijk maken, d.w.z., de klok stationair en rand moet correct worden ingesteld voor elk apparaat.

voordelen:

  • hoge snelheid.
  • Exremely eenvoudige interface die gemakkelijk te repliceren is in software.

nadelen:

  • Slavechips zijn vrij om elk klokschema aan te nemen dat ze nodig hebben.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *