Spisu treści:

PODSTAWY KOMUNIKACJI UART: 16 kroków
PODSTAWY KOMUNIKACJI UART: 16 kroków

Wideo: PODSTAWY KOMUNIKACJI UART: 16 kroków

Wideo: PODSTAWY KOMUNIKACJI UART: 16 kroków
Wideo: Kurs STM32 #5 komunikujemy się z komputerem - interfejs UART 2024, Lipiec
Anonim
PODSTAWY KOMUNIKACJI UART
PODSTAWY KOMUNIKACJI UART

Pamiętasz, kiedy drukarki, myszy i modemy miały grube kable z tymi ogromnymi, niezgrabnymi złączami? Tych, które dosłownie trzeba było wkręcić w komputer? Te urządzenia prawdopodobnie używały UART do komunikacji z twoim komputerem. Podczas gdy USB prawie całkowicie zastąpił stare kable i złącza, UART zdecydowanie nie należą do przeszłości. Znajdziesz UART używane w wielu projektach DIY elektroniki do łączenia modułów GPS, modułów Bluetooth i modułów czytników kart RFID z Raspberry Pi, Arduino lub innymi mikrokontrolerami.

UART oznacza uniwersalny asynchroniczny odbiornik/nadajnik. Nie jest to protokół komunikacyjny, taki jak SPI i I2C, ale fizyczny obwód w mikrokontrolerze lub samodzielny układ scalony. Głównym celem UART jest przesyłanie i odbieranie danych szeregowych.

Jedną z najlepszych rzeczy w UART jest to, że używa tylko dwóch przewodów do przesyłania danych między urządzeniami. Zasady stojące za UART są łatwe do zrozumienia, ale jeśli nie czytałeś pierwszej części tej serii, Podstawy protokołu komunikacyjnego SPI, to może być dobrym miejscem do rozpoczęcia.

Krok 1: WPROWADZENIE DO KOMUNIKACJI UART

W komunikacji UART dwa UART komunikują się bezpośrednio ze sobą. Transmisyjny UART konwertuje dane równoległe z urządzenia sterującego, takiego jak CPU, do postaci szeregowej, przesyła je szeregowo do odbierającego UART, który następnie konwertuje dane szeregowe z powrotem na dane równoległe dla urządzenia odbiorczego. Do przesyłania danych między dwoma UART-ami potrzebne są tylko dwa przewody. Dane przepływają z pinu Tx UARTa nadającego do pinu Rx UARTa odbiorczego:

Krok 2: Przepływ danych z pinu Tx transmitującego UART do pinu Rx odbierającego UART:

Przepływy danych od styku Tx nadajnika UART do styku Rx odbiornika UART
Przepływy danych od styku Tx nadajnika UART do styku Rx odbiornika UART

Krok 3:

UART przesyłają dane asynchronicznie, co oznacza, że nie ma sygnału zegarowego do synchronizacji wyjścia bitów z nadającego UART z próbkowaniem bitów przez odbierający UART. Zamiast sygnału zegarowego, transmitujący UART dodaje bity startu i stopu do przesyłanego pakietu danych. Bity te definiują początek i koniec pakietu danych, dzięki czemu odbierający UART wie, kiedy rozpocząć odczytywanie bitów.

Gdy odbierający UART wykryje bit startu, zaczyna odczytywać przychodzące bity z określoną częstotliwością znaną jako szybkość transmisji. Szybkość transmisji to miara szybkości przesyłania danych wyrażona w bitach na sekundę (bps). Oba UART muszą działać z mniej więcej taką samą szybkością transmisji. Szybkość transmisji między nadającymi i odbierającymi UART może różnić się tylko o około 10%, zanim taktowanie bitów stanie się zbyt odległe.

Krok 4:

Obraz
Obraz

Oba UART muszą być również skonfigurowane do przesyłania i odbierania tej samej struktury pakietów danych.

Krok 5: JAK DZIAŁA UART

UART, który będzie przesyłał dane, odbiera dane z szyny danych. Magistrala danych służy do przesyłania danych do UART przez inne urządzenie, takie jak procesor, pamięć lub mikrokontroler. Dane są przesyłane z szyny danych do nadawczego UART w formie równoległej. Po pobraniu przez transmitujący UART danych równoległych z szyny danych, dodaje bit startu, bit parzystości i bit stopu, tworząc pakiet danych. Następnie pakiet danych jest wyprowadzany szeregowo, bit po bicie, na pinie Tx. Odbierający UART odczytuje pakiet danych bit po bicie na swoim styku Rx. Odbierający UART następnie konwertuje dane z powrotem do postaci równoległej i usuwa bity startu, parzystości i stopu. Wreszcie odbierający UART przesyła pakiet danych równolegle do magistrali danych po stronie odbiorczej:

Krok 6: Obraz, jak działa UART

Obraz Jak działa UART
Obraz Jak działa UART

Krok 7:

Przesyłane dane UART są zorganizowane w pakiety. Każdy pakiet zawiera 1 bit startu, 5 do 9 bitów danych (w zależności od UART), opcjonalny bit parzystości i 1 lub 2 bity stopu:

Krok 8: Przesyłane dane UART są zorganizowane w pakiety obrazu

Przesyłane dane UART są zorganizowane w pakiety obrazu
Przesyłane dane UART są zorganizowane w pakiety obrazu

Krok 9:

ROZPOCZNIJ BIT

