Kennisbank

SPI (Serial Peripheral Interface): de snelle interne taal van elektronica

Bijgewerkt: 3 september 2026 · 6 min leestijd

Stel je een dirigent voor die met een strak, gelijkmatig gebaar de maat slaat, terwijl één muzikant precies op elke tik een noot speelt en een andere muzikant op datzelfde moment terugspeelt. Niemand hoeft te gokken wanneer het zijn beurt is: de klok van de dirigent bepaalt het ritme. Zo werkt SPI, voluit Serial Peripheral Interface, in feite ook. Het is een manier waarop chips op een printplaat razendsnel met elkaar praten, waarbij één chip de "dirigent" is (de master) en de andere chips instructies opvolgen op het ritme van een gedeelde klokpuls.

SPI is geen technologie die in het nieuws opduikt met grote doorbraken, maar juist daardoor is het overal aanwezig. Het zit verstopt in de kleine chips die een scherm van een smartwatch aansturen, in de kaartlezer die een SD-kaart uitleest, en in de sensor die de kantelhoek van een drone meet. Wie een nieuwsartikel leest over een sensor, een IoT-apparaat (Internet of Things, apparaten die via internet gegevens uitwisselen) of een prototype-elektronicaproject, komt de term SPI vaak tegen als de "lijm" die de onderdelen praktisch met elkaar verbindt.

Wat is het precies?

SPI is een synchrone seriële bus: synchroon betekent dat er een gedeelde klokpuls is die precies aangeeft wanneer er een nieuw databit verstuurd wordt, en serieel betekent dat de bits één voor één over een enkele draad gaan, in plaats van allemaal gelijktijdig over meerdere draden zoals bij een parallelle verbinding.

Een klassieke SPI-verbinding gebruikt vier lijnen. De eerste is SCLK (serial clock), de klokpuls die door de master wordt gegenereerd en het tempo van de communicatie bepaalt. De tweede en derde zijn MOSI (Master Out, Slave In) en MISO (Master In, Slave Out): twee afzonderlijke datalijnen, één voor elke richting. Omdat verzenden en ontvangen over gescheiden lijnen lopen, kunnen beide kanten tegelijk data versturen. Dat heet full-duplex, in tegenstelling tot bijvoorbeeld een portofoon waarbij maar één persoon tegelijk kan praten.

De vierde lijn is CS of SS (Chip Select of Slave Select). Omdat een master vaak met meerdere randapparaten ('slaves', ook wel 'peripherals' of in modernere, inclusievere terminologie 'subnodes' genoemd) op dezelfde klok- en datalijnen is aangesloten, moet hij aangeven wie op dat moment mag "luisteren". Dat gebeurt door de chip select-lijn van precies dat ene apparaat naar een laag spanningsniveau te zetten; de rest negeert het verkeer. Wil een master met vijf sensoren kunnen praten, dan zijn er dus vijf losse chip select-lijnen nodig, wat een van de praktische beperkingen van SPI is.

Een dataoverdracht verloopt in de praktijk als volgt: de master selecteert een randapparaat via chip select, geeft daarna klokpulsen af, en bij elke puls schuift er één bit naar buiten via MOSI en, als het randapparaat iets wil terugsturen, één bit naar binnen via MISO. Na een aantal klokpulsen (meestal acht, voor één byte) is er een volledig gegeven uitgewisseld, in beide richtingen tegelijk.

Wat wil men ermee bereiken?

SPI is niet ontworpen om over lange afstanden of tussen willekeurig veel apparaten te communiceren, maar om binnen een printplaat, tussen chips die vlak bij elkaar liggen, zo snel en eenvoudig mogelijk gegevens uit te wisselen. De belangrijkste belofte is snelheid tegen lage kosten: omdat het protocol simpel is, hoeft een chip geen ingewikkelde, dure controllerlogica te bevatten om mee te doen. Een simpele sensor of een stukje geheugen kan met minimale elektronica al aan een SPI-bus hangen.

Een tweede doel is weinig overhead. Waar sommige protocollen extra bits gebruiken voor adressering, foutcontrole of bevestigingen, stuurt SPI in de basis kale data zonder veel omhaal. Dat maakt het geschikt voor toepassingen waar snelheid telt, zoals het verversen van een beeldscherm of het snel uitlezen van een geheugenchip, en minder geschikt voor situaties waar robuustheid over lange kabels of foutdetectie belangrijker is.

Het bestaansrecht van SPI ligt dus vooral in de combinatie van eenvoud, snelheid en lage kosten voor chip-naar-chip-communicatie op korte afstand, als aanvulling op tragere maar flexibelere protocollen zoals I2C (Inter-Integrated Circuit, een tweedraads bus waarbij apparaten een eigen adres hebben) en asynchrone verbindingen zoals UART, die zonder gedeelde klok werken maar daardoor meer kans op timingfouten hebben.

