Interfejs UART: opis, zastosowanie

Pamiętasz, kiedy drukarki, myszy, modemy mają grube kable z tymi ogromnymi, niezręcznymi złączami? Tych, którzy dosłownie powinni być przykręceni do komputera? Niewiele osób wie, że te komponenty UART zostały użyte do komunikacji z komputerem. Prawie całkowicie zastąpił te stare kable i złącza technologią USB. Interfejsy UART, opisane w tym artykule, nie zniknęły. Są one wykorzystywane w wielu projektach elektroniki DIY do podłączenia czytników kart GPS, Bluetooth i RFID do Pi, Arduino lub innych mikrokontrolerów.


Interfejs UART: Opis

UART oznacza uniwersalny asynchroniczny odbiornik /nadajnik. To nie jest protokół komunikacyjny, taki jak SPI i I2C, ale fizyczny obwód w mikrokontrolerze. Głównym celem jest przekazywanie i otrzymywanie informacji. Jednym z najlepszych osiągnięć technologii jest to, że wykorzystuje tylko dwa przewody.
Interfejs UART to dwa urządzenia, które współdziałają ze sobą. Nadajnik przekształca informacje z urządzenia sterującego, na przykład procesora, w postać sekwencyjną, przesyła je sekwencyjnie do odbierającego układu UART, który przekształca wartość do urządzenia odbiorczego. Aby przesyłać informacje między dwoma urządzeniami, potrzebne są tylko dwa przewody.

Komunikacja UART

UART RS485 przesyła dane asynchronicznie, co oznacza, że ​​nie ma sygnału do synchronizacji wyjścia bitów z nadajnika do odbiornika. Zamiast sygnału zegarowego UART dodaje bit początkowy i końcowy przesyłanego pakietu. Te opcje sąokreślić początek i koniec dokumentu.


Kiedy UART odbiera bit startowy, zaczyna odczytywać przychodzące bity z pewną częstotliwością, znaną jako szybkość transmisji. Szybkość przesyłania danych jest miarą prędkości wyrażoną w jednostce miary, - bitach /sek. Oba urządzenia powinny działać w przybliżeniu w tym samym tempie transmisji. Szybkość transmisji między urządzeniami nadawczymi i odbiorczymi może się różnić o 10%.
Oba urządzenia muszą być również skonfigurowane do przesyłania i odbierania tej samej struktury pakietu.

UART - co to jest i jak działa?

UART, który będzie przekazywał informacje, odbiera je z magistrali danych. Służy do wysyłania informacji do innego urządzenia, takiego jak procesor, pamięć lub mikrokontroler. Po przesłaniu UART odbiera dane równoległe z magistrali danych, dodaje bit początkowy, parzystość i bit stopu, tworząc pakiet danych. Następnie pakiet jest wyświetlany sekwencyjnie, w częściach. Akceptuje UART odczytuje trochę danych na wyjściu. Uzyskane przez UART konwertuje informacje z powrotem do postaci równoległej, usuwa bity rozpoczęcia i zakończenia. Ostatecznie UART odbierający przesyła pakiet danych równolegle do magistrali danych po stronie odbiorczej.
Linia transmisyjna zwykle jest utrzymywana na wysokim poziomie napięcia, gdy nie przesyła informacji. Aby rozpocząć transmisję danych, przesyłowy układ UART przesyła linię transmisyjną z wysokiego do niskiego jednego cyklu. Kiedy UART otrzymuje przejście z wysokiego do niskiego napięcia, zaczyna odczytywać bity w ramce danych z prędkością transmisji.

TechnicznyCechy

System podstawowy UART zapewnia niezawodną, ​​umiarkowaną prędkość, pełną dupleksową komunikację z trzema sygnałami: Tx (przesyłane dane sekwencyjne), Rx (wyprowadzone dane sekwencji) i masa. W przeciwieństwie do innych protokołów, takich jak SPI i I2C, sygnał zegara nie jest wymagany, ponieważ użytkownik dostarcza sprzętowi UART żądaną informację o czasie. Typowym sygnałem danych w opisie interfejsu UART jest po prostu napięcie, które przebiega pomiędzy logicznymi niskimi i logicznymi wysokimi wartościami. Odbiornik może poprawnie konwertować te stany logiczne na dane cyfrowe tylko wtedy, gdy wie, kiedy spróbować sygnału. Można to łatwo zrobić za pomocą oddzielnego sygnału zegarowego. Na przykład, nadajnik aktualizuje sygnał danych z każdego przodu frontu, a następnie odbiornik tworzy próbkę danych na każdej tylnej krawędzi.

Kluczowe pojęcia

Początkowy bit jest pierwszym bitem jednobajtowej transmisji. Oznacza to, że linia danych jest nieaktywna. Stan bezczynności zwykle ma logiczną wysokość, więc bit początkowy jest logicznie niski. Bit początkowy - bit informacji o usłudze. Oznacza to, że ułatwia on połączenie między odbiornikiem i nadajnikiem, ale nie przekazuje istotnych danych. Bit stopu - ostatni bit transmisji jednobajtowej. Jego poziom logiczny jest taki sam, jak stan bezczynności sygnału, to znaczy maksymalny logiczny.

Procedura krok po kroku

Aby zasygnalizować zakończenie wysyłania pakietu danych przez UART, łączy on linię transmisji danych od niskiego napięcia do wysokiego napięcia na dwóch bitachCzas trwania
Opis interfejsu UART:
  • UART przesyła dane równolegle do magistrali danych i dodaje bit początkowy, bit parzystości i bit (y) zatrzymania do ramki danych.
  • Cały pakiet jest wysyłany sekwencyjnie od transmitującego do odbierającego UART, który wytwarza próbkę linii danych ze wstępnie skonfigurowaną szybkością transmisji danych.
  • Akceptuje UART odrzuca bit początkowy, bit parzystości i bit stopu z ramki danych, przekształca dane szeregowe z powrotem na równoległe, przekazuje je do magistrali danych po stronie odbiorczej.
  • Konwertuje odebrane bajty z komputera na równoległe obwody do jednego kolejnego strumienia bitów dla transmisji wyjściowej.
  • Kiedy dane wejściowe transmitują strumień bitów sekwencyjnych do bajtów przetwarzanych przez komputer.
  • Dodaje wychodzący bit parzystości (jeśli został wybrany), sprawdza parzystość bajtów wejściowych (jeśli wybrano), odrzuca bit parzystości.
  • Dodaje ograniczniki do początku i końca wyjścia, usuwa je z przychodzących transmisji.
  • Zalety i wady

    Protokół komunikacyjny nie jest doskonały, ale UART jest całkiem niezły w tym, co robi. Oto niektóre z zalet i wad, które pomogą Ci zdecydować, czy pasują do twoich potrzeb projektu: Zalety:
  • Wykorzystywane są tylko dwa przewody.
  • Brak sygnału synchronizacji.
  • Ma bit parzystości do sprawdzania błędów.
  • Strukturę pakietu danych można zmienić, jeśli obie strony są do niego skonfigurowane.
  • Dobrze udokumentowana i szeroko stosowana metoda.
  • Wady:
  • Rozmiarramka danych jest ograniczona do maksymalnie 9 bitów.
  • Nie obsługuje wielu podwładnych lub wielu systemów nadrzędnych.
  • Ponadto szybkość przesyłania danych każdego interfejsu UDC Arduino musi być w granicach 10% względem siebie.

    Powiązane publikacje