PORTY SZEREGOWE W PRAKTYCE

Prawdę powiedziawszy przeciętnego elektronika nie interesuje część zawarta w skrzynce komputera, tylko gniazdo wyjściowe i to co przy jego pomocy można zrobić lub wysterować. Jest to stwierdzenie jak najbardziej oczywiste, przecież nikt z amatorów nie buduje modemu - bo kupiony jest lepszy i tańszy. Czasami jednak chciało by się zbudować proste urządzenie wykorzystujące nasz komputer, bez wnikania w standard RS - 232.

Na początek opis pinów:

Wtyk DB-25

Wtyk DB-9

Rodzaj sygnału

Sygnał RS232

2

3

Wyjście

TxD

3

2

Wejście

RxD

4

7

Wyjście

RTS

5

8

Wejście

CTS

6

6

Wejście

DSR

7

5

Masa

GND

8

1

Wejście

DCD

20

4

Wyjście

DTR

22

9

Wejście

RI

Jak łatwo zauważyć mamy trzy sygnały wyjścia i pięć wejściowych, na początek zabawy z PC powinno nam wystarczyć.

Teraz trochę o standardzie napięć wyjściowych, bo to dosyć zamierzchła epoka:

Uwaga: na wyjściach napięcie przyjmuje wartość od 10 do 15 V w plusie i minusie, czyli mamy + 10...15V lub -10...15V - po włączeniu komputera wszystkie wyjścia mamy ustawione na napięcie ujemne.

Sterowanie wejściami teoretycznie przyjmuje ten sam zakres napięć, choć w praktyce często wystarcza standard TTL - jednak aby uniknąć kłopotów można wykorzystać bardzo prosty bufor TTL/RS - oczywiście MAX 232 lub też układ obcinacza.

MAX232

Jak widać mamy dwa wejścia TTL (10 i 11) które dostarczają napięć w standardzie RS pinami (14 i 7), oraz dwa wejścia RS (13 i 8) które dostarczają nam sygnał TTL (12 i 9). Jest to rozwiązanie bardzo eleganckie, trzeba jednak zaznaczyć że stosunkowo dosyć często można trafić na układ który potrafi pracować w sposób nieprawidłowy - widocznie spotykałem się z elementami wygrzebanymi ze śmietnika na Tajwanie , więc jeżeli coś nie tak sprawdzić trzeba przebiegi na pinach MAX232.

Obcinacz diodowy

W przedstawionym układzie wyjścia sterujące z RS232 (1,2,3) dopasowane są do standardu TTL poprzez układ rezystor + dioda zenera, oraz dostarczają napięcia zasilającego do układu podłączonego do RS232 (rzędu kilkunastu mA) co pozwala zasilić nawet dość skomplikowany układ, biorąc pod uwagę obecne zapotrzebowanie kostek na prąd. Wejście (4) na RS-232 podłączone jest bezpośrednio do wyjścia układu TTL.

 

Programowanie

Do dyspozycji w przeciętnym PC mamy do dyspozycji COM1 i 2, choć ten pierwszy bywa wykorzystywany przez naszego gryzonia. Podstawą do oprogramowania portów jest określenie ich adresów bazowych (najczęściej jest to 3F8(1016) dla COM1 i 2F8(760) dla COM2), można to sprawdzić w biosie, podczas botowania systemu (klawisz PAUSE po pojawieniu się Tabelki ), lub bezpośrednio z Wingrozy w właściwościach systemu. Pod każdym adresem znajduje się ośmiobitowy rejestr który możemy zapisywać i odczytywać. Jak to zrobić, pomocny okaże się pniższy rysunek

Tak więc chcąc ustawić np. linię RTS na stan wysoki (+10...15V) należy pod adres bazowy + 4 wpisać wartość "00000010" co daje nam dziesiętnie dla COM2 adres (760+2) =762, oraz wartość "00000010" = 2 /HEX 2FC i 2/, analogicznie RTS i DTR na stan wysoki "00000011" = 3 /HEX 2FC i 3/, powrót do stanu niskiego wpisanie "0" do odpowiedniej komórki.

Uwaga: spotkałem w "Elektronice dla wszystkich" z stwierdzeniem że za stan RTS i DTR odpowiada adres bazowy +2

Odczyt np. stanu na linii DSR wygląda dla COM2 następująco - adres bazowy + 6 jeżeli odczytana wartość wynosi "00100000" to mamy stan wysoki na wejściu DSR, a jeśli "00000000" stan niski./HEX 2FE = 32 - stan wysoki na DSR - 2FE = 0 stan niski/, pozostałe parametry analogicznie.

PRZYKŁAD PRAKTYCZNYJ

Oczywiście programowanie RS bardzo efektywnie robi się w DOS-ie np. w C++ można zrobić wszystko - dla Win. jest to zdecydowanie trudniejsze - ale w końcu mamy wiek XXI i coś takiego jak VB5 jest intuicyjne dla kogoś kto choć troszkę zna BASIC. Przykład powstał w VB5 - jest to bardzo prymitywny programik wraz z załączonym schematem oraz konieczną biblioteką, ale myślę że spełni swoje zadanie edukacyjne, bo np. opierając się o artykuł RC5 można zbudować funkcjonalny pilot który będzie miał zaletę taką że to wy go napisaliście - powodzeniaJ

ŚCIĄGNIJ PRZYKŁAD

PEPI KOSZALIN 18.03.2001