Voorbeelden uit de praktijk

SD-kaarten, zoals gebruikt in camera's en embedded systemen, kunnen naast hun eigen snellere modus ook in een SPI-modus werken. Dat wordt veel toegepast in hobby- en onderwijsprojecten met Arduino-microcontrollers, omdat het simpel te programmeren is en geen gespecialiseerde SD-controller vereist.

Kleine kleurenschermen, zoals veel gebruikte TFT-displays met de ILI9341-aansturingschip, worden vaak via SPI aangestuurd. Dat scherm zit bijvoorbeeld in goedkope 3D-printer-bedieningspanelen en in doe-het-zelf-elektronicaprojecten.

In routers en andere IoT-apparaten (Internet of Things) zit vaak een klein stukje SPI NOR-flashgeheugen dat de opstartsoftware (firmware) bevat. De processor leest deze chip bij het opstarten uit via SPI, vaak in de snellere Quad SPI-variant waarbij vier datalijnen tegelijk gebruikt worden in plaats van één.

Draadloze communicatiemodules zoals de nRF24L01 van Nordic Semiconductor, populair in goedkope hobbyprojecten voor korteafstandsradio, worden aangestuurd via SPI: de microcontroller stuurt commando's en data naar de radiochip en leest ontvangen berichten uit via dezelfde bus.

Ook de GPIO-pinnenstrook (General Purpose Input/Output, de rij aansluitpunten) van een Raspberry Pi heeft speciale SPI-pinnen, en de ESP32-microcontroller van Espressif Systems heeft ingebouwde hardware-SPI-ondersteuning, wat veel wordt gebruikt om sensoren en displays aan te sluiten in prototypes voor slimme apparaten.

Hoe ver is de techniek?

SPI is geen technologie die zich nog moet bewijzen; het is een volwassen, stabiele standaard die al decennia in praktisch elk elektronicaproject terug te vinden is. Het protocol wordt toegeschreven aan Motorola, dat het in de jaren tachtig gebruikte rond zijn MC68HC11-microcontrollerfamilie. Een exact introductiejaar is niet met volledige zekerheid gedocumenteerd in officiële bronnen, dus wie een precies jaartal claimt, moet dat met een korrel zout nemen.

Een opvallend kenmerk is dat SPI, in tegenstelling tot I2C, nooit door een officiële standaardisatieorganisatie is vastgelegd. Het is een de-facto standaard: iedereen gebruikt in grote lijnen dezelfde aanpak, maar in details (zoals het exacte moment waarop een bit wordt gelezen ten opzichte van de klokflank, vastgelegd in wat 'SPI-modi' heet) bestaan kleine verschillen tussen fabrikanten. Dat kan in de praktijk tot compatibiliteitsproblemen leiden als je twee chips van verschillende makers combineert zonder de datasheets goed te vergelijken.

Een andere beperking is de schaalbaarheid: hoe meer randapparaten aan één master hangen, hoe meer afzonderlijke chip select-lijnen er nodig zijn, wat bij grotere systemen onhandig wordt. Ook is SPI bedoeld voor korte afstanden, doorgaans binnen één printplaat; over langere kabels wordt het signaal onbetrouwbaar. Als antwoord op de vraag naar meer snelheid, vooral bij flashgeheugen, zijn varianten als Dual SPI en Quad SPI (QSPI) ontstaan, die twee of vier datalijnen tegelijk gebruiken in plaats van één, waardoor de overdracht sneller gaat zonder de klokfrequentie te moeten verhogen.

Wie werken eraan?

Omdat SPI geen technologie is die nog 'ontwikkeld' wordt in de zin van fundamenteel onderzoek, gaat het vooral om bedrijven die de standaard toepassen, ondersteunen en documenteren. Motorola introduceerde het concept; dat bedrijf splitste zijn chipdivisie later af naar Freescale Semiconductor, dat op zijn beurt is opgenomen in NXP Semiconductors, dat vandaag nog documentatie over SPI publiceert.

Grote chipfabrikanten zoals Analog Devices, Texas Instruments, STMicroelectronics en Microchip Technology bouwen SPI-interfaces in vrijwel al hun sensoren, geheugenchips en microcontrollers. Voor de makersgemeenschap en het onderwijs zijn vooral Arduino, de Raspberry Pi Foundation en Espressif Systems (maker van de ESP32/ESP8266-chips) belangrijk, omdat zij SPI toegankelijk maken via eenvoudige softwarebibliotheken. Nordic Semiconductor, met zetel in Noorwegen, is een voorbeeld van een fabrikant die SPI gebruikt als besturingsinterface voor zijn draadloze chips.

Verder lezen