UART is een veelgebruikte seriële communicatiemethode die in veel embedded systemen wordt gebruikt. Het verzendt data bit voor bit zonder gedeelde kloklijn, met bijbehorende instellingen om synchronisatie te behouden. Betrouwbare UART-verbindingen zijn afhankelijk van correcte bedrading, baudrate, frameformaat, spanningsniveaus en signaaltiming. Dit artikel geeft informatie over de werking, opstelling, het gebruik en veelvoorkomende problemen van UART.

Universele Asynchrone Ontvanger-Zender (UART) Basisprincipes
UART staat voor Universal Asynchronous Receiver-Transmitter. Het is een seriële communicatieinterface die gegevens bit voor bit overdraagt tussen verbonden apparaten. Een UART-blok is ingebouwd in veel microcontrollers, processors, communicatiechips en embedded modules. Het zet parallelle data om in een seriële stroom tijdens de transmissie en zet inkomende seriële data tijdens de ontvangst weer om in bytes. UART gebruikt geen gedeelde kloklijn. In plaats daarvan blijven beide apparaten gesynchroniseerd door bijpassende communicatie-instellingen te gebruiken en het begin en einde van elk dataframe te detecteren.
Redenen waarom UART nog steeds veel voorkomt
• Het gebruikt slechts enkele seinlijnen
• Het is eenvoudig op te zetten voor directe communicatie
• Het is opgenomen in veel embedded apparaten
• Het ondersteunt leesbare uitvoer via seriële terminals
Hoe werken UART-frames en timing?
Onderdelen van een UART-frame

| Frame Element | Functie |
|---|---|
| Startgedeelte | Markeert het begin van een frame |
| Databits | Draag de verzonden waarde |
| Pariteitsbit | Voegt een basisfoutcontrole toe bij gebruik |
| Stop bit | Markeert het einde van het frame |
| Inactieve toestand | Houdt de lijn hoog als er geen data wordt verzonden |
Belangrijkste UART-instellingen
| Setting | Wat het controleert |
|---|---|
| Baudrate | De snelheid van communicatie |
| Databits | Het aantal waardebits in elk frame |
| Pariteit | Of er een pariteitscontrole wordt toegevoegd |
| Stop bits | Het frame-eindformaat |
| Stroomregeling | Het tempo van data tussen verbonden apparaten |
Baud rate bepaalt hoe snel bits worden verzonden. Hogere baudsnelheden verhogen de overdrachtssnelheid, maar vereisen nauwkeurigere timing en een schoner signaalpad. UART-communicatie is ook afhankelijk van het matchen van frame-instellingen aan beide zijden.
Veelvoorkomende Baud-tarieven
| Baudrate | Typisch gebruik |
|---|---|
| 9600 | Basisterminals, eenvoudige modules en oudere systemen |
| 19200–38400 | Communicatie met middelhoge snelheid |
| 57600 | Snellere besturings- en diagnostische verbindingen |
| 115200 | Console-uitvoer en debugging |
Framelengte en data-efficiëntie
De framelengte beïnvloedt hoeveel nuttige data er in elke transmissie wordt meegenomen. Twee UART-verbindingen kunnen dezelfde baudrate gebruiken, maar toch verschillende effectieve datadoorvoersnelheid leveren als hun frameformaten verschillen. Bijvoorbeeld, 8N1 en 7E1 gebruiken verschillende aantallen bits per frame, waardoor de hoeveelheid payloaddata per frame niet hetzelfde is.
UART-bedrading, spanningsniveaus en stroomregeling

