Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

Of het nu gaat om computerrandapparatuur, slimme apparaten, Internet of Things (IoT)-apparaten of elektronische meetinstrumenten, ze gebruiken allemaal seriële communicatieprotocollen om verschillende elektronische componenten met elkaar te verbinden.

Deze componenten bestaan ​​meestal uit een microcontroller en slave-modules zoals een vingerafdruksensor, een ESP8266 (Wi-Fi-module), servo's en seriële displays.

Deze apparaten gebruiken verschillende soorten communicatieprotocollen. Hieronder leert u over enkele van de meest populaire seriële communicatieprotocollen, hoe ze werken, hun voordelen en waarom ze in gebruik blijven.

Wat is seriële communicatie?

Seriële communicatieprotocollen zijn er al sinds de uitvinding van de morsecode in 1838. Tegenwoordig gebruiken moderne seriële communicatieprotocollen dezelfde principes. Signalen worden gegenereerd en verzonden op een enkele draad door twee geleiders herhaaldelijk kort te sluiten. Deze short werkt als een schakelaar; het gaat aan (hoog) en uit (laag) en levert binaire signalen. Hoe dit signaal wordt verzonden en ontvangen, hangt af van het type seriële communicatieprotocol dat wordt gebruikt.

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

Afbeelding tegoed: shankar.s/ Wikimedia Commons

Met de uitvinding van de transistor en de innovaties die daarop volgden, maakten zowel ingenieurs als knutselaars de verwerkingseenheden en het geheugen kleiner, sneller en energiezuiniger. Deze veranderingen vereisten dat buscommunicatieprotocollen net zo technologisch geavanceerd waren als de componenten die werden aangesloten. Dus de uitvinding van seriële protocollen zoals UART, I2C en SPI. Hoewel deze seriële protocollen tientallen jaren oud zijn, genieten ze nog steeds de voorkeur voor microcontrollers en bare-metal programmering.

UART (universele asynchrone ontvanger-zender)

Het UART-protocol is een van de oudste maar meest betrouwbare seriële communicatieprotocollen die we vandaag de dag nog steeds gebruiken. Dit protocol gebruikt twee draden die bekend staan ​​als Tx (zenden) en Rx (ontvangen) om beide componenten te laten communiceren.

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

Om gegevens te verzenden, moeten zowel de zender als de ontvanger akkoord gaan met vijf algemene configuraties, namelijk:

  • Baudsnelheid: de transmissiesnelheid van hoe snel gegevens moeten worden verzonden.
  • Gegevenslengte: het overeengekomen aantal bits dat de ontvanger in zijn registers zal opslaan.
  • Start Bit: Een laag signaal dat de ontvanger laat weten wanneer gegevens op het punt staan ​​te worden overgedragen.
  • Stop Bit: Een hoog signaal dat de ontvanger laat weten wanneer het laatste bit (meest significante bit) is verzonden.
  • Pariteitsbit: ofwel een hoog of laag signaal dat wordt gebruikt om te controleren of de verzonden gegevens correct of beschadigd waren.

Aangezien UART een asynchroon protocol is, heeft het geen eigen klok die de gegevensoverdrachtsnelheid regelt. Als alternatief gebruikt het wel de baudrate voor timing wanneer een bit wordt verzonden. De gebruikelijke baudrate die voor UART wordt gebruikt, is 9600 baud, wat een overdrachtssnelheid van 9600 bits per seconde betekent.

Als we de wiskunde doen en één bit delen door 9600 baud, kunnen we berekenen hoe snel één bit gegevens naar de ontvanger wordt verzonden.

1/9600 = 104 microseconden

Dit betekent dat onze UART-apparaten 104 microseconden beginnen te tellen om te weten wanneer het volgende bit wordt verzonden.

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

Wanneer UART-apparaten zijn aangesloten, wordt het standaardsignaal altijd te hoog ingesteld. Wanneer het een laagfrequent signaal detecteert, begint de ontvanger 104 microseconden te tellen plus nog eens 52 microseconden voordat het begint met het opslaan van de bits in zijn registers (geheugen).

Omdat er al was overeengekomen dat acht bits de gegevenslengte zouden zijn, zal het zodra het acht bits aan gegevens heeft opgeslagen, beginnen met het controleren op pariteit om te controleren of de gegevens oneven of even zijn. Na de pariteitscontrole zal de stopbit een hoog signaal afgeven om de apparaten te informeren dat alle acht gegevensbits met succes naar de ontvanger zijn verzonden.

