Przejdź do zawartości

IEEE 1284

Z Wikipedii, wolnej encyklopedii
(Przekierowano z Centronics)
SPP / ECP / EPP
ilustracja
Typ interfejsu

równoległy

Transfer

do 2 MB/s

Długość magistrali

8 bitów

Liczba portów

1

Liczba urządzeń

jedno na port lub 8 w „Daisy Chain”

Rodzaj złącza

DB-25 25-pinowe, Micro Ribbon (Centronics) 36-pinowe, Mini-Centronics 36-pinowe

Zasilanie przez interfejs

nie

Hot plugging

nie

Zastosowanie
drukarki, skanery, pamięci masowe, łączenie dwóch komputerów

Interfejs IEEE 1284 – nazwa standardu dla dwukierunkowego interfejsu komunikacyjnego używanego głównie w komputerach osobistych. IEEE 1284 jest wykorzystywany głównie do podłączenia urządzeń peryferyjnych: drukarki, skanery, plotery. Został opracowany w 1994 r. przez konsorcjum Network Printing Alliance jako standard zapewniający wsteczną kompatybilność z używanym od lat 70. jednokierunkowym portem Centronics. Zwany jest też portem LPT lub portem równoległym (błędne uproszczenie wynikające z faktu, iż zwykle jest jedynym portem równoległym wyprowadzonym na zewnątrz komputera PC).

Budowa

[edytuj | edytuj kod]

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. 3 MB/s. IEEE 1284 nie oferuje funkcji hot plug, odłączenie przewodu od portu przy włączonym zasilaniu w niektórych przypadkach spowoduje uszkodzenie układu odpowiedzialnego za transmisję równoległą.

Tryby pracy

[edytuj | edytuj kod]
Port równoległy w laptopie Compaq N150
Port równoległy Centronics 36-pinowy w drukarce

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 jednokierunkowej. Port zapewnia najniższy transfer (50 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), nazywany też Bi-Directional, choć praktycznie tylko SPP nie obsługuje transmisji dwukierunkowej. Działa w trybie half duplex przesyłając 8 bitów danych naraz w jednym lub w drugim kierunku, po tych samych liniach transmisyjnych.
  • EPP (ang. Enhanced Parallel Port) – najczęściej stosowany tryb. Brak tutaj kanału DMA. Handshake 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 3 MB/s). Wykorzystywane są bufory FIFO.

Złącza i kable

[edytuj | edytuj kod]

IEEE 1284 definiuje kilka standardów jakości okablowania oraz trzy typy złączy:

  • Typ A: DB-25 25-pinowe do podłączenia hosta.
  • Typ B: Micro Ribbon znane jako Centronics 36-pinowe do podłączenia urządzeń peryferyjnych.
  • Typ C: Mini-Centronics 36-pinowe, który jest mniejszą alternatywą złącza typu B.

Zdefiniowano również dwa rodzaje kabli:

  • IEEE 1284-I: używa złącza IEEE 1284-A i IEEE 1284-B.
  • IEEE 1284-II: używa złącza IEEE 1284-C.

Zgodnie ze specyfikacją Daisy Chain standardu IEEE 1284 można podłączyć do 8 urządzeń do pojedynczego portu równoległego, tworząc swego rodzaju łańcuch. Wymogiem zastosowania łańcuchowania jest posiadanie przez urządzenia 2 portów równoległych – wejściowego i wyjściowego.

Zastosowania

[edytuj | edytuj kod]
Oznaczenia pinów gniazda LPT od strony komputera

Najważniejszym (historycznie) zastosowaniem portu równoległego była komunikacja z urządzeniami wymagającymi przesyłu dużych ilości danych z komputera do urządzenia. Dzięki dużej prędkości transferu świetnie nadawał się do podłączania drukarek i skanerów oraz pamięci masowych. Jednak wejście na rynek interfejsów o znacznie lepszych walorach użytkowych, takich jak USB i FireWire spowodowało, że port ten jest coraz rzadziej stosowany.

Istnieją adaptery tego portu pozwalające podłączyć drukarki mające tylko gniazdo USB. Problem może wystąpić tylko w warstwie programowej - programy muszą komunikować się w formacie akceptowanym przez drukarkę. Niestety wiele współczesnych drukarek nie akceptuje czystego ASCII(co jest podstawową zaletą starszych i pozwalało na drukowanie z wielu starszych programów) i wymaga stosowania specjalnych sterowników(które często ograniczają możliwość dokonywania większej ilości wydruków niż zalecana przez producenta, mimo sprawnego sprzętu - Planowane postarzanie produktu).[1][2]

Łączenie komputerów za pomocą portu równoległego było popularne w latach dziewięćdziesiątych, gdy sprzęt sieciowy był drogi, program Norton Commander posiadał wbudowaną obsługę transferu plików poprzez port szeregowy i równoległy. Dziś i to zastosowanie odeszło do lamusa za sprawą sieci komputerowych i pamięci masowych USB.

Port równoległy jest często wykorzystywany przez elektroników amatorów. Zadecydowała o tym prostota wykonania urządzeń (port równoległy działa na zasadzie n-bitowej maszyny stanów) oraz prostota tworzenia oprogramowania sterującego (port posiada zestaw rejestrów kontrolnych i sterujących dzięki którym jego programowa obsługa jest wyjątkowo prosta).

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
(DB25)
Kierunek Pin
(Cent)
Przewód
(przykłady kolorów)
Nazwa Opis angielski Opis polski
1 1
brązowy
/STROBE strobe sygnał strobe'u (istnienia)
2

2
czerwony
D0 data Bit 0 bit danych 0
3 3 pomarańczowy D1 data bit 1 bit danych 1
4 4 kremowy D2 data bit 2 bit danych 2
5 5 żółty D3 data bit 3 bit danych 3
6 6
zielony
D4 data bit 4 bit danych 4
7 7 jasnozielony D5 data bit 5 bit danych 5
8 8
niebieski
D6 data bit 6 bit danych 6
9 9
fioletowy
D7 data bit 7 bit danych 7
10 10
szary
ACK acknowledgement potwierdzenie odbioru danych
11 11 biały /BUSY busy zajęty (jeszcze nie gotowy)
12 12
czarny
PE paper end brak papieru
13 13
brązowo-biały
SLCT select sygnał przyłączenia
14 14
czerwono-biały
– AUTOFD autofeed auto wysuw papieru
15 32
czerwono-czarny
ERROR error błąd drukarki
16 31 pomarańczowo-biały /INIT initialize rozpoczęcie (inicjacja)
17 36 pomarańczowo-czarny – SLCTIN select in drukarka jest gotowa
18 == 19-30
16, 17, 33
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
(ekran) (ekran) shield (ground) ekran (masa)
niepodłączone 15, 18, 34, 35 NC niepodłączone

Adresy i przerwania

[edytuj | edytuj kod]
Nazwa
portu
Numer
przerwania
Adres rejestru
bazowego
LPT1 7 0x3bc
LPT2 7 0x378
LPT3 5 0x278

Bity i piny dla SPP

[edytuj | edytuj kod]
Adres MSB LSB
Bit: 7 6 5 4 3 2 1 0
Baza (Rejestr danych) Pin: 9 8 7 6 5 4 3 2
Baza+1 (Rejestr statusu) Pin: ~11 10 12 13 15
Baza+2 (Rejestr sterujący) Pin: ~17 16 ~14 ~1

Może być przykładem starszego interfejsu typu CENTRONICS, trybu kompatybilności(SPP) IEEE 1284. Oznacza to, że zasadniczo jest przeznaczony do transmisji w jednym kierunku. Jedynym pinem zwrotnym do komputera jest sygnał potwierdzenia przyjęcia danej(ACKNLG). Pozostałe to piny wyjściowe z mikrokomputera: 8 danych(DATA), 1 danych wyjściowych stabilnych(STROBE), oraz wybrania drukarki(SLCTIN).[3]

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]

Linki zewnętrzne

[edytuj | edytuj kod]