Analiza protokołu UART

1. Podstawa umowy

1.1. Wprowadzenie do Umowy

UART to „Universal Asynchronous Receiver/Transmitter”, skrót od Universal Asynchronous Transceiver. W latach 1860. XIX wieku, aby rozwiązać problem komunikacji komputera i dalekopisu, Bell wynalazł protokół UART, który konwertuje równoległe sygnały wejściowe na szeregowe sygnały wyjściowe. Ze względu na swoją prostotę i praktyczność, UART stał się bardzo szeroko stosowanym protokołem komunikacyjnym. Porty szeregowe, na które jesteśmy narażeni codziennie, RS232, RS485 i inne magistrale, do użytku wewnętrznego jest w zasadzie protokół UART.

Aby lepiej zrozumieć i przeanalizować relacje między protokołami a magistralami, zwykle dzielimy kompletną specyfikację komunikacji na warstwy fizyczne, warstwy protokołów i warstwy aplikacji. Warstwa fizyczna definiuje tylko prawdziwe właściwości sygnału (takie jak napięcie, prąd, zdolność sterowania itp.) oraz zgodność między sygnałem elektrycznym a sygnałem logicznym 0 i 1; Warstwa protokołu nie dba o sposób implementacji podstawowych zer i jedynek, a jedynie określa specyfikacje protokołu sygnałów logicznych i procesu komunikacji (takie jak początek, dane i koniec itp.); Warstwa aplikacji nie dba o sposób pozyskiwania danych, a jedynie definiuje znaczenie reprezentacji danych i sposób implementacji określonej logiki biznesowej.

Najprostsze zastosowanie protokołu UART, zwykle warstwa fizyczna potrzebuje tylko dwóch linii transmisyjnych, jednej do transmisji i jednej do odbioru, dzięki czemu uzyskuje się komunikację w pełnym dupleksie. W przypadku transmisji jednokierunkowych można również użyć tylko jednej linii transmisyjnej. Najbardziej typowym przykładem takiej aplikacji są połączone ze sobą porty RX/TX mikrokontrolera, umożliwiające komunikację UART opartą na poziomie TTL. W przypadku różnych odległości transmisji i wymagań dotyczących niezawodności, zastępując różne implementacje warstwy fizycznej, można uzyskać nasze wspólne magistrale komunikacyjne RS232, RS485 i inne.

1.2. Różne implementacje warstwy fizycznej

Ponieważ sygnałem wejściowym do warstwy protokołu UART jest sygnał logiczny 0/1, sygnał logiczny 0/1 można rozróżnić według różnych standardów poziomu w warstwie fizycznej. Dla różnych potrzeb komunikacyjnych można zastosować różne warstwy fizyczne. Na przykład prosta komunikacja na płycie lub wspólne scenariusze debugowania urządzeń, komunikacja protokołu UART między dwoma urządzeniami może odbywać się przy użyciu prostego poziomu LVTTL/TTL.

Uniwersalny port szeregowy wykorzystuje poziom RS232, który może zwiększyć odległość transmisji i wytrzymać pewien stopień zakłóceń sygnału. Koszt polega na tym, że w warstwie fizycznej wymagany jest odpowiedni układ translacji poziomu, nadajnik musi przekonwertować wewnętrzny sygnał wysokiego i niskiego poziomu na sygnał o wyższym napięciu +/- napięcie, a koniec odbiorczy musi przekonwertować +/- - sygnał napięciowy na wewnętrzny sygnał wysokiego i niskiego poziomu.

W przypadku komunikacji przemysłowej, w celu dalszej poprawy odległości transmisji i zwiększenia niezawodności sygnału, powszechnie stosowany jest standard poziomu RS485. Zwykłe sygnały o wysokim i niskim poziomie są konwertowane na parę sygnałów różnicowych po stronie nadawczej, a sygnały różnicowe są konwertowane na zwykłe sygnały o wysokim i niskim poziomie po stronie odbiorczej. Ponadto RS485 pozwala na podłączenie do 128 transceiverów na magistrali, podczas gdy TTL lub RS232 są połączeniami punkt-punkt.

1.2.1. Komunikacja UART oparta na TTL

Komunikacja UART oparta na TTL jest najprostszym przypadkiem użycia dla aplikacji z protokołem UART. Oznacza to, że wysoki i niski poziom cyfrowego wyjścia I/O są bezpośrednio przesyłane jako rzeczywisty sygnał fizyczny. Jeśli chodzi o fizyczne połączenie, tylko urządzenie musi być wspólną masą, a jednokierunkową komunikację urządzenia można zrealizować za pomocą linii sygnałowej. Jeśli wymagany jest dwukierunkowy pełny dupleks, używane są dwie linie sygnałowe.

Aby porównać różnice w implementacji różnych warstw fizycznych, możemy zaobserwować, jak rzeczywiste sygnały różnych warstw fizycznych różnią się, gdy przesyłane są te same dane. Tutaj, biorąc jako przykład znak transmisji „D”, poprzez oscyloskop kamienny, obserwować bezpośrednio sygnał przesyłany przez TTL (zacisk masy sondy jest podłączony do wspólnego końca masy urządzenia, a koniec sygnału sondy jest podłączony do niebieską linię sygnału na powyższym rysunku) i można uzyskać przebieg sygnału pokazany na rysunku 1-4. Jak widać z przebiegu, przy braku transmisji danych sygnał UART pozostanie na wysokim poziomie (o określonej amplitudzie sygnału decyduje napięcie zasilania I/O), sygnał będzie przeskakiwał podczas transmisji danych , a sygnał powróci do stanu wysokiego poziomu bezczynności po zakończeniu transmisji.

1.2.2. Komunikacja UART oparta na RS232

W celu zwiększenia możliwości napędu w celu zwiększenia odległości i niezawodności transmisji, magistrala RS232 wykorzystuje dwubiegunowy sygnał napięciowy do transmisji fizycznej. Zanim sygnał zostanie wysłany/odebrany, sygnał wewnętrzny i sygnał magistrali są konwertowane na siebie za pomocą układu przesuwającego poziom. Metoda połączenia jest dokładnie taka sama jak na poziomie TTL, a cała warstwa fizyczna jest tylko kolejną warstwą translacji poziomów.

Używając również jako przykładu znaku nadawczego „D”, sonda oscyloskopu Pushi jest podłączona do końca sygnału i można przechwycić rzeczywisty przebieg przedstawiony na rysunku 1-6. Widać, że przebieg RS232 jest w stanie spoczynku napięciem ujemnym, a przy transmisji danych sygnał zaczyna przeskakiwać między napięciami dodatnimi i ujemnymi, a po zakończeniu transmisji powraca do stanu ujemnego napięcia spoczynkowego.