Omdat het het meest minimalistische seriële protocol is dat slechts twee draden gebruikt, wordt UART tegenwoordig veel gebruikt in smartcards, simkaarten en auto's.

Gerelateerd: Wat is een simkaart? Dingen die u moet weten

SPI (seriële perifere interface)

SPI is een ander populair serieel protocol dat wordt gebruikt voor snellere gegevenssnelheden van ongeveer 20 Mbps. Het gebruikt in totaal vier draden, namelijk SCK (Serial Clock Line), MISO (Master Out Slave In), MOSI (Master In Slave Out) en SS/CS (Chip Select). In tegenstelling tot UART gebruikt SPI een master-naar-slave-indeling om meerdere slave-apparaten te bedienen met slechts één master.

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

MISO en MOSI werken als de Tx en Rx van UART die worden gebruikt om gegevens te verzenden en te ontvangen. Chip Select wordt gebruikt om te selecteren met welke slave de master wil communiceren.

Omdat SPI een synchroon protocol is, gebruikt het een ingebouwde klok van de master om ervoor te zorgen dat zowel de master- als de slave-apparaten op dezelfde frequentie werken. Dit betekent dat de twee apparaten niet langer over een baudrate hoeven te onderhandelen.

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

Het protocol begint met de master die het slave-apparaat selecteert door het signaal te verlagen naar de specifieke SS/CK die op het slave-apparaat is aangesloten. Wanneer de slave een laag signaal ontvangt, begint hij zowel naar de SCK als naar de MOSI te luisteren. De master verzendt vervolgens een startbit voordat de bits worden verzonden die gegevens bevatten.

Zowel MOSI als MISO zijn full-duplex, wat betekent dat ze tegelijkertijd gegevens kunnen verzenden en ontvangen.

Met de mogelijkheid om verbinding te maken met meerdere slaves, full-duplex communicatie en een lager stroomverbruik dan andere synchrone protocollen zoals I2C, wordt SPI gebruikt in geheugenapparaten, digitale geheugenkaarten, ADC-naar-DAC-converters en kristalgeheugendisplays.

I2C (inter-geïntegreerd circuit)

I2C is nog een ander synchroon serieel protocol zoals SPI, maar met verschillende voordelen. Deze omvatten de mogelijkheid om meerdere masters en slaves te hebben, eenvoudige adressering (geen chipselectie nodig), werken met verschillende spanningen en het gebruik van slechts twee draden die zijn aangesloten op twee pull-up-weerstanden.

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

I2C wordt vaak gebruikt in veel IoT-apparaten, industriële apparatuur en consumentenelektronica.

De twee pinnen in een I2C-protocol zijn de SDA (Serial Data Line) die gegevens verzendt en ontvangt, en de SCL (Serial Clock Line) pin, die functioneert als een klok.

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

  1. Het protocol begint met de master die een startbit (laag) verzendt vanaf de SDA-pin, gevolgd door een zeven-bits adres dat de slave selecteert, en één bit om lezen of schrijven te selecteren.
  2. Na ontvangst van het startbit en adres stuurt de slave een bevestigingsbit naar de master en begint te luisteren naar de SCL en SDA voor inkomende transmissies.
  3. Zodra de master dit ontvangt, weet hij dat er verbinding is gemaakt met de juiste slave. De master zal nu selecteren tot welk specifiek register (geheugen) van de slave hij toegang wil hebben. Het doet dit door nog eens acht bits te verzenden om aan te geven welk register moet worden gebruikt.
  4. Na ontvangst van het adres, maakt de slave nu het select register gereed voordat hij een nieuwe bevestiging naar de master stuurt.
  5. Nadat de master is geselecteerd welke specifieke slave en welke van zijn registers moet worden gebruikt, stuurt hij uiteindelijk de databit naar de slave.
  6. Nadat de gegevens zijn verzonden, wordt een laatste bevestigingsbit naar de master verzonden voordat de master eindigt met een stopbit (hoog).

Gerelateerd: De beste Arduino IoT-projecten

Waarom seriële communicatie er is om te blijven

Met de opkomst van parallelle en vele draadloze protocollen is seriële communicatie nooit uit populariteit geraakt. Over het algemeen gebruiken ze slechts twee tot vier draden voor het verzenden en ontvangen van gegevens, en seriële protocollen zijn een essentiële manier van communicatie voor elektronica die maar een paar poorten over heeft.