Een eenvoudige UART-verbinding gebruikt drie hoofdsignalen: TX, RX en GND. De TX-pin van het ene apparaat is verbonden met de RX-pin van het andere, en beide apparaten moeten dezelfde aarde delen om de signaalniveaus correct te kunnen aflezen.
Veel microcontrollers en modules gebruiken TTL- of CMOS-UART-niveaus, vaak op 3,3 V of 5 V. Oudere seriële systemen kunnen RS-232 gebruiken, dat een ander spanningsbereik en signaalmethode heeft, waardoor het niet direct compatibel is met TTL UART. Een niveauverschuivende transceiver wordt gebruikt bij het verbinden van deze standaarden.
Sommige UART-verbindingen gebruiken ook flowcontrol om dataverlies te voorkomen wanneer één kant binnenkomende bytes niet snel genoeg kan accepteren.
Basisregels voor UART-bedrading
• TX van het ene apparaat maakt verbinding met RX op het andere apparaat
• RX van het ene apparaat maakt verbinding met TX op het andere apparaat
• Aarde moet aan beide zijden worden aangesloten
UART Elektrische Standaarden
| Type | Typisch gebruik | Hoofdpunt |
|---|---|---|
| TTL/CMOS UART | Microcontrollers, modules, ontwikkelborden | Gebruikt logische signalen zoals 3,3 V of 5 V |
| RS-232 | Legacy seriële poorten, industriële verbindingen, pc-seriële verbindingen | Gebruikt een ander spanningsbereik en signaalgedrag |
Veelvoorkomende stromingsbeheermethoden
• Hardware-flowcontrole gebruikt RTS- en CTS-lijnen
• Software flow control gebruikt XON- en XOFF-tekens
Hardware-flowcontrole gebruikt aparte regellijnen om de datastroom te beheren. Software-flowcontrol vermindert het aantal draden, maar gebruikt controletekens binnen de datastroom.
Hoe werkt een UART in een apparaat?
Binnen een apparaat bevat een UART-randapparaat verschillende onderdelen die het verzenden en ontvangen van data afhandelen. Deze onderdelen bevatten vaak een zendsectie, een ontvangstsectie, shiftregisters, statusvlaggen en FIFO-buffers. Wanneer data wordt verzonden, plaatst de software een byte in de UART, en voegt de hardware de startbit, de optionele pariteitsbit en de stopbit toe voordat het volledige frame door de TX-lijn wordt gestuurd.
Wanneer data wordt ontvangen, houdt de UART de RX-lijn in de gaten op een geldige startbit. Vervolgens samplet het het signaal op het juiste moment, bouwt de byte opnieuw, controleert het frameformaat en slaat de data op zodat software deze later kan lezen.
UART-randapparatuur rapporteert ook status- en foutcondities, terwijl FIFO-buffers meerdere bytes bevatten om gemiste data te verminderen wanneer software niet onmiddellijk reageert.
Veelvoorkomende UART-status en foutvlaggen
• Zendbuffer leeg
• Ontvangsbuffer vol
• Pariteitsfout
• Framingfout
• Overrunfout
Veelvoorkomende toepassingen van UART in embedded systemen
• Seriële terminaldebugging
• Communicatie tussen een microcontroller en een module
• Bootloader en firmware-updates links
• Eenvoudige command-en-responsinterfaces
• Datalogging en diagnostiek
• Toegang tot ingebedde bordconsole
UART-opstelling, testen en probleemoplossing
Het instellen van een UART-verbinding begint met het kiezen van compatibele communicatie-instellingen en signaalniveaus. Testen helpt bevestigen dat de verbinding correct is bedraad, correct geconfigureerd en geldige dataframes verzendt.
Linkplanning en apparaatconfiguratie
Kies de baudrate, frameformaat, spanningsstandaard en flow control-methode voordat je de verbinding maakt. Schakel vervolgens de UART-hardware in software in en configureer eventuele buffers of FIFO-instellingen. Kloknauwkeurigheid, kabelkwaliteit en verwachte datasnelheid beïnvloeden ook de linkprestaties.
Communicatievalidatie
Controleer de link door een bekend datapatroon of leesbare tekst te verzenden. Een seriële terminal, USB-naar-UART-adapter, logica-analysator of oscilloscoop kan helpen bevestigen dat frames geldig zijn en dat de lijn tussen transmissies in de juiste idle-toestand blijft.
UART-probleemgids
| Symptoom | Waarschijnlijke Oorzaak |
|---|---|
| Willekeurige of onleesbare tekens | Verkeerde baudrate of frame-instellingen |
| Geen ontvangen gegevens | TX/RX omgekeerd, mis aarde, UART uitgeschakeld, verkeerd spanningsniveau |
| Intermitterende fouten | Ruis, lange bedrading, timing mismatch |
| Framing- of pariteitsfouten | Slechte instellingen of slechte signaalkwaliteit |
| Verloren bytes tijdens bursts | Overloop, zwakke buffering, geen stroomcontrole |
Probleemoplossingscontroles
• Bevestig dat TX en RX correct gekruist zijn
• Zorg dat beide partijen dezelfde grond delen
• Verifieer de baudrate en het frameformaat aan beide uiteinden
• Controleer of de signaalniveaus TTL/CMOS of RS-232 zijn
• De baudrate te verminderen als er een timingfout of ruis wordt vermoed
• De UART-foutvlaggen in de software te bekijken
• Testen met bekende terminalgereedschappen of adapters
UART, SPI en I2C vergeleken