1.2.3. Komunikacja UART oparta na RS485

RS485 jest przeznaczony do złożonych środowisk przemysłowych, a największą cechą magistrali RS485 jest wykorzystanie transmisji sygnałów różnicowych w porównaniu z fizycznymi warstwami innych protokołów UART. Przed wysłaniem sygnału sygnał single-ended jest konwertowany na sygnał różnicowy przez transceiver RS485, a następnie przesyłany do magistrali w celu transmisji; Również przed odbiorem, sygnał różnicowy na magistrali jest przekształcany przez transceiver na sygnał niesymetryczny, a następnie przesyłany do kontrolera UART w celu odbioru. Na magistrali RS485 do dwukierunkowej komunikacji w trybie pełnego dupleksu wymagane są dwie pary różnicowych linii sygnałowych (tj. 4 linie sygnałowe). Jeśli realizowana jest tylko dwukierunkowa komunikacja półdupleksowa, wymagana jest tylko para sygnałów różnicowych.

Ponownie, używając jako przykładu znaku nadawczego „D”, rzeczywisty przebieg pokazany na rysunku 1-8 można uzyskać za pomocą dwóch sond kanałowych (powszechnie określanych) sond oscyloskopu Pushi, które są podłączone do końców A/B jednego z sygnałów różnicowych. Widać, że przebieg na końcu A/B jest komplementarny. Przebieg na końcu A jest logiką do przodu (napięcie dodatnie w stanie bezczynności), a przebieg na zacisku B jest logiką odwrotną (napięcie ujemne w stanie bezczynności).

2. Specyfikacje protokołu

2.1. Struktura ramki UART

We wstępie do poprzedniej sekcji obserwowaliśmy rzeczywisty przebieg UART przez oscyloskop kamienny, więc jak dokładnie ten przebieg jest dokładnie rozpoznawany jako znak „D”, a nie coś innego? Wiąże się to z określeniem struktury ramki protokołu UART. Jak pokazano na rysunku 2-1:

Gdy dwa urządzenia muszą komunikować się za pośrednictwem protokołu UART, muszą jednocześnie uzgodnić:

  • Długość czasu na sygnał T (szybkość transmisji = 1/T)
  • Konkretna liczba bitów w każdym elemencie w strukturze ramki
  • Czy istnieje cyfra kontrolna i mechanizm działania cyfry kontrolnej (nieparzyste/parzyste/…). ja

Przy tych konwencjach urządzenie odbiorcze musi tylko czekać na nadejście bitu początkowego, a następnie próbkować kolejny przebieg w regularnych odstępach czasu, aby uzyskać określone przesyłane informacje. Biorąc za przykład kształt fali znaku „D”, proces rozdzielczości pokazano na rysunku 2-2:

2.1.1. Szybkość transmisji

Szybkość transmisji to bardzo ważne pojęcie protokołu UART, czyli wszystkich asynchronicznych protokołów szeregowych, czyli liczba bitów, które mogą być reprezentowane na jednostkę czasu (1 sekunda) lub może być również wyrażona jako odwrotność szerokości bitu . Na przykład przebieg UART o szybkości transmisji 115200 oznacza, że ​​może pomieścić 115200 bitów na sekundę, co oznacza, że ​​każdy bit danych stanowi około 8.68 uS czasu.

Asynchroniczne protokoły szeregowe, takie jak UART, w celu uproszczenia fizycznego połączenia sygnałów i zmniejszenia kosztów komunikacji, zazwyczaj mają tylko jedną linię sygnałową i nie mogą jednocześnie przesyłać danych i sygnałów zegarowych. Aby transceiver/urządzenie nadawcze prawidłowo rozdzieliło przebieg, musi mieć to samo ustawienie szybkości transmisji. Ten sam przebieg przy różnych szybkościach transmisji może uzyskać zupełnie inne informacje. W przypadku urządzenia odbiorczego tylko bit startu może być użyty jako punkt synchronizacji ramki danych, a pozostałe dane są określane przez szybkość transmisji w celu określenia określonej lokalizacji próbkowania.

Ponownie, używając jako przykładu kształtu fali znaku „D”, jak pokazano na rysunku 2-4, jeśli zostanie odebrany z niewłaściwą szybkością transmisji, możesz otrzymać całkowicie błędne informacje o danych.

2.1.2. Bezczynne bity

Gdy dane nie są przesyłane między urządzeniami, utrzymujący się wysoki poziom wskazuje na bezczynność. Im dłuższy czas trwania bezczynności i im dłuższy odstęp między dwiema ramkami danych, tym mniej danych jest przesyłanych na jednostkę czasu.

2.1.3. Rozpocznij bit

Odbiornik UART zawsze wykryje zmianę poziomu na linii sygnału, a gdy dane są przesyłane, nadawca przeciągnie linię sygnału z wysokiego poziomu do końca niskiego poziomu do stanu bezczynności i utrzyma trochę czasu. Kiedy odbiornik wykryje przesunięcie wysokiego poziomu, zaczyna odbierać sygnały.

2.1.4. Bity danych

Bit danych zawiera aktualnie przesyłane dane, które mają długość od 5 do 8 bitów, jeśli używana jest parzystość, i od 5 do 9 bitów, jeśli nie jest używana parzystość. Ogólnie rzecz biorąc, bity danych mają 8 bitów, a dane są wysyłane najpierw od najmniej znaczącego bitu, a wyższe bity są na drugim miejscu.

2.1.5. Sprawdź cyfry

Cyfry kontrolne mogą służyć do poprawy niezawodności transmisji. Jeżeli sygnał jest nieprawidłowy z powodu zakłóceń w procesie transmisji i powoduje błąd poziomu niektórych pozycji, można określić, czy dane odebrane i cyfra kontrolna są zgodne, obliczając, czy odebrane dane i cyfry kontrolne są zgodne, czyli w celu dostarczenia prawidłowych informacji do warstwy aplikacji w celu podjęcia decyzji o zaakceptowaniu/odrzuceniu odpowiednich danych.

2.1.6. Zatrzymaj bit

Bit stopu reprezentuje koniec ramki danych, a rzeczywisty sygnał to wysoki okres czasu. Długość bitu stopu można ustawić na bit stopu o długości 1, 1.5 lub 2 bitów. W większości przypadków używany jest bit stopu 1 bit.

Ponieważ UART jest protokołem asynchronicznym, początek każdej ramki można zsynchronizować z krawędzią skoku, ale bit stopu może obliczyć tylko pozycję względną na podstawie szybkości transmisji, a jeśli niski poziom zostanie rozpoznany w pozycji stopu, błąd ramki jest wygenerowany. W procesie komunikacji, w celu zmniejszenia problemu spowodowanego błędem szybkości transmisji, można ustawić różne długości bitów stopu w celu dostosowania.

3. Analizuj komunikację UART za pomocą analizatora logicznego

3.1. Oscyloskop a analizator stanów logicznych

Jako główny instrument testowo-pomiarowy ogólnego przeznaczenia, oscyloskopy mają naturalną przewagę w obserwacji szczegółów sygnałów analogowych. Na przykład praca w czasie rzeczywistym, z wysoką częstotliwością odświeżania przebiegu, może łatwo zaobserwować nagłe nieprawidłowe sygnały; Na przykład podczas wykonywania oceny szumu i optymalizacji jakości sygnału oscyloskop może porównywać podobieństwa i różnice sygnałów na tej samej magistrali i różnych węzłach, aby znaleźć ukryte problemy z integralnością sygnału.

Jednak oscyloskop ma też oczywiście kilka niewygodnych miejsc, oprócz kilku kanałów, ekran jest generalnie mały, obsługa nie jest droga komputer + mysz elastyczna i sterowana te problemy morfologiczne, do akwizycji i analizy sygnałów cyfrowych, największe problem oscyloskopu polega na tym, że głębokość przechowywania jest zbyt mała. Oscyloskop o wartości kilkuset tysięcy juanów może mieć również głębokość przechowywania zaledwie kilkuset Mpts. Jednocześnie, ze względu na ograniczenie głębokości zapisu, gdy konieczne jest wykonanie nieco dłuższego czasu akwizycji, rzeczywista częstotliwość próbkowania oscyloskopu gwałtownie spadnie, w wyniku czego zebrany przebieg nie będzie mógł odtworzyć sygnału rzeczywistego, tracąc znaczenie analizy.

Analizatory stanów logicznych to przyrządy testowo-pomiarowe zaprojektowane specjalnie do akwizycji i analizy sygnałów cyfrowych, a zebrane wyniki przebiegu mają tylko wysokie i niskie poziomy (czyli logiczne 0 i 1). Rekompensuje to jednak brak oscyloskopów w akwizycji i analizie sygnałów cyfrowych.

  1. 1. Większość analizatorów stanów logicznych jest obsługiwana na komputerze PC, z potężną wydajnością procesorów do komputerów stacjonarnych i interaktywnym doświadczeniem dojrzałych systemów operacyjnych, co znacznie poprawia wygodę i wydajność analizy sygnałów cyfrowych.
  2. 2. Liczba kanałów analizatora stanów logicznych jest duża, podstawowy analizator stanów logicznych DSLogic ma 16 kanałów, które mogą być zbierane w tym samym czasie, a użytkownik może również uzyskać produkty analizatora stanów logicznych z dziesiątkami lub nawet setkami kanałów w bardzo rozsądnej koszt.
  3. 3. Głębokość przechowywania analizatora stanów logicznych jest większa, na przykład DSLogic może osiągnąć głębokość przechowywania 16G w trybie strumieniowym, a jednocześnie utrzymać dość wysoką częstotliwość próbkowania, znacznie przekraczającą możliwości akwizycji większości oscyloskopów.
  4. 4. Analizatory logiczne na ogół zapewniają bogate funkcje dekodowania protokołów, które mogą przeprowadzać dogłębną analizę sygnałów cyfrowych. Na przykład DSLogic obecnie obsługuje ponad 100 protokołów dekodowania. Większość oscyloskopów ma ograniczone możliwości dekodowania, a większość z nich wymaga osobnego zakupu odpowiednich wtyczek.

Następnie skupimy się na wykorzystaniu analizatorów logicznych do akwizycji i analizy sygnałów UART w różnych sytuacjach.

3.2. Stwórz środowisko testowe dla analizatorów logicznych

3.2.1. Połączenie z DSLogic

DSLogic to przenośny analizator stanów logicznych oparty na łączności USB. Host DSLogic odpowiada za akwizycję sygnału i buforowanie, a następnie przesyła dane przez USB do oprogramowania DSView na komputerze hosta. DSView odpowiada za przetwarzanie danych falowych, wyświetlanie, analizę i odpowiednie funkcje interakcji człowiek-komputer.

Podczas używania wystarczy podłączyć host DSLogic bezpośrednio do portu USB na płycie PC za pomocą kabla USB do transmisji danych, otworzyć oprogramowanie DSView i sprawdzić, czy INDICATOR na hoście DSLogic staje się wiecznie zielony. W tym momencie połączenie i inicjalizacja analizatora stanów logicznych są zakończone. Jak pokazano na rysunku 3-4, bieżącą nazwę urządzenia w lewym górnym rogu i odpowiadający jej stan połączenia można zaobserwować w oprogramowaniu DSView.

3.2.2. Połączenie sygnału UART

W przypadku wszystkich pomiarów sprzęt testowy i mierzony sygnał muszą opierać się na wspólnej płaszczyźnie odniesienia, którą powszechnie określa się jako uziemienie, tak aby zmierzony sygnał można było prawidłowo zebrać i zmierzyć. W niektórych przypadkach nie ma wyraźnego uziemienia, ale wyniki pomiarów wydają się nie stanowić problemu, ponieważ sprzęt pomiarowy i mierzony sygnał są podłączone do uziemienia w inny sposób, np. ten sam używany zasilacz lub odniesienie uziemienie jest jednocześnie podłączone do zacisku uziemienia sieci. Jednak przy wykonywaniu rygorystycznych pomiarów sprzęt pomiarowy powinien być uziemiony zgodnie z badanym sygnałem. Im większy obszar pętli uziemienia sygnału od mierzonego sygnału do urządzenia pomiarowego, tym łatwiej sygnał jest zakłócany, co skutkuje błędami pomiarowymi lub nawet błędami pomiarowymi.

W przypadku sygnałów UART, przy dostępie do analizatora stanów logicznych, w najprostszym przypadku wystarczy podłączyć 2 przewody, jeden do masy odniesienia, a drugi do mierzonego sygnału. W przypadku różnych implementacji warstwy fizycznej protokołu UART, o których wspominaliśmy wcześniej, sposób łączenia sygnałów będzie nieco inny.

Np. dla sygnału UART na poziomie TTL, oprócz podłączenia masy odniesienia, wystarczy podłączyć testowany sygnał (TX lub RX) do odpowiedniego wejścia kanału analizatora logicznego.

W przypadku sygnałów magistrali RS232 możemy zmierzyć sygnał magistrali po translacji poziomu (DSLogic ma wytrzymywany zakres napięcia +-30V na wejściu kablowym, a zakres sygnału +-15V RS232 może być podłączony bezpośrednio) lub możemy mierzyć wewnętrzny sygnał cyfrowy przed translacją poziomu. Jego metoda okablowania jest zgodna z sygnałem TTL, jedyną rzeczą, na którą należy zwrócić uwagę, jest to, że sygnał RS232 zmienia poziom (ujemne napięcie w stanie bezczynności, czyli niski poziom), podczas dekodowania protokołu UART możemy odwrócić odpowiedni poziom sygnału w okno ustawień dekodowania DSView (opcja Invert Signal jest ustawiona na yes).

Magistrala RS485 wykorzystuje sygnały różnicowe, a gdy do akwizycji sygnału używamy analizatora logicznego, należy zwrócić szczególną uwagę na podłączenie sygnału mierzonego. Po pierwsze, miejsce odniesienia analizatora stanów logicznych musi być połączone z masą odniesienia odpowiedniego testowanego urządzenia nadawczo-odbiorczego RS485, tak aby można było zagwarantować, że analizator stanów logicznych ma poprawną płaszczyznę odniesienia poziomu; Po drugie, dla sygnałów różnicowych, analizator logiczny musi jedynie uzyskać wysoki i niski poziom homopolaryzacji z sygnałem wewnętrznym. Z punktu widzenia sygnałów cyfrowych droga różnicowa tylko poprawia niezawodność transmisji sygnału, bez dodawania dodatkowych informacji. Jak pokazano na rysunku 3-7, podczas testowania sygnału magistrali 485 za pomocą analizatora logicznego, podłącz masę odniesienia transceivera odpowiedniego urządzenia i sygnał A+ na magistrali różnicowej.

Oczywiście, jeśli tylko sygnał B może być zebrany, możemy również ustawić dekoder UART, aby odwrócił sygnał, aby uzyskać prawidłowy wynik rozdzielczości protokołu podczas dekodowania w DSView.

3.2.3. Ustawienia progów

Próg analizatora stanów logicznych to napięcie oceny wysokiego i niskiego poziomu, to znaczy, gdy napięcie sygnału wejściowego jest wyższe niż napięcie progowe, akwizycja jest na wysokim poziomie; Gdy napięcie sygnału wejściowego jest poniżej napięcia progowego, akwizycja jest niska.

W przypadku protokołu UART wprowadziliśmy wcześniej, że ma on różne implementacje warstwy fizycznej, a różne implementacje warstwy fizycznej mają różne standardy poziomu. Musimy tylko wybrać odpowiedni próg, aby w różnych przypadkach odróżnić wysoki i niski poziom. Progi pokazane na rysunku 3-8 mogą zasadniczo spełnić ten wymóg.

W niektórych przypadkach amplituda sygnału różnicowego magistrali RS485 może zmieniać się w szerokim zakresie ze względu na konfigurację lub debugowanie. Ponieważ specyfikacja RS485 przewiduje, że dopóki napięcie różnicowe między AB jest większe niż 200mV, można je uznać za wysokie. W tym momencie możemy za pomocą kamiennego oscyloskopu obserwować aktualną amplitudę poziomu sygnału, a następnie zdecydować o odpowiednim ustawieniu progu. Musisz tylko upewnić się, że ustawione napięcie progowe pozwala na rozsądne rozróżnienie między wysokim a niskim poziomem.

3.3. Prosta akwizycja sygnału UART

Większość sygnałów UART to sygnały o niskiej prędkości, takie jak najczęściej używana szybkość transmisji 115200, co wskazuje, że częstotliwość sygnału wynosi tylko 115.2 kHz. Takie sygnały można uzyskać bezpośrednio przy użyciu domyślnych ustawień DSLogic. Tutaj, biorąc jako przykład host o ustalonym interwale 1s i wielokrotnie wysyłając znak 'D', opisano, jak używać analizatora logicznego do pozyskiwania i analizowania takich sygnałów UART.

3.3.1. Akwizycja sygnału

Po przygotowaniu połączenia sprzętowego i sygnałowego, kliknij przycisk „Start” oprogramowania DSView bezpośrednio, aby pobrać testowany sygnał przy domyślnych ustawieniach (czas akwizycji z częstotliwością próbkowania 1 MHz 1 s). Jeśli chcesz zmodyfikować częstotliwość próbkowania i czas trwania akwizycji, wybierz odpowiednie parametry bezpośrednio w odpowiednim polu rozwijanym. Zaleca się, aby zasada ustawiania częstotliwości próbkowania była 10 lub więcej razy większa od maksymalnej częstotliwości mierzonego sygnału, na przykład dla sygnałów UART o szybkości transmisji 115200 bodów najszybsza częstotliwość sygnału wynosi 115.2 KHz, gdy częstotliwość próbkowania 1 M wynosi wybrany, każdy sygnał bitowy będzie miał 8 lub 9 punktów próbkowania, a odpowiadający mu błąd fazy wynosi +-1/8 (12.5%); Po wybraniu częstotliwości próbkowania 10M na bit sygnału przypada 86 lub 87 punktów próbkowania, co odpowiada błędowi fazy +-1/86 (1.16%). Oczywiście generalnie nie zaleca się używania zbyt dużej częstotliwości próbkowania, ponieważ im wyższa częstotliwość próbkowania, tym krótszy czas, w którym można ją zebrać, a zbyt wysoka częstotliwość próbkowania może zbierać wiele skoków na pojedynczym skoku krawędź wolnego sygnału, powodując problemy z dekodowaniem protokołu. Rysunek 3-9 przedstawia wynikowy przebieg sygnału uzyskany przy użyciu ustawień domyślnych.

Jak widać na rysunku 3-9, kanał 0 odbiera sygnał, który jest stale wysoki, ale nie znajduje żadnych skoków. Uważnie obserwuj linijkę czasu nad oknem przebiegu i pasek przewijania na dole okna, aby wiedzieć, że bieżące okno wyświetla tylko część zebranego przebiegu, a nie wszystkie sygnały. W tym momencie można powiększyć za pomocą kółka myszy lub kliknąć prawym przyciskiem myszy obszar przebiegu, aby wyświetlić wszystkie przebiegi przez cały czas trwania akwizycji. Uzyskaj wynik pokazany na rysunku 3-10.

