Jak rysować przebiegi asynchronicznej transmisji szeregowej
(RS232)
Wysyłam znak H, 8bitów, ODD, 2bity stopu, 110bodów.
Z tabeli ASCII/ISO & IEEE CODE CHART odczytuje, że znak H zapisuję jako 1001000.
Uzupełniam go o zero by mieć 8 bitów 01001000. W RS232 obowiązuje logika ujemna więc
jedynce odpowiada stan niski, a zerze stan wysoki. Wartości zapisujemy od prawej do lewej.
Początek sekwencji zawsze zaczyna się bitem startu (0) i kończy się jednym lub dwoma
bitami stopu (11). Bit parzystości (parity), może (ale nie musi) wystąpić w jednej z dwóch
form.
Parzystość typu EVEN
suma jedynek musi być parzysta
bity danych
bit parzystości
Σ
1
0100 1000
0
2
0100 1001
1
4
Parzystość typu ODD
suma jedynek musi być nieparzysta
bity danych
bit parzystości
Σ
1
0100 1000
1
3
0100 1001
0
3
Rozpatrywany sygnał będzie wyglądał następująco:
Bit parzystości typu ODD
Bit parzystości typu EVEN
Brak bitu parzystości
Jak odczytać parametry z przebiegu
Gdy podany jest przebieg sygnału to odczytanie parametrów sygnału można wykonać jedynie
metoda prób i błędów. Sprawdzając w dowolnej kolejności poniższe konfiguracje:
a.
n - bitów, EVEN, m - bitów stopu
b.
n - bitów, ODD, m - bitów stopu
c.
n - bitów, m - bitów stopu
n – 5, 6, 7, 8; m – 1, 2.
Może zaistnieć sytuacja w której więcej niż jedna konfiguracja będzie poprawna, w takim
przypadku nie można jednoznacznie stwierdzić które parametry są prawidłowe.
Ilość bodów liczy się dzieląc ilość bitów (w zaznaczonym okresie) przez czas (na rysunku
zaznaczony jako 1.25ms). W powyższym przypadku ilość bodów = 3bity/1.25ms = 2400.
Wartości te mogą przyjmować następujące wartości: 110, 150, 300, 600, 1200, 2400, 4800,
9600, 19200, 38400, ...
Symulator
http://156.17.45.6/elektron/DAQSoftware/rsapplet/rs232.html