Linia transmisji danych UART jest zwykle utrzymywana na wysokim poziomie napięcia, gdy nie przesyła danych. Aby rozpocząć transfer danych, transmitujący UART przeciąga linię transmisyjną z wysokiego na niski na jeden cykl zegara. Gdy odbierający UART wykryje przejście wysokiego do niskiego napięcia, zaczyna odczytywać bity w ramce danych z częstotliwością szybkości transmisji.

RAMKA DANYCH

Ramka danych zawiera aktualnie przesyłane dane. Może mieć długość od 5 do 8 bitów, jeśli używany jest bit parzystości. Jeśli nie jest używany żaden bit parzystości, ramka danych może mieć długość 9 bitów. W większości przypadków dane są wysyłane najpierw z najmniej znaczącym bitem.

PARYTET

Parzystość opisuje parzystość lub nieparzystość liczby. Bit parzystości umożliwia odbierającemu UART stwierdzenie, czy jakiekolwiek dane uległy zmianie podczas transmisji. Bity mogą być zmieniane przez promieniowanie elektromagnetyczne, niedopasowane szybkości transmisji lub przesyłanie danych na duże odległości. Po tym, jak odbierający UART odczyta ramkę danych, zlicza liczbę bitów o wartości 1 i sprawdza, czy suma jest liczbą parzystą czy nieparzystą. Jeśli bit parzystości ma wartość 0 (parzystość), bity 1 w ramce danych powinny być sumą parzystą. Jeśli bit parzystości ma wartość 1 (nieparzystość), bity 1 w ramce danych powinny być liczbą nieparzystą. Gdy bit parzystości pasuje do danych, UART wie, że transmisja była wolna od błędów. Ale jeśli bit parzystości wynosi 0, a suma jest nieparzysta; lub bit parzystości to 1, a suma jest parzysta, UART wie, że zmieniły się bity w ramce danych.

BITY ZATRZYMANIA

o sygnalizuje koniec pakietu danych, wysyłający UART steruje linią transmisji danych z niskiego napięcia na wysokie napięcie przez co najmniej dwa czasy trwania bitów.

Krok 10: ETAPY TRANSMISJI UART

1. Transmisyjny UART odbiera dane równolegle z magistrali danych:

Krok 11: Transmisja obrazu UART odbiera dane równolegle z magistrali danych

Transmisja obrazu UART odbiera dane równolegle z magistrali danych
Transmisja obrazu UART odbiera dane równolegle z magistrali danych

Krok 12: 2. Transmisja UART dodaje bit startu, bit parzystości i bit(y) stopu do ramki danych:

2. Transmisja UART dodaje bit startu, bit parzystości i bit(y) stopu do ramki danych
2. Transmisja UART dodaje bit startu, bit parzystości i bit(y) stopu do ramki danych

Krok 13: 3. Cały pakiet jest wysyłany szeregowo z nadawczego UART do odbierającego UART. odbierający UART próbkuje linię danych ze wstępnie skonfigurowaną szybkością transmisji:

3. Cały pakiet jest wysyłany szeregowo z UART nadawczego do UART odbiorczego. odbierający UART próbkuje linię danych ze wstępnie skonfigurowaną szybkością transmisji
3. Cały pakiet jest wysyłany szeregowo z UART nadawczego do UART odbiorczego. odbierający UART próbkuje linię danych ze wstępnie skonfigurowaną szybkością transmisji

Krok 14: 4. Odbierający UART odrzuca bit startu, bit parzystości i bit stopu z ramki danych:

4. Odbierający UART odrzuca bit startu, bit parzystości i bit stopu z ramki danych
4. Odbierający UART odrzuca bit startu, bit parzystości i bit stopu z ramki danych

Krok 15: 5. Odbiorczy UART konwertuje dane szeregowe z powrotem na równoległe i przesyła je do szyny danych na końcu odbiorczym:

5. Odbiorczy UART konwertuje dane szeregowe z powrotem na równoległe i przesyła je do szyny danych na końcu odbiorczym
5. Odbiorczy UART konwertuje dane szeregowe z powrotem na równoległe i przesyła je do szyny danych na końcu odbiorczym

Krok 16: ZALETY I WADY UARTS

Żaden protokół komunikacyjny nie jest doskonały, ale UART są całkiem dobre w tym, co robią. Oto kilka zalet i wad, które pomogą Ci zdecydować, czy pasują do potrzeb Twojego projektu:

ZALETY

Używa tylko dwóch przewodów Nie jest potrzebny sygnał zegarowy Ma bit parzystości, aby umożliwić sprawdzanie błędów Strukturę pakietu danych można zmienić, o ile obie strony są do tego skonfigurowane Dobrze udokumentowana i powszechnie stosowana metoda WADY

Rozmiar ramki danych jest ograniczony do maksymalnie 9 bitów Nie obsługuje wielu systemów typu slave lub multiple master Szybkości transmisji każdego UART muszą mieścić się w zakresie 10% od siebie Przejdź do trzeciej części tej serii, Podstawy Protokół komunikacyjny I2C, aby poznać inny sposób komunikowania się urządzeń elektronicznych. A jeśli jeszcze tego nie zrobiłeś, zapoznaj się z częścią pierwszą, Podstawy protokołu komunikacyjnego SPI.

I jak zawsze dajcie znać w komentarzach, jeśli macie pytania lub coś jeszcze do dodania! Jeśli podobał Ci się ten artykuł i chcesz zobaczyć więcej podobnych, koniecznie śledź

Pozdrowienia

M. Junaid

Zalecana: