Czy Arduino Uart lub USART

Czy Arduino Uart lub USART
Arduino to elektroniczna tablica rozwoju używana do komunikacji i interfejsu z wieloma sprzętem i czujnikami. Aby zbudować tę komunikację między Arduino a innymi urządzeniami, potrzebujemy protokołu, który pozwala Arduino przesyłać i odbierać dane. Arduino ma wiele protokołów, takich jak SPI, I2C i USART/UART. Tutaj omówimy, w jaki sposób USART i UART są używane w szeregowej komunikacji między Arduino a sprzętem.

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ą.

Co to jest komunikacja synchroniczna i asynchroniczna

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:

  • Synchroniczny
  • Asynchroniczny

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.