UART - uniwersalny odbiornik asynchroniczny i nadajnik
UART to interfejs szeregowy pracujący w trybie pełnego dupleksu. Umożliwia on komunikację dwóch urządzeń za pomocą zaledwie trzech przewodów i obsługuje różne prędkości.
Charakterystyka UART
Jak sama nazwa wskazuje, UART jest interfejsem asynchronicznym. W przeciwieństwie do SPI czy I2C nie ma potrzeby stosowania dedykowanego zegara. Oba urządzenia muszą jedynie korzystać z tej samej prędkości transmisji. Szybkość transmisji jest zmienna i określa, ile bitów magistrala może przesłać w każdej sekundzie (bity/s).
Format danych jest również konfigurowalny. Dlatego innym sposobem pomiaru szybkości transmisji jest szybkość transmisji (bauds/s), gdzie jeden baud to jeden symbol lub znak. Jeśli więc jeden bajt składa się z 8 bitów, oznacza to, że szybkość transmisji 115200 bitów/s równa się 14400 bodów/s.
UART wykorzystuje dwa przewody danych, więc w większości przypadków komunikacja odbywa się w trybie pełnego dupleksu (w obu kierunkach jednocześnie). Dodatkowo oba urządzenia UART potrzebują jednego przewodu do współdzielenia napięcia odniesienia GROUND. W sumie oznacza to, że potrzebne są tylko trzy przewody.
Okablowanie
Urządzenie UART potrzebuje trzech styków do komunikacji. RX do czytania, TX do nadawania i GND dla odniesienia GROUND.
Podłącz styki RX obu urządzeń do styków TX drugiego urządzenia. Podłącz oba piny GND i zakończ konfigurację sprzętu.
Teoretycznie można nawet podłączyć styki RX wielu urządzeń do styku TX jednego urządzenia. W ten sposób, jeśli wiesz, co robisz, możesz pozwolić, aby jedno urządzenie transmitowało dane do wielu urządzeń. Jednak styk RX dowolnego urządzenia może być jednocześnie podłączony tylko do jednego styku TX.
Komunikacja UART
W obu urządzeniach należy ustawić tę samą szybkość transmisji. Jeśli będzie się ona różnić o więcej niż 3%, dane zostaną uszkodzone. Popularne prędkości transmisji to między innymi 4800, 9600, 19200 i 115200. Ponadto oba urządzenia muszą się zgodzić na ten sam format danych i bit parzystości. Bit parzystości służy do sprawdzania, czy przesyłane dane nie zawierają błędów.
Za każdym razem, gdy urządzenie chce przesłać dane, zaczyna od wysłania bitu startu.
W stanie spoczynku przewód danych ma wartość WYSOKĄ, więc nadajnik ściąga go w stan NISKI przez jeden cykl zegara. Następnie ciągnie przewód w stan niski dla 0 i w stan wysoki dla 1 z dokładną częstotliwością odpowiadającą szybkości transmisji. Po każdej ramce danych wysyłany jest bit parzystości, jeśli wymagana jest kontrola błędów. Następnie ustawia przewód w pozycji HIGH, aby zasygnalizować bit stopu.
Zalety, wady i zastosowania
Zalety
Najbardziej uderzającą zaletą jest prostota UART. Zarówno oprogramowanie, jak i sprzęt są niezwykle łatwe do skonfigurowania. Zmienna prędkość oznacza, że można utrzymać zużycie energii na bardzo niskim poziomie. I oczywiście interfejs umożliwia komunikację w trybie pełnego dupleksu.
Ponadto dane mogą być przesyłane na duże odległości, nawet do 1000 metrów.
Wady
Interfejs jest zasadniczo ograniczony do dwóch urządzeń. Nie ma też zegara do sterowania i zmiany szybkości transmisji w trakcie jej trwania. W większości przypadków jest ona wolniejsza niż na przykład SPI lub I2C.
Zastosowania UART
UART umożliwia przesyłanie mniejszych ilości danych. Jest on używany w wielu odbiornikach GPS, modułach Bluetooth, systemach komunikacji bezprzewodowej lub zastosowań opartych na technologii RFID.
Interfejs ten można także wykorzystać do połączenia Raspberry Pi z Raspberry Pi Pico, jak pokazano na tym filmie.
Sprawdza się również w aplikacjach dalekiego zasięgu, gdzie SPI i I2C nie wchodzą w grę.
[...] UART - Uniwersalny asynchroniczny odbiornik-nadajnik [...]
[...] UART - Uniwersalny asynchroniczny odbiornik-nadajnik [...]