Powrót

Mikroprocesory i mikrokontrolery – interfejs szeregowy RS232

Interfejs szeregowy jest najprostszą formą komunikacji między komputerem (w tym również
z mikrokontrolerem) a światem zewnętrznym. Nawiązanie „porozumienia” wymaga dostosowania się do istniejących wymogów i naturalnym pytaniem, jakie w tym miejscu powstaje jest: jak to zrobić, jak to działa?Samo słowo „interfejs” można rozpatrywać w dwóch aspektach: jako kontroler umożliwiający nadawanie i odbieranie danych szeregowych oraz jako układy, których zadaniem jest separacja linii komunikacyjnych od otoczenia (taka swoista ochrona). Fotografia tytułowa łączy te dwa wątki w jedną całość – komputer zawiera w sobie taki kontroler (standardem jest układ 16C450/16C550) jak również złącze D-Sub 9 męskie umożliwiające przyłączenie do komputera innego urządzenia wykorzystującego transmisję szeregową oraz znane są wymagania elektryczne sygnałów występujących w tym złączu. Teraz zostało jedynie przystosować się do całości.

Trochę historii

Interfejs RS232 (RS jako skrót od Recommended Standard o numerze 232) jest bardzo popularnym rozwiązaniem stosowanym w szeregowej transmisji danych. W literaturze można spotkać określenie EIA-232 (ang. Electronic Industries Alliance – porozumienie producentów elektroniki). Ten interfejs powstał w celu ujednolicenia parametrów sygnałów i konstrukcji urządzeń przewidzianych do wymiany danych za pośrednictwem sieci telefonicznej. Standard ten został zaproponowany na początku lat 60. XX wieku i na przestrzeni lat ulegał modyfikacjom. Długo utrzymującym się wariantem było RS232-C (jako trzecia wersja zalecenia). Ostatnim wariantem jest EIA-232-E pochodzący z końca lat 90. ubiegłego wieku. Wprowadzane zmiany z punktu widzenia amatora hobbysty nie mają istotnego znaczenia, gdyż dotyczą głównie parametrów elektrycznych sygnałów, a to stanowi „ból głowy” raczej dla producentów układów, gdyż my stosujemy je jako końcowi użytkownicy.

Interfejs RS-232 (bez względu na literkę wariantu) w istocie rzeczy składa się z dwóch elementów: V.24 jako zalecenia określającego samo złącze (typ złącza i numeracja jego styków) oraz V.28 określające parametry elektryczne występujących sygnałów. Jako styk w RS-232 występuje 25-pinowe złącze typu szufladowego D-Sub i takie było stosowane w modemach (fotografia 1).

Fotografia 1

Na fotografii tytułowej pokazane jest złącze D-Sub 9-pinowe, jednak wbrew pozorom nie jest to złącze RS-232. Całe zamieszanie spowodowane jest przez komputery IBM PC, które są wyposażone w taki typ złącza (D-Sub 9 pin). Ten wariant, opisany zaleceniem EIA-574, w rzeczywistości jest podzbiorem RS-232 przewidzianym do transmisji asynchronicznej i jest w obecnej chwili najbardziej rozpowszechnionym rozwiązaniem przeznaczonym do szeregowej transmisji danych. Zapewne znajdą się Czytelnicy, którzy pamiętają dawne komputery, które były wyposażone w karty obsługi transmisji szeregowej ze złączem D-Sub 25 (fotografia 2).

Fotografia 2

Skojarzone było ono z układem 16C450/16C550, który obsługuje jedynie transmisję asynchroniczną, toteż samo złącze było okrojone do wersji asynchronicznej. Ponieważ artykuł jest poświęcony jedynie takiej transmisji, pozwolę sobie dalej w tekście posługiwać się określeniem RS-232 (zamiast EIA-574), gdyż jest ono głęboko zakorzenione w świadomości użytkowników komputerów oraz konstruktorów systemów mikroprocesorowych (i w sumie nie robię tu dużego błędu).

RS232 jako złącze

Jak wspomniałem wyżej, interfejs RS232 jest bardzo popularnym rozwiązaniem stosowanym w szeregowej transmisji danych między urządzeniem DTE (ang. Data Terminal Equipment, czyli komputerem) a DCE (ang. Data Communication Equipment, czyli modemem) i jego zadaniem jest wspieranie wymiany danych za pośrednictwem sieci telefonicznej – rysunek 3.

Rysunek 3

Ta idea ma swoje odbicie w jego budowie jako zdefiniowanie styku (fizycznego złącza), w sygnałach w nim występujących, jak również w ich parametrach elektrycznych (poziomach napięć reprezentujących stany logiczne). Naturalnym jest, że styk RS232 ma linie do przesyłania danych szeregowych (zarówno do nadawania, jak i odbierania). Dodatkowo zawiera kilka linii przeznaczonych do sygnalizacji określonych zdarzeń, jakie mogą wystąpić w trakcie przesyłania danych – zbiorczo nazywa się je liniami modemowymi. Ta nazwa już zdradza ich przeznaczenie: służą do sygnalizacji określonych stanów pomiędzy komputerem a modemem.

(…)

——– ciach! ——–

To jest tylko fragment artykułu, którego pełna wersja ukazała się w numerze kwietniowym czasopisma Zrozumieć Elektronikę (ZE 4/2024). Pełną wersję czasopisma znajdziesz pod tym linkiem. Natomiast niepełna, okrojona wersja, pozwalająca zapoznać się z zawartością numeru ZE 4/2024 znajduje się tutaj.

Andrzej Pawluczuk
apawluczuk@vp.pl

 

Uwaga! Osoby, które nie są (jeszcze) stałymi Patronami ZE, mogą nabyć PDF-y z pełną wersję tego numeru oraz wszystkich innych numerów czasopisma wydanych od stycznia 2023, „stawiając kawę” (10 złotych za jeden numer czasopisma w postaci pliku PDF).
W tym celu należy kliknąć link (https://buycoffee.to/piotr-gorecki), lub poniższy obrazek
Postaw mi kawę na buycoffee.to
Następnie wybrać:
– jeśli jeden numer ZE – 10 zł,
– jeśli kilka numerów ZE – WSPIERAM ZA. I tu wpisać kwotę zależną od liczby zamawianych numerów – wydań (N x 10 zł),
Wpisać imię nazwisko.
Podać adres e-mail.
Koniecznie zaznaczyć: „Chcę dołączyć wiadomość dla Twórcy” i tu wpisać, który numer lub numery mamy wysłać na podany adres e-mailowy. Jeśli ma to być numer z tym artykułem trzeba zaznaczyć, że chodzi o ZE 4/2024.
UWAGA!!! E-mail z linkiem do materiałów (weTransfer) wysyłamy zazwyczaj w ciągu 24 godzin. Czasem zdarza się jednak, że trafia do spamu. Jeśli więc nie pojawi się w ciągu 48 godzin prosimy sprawdzić w folderze spam, a ewentualny problem zgłosić na adres: kontakt@piotr-gorecki.pl.