UART - De universele asynchrone ontvanger-zender
UART is een full duplex seriële interface. Het stelt twee apparaten in staat te communiceren over slechts drie draden en ondersteunt variabele snelheden.
UART Kenmerken
Zoals de naam al aangeeft, is UART een asynchrone interface. In tegenstelling tot SPI of I2C is er geen behoefte aan een speciale klok. De twee apparaten hoeven alleen maar dezelfde transmissiesnelheid te gebruiken. De transmissiesnelheid is variabel en dicteert hoeveel bits de bus per seconde kan verzenden (bits/s).
Ook het dataformaat is configureerbaar. Een andere manier om de transmissiesnelheid te meten is dus de baudrate (bauds/s), waarbij één baud één symbool of karakter is. Dus als één baud uit 8 bits bestaat, betekent dit dat een bitrate van 115200 bits/s gelijk is aan 14400 bauds/s.
UART gebruikt twee datadraden, zodat de communicatie in de meeste gevallen full duplex is (beide richtingen tegelijk). Bovendien hebben beide UART-apparaten een draad nodig om de GROND-referentiespanning te delen. Samengevat betekent dit dat u slechts drie draden nodig hebt.
Bedrading
Een UART-apparaat heeft drie pennen nodig om te communiceren. RX om te lezen, TX voor het verzenden en GND voor GROUND referentie.
Steek de RX-pennen van beide apparaten in de TX-pennen van het andere apparaat. Verbind beide GND-pennen en u bent klaar met de hardware-installatie.
In theorie zou je zelfs de RX-pennen van meerdere apparaten kunnen aansluiten op de TX-pennen van één apparaat. Op die manier kun je, als je weet wat je doet, één apparaat de gegevens naar meerdere apparaten laten zenden. Maar de RX van een apparaat kan slechts met één TX-pin tegelijk worden verbonden.
UART-communicatie
U moet beide apparaten op dezelfde baudrate instellen. Als deze meer dan 3% verschilt, zullen de gegevens worden beschadigd. Gangbare baudrates zijn onder andere 4800, 9600, 19200 en 115200. Bovendien moeten beide apparaten het eens zijn over hetzelfde dataformaat en pariteitsbit. Het pariteitsbit is een middel om de verzonden gegevens te controleren op fouten.
Telkens wanneer een apparaat gegevens wil verzenden, begint het met het verzenden van het startbit.
De stationaire toestand van de datadraad is HOOG, dus de zender trekt hem één klokcyclus lang LAAG. Daarna trekt hij de draad LOW voor een 0 en HIGH voor een 1 in de exacte frequentie van de baudrate. Na elk data frame stuurt hij een pariteitsbit indien foutcontrole gewenst is. Daarna zet hij de draad HOOG om het stopbit aan te geven.
Voordelen, nadelen en toepassingen
Voordelen
Het meest in het oog springende voordeel is de eenvoud van UART. Zowel software als hardware zijn uiterst eenvoudig in te stellen. De variabele snelheid betekent dat u het stroomverbruik zeer laag kunt houden. En natuurlijk maakt de interface full duplex communicatie mogelijk.
Bovendien kunnen de gegevens een afstand van 1000 meter overbruggen.
Nadelen
De interface is in principe beperkt tot twee apparaten. Ook is er geen klok om de transmissiesnelheid tijdens de transmissie te regelen en te wijzigen. In de meeste gevallen is deze langzamer dan bijvoorbeeld SPI of I2C.
UART-toepassingen
UART is zeer geschikt voor het verzenden van kleinere hoeveelheden gegevens. Het wordt gebruikt door veel GPS-ontvangers, Bluetooth-modules, draadloze communicatiesystemen of op RFID gebaseerde toepassingen.
U kunt de interface ook gebruiken om uw Raspberry Pi aan te sluiten op uw Raspberry Pi Pico, zoals we in deze video laten zien.
Hij presteert ook goed in langeafstandstoepassingen waar SPI en I2C geen optie zijn.
[UART - De universele asynchrone ontvanger-zender [...].
[UART - De universele asynchrone ontvanger-zender [...].