Ještě před několika málo roky bylo prakticky nemyslitelné zakoupit notebook, stolní počítač nebo základní desku bez podpory RS-232. Tento letitý standard, který bývá stále užitečný pro průmyslové aplikace a embedded zařízení, neodmyslitelně patřil do každého zařízení. Každého běžného uživatele určitě napadne otázka, proč tomu tak bylo a v některých případech stále je. Důvod je jednoduchý, jedná se o velice jednoduché sériové rozhraní, které pro svoji činnost potřebuje pouze krátký programový kód. Přes RS-232, RS-485 sice nepřeneseme Gb za sekundu, ale díky svému masivnímu rozšíření se jedná o užitečného pomocníka pro jakýkoli přenos stavů, ladění a malého množství dat. Tato sériová rozhraní jsou složena ze dvou částí. Hardwarové – UART (Universal Asynchronous Receiver/Transmitter), případně USART, a komunikačního standardu – RS-232, RS-485, atd.
Kde lze rozhraní UART nalézt? Prakticky ve většině mikrokontrolérů, GPS, modemech, WiFi zařízeních, meteostanicích, chytrých televizorech, vysílačkách, obyčejných i chytrých telefonech a samozřejmě počítačích, i když nejsou viditelně vyvedena.
Pokud však nemáme příslušné rozhraní na PC vyvedeno a potřebuje přes UART komunikovat, můžeme si pomoci pořízením USB adaptéru. Po jeho připojení se nám v systému zobrazí virtuální COM port, skrze který můžeme pracovat programy, jako jsou Minicom, Hyperterminal, PuTTY a jinými. K čemu nám to může být dobré? Například k nahrání nového firmware, čtení stavů nebo pro práci se zavaděčem zařízení (bootloader). Pracujeme-li s prostředím Arduino, bez UART se většinou neobejdeme.
Při práci si ale musíme dát pozor na napěťové úrovně, které jsou příslušnému zařízení vlastní. Standard RS-232 využívá napěťové úrovně většinou ±12 V, kdežto většina spotřební elektroniky TTL, LVDS, apod. Propojením zařízení využívajících jiné napěťové úrovně pravděpodobně povede ke zničení rozhraní nebo celého zařízení.
Jak jsem již zmínil, můžeme potřebný adaptér zakoupit. Můžeme si jej ale také vyrobit.
Následující zapojení obsahuje současně čtyři UART rozhraní. Je postaveno kolem integrovaného obvodu společnost Silicon Laboratories CP2108. Tento obvod podporuje datové rychlosti 300 bps až 2 Mbps. Nicméně při využití více portů najednou se aktuální rychlosti mohou lišit. Více prozrazuje datasheet.
Obvod dále podporuje hardwarové řízení toku (RTS/CTS), všechny modemové signály – tedy plné RS-232 rozhraní, podporu RS-485, a možnost definovat vlastní signály na GPIO přes příslušné API. Užitečná může být i možnost naprogramovat integrovanou EEPROM. Více viz „AN721: CP21xx Device Customization Guide“ na stránkách výrobce. Zde je k dispozici popis API, příklady software a ovladače. Ty ale nejsou pro většinu platforem potřeba.
Deska plošných spojů obsahuje čtveřici konektorů. Popis jednotlivých pinů je k dispozici ve schématu. Port UART 2 je oproti ostatním otočen o 180°. Tato nuance je díky vyvedení rozhraní z integrovaného obvodu. Každý konektor má vyveden pin VDD. Jedná se o výstup z integrovaného regulátoru, který je dimenzován na výstupní napětí 3,3 V a proudový odběr 150 mA. Zde je nutní případně započítat proud LED, které jsou z VDD napájeny. Proto nedoporučuji tento pin zapojovat. Větší proudový odběr by mohl zničit CP2108. Obvod D1, SP0503BAHTG, je TVS diodové pole. Lze jej nahradit podobným, případně nezapojovat (nedoporučuji, protože se jedná o ochranu).
Před stavbou doporučuji prostudovat produktovou stránku výrobce.
Produktová stránka, nástroje a ovladače
Schéma obvodu, plošný spoj ve formátu CadSoft EAGLE a datové listy na GitHub