10M+ Elektronische componenten op voorraad
ISO-gecertificeerd
Garantie inbegrepen
Snelle levering
Lastige onderdelen?
Wij brengen ze in kaart.
Vraag een offerte aan

UART-basisprincipes: bedrading, timing, baudrate en veelvoorkomende problemen

मार्च २७ २०२६
Bron: DiGi-Electronics
Bladeren: 1288

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.

Figure 1. 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

Figure 2. Parts of a UART Frame

Frame ElementFunctie
StartgedeelteMarkeert het begin van een frame
DatabitsDraag de verzonden waarde
PariteitsbitVoegt een basisfoutcontrole toe bij gebruik
Stop bitMarkeert het einde van het frame
Inactieve toestandHoudt de lijn hoog als er geen data wordt verzonden

Belangrijkste UART-instellingen

SettingWat het controleert
BaudrateDe snelheid van communicatie
DatabitsHet aantal waardebits in elk frame
PariteitOf er een pariteitscontrole wordt toegevoegd
Stop bitsHet frame-eindformaat
StroomregelingHet 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

BaudrateTypisch gebruik
9600Basisterminals, eenvoudige modules en oudere systemen
19200–38400Communicatie met middelhoge snelheid
57600Snellere besturings- en diagnostische verbindingen
115200Console-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

Figure 3. UART Wiring, Voltage Levels, and Flow Control

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

TypeTypisch gebruikHoofdpunt
TTL/CMOS UARTMicrocontrollers, modules, ontwikkelbordenGebruikt logische signalen zoals 3,3 V of 5 V
RS-232Legacy seriële poorten, industriële verbindingen, pc-seriële verbindingenGebruikt 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?

Figure 4. How UART Operates Inside a Device

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

SymptoomWaarschijnlijke Oorzaak
Willekeurige of onleesbare tekensVerkeerde baudrate of frame-instellingen
Geen ontvangen gegevensTX/RX omgekeerd, mis aarde, UART uitgeschakeld, verkeerd spanningsniveau
Intermitterende foutenRuis, lange bedrading, timing mismatch
Framing- of pariteitsfoutenSlechte instellingen of slechte signaalkwaliteit
Verloren bytes tijdens burstsOverloop, 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 

Figure 5. UART, SPI, and I2C Compared

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

KenmerkUARTSPII2C
KloklijnNeeJaJa
Typische topologiePunt-tot-puntController-periferieGedeelde bus
ComplexiteitLowMatigMatig
Ingebouwde adresseringNeeNeeJa
Algemene sterkteEenvoudSnelheidMinder 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.