Een andere reden is de eenvoud die zich vertaalt in betrouwbaarheid. Met slechts een paar draden die gegevens één voor één verzenden, heeft serieel zijn betrouwbaarheid bewezen om de volledige gegevenspakketten te verzenden zonder enig verlies of corruptie bij verzending. Zelfs bij hoge frequenties en communicatie over een groter bereik, verslaan seriële protocollen nog steeds veel moderne parallelle communicatieprotocollen die tegenwoordig beschikbaar zijn.

Hoewel velen misschien denken dat seriële communicatie zoals UART, SPI en I2C het nadeel heeft dat ze oud en achterhaald zijn, blijft het een feit dat ze hun betrouwbaarheid gedurende meerdere decennia hebben bewezen. Omdat protocollen zo oud zijn zonder enige echte vervanging, suggereert dit alleen maar dat ze in feite onmisbaar zijn en in de nabije toekomst in de elektronica zullen blijven worden gebruikt.


Wat is homomorfe versleuteling?

Wat is homomorfe versleuteling?

Een woord dat de laatste tijd veel opduikt, is homomorfe encryptie. Veel bedrijven en online diensten schakelen hun coderingsmodel om naar een soort homomorfe codering, waarbij ze adverteren dat het voor betere gebruikersprivacy en veiligheid is.

Wat is een bitmapafbeelding?

Wat is een bitmapafbeelding?

Voor de meeste mensen maken digitale media deel uit van uw dagelijks leven. Maar we denken niet altijd na over hoe het is gemaakt.

Wat is het verschil tussen Android TV en Google TV?

Wat is het verschil tussen Android TV en Google TV?

Aangezien het Android-besturingssysteem is ontwikkeld door Google, is het begrijpelijk dat u in de war bent over de verschillen tussen Google TV en Android TV. Is het hetzelfde?

Wat zijn lichtvelddisplays en hoe werken ze?

Wat zijn lichtvelddisplays en hoe werken ze?

Lichtvelddisplays veranderen geleidelijk hoe we de wereld om ons heen zien. Of beter gezegd, hoe we de wereld zien die niet om ons heen is. Van klassieke fotografie tot geavanceerde educatie en diagnostiek tot aanwezigheid op afstand en entertainment, dit artikel gaat in op wat een lichtvelddisplay is, hoe verschillende soorten beeldschermen werken en hoe ze worden gebruikt.

Wat is het Matrix-protocol en hoe werkt het?

Wat is het Matrix-protocol en hoe werkt het?

De meeste platforms die we gebruiken om online met elkaar te communiceren, zijn gekoppeld aan één aanbieder. Maar er is geen technische reden waarom de dingen zo zijn. Er zijn manieren om online te chatten die een grotere mate van privacy en vrijheid bieden. Matrix is ​​een van die manieren.

Wat is cyberpesten en hoe ga je ermee om?

Wat is cyberpesten en hoe ga je ermee om?

Dankzij internet hebben meer mensen verbinding kunnen maken dan ooit tevoren, zowel ten goede als ten kwade. Net zoals mensen internet gebruiken voor constructieve en leuke doeleinden, gebruiken anderen het om een ​​nieuw soort pesten uit te voeren: cyberpesten.

99 Cryptocurrency-voorwaarden uitgelegd: elke crypto-definitie die u nodig heeft

99 Cryptocurrency-voorwaarden uitgelegd: elke crypto-definitie die u nodig heeft

Cryptocurrencies zijn digitale valuta die draaien op gedecentraliseerde computernetwerken, blockchains genaamd. Enkele van de belangrijkste en meest geaccepteerde cryptocurrencies zijn Bitcoin, Ethereum, Tether, Cardano, Binance Coin en USD Coin.

Wat is een hypervisor? Is het anders dan een virtuele machine?

Wat is een hypervisor? Is het anders dan een virtuele machine?

Een hypervisor is een stukje software dat wordt gebruikt om virtuele machines te maken. Een virtuele machine is een emulatie van een computer. Virtuele machines worden gebruikt om meerdere computeromgevingen te creëren op een enkel stuk hardware.

Toegangspunt versus router: wat is het verschil?

Toegangspunt versus router: wat is het verschil?

