Inhoudsopgave:
- Stap 1: SERIEEL VS. PARALLEL COMMUNICATIE
- Stap 2:
- Stap 3:
- Stap 4: INLEIDING TOT SPI COMMUNICATIE
- Stap 5:
- Stap 6:
- Stap 7:
- Stap 8: HOE SPI WERKT?
- Stap 9:
- Stap 10:
- Stap 11:
- Stap 12:
- Stap 13: VOOR- EN NADELEN VAN SPI
Video: BASIS VAN HET SPI-COMMUNICATIEPROTOCOL: 13 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Wanneer je een microcontroller aansluit op een sensor, display of andere module, denk je er dan ooit over na hoe de twee apparaten met elkaar praten? Wat zeggen ze precies? Hoe kunnen ze elkaar begrijpen?
Communicatie tussen elektronische apparaten is als communicatie tussen mensen. Beide partijen moeten dezelfde taal spreken. In de elektronica worden deze talen communicatieprotocollen genoemd. Gelukkig voor ons zijn er maar een paar communicatieprotocollen die we moeten kennen bij het bouwen van de meeste doe-het-zelf-elektronicaprojecten. In deze serie artikelen bespreken we de basis van de drie meest voorkomende protocollen: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) en Universal Asynchronous Receiver/Transmitter (UART)-gestuurde communicatie. Eerst beginnen we met enkele basisconcepten over elektronische communicatie en leggen we vervolgens in detail uit hoe SPI werkt. In het volgende artikel bespreken we UART-gestuurde communicatie en in het derde artikel duiken we in I2C. SPI, I2C en UART zijn een stuk langzamer dan protocollen zoals USB, ethernet, Bluetooth en WiFi, maar ze zijn een stuk eenvoudiger en gebruiken minder hardware en systeembronnen. SPI, I2C en UART zijn ideaal voor communicatie tussen microcontrollers en tussen microcontrollers en sensoren waar geen grote hoeveelheden gegevens met hoge snelheid hoeven te worden overgedragen.
Stap 1: SERIEEL VS. PARALLEL COMMUNICATIE
Elektronische apparaten praten met elkaar door gegevens te verzenden via draden die fysiek tussen apparaten zijn aangesloten. Een bit is als een letter in een woord, behalve dat in plaats van de 26 letters (in het Engelse alfabet), een bit binair is en alleen een 1 of 0 kan zijn. Bits worden overgedragen van het ene apparaat naar het andere door snelle veranderingen in spanning. In een systeem dat op 5 V werkt, wordt een 0-bit gecommuniceerd als een korte puls van 0 V en een 1-bit wordt gecommuniceerd door een korte puls van 5 V.
De gegevensbits kunnen in parallelle of seriële vorm worden verzonden. Bij parallelle communicatie worden de gegevensbits allemaal tegelijkertijd verzonden, elk via een aparte draad. Het volgende diagram toont de parallelle verzending van de letter "C" in binair (01000011):
Stap 2:
Bij seriële communicatie worden de bits één voor één verzonden via een enkele draad. Het volgende diagram toont de seriële verzending van de letter "C" in binair (01000011):
Stap 3:
Stap 4: INLEIDING TOT SPI COMMUNICATIE
SPI is een algemeen communicatieprotocol dat door veel verschillende apparaten wordt gebruikt. SD-kaartmodules, RFID-kaartlezermodules en 2,4 GHz draadloze zender/ontvangers gebruiken bijvoorbeeld allemaal SPI om te communiceren met microcontrollers.
Een uniek voordeel van SPI is het feit dat gegevens zonder onderbreking kunnen worden overgedragen. Elk aantal bits kan in een continue stroom worden verzonden of ontvangen. Met I2C en UART worden gegevens in pakketten verzonden, beperkt tot een bepaald aantal bits. Start- en stopvoorwaarden bepalen het begin en einde van elk pakket, zodat de gegevens tijdens de verzending worden onderbroken. Apparaten die via SPI communiceren, bevinden zich in een master-slave-relatie. De master is het besturingsapparaat (meestal een microcontroller), terwijl de slave (meestal een sensor, display of geheugenchip) instructies van de master overneemt. De eenvoudigste configuratie van SPI is een systeem met één master en één slave, maar één master kan meer dan één slave besturen (meer hierover hieronder).
Stap 5:
Stap 6:
MOSI (Master Output/Slave Input) – Lijn voor de master om data naar de slave te sturen.
MISO (Master Input/Slave Output) – Lijn voor de slave om data naar de master te sturen.
SCLK (Clock) – Lijn voor het kloksignaal.
SS/CS (Slave Select/Chip Select) – Regel voor de master om te selecteren naar welke slave de gegevens moeten worden verzonden
Stap 7:
*In de praktijk wordt het aantal slaves beperkt door de belastingscapaciteit van het systeem, waardoor de master minder goed kan schakelen tussen spanningsniveaus.
Stap 8: HOE SPI WERKT?
DE KLOK
Het kloksignaal synchroniseert de uitvoer van databits van de master met de bemonstering van bits door de slave. In elke klokcyclus wordt één bit aan gegevens overgedragen, dus de snelheid van gegevensoverdracht wordt bepaald door de frequentie van het kloksignaal. SPI-communicatie wordt altijd geïnitieerd door de master, aangezien de master het kloksignaal configureert en genereert.
Elk communicatieprotocol waarbij apparaten een kloksignaal delen, staat bekend als synchroon. SPI is een synchroon communicatieprotocol. Er zijn ook asynchrone methoden die geen kloksignaal gebruiken. In UART-communicatie zijn beide zijden bijvoorbeeld ingesteld op een vooraf geconfigureerde baudrate die de snelheid en timing van gegevensoverdracht dicteert.
Het kloksignaal in SPI kan worden gewijzigd met behulp van de eigenschappen van klokpolariteit en klokfase. Deze twee eigenschappen werken samen om te bepalen wanneer de bits worden uitgevoerd en wanneer ze worden bemonsterd. De klokpolariteit kan door de master worden ingesteld, zodat bits kunnen worden uitgevoerd en gesampled op de stijgende of dalende flank van de klokcyclus. De klokfase kan worden ingesteld om uitvoer en bemonstering te laten plaatsvinden op de eerste of tweede flank van de klokcyclus, ongeacht of deze stijgt of daalt.
SLAAF KIEZEN
De master kan kiezen met welke slave hij wil praten door de CS/SS-lijn van de slave op een laagspanningsniveau in te stellen. In de inactieve, niet-zendende toestand wordt de slave-selectielijn op een hoog spanningsniveau gehouden. Er kunnen meerdere CS/SS-pinnen beschikbaar zijn op de master, waardoor meerdere slaves parallel kunnen worden aangesloten. Als er slechts één CS/SS-pin aanwezig is, kunnen meerdere slaves door middel van serieschakeling op de master worden aangesloten.
MEERDERE SLAVEN SPI
kan worden ingesteld om te werken met een enkele master en een enkele slave, en het kan worden ingesteld met meerdere slaven die worden bestuurd door een enkele master. Er zijn twee manieren om meerdere slaves op de master aan te sluiten. Als de master meerdere slave-selectiepinnen heeft, kunnen de slaves als volgt parallel worden geschakeld:
Stap 9:
Stap 10:
MOSI EN MISO
De master stuurt bit voor bit data naar de slave, in serie via de MOSI-lijn. De slave ontvangt de gegevens die door de master worden verzonden op de MOSI-pin. Gegevens die van de master naar de slave worden verzonden, worden meestal met het meest significante bit eerst verzonden. De slave kan ook serieel data terugsturen naar de master via de MISO-lijn. De gegevens die van de slave naar de master worden verzonden, worden meestal met het minst significante bit eerst verzonden. STAPPEN VAN SPI-GEGEVENSVERZENDING 1. De master voert het kloksignaal uit:
Stap 11:
Als er slechts één slave-selectiepin beschikbaar is, kunnen de slaves als volgt in serie worden geschakeld:
Stap 12:
MOSI EN MISO
De master stuurt bit voor bit data naar de slave, in serie via de MOSI-lijn. De slave ontvangt de gegevens die door de master worden verzonden op de MOSI-pin. Gegevens die van de master naar de slave worden verzonden, worden meestal met het meest significante bit eerst verzonden.
De slave kan ook serieel data terugsturen naar de master via de MISO-lijn. De gegevens die van de slave naar de master worden verzonden, worden meestal met het minst significante bit eerst verzonden.
STAPPEN VAN SPI-GEGEVENSVERZENDING
*Opmerking Afbeeldingen zijn vermelde hobo die u gemakkelijk kunt onderscheiden
1. De master geeft het kloksignaal af:
2. De master schakelt de SS/CS-pin naar een laagspanningstoestand, waardoor de slave wordt geactiveerd:
3. De master stuurt de gegevens bit voor bit naar de slave langs de MOSI-lijn. De slave leest de bits zoals ze worden ontvangen:
4. Als een reactie nodig is, stuurt de slave de gegevens bit voor bit terug naar de master langs de MISO-lijn. De master leest de bits zoals ze worden ontvangen:
Stap 13: VOOR- EN NADELEN VAN SPI
Er zijn enkele voor- en nadelen aan het gebruik van SPI, en als u de keuze krijgt tussen verschillende communicatieprotocollen, moet u weten wanneer u SPI moet gebruiken volgens de vereisten van uw project:
VOORDELEN
Geen start- en stopbits, dus de gegevens kunnen continu en zonder onderbreking worden gestreamd Geen ingewikkeld slave-adresseringssysteem zoals I2C Hogere gegevensoverdrachtssnelheid dan I2C (bijna twee keer zo snel) Aparte MISO- en MOSI-lijnen, zodat gegevens tegelijkertijd kunnen worden verzonden en ontvangen tijd
NADELEN
Gebruikt vier draden (I2C en UART's gebruiken er twee) Geen bevestiging dat de gegevens met succes zijn ontvangen (I2C heeft dit) Geen enkele vorm van foutcontrole zoals de pariteitsbit in UART Staat alleen een enkele master toe Hopelijk heeft dit artikel u een beter begrip gegeven van SPI. Ga verder naar deel twee van deze serie om meer te weten te komen over UART-gestuurde communicatie, of naar deel drie waar we het I2C-protocol bespreken.
Als je vragen hebt, stel ze dan gerust in het commentaargedeelte, we zijn er om je te helpen. En volg zeker
Groeten: M. Junaid
Aanbevolen:
Mood Speaker- een krachtige luidspreker voor het afspelen van Mood Music op basis van de omgevingstemperatuur - Ajarnpa
Mood Speaker - een krachtige luidspreker om stemmingsmuziek af te spelen op basis van de omgevingstemperatuur: Hallo daar! Voor mijn schoolproject bij MCT Howest Kortrijk heb ik een Mood Speaker gemaakt, dit is een slim Bluetooth-luidsprekerapparaat met verschillende sensoren, een LCD en WS2812b ledstrip meegeleverd. De speaker speelt achtergrondmuziek af op basis van de temperatuur maar kan
I2C / IIC LCD-scherm - Gebruik een SPI LCD op het I2C LCD-scherm met behulp van SPI naar IIC-module met Arduino - Ajarnpa
I2C / IIC LCD-scherm | Gebruik een SPI LCD op het I2C LCD-scherm met behulp van SPI naar IIC-module met Arduino: Hallo, aangezien een normale SPI LCD 1602 te veel draden heeft om aan te sluiten, dus het is erg moeilijk om het met Arduino te verbinden, maar er is één module op de markt beschikbaar die kan converteer SPI-display naar IIC-display, dus dan hoeft u slechts 4 draden aan te sluiten
Hoe muziek te krijgen van BIJNA ELKE (Haha) website (zolang je het kunt horen, kun je het krijgen Ok prima als het in Flash is ingesloten, kun je dat misschien niet) BEWERKT !!!!! Info toegevoegd: 4 stappen
Hoe muziek te krijgen van BIJNA ELKE (Haha) website (zolang je het kunt horen, kun je het krijgen … Ok prima als het in Flash is ingesloten, kun je dat misschien niet) BEWERKT !!!!! Toegevoegde info: als je ooit naar een website gaat en een nummer speelt dat je leuk vindt en wilt, dan is hier de instructie voor jou, niet mijn schuld als je iets verknoeit (de enige manier waarop het zal gebeuren is als je dingen begint te verwijderen zonder reden )ik heb muziek kunnen krijgen voor
Hoe zich te ontdoen van het domme ".hex No Such File" Fout bij het uploaden van Arduino!: 4 stappen
Hoe zich te ontdoen van het domme ".hex No Such File" Fout bij het uploaden van Arduino!: Deze Instructable geeft u stapsgewijze instructies voor het maken van een Arduino Diecemella, het daadwerkelijk uploaden van zelfgemaakte code, in plaats van alleen voorbeelden op Windows XP
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het heffen/verlagen van in het midden gemonteerde voetsteunen op elektrische rolstoelen - Ajarnpa
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het omhoog/omlaag brengen van in het midden gemonteerde voetsteunen op elektrische rolstoelen: in het midden gemonteerde voetsteunen kunnen omhoog worden gebracht om onder de zitting goed te worden opgeborgen en omlaag om te worden ingezet. Een mechanisme voor onafhankelijke bediening van het opbergen en plaatsen van de voetsteun is niet inbegrepen in elektrische rolstoelen op de markt, en PWC-gebruikers hebben de behoefte geuit