Na podstawie powyższego rysunku chcemy przyjrzeć się tylko części przejściowej kanału 0. Możesz wyłączyć wyświetlanie przebiegów innych kanałów w oknie Opcje i dostosować wysokość wyświetlania sygnału kanału. Następnie skieruj mysz na docelowy przebieg i jednocześnie za pomocą kółka myszy, aby powiększyć przebieg wskazanej pozycji; Alternatywnie możesz wybrać obszar przebiegu, który chcesz powiększyć, przytrzymując prawy przycisk myszy w polu. Przytrzymaj również lewy przycisk myszy, aby przesunąć przebieg w lewo iw prawo. Uzyskaj szczegóły przebiegu pokazane na rysunku 3-11.

Podczas obserwowania przebiegu, umieszczenie myszy nad przebiegiem impulsu może wyświetlić informacje, takie jak szerokość impulsu, okres, częstotliwość i współczynnik wypełnienia bieżącego sygnału. W tym samym czasie możesz również dodać kursor, klikając dwukrotnie lewy przycisk myszy, a gdy przesuniesz kursor, automatycznie przeskoczy on do pobliskiej krawędzi skoku.

3.3.2. Dekodowanie UART

Przebieg sygnału zbierany przez analizator stanów logicznych zmienia się w czasie tylko przy wysokich i niskich poziomach (0/1), co nie sprzyja naszej ukierunkowanej analizie procesu i treści transmisji sygnału. Chociaż możemy użyć gołego oka do przetłumaczenia zawartości protokołu odpowiadającej przebiegowi zgodnie ze specyfikacją protokołu, znacznie zmniejszy to wydajność analizy. Wbudowany dekoder DSView zapewnia bogatą zawartość dekodowania protokołu, zamieniając nudne przebiegi w znaczące znaki, znaczniki i zawartość danych. Znacznie ułatwia inżynierom analizę i zrozumienie sygnałów w celu znalezienia komunikatów o błędach lub krytycznych danych.

W oprogramowaniu DSView dekodowanie protokołu pozyskanego przebiegu jest bardzo proste, wystarczy otworzyć panel „Decode”, wyszukać odpowiedni dekoder (tu wybieramy 1: protokół UART) i ustawić odpowiednie opcje dekodera (w tym wyświetlanie/kanał /struktura ramki/format itp.). Po ustaleniu, oprogramowanie rozpocznie dekodowanie protokołu UART na wybranym kanale. Zdekodowany wynik jest wyświetlany w kanale protokołu. Pokazano to na rysunku 3-12.

Podczas wybierania dekodera, DSView zapewnia wygodną funkcję wyszukiwania protokołu, wystarczy wpisać kluczowe znaki w polu wyszukiwania protokołu, DSView wyświetli listę wszystkich dekoderów zawierających te znaki, gdzie użytkownik może wybrać właściwy dekoder. Jak pokazano na rysunku 3-13, istnieją dwa protokoły związane z UART 0: UART i 1: UART, gdzie 0: UART to uproszczony dekoder, który nie analizuje informacji o bitach, ani nie obsługuje układania w stos protokołów wyższego poziomu, kiedy chcemy uzyskać tylko dane odpowiadające przebiegowi, możesz użyć tego uproszczonego protokołu, aby skrócić czas dekodowania i zasoby pamięci.

Okno ustawień dekodera ma wiele opcji ustawień związanych z dekodowaniem, a zawartość okna ustawień różnych protokołów będzie różna. Istnieje kilka opcji, które muszą ustawić wszystkie dekodery, na przykład zgodność między sygnałami kanału i protokołu. Tutaj używamy sygnału UART przechwyconego przez kanał 0, więc odpowiedni kanał, który ma zostać zdekodowany, powinien być ustawiony na kanał 0.

Opcje ustawień związane z protokołem wyjaśniliśmy szczegółowo w sekcji dotyczącej struktury ramek, w rzeczywistej operacji można również uzyskać za pomocą oprogramowania komputera hosta portu szeregowego (asystent debugowania portu szeregowego itp.), Aby uzyskać te informacje. Pokazano to na rysunku 3-14.

W przypadku dekodowanej zawartości danych DSView obsługuje różne formaty wyświetlania. Na przykład poprzednio uzyskany sygnał UART wyświetla znak 'D' w postaci kodów ASCII lub może być zmodyfikowany do trybu wyświetlania szesnastkowego (Hex), a wynik wyświetli 0x44. Pokazano to na rysunku 3-15. Obecnie obsługiwane formaty wyświetlania to: szesnastkowy (szesnastkowy), dec (dziesiętny), ósemkowy (ósemkowy), bin (binarny) i kod ascii.

3.4. Akwizycja pojedynczej transmisji UART

Gdy przebieg, który chcemy przechwycić, jest sygnałem okazjonalnym, nie wiemy, kiedy przebieg się pojawi, a jeśli zastosujemy metodę bezpośredniego pozyskiwania, przez większość czasu możemy uchwycić tylko przebieg sygnału bezczynnego, a nie przechwytywać sygnał w czasie rzeczywistej transmisji.

W tej chwili może zostać przechwycony przez wyzwalanie. Ustawiając odpowiednie warunki wyzwalania, możemy kontrolować czas rozpoczęcia akwizycji sygnału zgodnie ze zmianą kształtu fali, tak aby dokładnie uchwycić kształt fali sygnału, który chcemy zobaczyć.

3.4.1. Tryb buforowy

DSLogic obsługuje dwa tryby akwizycji: tryb strumieniowy i tryb buforowy. Dane zebrane w trybie Stream są przesyłane do komputera w czasie rzeczywistym, a następnie przetwarzane przez DSView. Dane zebrane w trybie buforowania są najpierw buforowane w wewnętrznej pamięci podręcznej sprzętu DSLogic, a następnie przesyłane do komputera PC po zakończeniu akwizycji i przetwarzane przez DSView.

Oprócz korzyści płynących z uzyskania wyższych częstotliwości próbkowania, tryb buforowy obsługuje również więcej opcji i ustawień wyzwalania, takich jak wyzwalanie wielopoziomowe, wyzwalanie szeregowe i ustawianie pozycji wyzwalania. Z drugiej strony tryb strumieniowy obsługuje tylko proste wyzwalanie.

3.4.2. Ustawienia wyzwalania

Dla prostego wyzwalania możemy ustawić opcję wyzwalania bezpośrednio obok kanału. Odpowiada to kolejno narastającej krawędzi, wysokiej, opadającej krawędzi, niskiemu poziomowi i dowolnemu wyzwalaczowi krawędzi. Po prostu zachowaj domyślny tryb prostego wyzwalania w panelu wyzwalania. Na przykład dla transmisji UART, która nie wie, kiedy nastąpi, możemy wybrać wyzwalanie zbocza opadającego. Gdy sygnał UART pozostaje bezczynny, wyzwalacz nie jest spełniony. DSLogic czeka na przybycie warunku wyzwalacza, jak pokazano na rysunku 3-17.

Gdy UART rozpoczyna transmisję pierwszego bitu startu, warunek wyzwalania jest aktywowany, a DSLogic uzyskuje przebieg sygnału w momencie wyzwalania. Pokazano to na rysunku 3-18.

Rozważmy bardziej złożony scenariusz wyzwalania, na przykład urządzenie A stale wysyła losowo dane do urządzenia B, a urządzenie B odpowiada na różne dane zgodnie z zawartością danych wysyłaną przez urządzenie A. Jeśli chcemy wiedzieć, jakie dane Urządzenie A wysyła do urządzenia B przed wysłaniem danych 0, jak ustawić warunek wyzwalania, aby przechwycić przebieg w odpowiednim momencie?

Istnieją dwa problemy, które należy rozwiązać tutaj, najpierw musimy ustawić lokalizację wyzwalacza, abyśmy mogli zobaczyć dane przed wyzwalaczem, a nie dane po wyzwalaczu; Po drugie, musimy znaleźć charakterystykę przebiegu urządzenia B wysyłającego dane 0 i przekonwertować je na odpowiedni warunek wyzwalania.

Analiza protokołu UART

Rysunek 3-19 Pozycja spustu

Zgodnie z zasadami protokołu UART, przebieg wysyłający dane 0 będzie stosunkowo szerokim ciągłym sygnałem impulsowym niskiego poziomu. Jeśli szybkość transmisji UART wynosi 115200, a ustawiona przez nas częstotliwość próbkowania wynosi 1 MHz, przebieg danych 0 jest pokazany na rysunku 3-20, co będzie impulsem niskiego poziomu około 78.125 uS.

Aby ustawić zaawansowany wyzwalacz lub pozycję wyzwalacza, wymaga obsługi trybu bufora, musisz najpierw ustawić „Tryb pracy” na „Tryb bufora” w „Opcjach” i nie wybierać opcji „Kompresja sprzętowa RLE”. Ustaw zaawansowany warunek wyzwalania na kanał 1 z ciągłym niskim poziomem 75 punktów próbkowania (co odpowiada częstotliwości próbkowania 1 MHz, która jest niskim poziomem 75us) i ustaw pozycję wyzwalania na 80%, aby ułatwić obserwację danych przed wyzwoleniem. Konkretne ustawienia pokazano na rysunku 3-21.

Zgodnie z tym warunkiem wyzwalania, jest on wyzwalany, gdy urządzenie B wysyła dane 0, a uzyskany przebieg jest pokazany na rysunku 3-22.

3.4.3. Powtórz kolekcję

W niektórych przypadkach musimy za każdym razem dynamicznie obserwować stan niektórych sygnałów, np. zawartość danych wysyłanych przez Burst, ale nie wiemy, kiedy dane są wysyłane i nie można często klikać przycisku „Start” . DSView zapewnia tryb „powtórzenia” akwizycji, który automatycznie pozyskuje i aktualizuje przebiegi po spełnieniu wyzwalania. Kiedy debugujemy niektóre okresowe sygnały burst, bardzo wygodnie jest obserwować wyniki dynamicznego pozyskiwania i analizowania protokołu w trybie powtarzania.

Tryb powtarzania można ustawić, jak pokazano na rysunku 3-23. Interwał powtórzeń to minimalny czas przebywania między dwiema próbkami, aby ułatwić obserwację kształtu fali i wyniki dekodowania poprzedniej akwizycji.

3.5. Akwizycja długoterminowych transmisji UART

Gdy konieczne jest pozyskiwanie ultradługich przebiegów do analizy, możemy skorzystać z trybu Stream. DSLogic może osiągnąć głębokość próbkowania 16G na kanał w trybie Stream. Przy częstotliwości próbkowania 1 MHz czas akwizycji może osiągnąć 16G/1M ≈ 16000s, czyli ponad 4 godziny.

3.5.1. Tryb strumieniowy

Konfiguracja trybu strumieniowego jest pokazana na rysunku 3-24, a różne wersje sprzętu DSLogic obsługują różne opcje kanałów trybu strumieniowego. W przypadku U3Pro16, w oparciu o port USB3.0, może osiągnąć 3 kanały przy częstotliwości próbkowania do 1 GHz, 6 kanałów przy częstotliwości próbkowania do 500 MHz, 12 kanałów przy częstotliwości próbkowania do 250 MHz i 16 kanałów przy częstotliwości próbkowania do 125 MHz.

Gdy ilość zebranych danych jest stosunkowo duża, do dekodowania można użyć protokołu 0:UART, w porównaniu z 1:UART, który pomija wyprowadzanie informacji o bitach, nie obsługuje stosów protokołów wysokiego poziomu i może skrócić czas dekodowania i zmniejszyć zajęcie pamięci. Pozostałe funkcje są takie same jak 1: UART. Efekt dekodowania pokazano na rysunku 3-25.

3.5.2. Wyświetlana jest lista protokołów

Jak pokazano na poniższym rysunku, graficzny wynik dekodowania jest całkowicie zsynchronizowany w czasie z uzyskanym przebiegiem, co pomaga nam zrozumieć przebieg i znaleźć problem, ale jednocześnie, ze względu na skalę wyświetlania czasu, nie jest sprzyjające przeglądaniu wyniku dekodowania. Wyświetlacze list rekompensują tę wadę, ułatwiając przeglądanie i analizowanie dużej ilości dekodowanej treści.

DSView zapewnia sposób na przeskakiwanie między wynikami graficznymi i listowymi. Kliknij dowolny wiersz na liście wyników, aby automatycznie przeskoczyć do odpowiedniego wyniku przebiegu. Możesz także wybrać, czy automatycznie powiększać przebieg podczas przeskakiwania, czy też naprawić bieżącą kolumnę współczynnika powiększenia przebiegu. Dodatkowo, gdy oglądamy przebieg w określonym momencie, jeśli chcemy przeskoczyć do pozycji, w której na liście wyświetlany jest wynik dekodowania odpowiadający temu przebiegowi, wystarczy kliknąć przycisk pozycjonowania w prawym górnym rogu okno wyświetlania listy.