Het instellen van wifi voor uw huis of bedrijf kan gemakkelijk overweldigend en verwarrend worden. Er zijn nogal wat verschillende termen en apparaten bij het proces betrokken, en elke wifi-situatie is uniek. Een groot bedrijf met een heleboel apparaten die over een groot gebied op een netwerk zijn aangesloten, heeft drastisch andere dingen nodig dan een eenvoudig huis met een paar apparaten.

De 8 beste software-crypto-portefeuilles om uw activa op te slaan

De 8 beste software-crypto-portefeuilles om uw activa op te slaan

Als u enige hoeveelheid cryptocurrency bezit, vraagt ​​u zich misschien af ​​hoe u deze het veiligst en veiligst kunt opslaan. Aangezien een cryptocurrency een digitale vorm van geld is, kun je het niet zomaar in je nachtkastje of in een kluis stoppen. In plaats daarvan moet het worden opgeslagen op een stuk hardware of software.

Hoe werken tonale en Nordic Tracks digitale gewichten?

Hoe werken tonale en Nordic Tracks digitale gewichten?

Heb je commercials gezien voor fitnessapparaten die digitaal gewicht gebruiken en vroeg je je af wat dat in vredesnaam was? Of heb je naar deze strakke en nette nieuwe machines gekeken en je afgevraagd waar alle weerstand vandaan kwam?

10 veelgestelde vragen over elektrische autos die u altijd al wilde stellen

10 veelgestelde vragen over elektrische autos die u altijd al wilde stellen

