====== UART (Universal Asynchronous Receiver-Transmitter) ====== **UART** není komunikační protokol jako takový, ale fyzický obvod (mikročip) nebo integrovaná součást mikrokontroléru, která slouží k sériové komunikaci. Umožňuje převod dat mezi paralelní formou (používanou uvnitř procesoru) a sériovou formou (přenos po jednotlivých bitech přes vodič). Označení **asynchronní** znamená, že rozhraní nepoužívá sdílený hodinový signál pro synchronizaci odesílatele a příjemce. Místo toho se oba konce musí předem shodnout na rychlosti přenosu (tzv. Baud rate). ===== Jak UART funguje? ===== Komunikace probíhá obvykle pomocí dvou datových vodičů: * **TX (Transmit):** Odesílání dat. * **RX (Receive):** Příjem dat. * **GND (Ground):** Společné uzemnění (nezbytné pro srovnání napěťových úrovní). ===== Využití v naší infrastruktuře ===== ==== 1. Diagnostika a oživování hardwaru ==== Naše **[[IT Podpora]]** využívá UART jako "poslední záchranu". Pokud server nebo switch v rámci naší **[[WAN]]** přestane odpovídat přes síť, lze se k němu připojit přímo přes servisní UART piny na základní desce a sledovat výpis bootování (tzv. sériová konzole). ==== 2. Vývoj vestavěných systémů (Embedded) ==== Náš **[[Vývojový tým]]** používá UART pro ladění kódu v **[[IoT zařízení|IoT senzorech]]**. Přes UART odesílá zařízení textové zprávy (v kódování **[[UTF]]-8**) o svém stavu do vývojářského počítače. * Často se používají převodníky **USB-to-UART**, které umožňují připojit průmyslový hardware k modernímu notebooku přes **[[USB]]** port. ==== 3. Komunikace s moduly ==== Mnoho našich bezdrátových modulů (např. pro **[[WLAN]]** nebo GPS) komunikuje s hlavní řídicí jednotkou právě přes rozhraní UART. ===== Struktura datového rámce ===== Protože UART nemá hodiny, každý bajt dat je "zabalen" do rámce: 1. **Start bit:** Signalizuje příjemci, že začíná přenos. 2. **Data (5–9 bitů):** Samotná informace (obvykle 1 bajt). 3. **Paritní bit:** Volitelná kontrola chyb (v našem **[[VPC]]** standardně nepoužíváme). 4. **Stop bit:** Ukončení rámce. ===== Konfigurace a parametry ===== Aby spojení fungovalo, musí být obě strany nastaveny identicky. Standardní konfigurace v naší firmě je **115200 8N1**: * **Baud rate:** 115200 (rychlost přenosu). * **Data bits:** 8. * **Parity:** None (žádná). * **Stop bits:** 1. ===== Bezpečnostní rizika ===== V rámci **[[Kybernetická bezpečnost|kybernetické bezpečnosti]]** představuje UART specifické riziko: * **Fyzický přístup:** Pokud má útočník fyzický přístup k zařízení, může se přes UART pokusit získat přístup k shellu (příkazové řádce) s právy **[[UID]]** 0 (root). * **Opatření:** U produkčních zařízení v rámci **[[ZIF]]** vyžadujeme softwarové vypnutí ladicích konzolí nebo fyzické odstranění konektorů z desky plošných spojů. > **Upozornění pro techniky:** Při připojování k UART rozhraní vždy ověřte napěťovou logiku (3.3V vs 5V). Připojení 5V převodníku k 3.3V zařízení může trvale poškodit procesor a vést k nutnosti výměny celého kusu hardwaru. --- **Související stránky:** [[ZIF]], [[IT Podpora]], [[Vývojový tým]], [[IoT zařízení]], [[USB]], [[WAN]], [[Kybernetická bezpečnost]], [[UTF]]