SPI - De seriële perifere interface
SPI betekent Seriële Perifere Interface. Met SPI kun je razendsnel gegevens uitwisselen tussen twee apparaten. En je hebt maar vier draden nodig.
SPI Kenmerken
De seriële perifere interface is een synchrone communicatie-interface voor korte afstanden. Synchroon betekent dat de gegevens worden verzonden in de vorm van blokken of frames en dat de twee apparaten worden gesynchroniseerd met behulp van een klok. Het is een seriële interface, zodat de apparaten één bit per keer verzenden (in tegenstelling tot parallelle communicatie). Eén van de apparaten is de "Master" en dicteert de klokcyclus. Het andere apparaat is de "Slave". Gewoonlijk is de communicatie in full-duplex modus. Beide apparaten kunnen dus gegevens verzenden, zelfs op hetzelfde moment.
Bedrading
U hebt slechts vier draden nodig voor de verbinding, dus het is zeer eenvoudig op te zetten.
Er zijn vier pinnen nodig voor een SPI-verbinding: de Seriële Klok (SCL of SCLK), de Master Output Slave Input (MOSI), de Master Input Slave Output (MISO) en de Chip Select of Slave Select pin (CS of SS).
Verbind de corresponderende pennen op de Master en Slave apparaten.
Eén Master-apparaat kan verbinding maken met meerdere Slave-apparaten, zolang het maar voldoende Chip Select-pennen heeft. De Master bepaalt welk Slave-apparaat de data ontvangt door de corresponderende chip select pin op LOW of HIGH te zetten.
De Raspberry Pi 4 heeft 7 SPI bussen. Als u wilt weten hoe u toegang krijgt tot de SPI bussen 1 tot 6 laat dan hieronder een reactie achter.
Laten we eens kijken naar de SPI-bus 0.
Zoals u kunt zien in de pinout afbeelding boven pin 23 is de SCLK pin op de Raspberry Pi. MISO is pen 21 en MOSI is pen 19. De bus 0 heeft twee CS pinnen, pinnen 24 en 26.
Als u bus 0 wilt gebruiken, zorg er dan voor dat u deze eerst inschakelt.
Voer de opdracht uit
sudo raspi-config
Kies dan 3 Interface-opties en klik op I4 SPI. Druk tenslotte op Ja en Ok om SPI in te schakelen.
SPI-Modi
Er zijn vier verschillende datatransmissiemodi waarvan u op de hoogte moet zijn. Ze verschillen in klokpolariteit en klokfase.
Beide kunnen 0 of 1 zijn. Wat de klokpolariteit betreft, betekent een 0 een LOW idle status en een 1 een HIGH idle status. Een 0 klokfase betekent dat gegevens worden verzonden op de neergaande flank, terwijl een 1 betekent dat de gegevens worden verzonden op de opgaande flank. Voordat zij gegevens kunnen verzenden, moeten de Master en de Slave het eens zijn over een van de vier modi.
Voordelen
De grootste voordelen zijn de hoge snelheid, de eenvoudige hardware- en software-installatie en het lage stroomverbruik.
Nadelen
De seriële perifere interface is niet echt uitbreidbaar in bereik en aantal apparaten, aangezien de Master voor elk apparaat een chip-select pin nodig heeft. Ook is er geen hardware Slave-bevestiging, zodat de Master niet weet of de data door iemand is ontvangen.
Gebruikssituaties
De meeste SPI-apparaten zijn ingebedde apparaten of LCD-Displays. In het algemeen wordt het gebruikt in gebieden waar weinig apparaten en snelle datatransmissie vereist zijn.
Hiermee kan de Raspberry Pi een interface maken voor allerlei sensoren en toestellen. Bijna alle Raspberry Pi compatibele apparaten gebruiken de SPI of de I2C interface.
SD-kaarten gebruiken ook de SPI interface, dus zelfs de SD-kaartlezer op de Raspberry Pi heeft enkele interne MISO en MOSI pinnen.
[...] Als je trouwens meer wilt weten over SPI, hebben we er hier een artikel over. [...]
[SPI - De seriële perifere interface [...].
[Naveen legt uit dat de verbinding tussen de Nano en het TFT-scherm is gebaseerd op de Serial Peripheral Interface (SPI). Ondertussen zijn de joystick en knoppen verbonden via de Inter-Integrated Circuit Bus [...]
[SPI - De seriële perifere interface [...].
[Anzahl der Geräte nicht wirklich erweiterbar, da der Master für jedes Gerät einen Chip Select Pin [...]
Het is mogelijk om apparaten per Daisy-ketting te hergebruiken. Hiervoor is alleen een Chip-Select nodig. Toch moet je weten hoe vele apparaten in een welcher Reihenfolge am SPI angeschlossen zijn, zodat je die gegevenspakketten als Stream passend zusammenbauen kunt. Die Geräte werden zo verschaltet, dat MISO des vorherigen Geräts am MOSI des nachfolgenden Geräts angeschlossen wird. MISO des letzten Geräts wird dan tatsächlich mit dem Master-Gerät verbunden. Door deze techniek worden de gegevens van alle apparaten op één signaal ontvangen, als na het verzenden van de gegevensstromen de Chip-Select actief wordt geschakeld.