ATARI INACZEJ: ZŁACZE RS-232CSZTUKA KOMUNIKACJIW czasie normalnej pracy naszego komputera całe 8 bitów pojawia się jednocześnie tam gdzie trzeba i tak też wędrują one na niewielkie odległości poza komputer, np. do drukarki pracującej w standardzie Centronics. Wszystko dzieje się przy tym na poziomie napięcia 5V niepodzielnie królującego w komputerze. Taki rodzaj równoległej komunikacji z urządzeniem peryferyjnym ma jednak swoje wady. Jeśli komunikujemy się na większe odległości, pojawia się problem zakłóceń oraz kosztu kabla z kilkunastoma żyłami. Zupełnie zresztą nie do pomyślenia jest przesłanie całego stada bitów jednocześnie przez modem telefoniczny. Na te kłopoty jedna jest rada: szeregowe przesyłanie informacji. Sposób stary jak telekomunikacja, bo telegraf praszczura Morse'a, a potem dalekopis też wykorzystują ten właśnie sposób. Informacja wędruje tu między nadawcą i odbiorcą kolejno bit po bicie, najczęściej z szybkością od 50 do 19200 bodów (czyli bitów na sekundę). Może się to dziać synchronicznie lub asynchronicznie. W pierwszym przypadku jednocześnie z informacją, po osobnej linii wysyłany jest sygnał "zegara" taktującego, który ułatwia bezbłędne dekodowanie informacji. Według drugiego sposobu na początku przesyłu, na linii będącej w stanie gotowości (zwykle stan "1") pojawia się tzw. bit startu (stan "0"), który zapowiada "teraz idzie bajt!". Od tej chwili odbiornik rozpoczyna odczytywanie stanu linii w ustalonych odstępach czasu i na tej podstawie odtwarza wysiany bajt. Po bitach informacji można jeszcze wstawić tzw. bit parzystości, który pomaga w stwierdzeniu, czy to, co odebraliśmy nie uległo po drodze przekłamaniu. Jeśli liczba jedynek w informacji była parzysta, ma on wartość "0", jeśli zaś była nieparzysta, to "l". Gdy zatem w odbiorniku suma wszystkich jedynek (bity informacji i parzystości) jest parzysta, to są duże szansę, że wszystko jest OK. Na końcu sekwencji pojawić się musi bit stopu. Ma on za zadanie ponownie wprowadzić linię w stan gotowości. Daje też przy okazji możliwość upewnienia się, że transmisja zachodzi bezbłędnie. Linia musi pozostawać w tym stanie co najmniej przez czas trwania l lub 2 bitów. Potem wszystko może zacząć się od nowa. Na rys. 1 pokazano przebiegi czasowe na linii asynchronicznej transmisji szeregowej. Taki sposób komunikacji wymaga wcześniejszego uzgodnienia między nadawcą i odbiorcą parametrów transmisji. Dotyczy to szybkości ("Baud rate"), sprawdzania parzystości (lub nie) i liczby bitów informacyjnych (od 5 do 8) oraz stopu (1 lub 2). Zwykle nie nastręcza to większych kłopotów, bo informacja jest krótka. W przypadku najprostszym wystarczą do przesyłu dwa przewody (sygnał i masa). W praktyce są osobne linie do nadawania i odbioru uzupełnione jeszcze często o 2-6 linii pomocniczych pozwalających na bardziej precyzyjną komunikację. Już po rozpoczęciu transmisji odbiornik może się bowiem "nie wyrabiać" z zagospodarowaniem otrzymywanych informacji i dobrze jest, gdy może poprosić nadajnik o chwilowe wstrzymanie transmisji. INTERFACE RS232Na rys.2 przedstawiony jest schemat ideowy interface RS232C. Wtyk 9-końcówkowy Wl przyłącza się do gniazda joysticka 1, zaś 25-końcówkowy W2 - do stosownego gniazda w komputerze PC. Zastosowany tu układ scalony TC232CPE łączy w sobie funkcje dwóch przetwornic napięcia oraz inwerterów przesuwających przy okazji poziomy z zakresu 0/+5V na +/-12V (dwa nadajniki linii) oraz z +/-12V z powrotem na 0/+5V (dwa odbiorniki linii). Układ ten może występować też pod innymi oznaczeniami literowymi, np. ICL232. Obsługuje on linie nadawania i odbioru informacji (TxD oraz RxD) oraz dwie linie sygnałów pomocniczych DTR i CTS. Rola tych ostatnich polega na tym, że w czasie transmisji można sprawdzać, czy odbiorca informacji jest już gotów do przyjęcia kolejnego bajtu. Zastosowany został przełącznik, który umożliwia w jednym położeniu zwarcie tych linii ze sobą, w drugim zaś - ich normalne funkcjonowanie. Układ najwygodniej jest zmontować na płytce drukowanej umieszczonej w niewielkiej obudowie plastikowej. Kabel zakończony 9-stykowym wtykiem "żeńskim" (do gniazda joysticka ATARI) powinien mieć co najwyżej 50 cm. Drugi kabel wychodzący z interface do gniazda (np. COM1) komputera PC może być znacznie dłuższy - nawet kilkanaście metrów. Kable trzeba zamocować w obudowie interface, aby ich mocniejsze pociągnięcie nie narażało na uszkodzenie połączeń elektrycznych. Uruchomienie prawidłowo połączonego układu elektronicznego nie powinno nastręczać najmniejszych trudności. Nie są też potrzebne żadne bardziej wyrafinowane techniki pomiarowe. Wystarczy miernik uniwersalny. Na początek bezpieczniej jest przyłączyć układ do zewnętrznego źródła zasilania +5V. Wejścia układu pracujące na poziomie TTL (końcówki 3 i 4 wtyku W1) trzeba przyłączać na przemian do napięcia +5V i do masy obserwując poziomy napięcia na wyjściach. Są to odpowiednio końcówki 315 wtyku W2. Poziomy napięć powinny się tam zmieniać od -12V do +12V. Przy +5V na wejściu ma być -12V na wyjściu, zaś przy OV na wejściu ma być +12V na wyjściu (układy nadajników linii są przy okazji inwerterami). Jeśli wszystko jest w porządku, oznacza to prawidłową pracę przetwornicy napięcia oraz jednej pary inwerterów-nadajników linii. Sprawdzenie drugiej pary inwerterów, tj. odbiorników linii najłatwiej zrealizować w podobnym układzie aplikacyjnym. Wyjścia sprawdzonych już nadajników linii łączymy z wejściami odbiorników. Połączyć trzeba w tym celu we wtyku W2 końcówki 3 z 2 oraz 5 z 20. Wówczas zmiany poziomów 0/+5V na końcówkach 314 wtyku W1 powinny wywoływać takie same zmiany na końcówkach odpowiednio 1 i 2 tego wtyku. Wspomniane napięcie 12V trzeba traktować orientacyjnie - zwykle jest to ok. 9V, co w zupełności wystarcza do prawidłowej pracy. Układy odbiorcze mają ponoć działać prawidłowo już od +/-3V. Po takim sprawdzeniu i usunięciu połączeń dokonywanych w czasie testowania, można już włączyć wtyki interface do odpowiednich gniazd w komputerach. Nie od rzeczy będzie przypomnieć, że wszelkie manipulacje z wtykami muszą być bezwzględnie poprzedzone wyłączeniem obu komputerów. Literatura: 1. K. Badźmirowski i in. "Układy i systemy mikroprocesorowe" cz.1,2; WNT Warszawa 1990 2. S. Piotrowski: Interfejs szeregowy w IBM PC XT/AT; Mikroklan nr 6(9) 1987 Wykaz podzespołów: US - układ scalony TC232CPE lub odpowiednik C1,C2,C3 - 10uF C4, C5 - 4.7uF W1, W2 - wtyki 9- i 25-stykowe Witold Prokopowicz
|