Interfejsy urządzeń peryferyjnych
W każdym systemie cyfrowym istnieje
konieczność przesyłania (wymiany)
informacji pomiędzy jego elementami. W
tym celu wykorzystuje się łącze (interfejs),
czyli zbiór linii przesyłowych łączących te
elementy ze sobą.
W praktyce informacja przesyłana jest w
sposób sekwencyjny, tzn. w danej chwili
przesyłana jest pewna jej porcja, w
następnej - kolejna, itd. Sposób podziału
informacji na porcje wynika z cech
systemu i użytych w nim urządzeń.
Jednostka informacji jest więc słowem
binarnym o określonej długości. W
zależności od sposobu przesyłania
poszczególnych bitów danej jednostki
informacji w czasie, wyróżniamy
przesyłanie (transmisję) szeregowe i
równoległe.
Transmisję, w której poszczególne bity jednostki informacji są przesyłane w
kolejnych chwilach po sobie nazywamy szeregową, a transmisję w której
wszystkie bity są przesyłane jednocześnie - równoległą.
Transmisja szeregowa synchroniczna polega na łączeniu informacji w
wielobajtowe bloki (ramki) danych, poprzedzone nagłówkiem. Na końcu bloków
danych umieszcza się bajty kontrolne pozwalające zweryfikować poprawność
przesyłanej informacji.
Transmisja równoległa pozwala przesłać cały bajt (lub kilka bajtów) danych
jednocześnie. Z uwagi na dowolny odstęp czasu pomiędzy przesyłanymi kolejnymi
bajtami (zgodnie z wcześniej podaną definicją transmisji asynchronicznej),
odbiornikowi należy sygnalizować chwile, w których jest przesyłana informacja.
Interfejs V.24 (RS-232 C)
Interfejs RS-232 opublikowany w protokole
V.24, jako łącze pomiędzy modemem a
komputerem. Zgodnie z protokołem,
modem to urządzenie komunikacyjne (ang.
DCE, Data Communication Eguipment),
komputer natomiast - urządzenie końcowe
(ang. DTE, Data Terminal Equipment),
Interfejs RS-232 (ang. Recommended
Standard) umożliwia realizację transmisji
synchronicznej i asynchronicznej. Standard
ten definiuje normy wtyczek i kabli portów
szeregowych typu COM.
Standard RS-232 opisuje sposób połączenia urządzeń DTE (ang. Data
Terminal Equipment) tj. urządzeń końcowych danych (np. komputer)
oraz urządzeń DCE (ang. Data Circuit-terminating Equipment), czyli
urządzeń komunikacji danych (np. modem). Standard podaje nazwy
styków złącza oraz przypisane im sygnały a także specyfikację
elektryczną obwodów wewnętrznych.
Rysunek Wykorzystanie łącza RS-232 [1]
RS-232 jest stykiem przeznaczonym do szeregowej transmisji
danych. Specyfikacja opisuje 25 styków. Najbardziej popularna
wersja tego standardu, RS-232-C pozwala na transfer na
odległość nie przekraczającą 15 m z szybkością maksymalną
20 kbit/s.
Specyfikacja napięcia definiuje "1" logiczną jako napięcie -3V do
-15V, zaś "O" to napięcie +3V do +5V. Poziom napięcia
wyjściowego natomiast może przyjmować wartości -12V, -10V,
10V, +10V, zaś napięcie na dowolnym styku nie może być
większe niż +25V i mniejsze niż -25V. Należy zaznaczyć przy
tym, że zwarcie dwóch styków RS-232 nie powoduje jego
uszkodzenia [1]. Złącze RS-232 zawiera 25 styków, które należą
do czterech głównych grup związanych z funkcjami jakie pełnią.
Rysunek przedstawia złącze RS-232 w urządzeniu DTE wraz z
oznaczeniami ważniejszych wyprowadzeń.
Połączenie interfejsów RS-232C od strony
mechanicznej stanowi 25-żyłowy przewód
zakończony zdefiniowanymi przez standard wtykami.
Większość z 25 linii przeznaczona została dla
potrzeb szeregowej transmisji synchronicznej. W
standardzie IBM PC wykorzystywane jest tylko 9 z
tych sygnałów, dlatego tez często zamiast wtyku 25-
końcówkowego (DB-25) stosuje się wtyk 9-
końcówkowy DB-9. Ta liczba linii w zupełności
wystarcza do obsłużenia transmisji asynchronicznej
w standardzie RS-232C.
Rysunek. Styk RS-232 urządzenia DTE [1]
Wtyk DB-25
Wtyk DB-9
Sygnał
Kierunek
transmisji
1
-
-
-
2
3
TxD
DTE -> DCE
3
2
RxD
DCE -> DTE
4
7
RTS
DTE -> DCE
5
8
CTS
DCE -> DTE
6
6
DSR
DCE -> DTE
7
5
-
Masa
8
1
DCD
DCE -> DTE
20
4
DTR
DTE -> DCE
22
9
RI
DCE -> DTE
23
-
DSRD
DCE <-> DTE
Zestawienie sygnałów interfejsu RS-232C używanych w komputerach PC
Linie TxD (Transmitted Data) i RxD (Received Data) są właściwymi
przewodami służącymi wymianie danych. Pozostałe są liniami sterującymi,
posiadającymi następujące znaczenie:
RTS (Request To Send) urządzenie DTE (terminal, PC) sygnalizuje tą linią
zamiar przekazywania danych do DCE (modemu). Modem przygotowuje się
do odbioru danych.
CTS (Clear To Send) linią tą przesyłane jest potwierdzenie przyjęcia sygnału
RTS przez DCE (modem) i stwierdzenie gotowości do odbioru danych od DTE.
Komputer może rozpocząć przekazywanie danych.
Para sygnałów sterujących RTS/CTS może przy półdupleksowym trybie pracy
łącza (tzn. takim, w którym dopuszczalna jest niejednoczesna transmisja w
obu kierunkach) sterować kierunkiem transmisji, przydzielając połączonym
korespondentom na przemian rolę nadawcy i odbiorcy.
DSR (Data Set Ready) specyfikacja RS-232C określa ten sygnał jako meldunek
urządzenia DCE (zwykle modemu), że zostało nawiązane połączenie i układ
jest gotów do przyjęcia danych od DTE (zwykle komputera). W praktyce
większość modemów nie wykorzystuje tej linii i jest ona sztucznie
utrzymywana w stanie aktywnym, nie mówiąc nic o istnieniu połączenia z
korespondentem. Po poziomie tego sygnału można co najwyżej wnioskować,
czy modem jest w ogóle włączony.
DTR (Data Terminal Ready) sygnał ten wskazuje w ogólności na gotowość
urządzenia DTE (komputera). Musi on pozostawać aktywny przez cały czas
trwania połączenia.
Para sygnałów DTR i DSR odpowiada za utrzymanie połączenia, podczas gdy
sygnały RTS i CTS są odpowiedzialne za przekazywanie danych i ewentualne
sterowanie kierunkiem przepływu (w trybie półdupleksowym), czyli tzw.
Handshaking.
DCD (Data Carrier Defect) modem (DCE) sygnalizuje tą linią odbiór fali
nośnej, co oznacza, że druga strona jest w trakcie nawiązywania połączenia.
Sygnał DCD pozostaje aktywny przez cały czas trwania transmisji.
RI (Ring Indicator) w przypadku połączenia modemów przez sieć telefoniczną
urządzenie DTE (komputer) informowane jest o odebraniu sygnału
odpowiadającego wywołaniu abonenta (dzwonieniu).
DSRD (Data Signal Rate Detector) linia ta występuje tylko w 25-końcówkowej
wersji łącza. Umożliwia dostosowanie się korespondentów do jednej z dwóch
możliwych prędkości transmisji. Z sygnału tego mogą korzystać obie strony
połączenia.
Sygnały przenoszone przez złącze
interfejsu mają postać prostokątnych
impulsów napięciowych. Dodatni potencjał
w linii (+3V..+ 15V) odpowiada zeru
logicznemu (ang. ON). Potencjał ujemny (-
3V..-15V) odpowiada logicznej jedynce
(ang. OFF). Szybkość transmisji (zgodnie z
zaleceniem CCITT) nie powinna
przekraczać 20 kbit/s, natomiast długość
kabla - 15 m. Interfejs wyposażony jest w
standardowe 25 i 9-pinowe złącze.
Interfejs równoległy
W chwili obecnej istnieje kilka standardów
interfejsów realizujących transmisję
równoległą: najstarszy - Centronics i nowsze -
EPP i ECP.
Centronics - to standard interfejsu stosowany
powszechnie w drukarkach. Kabel łączący
komputer i drukarkę nie powinna przekraczać
2m.
Interfejsy EPP i ECP
W roku 1992 został opracowany standard
portu o transmisji równoległej o nazwie EPP
(ang. Enhanced Parallel Port). Jest to port
równoległy, podobnie jak Centronics 8-bitowy.
Port ten pozwala na transmisję
dwukierunkową z szybkością do 2 MB/s.
Niestety kabel interfejsu nie może być
dłuższy niż 2 m. Dzięki możliwości
adresowania urządzeń, interfejs EPP
pozwala podłączyć do jednego portu aż 64
urządzenia (drukarki itd.) Standard ten jest
kompatybilny z standardem Centronics.
Interfejs ECP (ang. Extended Capabilities
Port), opracowany pod koniec roku 1992,
proponuje również szybkość 2 MB/s.
Budowa
Magistrala tego interfejsu składa się z: 8 linii danych,
4 linii sterujących i 5 linii statusu. Nie zawiera linii
zasilających. Linie magistrali są dwukierunkowe (w
standardzie Centronics jednokierunkowe), poziomy
sygnałów na liniach odpowiadają poziomom TTL.
Interfejs IEEE 1284 zapewnia transmisję na odległość
do 5 metrów, jeśli przewody sygnałowe są skręcane z
przewodami masy, w przeciwnym przypadku na
odległość do 2 metrów. Transmisja danych odbywa się
z potwierdzeniem, z maksymalną prędkością ok. 2
MB/s. IEEE 1284 nie oferuje funkcjonalności hot plug,
odłączenie kabla od portu przy włączonym zasilaniu
w niektórych przypadkach spowoduje uszkodzenie
układu odpowiedzialnego za transmisję równoległą.
Tryby pracy
W standardzie IEEE 1284 zdefiniowano następujące protokoły transmisji
danych:
SPP (ang. Standard Parallel Port, znany też pod nazwą Compatibility
Mode) - tryb kompatybilności ze złączem Centronics z możliwością
transmisji dwukierunkowej. Port zapewnia najniższy transfer (150 KB/s).
Wadą jest obsługa poprzez przerwania, co jest utrudnione w systemach
wielozadaniowych.
Nibble Mode - tryb półbajtowy (czterobitowy), przy transmisji z
urządzenia zewnętrznego po liniach statusu. Prędkość transmisji nie
przekracza 50 KB/s. Odpowiednik portu Bi-tronics wprowadzonego
przez Hewlett-Packard.
Byte Mode - tryb bajtowy (ośmiobitowy).
EPP (ang. Enhanced Parallel Port) - najczęściej stosowany tryb. Brak
tutaj kanału DMA. Hand-shaking realizowany jest sprzętowo, co
umożliwia działanie w systemie wielozadaniowym (po wywłaszczeniu
procesu transmisja nadal trwa) oraz znacznie ułatwia pracę
programistów.
ECP (ang. Extended Capability Port) - port używa DMA i oferuje
najwyższe prędkości (do 2 MB/s). Wykorzystywane są bufory FIFO.
Port równoległy pozwala na równoległe
wejście 9 bitów lub wyjście 12 bitów w tym
samym czasie (łącznie z wykorzystaniem linii
przewidzianych jako kontrolne i sterujące).
Pin Przewód
Nazwa
Opis angielski
Opis polski
1
brązowy
/STROBE strobe
sygnał
strobe'u
(istnienia)
2
czerwony
D0
data Bit 0
bit danych 0
3
pomarańczowy D1
data bit 1
bit danych 1
4
kremowy
D2
data bit 2
bit danych 2
5
żółty
D3
data bit 3
bit danych 3
6
zielony
D4
data bit 4
bit danych 4
7
jasnozielony
D5
data bit 5
bit danych 5
8
niebieski
D6
data bit 6
bit danych 6
9
fioletowy
D7
data bit 7
bit danych 7
10 szary
/ACK
acknowledgement potwierdzenie
odbioru
danych
11 biały
BUSY
busy
zajęty
(jeszcze nie
gotowy)
12 czarny
PE
paper end
brak papieru
13 brązowo-biały
SLCT
select
sygnał
przyłączenia
14 czerwono-biały -
AUTOFD
autofeed
auto wysuw
papieru
15 czerwono-
czarny
/ERROR
error
błąd drukarki
16 pomarańczowo-
biały
/INIT
initialize
rozpoczęcie
(inicjacja)
17 pomarańczowo-
czarny
- SLCTIN select in
drukarka jest
gotowa
18 różowo-czarny GND
signal ground
masa sygnału
19 żółto-czarny
GND
signal ground
masa sygnału
20 zielono-biały
GND
signal ground
masa sygnału
21 zielono-czarny
GND
signal ground
masa sygnału
22 niebiesko-biały GND
signal ground
masa sygnału
23 fioletowo-biały GND
signal ground
masa sygnału
24 szaro-czarny
GND
signal ground
masa sygnału
25 czarno-szary
GND
signal ground
masa sygnału
26 (ekran)
shield (ground)
ekran (masa
Opis pinów
Równoległy port drukarki, zwany powszechnie interfejsem
Centronics, to drugi z "pierwotnych" interfejsów peceta.
Zaprojektowany został specjalnie z myślą o jednokierunkowej
transmisji danych do drukarki, stąd oprócz ośmiu linii danych
obecne są również dedykowane linie sygnałów zwrotnych
informujących o stanie drukarki - np. PE (Paper Empty).
Z czasem port drukarkowy doczekał się wersji dwukierunkowej,
będącej dziś standardem. Jest to, obecny w każdym pececie, port
ECP (Enhanced Capabilities Port), opisany standardem IEEE 1284.
Specyfikacja ECP dopuszcza dołączenie do jednego portu kilku
urządzeń ze złączami przejściowymi - może to być drukarka, skaner
czy napęd wymiennych dysków Zip. Maksymalna długość kabla
Centronics to 8 metrów, jednak tak długie połączenie musi być
wykonane kablem o bardzo dobrej jakości. Typowa długość kabla to
1,5 metra. Teoretyczna szybkość transmisji portu ECP może sięgać 2
MB/s, jednak w praktyce jest to 150 - 800 kB/s. Tradycyjnie
stosowanym złączem jest żeńskie, 25-stykowe gniazdo D-sub po
stronie peceta i 36-stykowe złącze Amphenol po stronie drukarki,
jednak w niektórych drukarkach (np. HP LJ 1100) używane są 36-
stykowe złącza miniaturowe.
Sterowniki interfejsów: równoległego i szeregowego
Współczesne kontrolery interfejsu szeregowego RS-232,
zwane UART (ang. Uniwersal Asynchronous Receiver-
Transmitter) umożliwiają transmisję szeregową z szybkością
kilkuset kb/s.
Kontrolery interfejsów obecnie są one zintegrowane z płytą
główną.
Port szeregowy – COM (1, 2, 3, 4)
Port równoległy - LPT (1, 2)
Interfejsy - krótka charakterystyka
Interfejs
Rodzaj
Przepustowoś
ć
Maksymalna
długość kabla
Liczba
urządzeń
RS-232
szeregowy
115 200-230
400 bps
kilkanaście
metrów
1
IEEE 1284
(Centronics)
równoległy, 8
b
150 kB/s - 2
MB/s
8 m
1 (lub więcej)