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
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
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
IEEE 1284 definiuje kilka standardów jakości okablowania oraz trzy typy złączy:
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
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 masowychUSB.
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).
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]