Ponadto zdekodowaną treść można wyeksportować do pliku za pomocą wyświetlania listy. Jak pokazano na powyższym rysunku, klikając przycisk „Zapisz” wyświetlany na liście, możesz wyeksportować aktualnie zdekodowaną zawartość do pliku csv lub txt, co jest wygodne w przypadku przetwarzania danych innych firm, takich jak dane wejściowe do programu Matlab do analizy lub jako dane wejściowe dla innego oprogramowania.

3.5.3. Wyszukiwanie danych dekodowania

Kolejną zaletą wyświetlania listy jest to, że zdekodowane wyniki mogą być używane jako ciągi do wyszukiwania wyników, na przykład wyszukiwania określonych operacji lub określonych bajtów danych, które mogą szybko zlokalizować lokalizację, którą należy wyświetlić.

Wprowadź słowo kluczowe, które chcesz wyszukać, w polu wyszukiwania, a następnie naciśnij przyciski do przodu/do tyłu, aby znaleźć zdekodowaną zawartość zawierającą słowo kluczowe, a interfejs przebiegu przeskoczy do odpowiedniej lokalizacji do analizy. Jeśli analizujesz wyniki segmentu, możesz kliknąć wiersz na liście kontrolnej, a przyciski Dalej/Wstecz wyszukują poprzednie i następne dopasowania, zaczynając od tego zachowania, zamiast zaczynać od zera.

W przypadku protokołu UART DSView obsługuje również wielowierszowe wyszukiwanie danych. Może służyć do znajdowania ciągłych wyników w postaci ciągów, które pojawiają się w Twoich danych. Jak pokazano na rysunku 3-29, wielowierszowe wyszukiwanie danych łączy wiele słów kluczowych ze znakiem „-”.

3.5.4. Wyszukiwanie przebiegów

DSView obsługuje nie tylko wyszukiwanie dekodowanych wyników, ale także funkcję wyszukiwania oryginalnego przebiegu. Przebiegi można szybko zlokalizować w wielu scenach. Na przykład, gdy przebieg jest przesyłany nagle, ponieważ okres bezczynności jest stosunkowo długi, nie można zobaczyć szczegółowego przebiegu przesyłanego wiele razy w tym samym czasie, można skorzystać z wyszukiwania przebiegu i natychmiast przeskoczyć do następnego skoku przebiegu. przeglądanie przebiegu w poprzednim momencie, aby upewnić się, że współczynnik powiększenia pozostaje niezmieniony.

Zaznacz pasek narzędzi „Wyszukaj”, pole wyszukiwania pojawi się pod oknem oprogramowania, kliknij pole wyszukiwania, pojawi się okno ustawień wyszukiwania, określ krawędź skoku kanału, możesz wyszukać przebieg spełniający kryteria po lewej i prawej stronie Klucze. Jednocześnie możesz również ręcznie przesunąć kursor wyszukiwania, aby określić, gdzie rozpocznie się wyszukiwanie.

Po wybraniu wyszukiwania pojawia się kursor ze znacznikiem „S”, stan początkowy jest szary, jeśli klikniesz w lewo/w prawo, aby wyszukać i znaleźć przebieg spełniający kryteria, kursor zmieni kolor na niebieski i automatycznie przesunie się do lokalizacji wyszukiwania . Jeśli ręcznie przesuniesz kursor „S”, kursor ponownie zmieni kolor na szary.

3.5.5. Użycie kursora

DSView obsługuje szeroki zakres operacji kursora, umożliwiając nie tylko pomiary czasowe za pomocą kursora, ale także oznaczanie i śledzenie specjalnych przebiegów za pomocą kursora. Gdy przebieg jest bezczynny lub interwał jest długi, możesz wstawić kursor w każdej interesującej pozycji, a jeśli chcesz przeskoczyć do interesującego przebiegu, wystarczy kliknąć prawym przyciskiem myszy obszar linijki, a następnie kliknąć numer sekwencji kursora, do którego chcesz przeskoczyć, który może przeskoczyć do odpowiedniej pozycji kursora.

Jeśli chcesz przesunąć kursor, wystarczy przesunąć mysz w pobliżu kursora, gdy kursor pojawi się pogrubiony, kliknij lewym przyciskiem myszy, aby wybrać, kursor będzie podążał za ruchem myszy, określ pozycję i ponownie kliknij lewym przyciskiem aby zwolnić kursor. Gdy chcesz, aby kursor został przyciągnięty do jednej z krawędzi skoku określonego kształtu fali kanału, wystarczy przesunąć mysz w pobliżu krawędzi skoku, a kursor automatycznie przyciągnie do krawędzi skoku.

3.5.6. Pomiary myszy

Oprócz pomiarów opartych na kursorze, DSView zapewnia wygodniejsze pomiary myszy. Na przykład pomiary szerokości impulsu prądu, okresu, cyklu pracy i częstotliwości (wystarczy umieścić mysz nad zmieniającym się impulsem); Pomiar liczby zboczy (kliknięcie w pozycję początkową i końcową przebiegu automatycznie zlicza zbocza skoku tego interwału); i pomiar odległości od krawędzi (kliknij myszką na krawędź początkową i przejdź do krawędzi końcowej).

Jak pokazano na rysunku 3-31, przesuń mysz do pozycji początkowej krawędzi przejścia, kliknij lewym przyciskiem myszy, wybierz początkową krawędź przejścia, przesuń mysz do pozycji końcowej krawędzi przejścia i odległość między nimi zostaną wyświetlone krawędzie przejścia (czas trwania/interwał próbkowania), a lewy przycisk myszy zostanie ponownie kliknięty, aby zakończyć pomiar.

4. Często Zadawane Pytania

4.1. Określ nieznaną szybkość transmisji

Gdy nie możemy wcześniej uzyskać szybkości transmisji przebiegu UART, możemy również odgadnąć rzeczywistą szybkość transmisji na podstawie uzyskanego przebiegu. DSView zapewnia dekoder „Guess bitrate”, który pozwala odgadnąć parametry szybkości transmisji arbitralnego ciągu falowego. Zasada szybkości transmisji Guess polega na znalezieniu najwęższej szerokości impulsu w przebiegu fali jako szerokości przebiegu bitu, a następnie obliczeniu jego odwrotności jako szybkości transmisji. Tak więc może być wiele wyników, musimy tylko obserwować, czy odpowiedni impuls ma rozsądną szerokość impulsu, a następnie wybrać maksymalny wynik szybkości transmisji. Pokazano to na rysunku 4-1.

