SPI - Seriellt perifert gränssnitt

Allt om SPI Title Image

SPI betyder Serial Peripheral Interface. Med SPI kan du utbyta data otroligt snabbt mellan två enheter. Och du behöver bara fyra kablar.

SPI-egenskaper

Det seriella periferiska gränssnittet är ett synkront kommunikationsgränssnitt för korta avstånd. Synkron innebär att data skickas i form av block eller ramar och att de två enheterna är synkroniserade med hjälp av en klocka. Det är ett seriellt gränssnitt så enheterna skickar en bit i taget (till skillnad från parallell kommunikation). En av enheterna är "master" och dikterar klockcykeln. Den andra enheten är "slav". Vanligtvis sker kommunikationen i full duplexläge. Därför kan båda enheterna sända data, även samtidigt.

SPI-egenskaper
SPI-egenskaper

Ledningar

Du behöver bara fyra kablar för anslutningen, så det är mycket enkelt att installera.

SPI-ledningar
SPI-ledningar

Det finns fyra stift som du behöver för en SPI-anslutning: Seriell klocka (SCL eller SCLK), Master Output Slave Input (MOSI), Master Input Slave Output (MISO) och Chip Select eller Slave Select-stift (CS eller SS).

Anslut motsvarande stift på master- och slavenheterna.

En master-enhet kan ansluta till flera slavenheter så länge den har tillräckligt många chip select-pinnar. Master-enheten styr vilken slavenhet som tar emot data genom att ställa in motsvarande chip select-stift till LOW eller HIGH.

Raspberry Pi 4 har 7 SPI-bussar . Om du vill veta hur du får tillgång till SPI-bussarna 1 till 6 kan du lämna en kommentar nedan.

Låt oss ta en titt på SPI-buss 0.

Raspberry Pi Pinout
Raspberry Pi Pinout

Som du kan se i Pinout-grafik ovanför stift 23 är SCLK-stiftet på Raspberry Pi. MISO är stift 21 och MOSI är stift 19. Buss 0 har två CS-stift som är stift 24 och 26.

Om du vill använda buss 0 måste du först aktivera den.

Utför kommandot

sudo raspi-config

Välj sedan 3 gränssnittsalternativ och klicka på I4 SPI. Tryck slutligen på Ja och Ok för att aktivera SPI.

SPI-lägen

Det finns fyra olika dataöverföringslägen som du bör känna till. De skiljer sig åt i klockpolaritet och klockfas.

SPI-lägen
SPI-lägen

Båda kan vara antingen 0 eller 1. När det gäller klockans polaritet innebär 0 ett lågt tomgångstillstånd och 1 ett högt tomgångstillstånd. En klockfas på 0 innebär att data skickas på den fallande flanken, medan en 1 innebär att data skickas på den stigande flanken. Innan de kan skicka data måste master och slav komma överens om ett av de fyra lägena.

Fördelar

De största fördelarna är den höga hastigheten, den enkla installationen av maskinvara och programvara och det låga energibehovet.

Fördelar
Fördelar

Nackdelar

Det seriella perifera gränssnittet kan inte riktigt utvidgas när det gäller räckvidd och antal enheter eftersom masteren behöver en chip select-stift för varje enhet. Det finns inte heller någon bekräftelse från slaven i maskinvaran, så masteren vet inte om data tas emot av någon.

Nackdelar
Nackdelar

Användningsområden

De flesta SPI-enheter är inbyggda enheter eller LCD-skärmar. I allmänhet används den i områden där det krävs få enheter och snabb dataöverföring.

Det gör det möjligt för Raspberry Pi att koppla ihop alla typer av sensorer och anordningar. Nästan alla Raspberry Pi-kompatibla enheter använder SPI- eller I2C-gränssnittet.

SD-kort använder också SPI-gränssnittet, så även SD-kortläsaren på Raspberry Pi har några interna MISO- och MOSI-stift.

5 Kommentarer

  1. [...] Om du vill lära dig mer om SPI har vi förresten en artikel om det här. [...]

  2. [...] Naveen förklarar att anslutningen mellan Nano och TFT-displayen baseras på SPI (Serial Peripheral Interface). Joysticken och knapparna är anslutna via Inter-Integrated Circuit Bus [...].

  3. [...] SPI - Seriellt perifert gränssnitt [...]

  4. Ben den oktober 25, 2023 kl 3:56 f m

    [...] Antalet apparater inte riktigt utökbart, eftersom Master för varje apparat har en Chip Select Pin [...].

    Det finns möjlighet att koppla apparater via Daisy-Chain till varandra. Därför behövs endast en Chip-Select. Dock måste man veta hur många apparater i vilken serie på SPI som är anslutna, så att man kan bygga ihop datapaketen som Stream på ett lämpligt sätt. Apparaterna kommer att ändras så att MISO från föregående apparat kopplas till MOSI från efterföljande apparat. MISO för den sista enheten blir då faktiskt kopplad till huvudenheten. Genom denna teknik blir alla apparaters data på en rutsch giltigt inställda, om Chip-Select blir aktivt geschaltet efter sändningen av dataströmmarna.

Lämna en kommentar