UART, SPI en I2C zijn veelgebruikte seriële communicatiemethoden, maar ze werken op verschillende manieren. UART gebruikt een directe verbinding tussen twee apparaten en heeft geen kloklijn nodig. SPI gebruikt een klok en aparte datapaden voor snellere communicatie. I2C gebruikt ook een klok, maar het maakt het mogelijk dat meerdere apparaten dezelfde bus delen via ingebouwde adressering.
Interfacevergelijking
| Kenmerk | UART | SPI | I2C |
|---|---|---|---|
| Kloklijn | Nee | Ja | Ja |
| Typische topologie | Punt-tot-punt | Controller-periferie | Gedeelde bus |
| Complexiteit | Low | Matig | Matig |
| Ingebouwde adressering | Nee | Nee | Ja |
| Algemene sterkte | Eenvoud | Snelheid | Minder draden voor veel apparaten |
UART is geschikt voor eenvoudige, directe links en terminaltoegang. SPI is geschikt voor communicatie met hogere snelheid. I2C is geschikt voor situaties waarin meerdere apparaten één bus delen met minder signaallijnen.
Conclusie
UART blijft gebruikt omdat het eenvoudige, directe communicatie met lage hardwarecomplexiteit biedt. De prestaties hangen af van afgestemde instellingen, correcte TX- en RX-bedrading, gedeelde aarde, compatibele spanningsniveaus en de juiste omgang met timing-, buffer- en foutvlaggen. Inzicht in framestructuur, baudrate, flowcontrole en veelvoorkomende foutoorzaken helpt verklaren waarom UART-verbindingen falen en hoe stabiele communicatie wordt onderhouden in embedded systemen.
Veelgestelde Vragen [FAQ]
Kan een UART tegelijkertijd verzenden en ontvangen?
Ja. UART ondersteunt full-duplex communicatie, zodat het data op TX kan verzenden terwijl het tegelijkertijd ontvangt op RX.
Wat betekent 8N1 in UART?
8N1 betekent 8 databits, geen pariteit en 1 stopbit.
Kan een UART verbinding maken met meerdere apparaten?
Niet direct. UART is voornamelijk bedoeld voor één-op-één communicatie en bevat geen ingebouwde adressering.
Is de baudrate hetzelfde als de bitrate in UART?
In standaard UART, ja. Ze worden als hetzelfde behandeld omdat elk symbool één bit draagt.
Waarom een USB-naar-UART-adapter gebruiken?
Het stelt een computer in staat om via USB te communiceren met een UART-interface.
Bevat UART encryptie of geavanceerde foutcorrectie?
Nee. UART bevat geen encryptie of geavanceerde foutcorrectie op zichzelf.