UART – co to takiego?
Jeszcze kilka lat temu komunikacyjne porty szeregowe znajdowały bardzo szerokie zastosowanie w komputerach PC. Dziś komunikacja z urządzeniami peryferyjnymi odbywa się przede wszystkim za pomocą złącza USB, nie oznacza to jednak, że interfejs komunikacyjny UART odszedł w niepamięć. Tego typu rozwiązanie nadal jest wykorzystywane w przeważającej większości mikrokontrolerów, co w dużej mierze wynika z prostoty ich obługi.
UART – co to takiego?
UART, czyli Universal Asynchronous Receiver and Transmitter, to urządzenie w postaci układu scalonego, którego zadaniem jest zapewnienie komunikacji, w formie asynchronicznego przekazu i odbioru danych, za pośrednictwem portu szeregowego.
Budowa tego typu układu przewiduje zastosowanie dwóch konwerterów: równoległo-szeregowego, czyli parallel-to-serial, oraz szeregowo-równoległego, czyli serial-to-parallel. Pierwszy z nich odpowiada za konwersję danych pochodzących z komputera, natomiast drugi – za konwersję danych wysyłanych do komputera przez urządzenia peryferyjne. Szybka transmisja danych wymaga gromadzenia informacji w trybie tymczasowym. Aby w takim przypadku mogła zostać zachowana ciągłość transferu, stosowany jest tzw. bufor.
To bardzo ogólna definicja, która jednak w sposób odpowiedni określa rolę układów UART. Nie znaczy to natomiast, że tego rodzaju urządzenia występują wyłącznie w jednym wariancie. Bogata oferta hurtowni Micros doskonale obrazuje rozpiętość tego segmentu.
Zasada działania interfejsu
Transmisję informacji złączem szeregowym inicjuje tzw. bit startowy. W każdym przypadku jest to logiczne zero. W dalszej kolejności przesłana zostaje informacja w postaci 7, 8 lub 9 kolejnych bitów (w zależności od ustalonej konfiguracji urządzenia). Za zakończenie transmisji odpowiedzialny jest tzw. bit stopu, który zawsze jest równy logicznej jedynce. Całość tworzy tzw. ramkę UART, która zawiera w sobie kompletną informację.
Nazwa UART bardzo często jest stosowana zamiennie z określeniem USART (Universal Synchronous and Asynchronous Receiver and Transmitter). USART to nic innego, jak dwustronny interfejs komunikacyjny, który pozwala na pracę w trybie synchronicznym i asynchronicznym. Można zatem stwoerdzić, że każdy USART może zastąpić UART, ale nie każdy UART będzie mógł być stosowany w zamian za USART. Mówimy tu zatem o rozwinięciu protokołu asynchronicznego, który jednak zachowuje kompatybilność wsteczną. Oba wymienione rozwiązania mogą służyć nawiązaniu komunikacji za pośrednictwem RS232 (port COM lub specjalne konwertery standardu USB).