Czy Arduino Uart lub USART?
Zgodnie z arkuszem danych Arduino jest USART urządzenie. Arduino używa USART do seryjnej komunikacji między urządzeniami. Jeden szeregowy port USART jest obowiązkowy na wszystkich tablicach Arduino, jednak niektóre mają kilka. USART to nie tylko protokół komunikacji, ale jest obwodem sprzętowym na płycie Arduino. Głównym celem USART jest przesyłanie i odbieranie danych seryjnych z Arduino na dowolne inne urządzenie.
Kolejną ważną kwestią należy zauważyć między USART i UART, istnieje tylko różnica listu S co oznacza synchroniczne. USART oznacza uniwersalny odbiornik/nadajnik synchroniczny/asynchroniczny, podczas gdy UART oznacza uniwersalny odbiornik/nadajnik asynchroniczny, więc główną różnicą jest obsługuje zarówno komunikacja synchroniczna, jak i asynchroniczna, podczas gdy UART obsługuje jedynie asynchroniczną komunikację komunikacji. USART może funkcjonować jako UART, ale UART nie może działać jak USART.
Aby lepiej zrozumieć oba najpierw, musimy podkreślić różnicę między synchroniczną i asynchroniczną.
Transmisja to sposób przesyłania danych z jednego miejsca do drugiego. W Arduino nazwaliśmy tę transmisję danych jako komunikacja szeregowa. W urządzeniach odbywają się głównie dwa rodzaje komunikacji szeregowej:
Komunikacja synchroniczna
Synchroniczna transmisja danych jest rodzajem komunikacji, w której strumień lub blok danych jest przesyłany z źródła do miejsca docelowego. Ten sygnał danych towarzyszy sygnał czasowy znany jako zegar, a synchronizacja między nadawcą a odbiornikiem jest obowiązkowa. Jest to pełna transmisja dupleksowa i bardziej wydajna dla dużych ilości transferu danych.
Komunikacja asynchroniczna
Asynchroniczna transmisja transferuje dane w postaci bajtów. Nadawca i odbiornik nie wymagają synchronizacji. Jest to transmisja pół-dupleksu, start i stopy są dodawane z przesyłanymi danymi. Nie potrzebuje żadnego zegara do synchronizacji. Dane mają 8 bitów z dodatkowymi 2 bitami stop i start, więc całkowita liczba bitów wysłanych z znakiem wynosi 10.
Różnica między UART a USART
Zarówno usart, jak i. UART może dodać bity parzystości wraz z bitami Start i zatrzymania do strumienia danych, co pomaga w określaniu błędu. USART może zrobić to samo, ale ma dodanie synchronicznej komunikacji, której brakuje UART. Wygląda na to, że USART i UART są takie same, ale nie, oba mają pewne znaczące różnice, w przeciwnym razie dlaczego mielibyśmy je inaczej wymienić. Zobaczmy, jak oba różnią się w pracy.
Pierwsza różnica między UART i USART to sposób, w jaki dane są taktowane. UART używa bitu początkowego do synchronizacji strumienia danych z wewnętrznie wygenerowanym zegariem danych wewnątrz mikrokontrolera. Nie ma przychodzącego sygnału zegarowego ze strumieniem danych, a aby prawidłowo odbierać dane UART, musi znać szybkość transmisji przed osiągnięciem danych.
Z drugiej strony, USART ma tę zaletę, że synchronizacja. Gdy dane są wysyłane przez wysyłanie peryferyjnych, generowany jest również zegar, który pomoże stronie docelowej odbierać dane bez znajomości stawki BAUD z wyprzedzeniem. W USART używany jest osobna linia zegara, która zwiększy szybkość transmisji danych do wielu razy w porównaniu z UART.
Druga różnica między UART i USART to liczba protokołów może obsługiwać. UART ma bardzo ograniczone opcje z uruchomieniem, zatrzymaniem, a nawet dziwnym parytetem. UART jest prosty i oferuje ograniczone opcje z formatu podstawowego. Podczas gdy USART ma bardziej złożony charakter i obsługuje wiele protokołów, aby wymienić kilka, takich jak karta inteligentna, interfejsy RS-485, Modbus i wiele innych modułów. Jak już wspomniano, USART ma takie same możliwości asynchroniczne jak UART, może generować te same dane, co UART.
Oto krótkie porównanie UART i USART, aby dać lepsze wyobrażenie o nich.
USART | Uart |
USART jest w połowie dupleksem + pełny dupleks | UART to pełny dupleks |
USART jest szybszy niż UART | Transfer danych UART jest powolny |
Dane są przesyłane w blokach | Jeden bajt jest przesyłany jednocześnie |
USART może również pracować jako UART | UART nie może funkcjonować jak USART |
USART jest bardziej złożony | UART jest prosty i łatwy w obsłudze |
Sygnał zegara jest wysyłany z odbiornikiem danych, nie musi znać szybkości transmisji z wyprzedzeniem | Odbiornik powinien znać stawkę BAUD, aby otrzymywać dane |
Dane są przesyłane z określoną szybkością BAUD | Dane są przesyłane ze zmienną prędkością |
Jak korzystać z komunikacji UART/USART w Arduino
Aby ustalić szeregową komunikację między Arduino i innymi urządzeniami. Wszystkie tablice Arduino mają co najmniej jeden port lub te dwa szpilki do komunikacji seryjnej. W Arduino Uno tx jest w D1, a Rx jest w pin D0.
Aby przesyłać dane seryjnie, musimy podłączyć arduino tx pin z pinem RX modułu odbierającego lub sprzętowego i podobnie rx pin Arduino do tx pin innego urządzenia. Port USB na Arduino jest również wykorzystywany do komunikacji szeregowej, ale ważną rzeczą do odnotowania jest to, że Arduino UNO nie pozwala na jednoczesną komunikację nad pinami TX/RX i portem szeregowym.
Wniosek
Komunikacja seryjna to szybszy sposób komunikowania się między urządzeniami w tym współczesnym świecie, wszystkie mikrokontrolery zaprojektowane są z USART, aby umożliwić komunikację. Tutaj podkreśliliśmy wszystkie potencjalne różnice między Arduino USART i UART. Ponadto omówiliśmy szpilki Arduino do komunikacji seryjnej. Tak więc wniosek całej tej dyskusji jest Arduino to urządzenie USART, ale może również działać jak UART.