Po uzyskaniu szybkości transmisji można ją ustawić na opcje dla dekodera UART. Ponieważ protokół UART resynchronizuje każdy bit startowy, błąd szybkości transmisji będzie się kumulował tylko w jednej ramce danych i dopóki błąd w jednej ramce nie przekroczy granicy bitu bitu, można uzyskać poprawny wynik dekodowania .

Oczywiście, jeśli istnieje niewielka próbka przebiegu, na przykład brak impulsu o szerokości pojedynczego bitu w przebiegu, wówczas przewidywana szybkość transmisji prawdopodobnie będzie nieprawidłowa, co spowoduje nieprawidłowy wynik dekodowania. Gdy pojawi się kształt fali, który nie jest zgodny z protokołem, dekoder UART poda również możliwe wskazówki dotyczące błędów, takich jak błąd ramki, jak pokazano na rysunku 4-2. Doświadczeni inżynierowie mogą dostosować szybkość transmisji, obserwując przebieg i wyniki dekodowania, aby uzyskać prawidłowe wyniki dekodowania.

4.2. Dekodowanie znaków sprzeciwu

W poprzedniej sekcji wspomnieliśmy, że protokół UART może być przesyłany przez różne sygnały fizyczne, a niektóre sygnały warstwy fizycznej mogą mieć odwrotną zależność z sygnałem protokołu (wymienny poziom wysokiego i niskiego poziomu), taki jak RS232 lub sygnał B w sygnał różnicowy RS485. Gdy zbierany przez nas sygnał jest odwrócony, dekoder DSView UART można również ustawić tak, aby uzyskać poprawny wynik dekodowania.

Użytkownik musi tylko wymienić „Odwrócony sygnał?” w ustawieniach dekodera UART. Opcja jest ustawiona na „tak”. Dekodowanie sygnału zwrotnego pokazano na poniższym rysunku.

4.3. Dekodowanie wielogrupowej komunikacji UART

Dekoder DSView UART został celowo zaprojektowany jako podejście jednokanałowe, które ułatwia dowolne ustawienia kanałów dla komunikacji multipleksowej podczas dekodowania. Na przykład, dla komunikacji UART w pełnym dupleksie, która ma zarówno sygnał TX, jak i sygnał RX, wystarczy dodać dwa dekodery UART, aby odpowiadały dekodowaniu TX i RX.

Jak pokazano na poniższym rysunku, jest to przypadek, w którym jednocześnie dekodowane są trzy sygnały UART.

4.4. Błąd dekodowania spowodowany pozycją początkową

Dla każdego procesu komunikacji urządzenie musi wystartować ze stanu początkowego, aby poprawnie odebrać treść komunikacji, czyli poprawnie zidentyfikować i przeanalizować ramkę protokołu. To samo dotyczy analizatorów logicznych, jeśli akwizycja sygnału rozpoczyna się dokładnie w środku ramki danych, to zła pozycja początkowa może prowadzić do błędnego wyniku dekodowania. Jak pokazano na poniższym rysunku, urządzenie wysyła ciąg „DreamSourceLab”, ale ponieważ lokalizacja pierwszego przechwytywania znajduje się dokładnie w środku ramki danych, dekodowanie pierwszego przebiegu jest zniekształcone.

Aby uniknąć nieprawidłowego dekodowania danych, możemy sztucznie ustawić pozycję początkową i końcową dekodowania, aby uniknąć błędów dekodowania spowodowanych obciętymi ramkami danych. Pozycja dekodowania może być określoną pozycją dowolnego kursora, a operacja wymaga jedynie ustawienia odpowiednich pozycji początkowej i końcowej w ustawieniach dekodera po wstawieniu odpowiedniego kursora. Jak pokazano na poniższym rysunku, ustawienie pozycji początkowej pozwala uniknąć nieprawidłowego dekodowania pierwszego obciętego przebiegu.

5. Analiza zaawansowana

5.1. Wielowarstwowe parsowanie protokołów

UART jest bardzo szeroko stosowanym protokołem bazowym, a wiele protokołów transmisyjnych wykorzystywanych w praktycznych zastosowaniach jest rozbudowanych w oparciu o UART. Na przykład: DMX512, LIN, MIDI i Modbus itp., podstawową podstawą komunikacji jest protokół UART. ja

Zgodnie z tą funkcją DSView obsługuje również parsowanie stosów protokołów wielowarstwowych. Kiedy dodamy dekoder złożonego protokołu, DSView automatycznie zbuduje cały stos protokołów z najwyższego poziomu, co sprawia, że ​​wyniki dekodowania są bogatsze i doskonalsze, co jest bardzo pomocne w dogłębnej analizie i zrozumieniu protokołu przez użytkownika.

Weźmy jako przykład Modbus RTU, aby zrozumieć proces analizy protokołów wielowarstwowych DSView. W oparciu o funkcję transferu bajtów UART, Modbus RTU szczegółowo określa specyficzne znaczenie każdego bajtu, dzięki czemu struktura ramki Modbus jest tworzona przez łączenie ze sobą wielu ramek protokołu UART. Pokazuje to poniższy rysunek.

Używając DSView do takiego dekodowania protokołu, wystarczy wpisać odpowiedni protokół w polu wyszukiwania protokołu i dodać go. DSView automatycznie tworzy stronę ustawień dla całego protokołu układania, jak pokazano na poniższym rysunku, a użytkownik może wprowadzić odpowiednie ustawienia.

Jak pokazano na poniższym rysunku, strukturę stosu protokołu można wyraźnie zobaczyć na podstawie wyniku dekodowania Modbus RTU. Modbus dla każdej ramki składa się z 8-bajtowych ramek UART. Zawartość ramki Modbus będzie miała również wyraźne komentarze wskazujące na jej specyficzne znaczenie. Gdy wystąpi błąd transmisji, taki wynik dekodowania może bardzo wyraźnie zlokalizować lokalizację błędu, a także przyczynę błędu (czy jest to problem z podstawowym UART, czy problem z warstwą protokołu Modbus). Jeśli nie chcesz widzieć podstawowych szczegółów, możesz ukryć odpowiednią zdekodowaną zawartość na stronie ustawień dekodera.

Bądź pierwszym komentarzem

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.


*