Elektrische voertuigen (EV's) worden steeds populairder. Vanaf 2020 waren er ongeveer 1,8 miljoen geregistreerde EV's in de VS - drie keer zoveel als in 2016. Wereldwijd waren er naar schatting 10,2 miljoen EV's in 2020.

Een Mac mini eGPU maakt het mogelijk om de grafische prestaties te verbeteren

Een Mac mini eGPU maakt het mogelijk om de grafische prestaties te verbeteren

Het gebruik van een eGPU met je Mac mini kan een uitstekende manier zijn om het meeste uit de kleine behuizing te halen en toch uitstekende grafische prestaties te behalen voor taken zoals gamen en beeldverwerking. In deze gids leg je goed uit wat een eGPU kan toevoegen aan je setup, hoe ze werken en of het de moeite waard is om wat extra geld uit te geven voor dit handige kleine setje.

Een dashcam in uw auto installeren

Een dashcam in uw auto installeren

Als je een dashcam hebt, lijkt het passen misschien een beetje een karwei. In sommige gevallen is het niet zo eenvoudig als je zou willen, maar het installeren van een dashcam in je auto is elke minuut waard die je eraan besteedt.

Waarom Nvidias 30-serie GPUs beter zijn dan AMD

Waarom Nvidias 30-serie GPUs beter zijn dan AMD

Nvidia is een van de twee vertrouwde namen in de ontwikkeling van grafische kaarten. Ofwel heb je een Nvidia GPU, ofwel kies je voor een AMD GPU. Afhankelijk van wie je het vraagt, loopt Nvidia altijd iets voor op AMD als het gaat om GPU's. Sneller, groter, sterker, innovatiever.

16-bits versus 24-bits versus 32-bits audio

16-bits versus 24-bits versus 32-bits audio

Als je te maken hebt met digitale audio, zie je vaak termen als audioresolutie, samplefrequentie en andere die de kenmerken van een bestand beschrijven. Het is belangrijk om te weten wat goede audio onderscheidt van slechte audio, dus het is handig om bekend te zijn met deze termen.

Xbox Series X vs. PS5: welke heeft de meeste teraflops?

Xbox Series X vs. PS5: welke heeft de meeste teraflops?

Een nieuwe consolegeneratie staat voor de deur. De komst van de PlayStation 5 en de Xbox Series X markeert de volgende stap voorwaarts voor console-gaming. Zoals je zou verwachten, willen gamers weten welke console beter is? Welke gaming-optie biedt de beste waar voor je geld in de nabije toekomst?

Powerline-adapter versus mesh-wifi: wat is het beste voor uw huis?

Powerline-adapter versus mesh-wifi: wat is het beste voor uw huis?

Als u in bepaalde delen van uw huis geen verbinding met internet kunt maken, zijn er verschillende manieren om het probleem op te lossen. Twee van de meest populaire opties zijn powerline-adapters en mesh-wifi.

Waarom je inkt op je kapotte scherm ziet

Waarom je inkt op je kapotte scherm ziet

Het is niet ongebruikelijk om zwarte of paarsachtige vlekken te zien die op inkt lijken op het scherm van uw kapotte apparaat (telefoon, tablet of laptop). Maar zit er echt inkt in je scherm?

Wat is homomorfe versleuteling?

Wat is homomorfe versleuteling?

Een woord dat de laatste tijd veel opduikt, is homomorfe encryptie. Veel bedrijven en online diensten schakelen hun coderingsmodel om naar een soort homomorfe codering, waarbij ze adverteren dat het voor betere gebruikersprivacy en veiligheid is.

Wat is een bitmapafbeelding?

Wat is een bitmapafbeelding?

Voor de meeste mensen maken digitale media deel uit van uw dagelijks leven. Maar we denken niet altijd na over hoe het is gemaakt.

Wat zijn lichtvelddisplays en hoe werken ze?

Wat zijn lichtvelddisplays en hoe werken ze?

Lichtvelddisplays veranderen geleidelijk hoe we de wereld om ons heen zien. Of beter gezegd, hoe we de wereld zien die niet om ons heen is. Van klassieke fotografie tot geavanceerde educatie en diagnostiek tot aanwezigheid op afstand en entertainment, dit artikel gaat in op wat een lichtvelddisplay is, hoe verschillende soorten beeldschermen werken en hoe ze worden gebruikt.

Wat is het Matrix-protocol en hoe werkt het?

Wat is het Matrix-protocol en hoe werkt het?

De meeste platforms die we gebruiken om online met elkaar te communiceren, zijn gekoppeld aan één aanbieder. Maar er is geen technische reden waarom de dingen zo zijn. Er zijn manieren om online te chatten die een grotere mate van privacy en vrijheid bieden. Matrix is ​​een van die manieren.

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

Hoe UART, SPI en I2C seriële communicatie werken en waarom we ze nog steeds gebruiken

Of het nu gaat om computerrandapparatuur, slimme apparaten, Internet of Things (IoT)-apparaten of elektronische meetinstrumenten, ze gebruiken allemaal seriële communicatieprotocollen om verschillende elektronische componenten met elkaar te verbinden.

Wat is cyberpesten en hoe ga je ermee om?

Wat is cyberpesten en hoe ga je ermee om?

Dankzij internet hebben meer mensen verbinding kunnen maken dan ooit tevoren, zowel ten goede als ten kwade. Net zoals mensen internet gebruiken voor constructieve en leuke doeleinden, gebruiken anderen het om een ​​nieuw soort pesten uit te voeren: cyberpesten.

99 Cryptocurrency-voorwaarden uitgelegd: elke crypto-definitie die u nodig heeft

99 Cryptocurrency-voorwaarden uitgelegd: elke crypto-definitie die u nodig heeft

Cryptocurrencies zijn digitale valuta die draaien op gedecentraliseerde computernetwerken, blockchains genaamd. Enkele van de belangrijkste en meest geaccepteerde cryptocurrencies zijn Bitcoin, Ethereum, Tether, Cardano, Binance Coin en USD Coin.

Wat is een hypervisor? Is het anders dan een virtuele machine?

Wat is een hypervisor? Is het anders dan een virtuele machine?

Een hypervisor is een stukje software dat wordt gebruikt om virtuele machines te maken. Een virtuele machine is een emulatie van een computer. Virtuele machines worden gebruikt om meerdere computeromgevingen te creëren op een enkel stuk hardware.

Toegangspunt versus router: wat is het verschil?

Toegangspunt versus router: wat is het verschil?

Het instellen van wifi voor uw huis of bedrijf kan gemakkelijk overweldigend en verwarrend worden. Er zijn nogal wat verschillende termen en apparaten bij het proces betrokken, en elke wifi-situatie is uniek. Een groot bedrijf met een heleboel apparaten die over een groot gebied op een netwerk zijn aangesloten, heeft drastisch andere dingen nodig dan een eenvoudig huis met een paar apparaten.

De 8 beste software-crypto-portefeuilles om uw activa op te slaan

De 8 beste software-crypto-portefeuilles om uw activa op te slaan

Als u enige hoeveelheid cryptocurrency bezit, vraagt ​​u zich misschien af ​​hoe u deze het veiligst en veiligst kunt opslaan. Aangezien een cryptocurrency een digitale vorm van geld is, kun je het niet zomaar in je nachtkastje of in een kluis stoppen. In plaats daarvan moet het worden opgeslagen op een stuk hardware of software.