Podręcznik protokołu komunikacyjnego GE Je48a jest szeroko stosowanym protokołem komunikacyjnym, który jest często używany do tworzenia aplikacji przemysłowych i automatycznych systemów sterowania. Ten protokół jest wysoce wszechstronny i może być używany w wielu różnych aplikacjach, w tym robotyka, automatyka przemysłowa, systemy przemysłu 4.0, systemy kontroli jakości i wiele innych. Jego głównym celem jest zapewnienie szybkiej i niezawodnej komunikacji między urządzeniami przemysłowymi i kontrolą centralną. Protokół GE Je48a jest szczególnie przydatny w aplikacjach, w których wymagana jest wysoka niezawodność, wysoka wydajność i szybkie przesyłanie danych.
Ostatnia aktualizacja: Podręcznik protokołu komunikacyjnego Ge Je48a
UART, czyli uniwersalny asynchroniczny nadajnik-odbiornik szeregowy, jest jednym z najczęściej używanych protokołów komunikacyjnych typu urządzenie-urządzenie w systemach wbudowanych i nie tylko. W poniższym artykule opisano, jak używać UART jako protokołu komunikacyjnego dla sprzętu, postępując zgodnie ze standardową procedurą.
Po prawidłowej konfiguracji UART może współpracować z wieloma różnymi typami protokołów, które obejmują przesyłanie i odbieranie danych szeregowych. W komunikacji szeregowej dane są przesyłane bit po bicie za pomocą jednej linii lub jednego przewodu. Do komunikacji dwukierunkowej używamy dwóch przewodów w tego rodzaju interfejsie. W zależności od aplikacji i wymagań systemowych, komunikacja szeregowa wymaga mniej obwodów i przewodów niż inne rozwiązania, co zmniejsza koszty wdrożenia.W poniższym artykule omówimy podstawowe zasady korzystania z UART, koncentrując się na transmisji pakietów, standardowym protokole ramek i niestandardowych modyfikacjach ramek, które po wdrożeniu stanowią wartość dodaną dla zgodności bezpieczeństwa, zwłaszcza podczas tworzenia kodu. Podczas projektowania urządzenia niniejszy dokument może również pomóc, dzięki liście kroków, jakie trzeba zrealizować, by poprawnie stworzyć system. Celem artykułu jest lepsze zrozumienie zgodności ze standardami UART, aby zmaksymalizować możliwości i zastosowania, tego interfejsu.
George Bernard Shaw wrote:Największym problemem w komunikacji jest złudzenie, że takowa miała miejsce
”.Protokół komunikacyjny odgrywa dużą rolę w organizowaniu komunikacji między urządzeniami. Może być zaprojektowany na różne sposoby, w oparciu o konkretne wymagania systemowe, a protokoły te mają określone reguły, uzgodnione między urządzeniami, aby zapewnić skuteczną komunikację.Systemy wbudowane, mikrokontrolery i komputery najczęściej używają UART jako formy protokołu komunikacji sprzętowej. Spośród dostępnych protokołów komunikacyjnych UART wykorzystuje najmniej linii do transmisji i odbioru. Pomimo tego, że jest on szeroko stosowaną metodą sprzętowego protokołu komunikacyjnego, nie zawsze jest w pełni implementowany. Prawidłowa implementacja protokołu ramki jest często pomijana w przypadku stosowania modułu UART wewnątrz mikrokontrolera.Z definicji UART jest sprzętowym protokołem komunikacyjnym, który wykorzystuje asynchroniczną komunikację szeregową z konfigurowalną prędkością. Asynchroniczny oznacza, że nie ma tutaj sygnału zegarowego do synchronizacji bitów pomiędzy nadajnikiem i odbiornikiem.Interfejs
Rys. 1. Dwa interfejsy UART komunikujące się bezpośrednio ze sobą.
Dwa sygnały każdego interfejsu nazywają się:* Nadajnik – transmitter (Tx)
* Odbiornik – receiver (Rx)Głównym celem nadajnika i odbiornika na każdej linii układu jest, jak łatwo się domyślić, przesyłanie danych w jednym kierunku.
Nadajnik UART jest podłączony do sterującej magistrali danych w układzie, która przesyła dane równolegle. Stąd dane będą teraz przesyłane linią szeregowo, bit po bicie, do odbiornika UART. To z kolei spowoduje konwersję danych szeregowych na równoległe w urządzeniu odbiorczym. Linie UART służą jako medium komunikacyjne do przesyłania i odbierania danych. Urządzenie UART posiada pin nadawczy i odbiorczy przeznaczony do wysyłania lub odbierania sygnałów.W przypadku UART i większości komunikacji szeregowych, szybkość transmisji musi być ustawiona tak samo w urządzeniu nadawczym i odbiorczym. Szybkość transmisji to prędkość, z jaką informacje są przesyłane pomiędzy urządzeniami. W porcie szeregowym ustawiona prędkość transmisji jest maksymalną liczba przesyłanych bitów na sekundę.Tabela 1, poniżej, podsumowuje to, co musimy wiedzieć o UART.
Przewody | 2 |
Prędkościo | 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1000000, 1500000 |
Metoda transmisji | Asynchronous |
Maksymalna liczba urządzeń "master" | 1 |
Maksymalna liczba urządzeń "slave" | 1 |
W UART transmisja odbywa się w formie pakietów. Element łączący nadajnik i odbiornik obejmuje tworzenie pakietów szeregowych i kontroluje fizyczne linie sprzętowe. Pakiet składa się z bitu startu, ramki danych, bitu parzystości i bitów stopu.
Bit startu
Linia transmisji danych UART jest zwykle utrzymywana na wysokim poziomie napięcia, gdy nie przesyła danych. Aby rozpocząć przesyłanie danych, nadajnik ustawia linię w stanie niskim na jeden (1) cykl zegara. Gdy odbiorczy UART wykryje przejście z stanu wysokiego na niski, zaczyna odczytywać bity w ramce danych z częstotliwością szybkości transmisji.
Ramka danych
Ramka danych zawiera aktualne przesyłane dane. Może mieć długość od pięciu (5) do ośmiu (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ść nawet dziewięciu (9) bitów. W większości przypadków dane są wysyłane z najmniej znaczącym bitem wysyłanym jako pierwszy.
Bit parzystości
Parzystość opisuje parzystość lub nieparzystość danych. Bit parzystości jest sposobem dla odbiorczego UART, aby stwierdzić, czy dane uległy zmianie podczas transmisji. Bity mogą być zmieniane przez promieniowanie elektromagnetyczne, niedopasowane szybkości transmisji lub transfery danych na zbyt duże odległości.Po odczytaniu ramki danych przez odbiorczy UART, zlicza on liczbę bitów danych o wartości 1 i sprawdza, czy suma jest parzysta czy nieparzysta. Jeśli bit parzystości jest równy 0 (parzystość), to suma jedynek w ramce danych powinien być liczbą parzystą. Jeśli bit parzystości ma wartość 1 suma jest nieparzysta.Jeżeli 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 wynosi 1, a suma jest parzysta, UART wie, że bity w ramce danych uległy zmianie.
Bit stopu
Aby zasygnalizować zakończenie przesyłania danych, nadajnik UART podciąga linię ze stanu niskiego do wysokiego na jeden (1) lub dwa (2) cykle zegara danych.
Kolejne kroki transmisji UART
Pierwszy: Nadajnik URT otrzymuje szeregowe dane z szyny danych.
Drugi: Nadajnik UART dodaje bit startu. Parzystości i stopu do ramki danych.
Trzeci: Cały pakiet jest szeregowo przesyłany, poczynając od bitu startu, bit po bicie do odbiornika UART. Odbiornik ten próbkuje sygnał z częstotliwością wynikającą z prekonfigurowanej prędkości transmisji.
Czwarty: Odbiornik UART odrzuca bit startu, parzystości i stopu.
Piąty: Odbiornik UART konwertuje szeregowe dane do postaci równoległej i podaje je na szynę danych w urządzeniu.
Protokół ramki
Jedną z kluczowych funkcji, która jest dostępna w UART, ale nie zawsze jest w pełni wykorzystywana, jest implementacja protokołu ramki. Głównym zastosowaniem i znaczeniem tego jest zwiększone bezpieczeństwo i ochrona w każdym urządzeniu. Na przykład, gdy dwa urządzenia używają tego samego protokołu ramki UART, istnieje możliwość, że podczas łączenia się z tym samym UARTem - bez sprawdzenia konfiguracji urządzenia – linie zostaną podłączone do różnych, niepoprawnych pinów, co może spowodować nieprawidłowe działanie systemu.Z drugiej strony, wdrożenie protokołu zapewnia bezpieczeństwo ze uwagi na konieczność przeanalizowania otrzymanych informacji zgodnie z protokołem projektowanej ramki. Każdy protokół ramki jest specjalnie zaprojektowany, aby był unikalny i bezpieczny. Projektując protokół ramki, inżynierowie mogą konfigurować własne nagłówki i zakończenia transmisji, w tym np. dodawać bloki CRC itp. w projektowanych urządzeniach. Na rysunku 13 dwa (2) bajty są ustawione jako część nagłówka. Ustawiane elementy to nagłówek (header), zakończenie (trailer) oraz CRC, które są unikalne dla danego urządzenia.
Nagłówek 1 (H1 to 0xAB) i Nagłówek 2 (H2 to 0xCD) - Nagłówek to unikalny identyfikator, który określa, czy komunikujesz się z właściwym urządzeniem.Wybór polecenia (CMD) - Polecenie będzie zależało od listy poleceń służących do komunikacji między dwoma urządzeniami.Długość danych (DL) na polecenie - Długość danych będzie zależna od wybranego polecenia. Można zmaksymalizować długość danych w zależności od wybranego polecenia, więc może się różnić w zależności od niego. W takim przypadku długość danych można ustawić na każde polecenie.Dane n (różne dane) - Dane to ładunek, który ma być przesyłany z urządzenia.Trailer 1 (T1 to 0xE1) i Trailer 2 (T2 to 0xE2) – Zakończenia to dane, które są dodawane po zakończeniu transmisji. Podobnie jak nagłówek, można je jednoznacznie zidentyfikować.Cykliczne sprawdzanie nadmiarowości (formuła CRC) - Formuła cyklicznego sprawdzania nadmiarowego jest dodatkowym trybem wykrywania błędów w celu wykrywania przypadkowych zmian w przesyłanych danych. Wartość CRC urządzenia nadawczego musi zawsze być równa obliczeniom CRC po stronie odbiornika.Zalecane jest dodanie zabezpieczeń poprzez implementację protokołów ramek dla każdego urządzenia UART. Protokół ramki wymaga identycznej konfiguracji zarówno w nadajniku, jak i odbiornikuOperacje UART
Podczas korzystania z dowolnego protokołu komunikacji sprzętowej należy koniecznie zapoznać się z arkuszem danych i instrukcją obsługi konkretnego sprzętu. W tym celu należy zrealizować konkretne kroki:Po pierwsze: sprawdź interfejs w karcie katalogowej urządzenia.
Po drugie: w mapie pamięci układu sprawdź adres UART.
Po trzecie: Sprawdź szczegółowe informacje dotyczące portu UART, takie jak tryb pracy, długość bitów danych, bit parzystości i bity stopu. Przykładowe szczegóły portu UART z karty katalogowej:Mikrokontroler z portem UART full-duplex, który jest w pełni kompatybilny ze standardowymi UARTem. Port UART zapewnia uproszczony interfejs UART dla innych urządzeń peryferyjnych lub hostów, obsługując full-duplex, tryb DMA i asynchroniczny transfer danych szeregowych. Port UART obsługuje od pięciu do ośmiu bitów danych, bez bitu parzystości. Ramka jest zakończona półtora lub dwoma bitami stopu.Po czwarte: Sprawdź szczegóły UART, w tym obliczenia szybkości transmisji. Szybkość transmisji konfiguruje się za pomocą następującego wzoru (formuła ta różni się w zależności od mikrokontrolera).Przykładowe szczegóły operacji UART:
* 5 do 8 bitów danych
* 1, 2 lub 1 ½ bity stopu
* Brak, parzystość lub nieparzystość
* Programowalna częstotliwość próbkowania o 4, 8, 16, 32Szybkość transmisji równa jest PCLK / ((M + N / 2048) × 2^(OSR + 2) × DIV gdzie, OSR to współczynnik nadpróbkowania (UART_LCR2. OSR = od 0 do 3), DIV to dzielnik szybkości transmisji (UART_DIV = 1 do 65535), M to Ułamkowa szybkość transmisji DIVM M (UART_FBR. DIVM = 1 do 3), a N to ułamkowa szybkość transmisji DIVM M (UART_FBR. DIVN = 0 do 2047).Po piąte: W przypadku szybkości transmisji sprawdź, jakiego zegara peryferyjnego (PCLK) użyć. W tym przykładzie dostępne jest ustawienie PCLK na 26 MHz i PCLK 16 MHz. Zmienne OSR, DIV, DIVM i DIVN różnią się w zależności od konkretnego urządzenia.Tabela 2. Ustawienia dla zegara PCLK 26 MHz
Prędkość | OSR | DIV | DIVM | DIVN |
9600 | 3 | 24 | 3 | 1078 |
115200 | 3 | 4 | 1 | 1563 |
Prędkość | OSR | DIV | DIVM | DIVN |
9600 | 3 | 17 | 3 | 1078 |
115200 | 3 | 2 | 2 | 348 |
Nazwa | Opis |
UART_DIV | Dzielnik prędkości |
UART_FIBR | Ułamkowy dzielnik prędkości |
UART_LCR2 | Druga linia kontrolna |
Znajomość protokołu komunikacyjnego UART jest przydatna przy opracowywaniu niezawodnych systemów zorientowanych na jakość. Wiedza o tym, jak przesyłać dane za pomocą tylko dwóch przewodów, a także jak transportować całą paczkę danych, pomoże zapewnić przesyłanie i odbieranie danych bez błędów. Ponieważ UART jest najczęściej używanym protokołem komunikacyjnym dla sprzętu, wiedza ta może zapewnić elastyczność projektowania w przyszłych projektach.Przypadki użycia
Możesz używać UART do wielu aplikacji, takich jak:* Debugowanie: wczesne wykrywanie błędów systemowych jest ważne podczas programowania. Dodanie UART może w tym pomóc, przechwytując wiadomości z systemu.
* Śledzenie na poziomie funkcji produkcyjnych: funkcje takie są bardzo ważne w produkcji. Ostrzegają one operatorów np. o tym, co dzieje się na linii produkcyjnej.
* Aktualizacje systemu: aktualizacje oprogramowania są równie ważne. Posiadanie kompletnego, sprzętu z oprogramowaniem umożliwiającym aktualizację jest ważne dla kompletności systemu.
* Testowanie i weryfikacja: weryfikacja produktów przed opuszczeniem linii produkcyjnej pomaga dostarczać klientom produkty najwyższej jakości.Źródło: https://www. html
Strona korzysta z plików cookies i innych technologii automatycznego przechowywania danych do celów statystycznych, realizacji usług i reklamowych. Korzystając z naszych stron bez zmiany ustawień przeglądarki będą one zapisane w pamięci urządzenia, więcej informacji na temat zarządzania plikami cookies znajdziesz w Polityce prywatności.
Komputery i urządzenia połączone w sieć muszą się ze sobą komunikować. Aby to było możliwe, konieczne jest, aby robiły to tym samym językiem. Rolę języków komunikacji komputerów pełnią protokoły komunikacyjne (sieciowe).
Protokół jest to zbiór reguł, określających zasady komunikacji. W ciągu wielu lat, od czasu powstania pierwszych sieci komputerowych, opracowano wiele różnych protokołów, dzięki którym można osiągnąć różne efekty. Jedne protokoły przeznaczone są do przesyłania plików, inne do prowadzenia rozmów telefonicznych, a jeszcze inne wykorzystywane są przez gry komputerowe, do synchronizacji stanu rozgrywki. Niektóre protokoły pozwalają na szyfrowanie danych lub na ich kompresję. Istnieją nawet protokoły do przesyłania pieniędzy. Większość aplikacji internetowych działa na bazie protokołów HTTP i HTTPS.
Wszystkie protokoły są traktowane przez sprzęt jednakowo. Karty sieciowe, modemymodemy 3G i LTE wszystkie te dane traktują jak strumień bajtówbajtów i wysyłają tam, dokąd zostały zaadresowane. Problem rozpoznania protokołu komunikacyjnego spada na oprogramowanie. Programy rozpoznające są w stanie komunikować się za pomocą, co najwyżej kilku, zapisanych w ich kodzie protokołów. Kiedy napotyka na taki, którego nie zna, komunikacja staje się niemożliwa.
Komputery mogą przesyłać miedzy sobą sygnały niosące informacje rożnymi kanałami transmisyjnymi (przewodowymi: kable miedziane, kable światłowodowe lub bezprzewodowymi: radiowe, telewizyjne, satelitarne, mobilne).
W przypadku przesyłania dużych informacji dzieli się ją na pakiety. Pakiet posiada nagłówek, w którym umieszcza się: adres końcowy, adres kolejności tekstu i sumę kontrolną. Nagłówek pakietu zawiera informacje podobne do koperty (adres nadawcy i odbiorcy) oraz dodatkowe oznaczenia dotyczące podziału na pakiety.
Źródło: CP, licencja: CC BY 3.