Port równoległy LPT

Transkrypt

Port równoległy LPT
Standard transmisji
równoległej LPT
Centronics
Rodzaje transmisji
szeregowa
równoległa
Opis LPT
• łącze LPT jest interfejsem równoległym w
komputerach PC. Standard IEEE 1284 został
opracowany w 1994 roku jako 25-pinowy port
równoległy wykorzystywany w głównej mierze do
podłączania urządzeń peryferyjnych: drukarki,
skanera, plotera
Właściwości interfejsu LPT
– Szybkość 2 MB/s
– Długość kabla 2 m
– Możliwość podłączenia: drukarki,skanera, plotera
Tryby pracy LPT
SPP (ang. Standard Parallel Port) – tryb umożliwiający dwustronną
transmisję danych, zwany również trybem zgodności (ang. Compatibility
Mode), bo zapewnia kompatybilność ze złączem Centronics. SPP
zapewnia transfer do 50 kB/s. Wadą jest jego obsługa poprzez
Przerwania.
EPP (ang. Enhanced Parallel Port) – opracowany w 1991r. przez
firmę Intel, umożliwiał obsługę pamięci masowych, skanerów i zapewniał
transfer do 3 MB/s. Obsługa Handshake (potwierdzenie odebrania
danych), nie obsługuje DMA, często stosowany
ECP (ang.Extended Capability Port) – opracowany w 1992r. przez
firmę HP i Microsoft oferuje prędkości przesyłu również do 3 MB/s.
Wykorzystuje DMA
EPP
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
EPP pochodzi od angielskiej nazwy Enhanced Parallel Port - Ulepszony Port Równoległy. Protokół EPP został opracowany przez firmy Intel, Xircom i Zenith Data
Systems. Celem tego projektu było stworzenie portu równoległego o wysokich parametrach użytkowych, który byłby wciąż kompatybilny ze standardowym portem
Centronics. Protokół EPP, oferując wiele korzyści wytwórcom urządzeń peryferyjnych sterowanych przez port równoległy, bardzo szybko się rozpowszechnił i stał się
opcjonalnym sposobem przesyłu danych. Stało się to przed przyjęciem standardu IEEE 1284.
Protokół EPP udostępnia cztery typy cykli przesyłu danych:
Cykl Zapisu Danych
Cykl Odczytu Danych
Cykl Zapisu Adresu
Cykl Odczytu adresu
Cykle danych używane są do przesyłu danych pomiędzy komputerem a urządzeniem zewnętrznym. Cykle adresu służą do przekazywania adresu, kanału lub polecenia i
informacji sterujących. W poniższej tabeli przedstawiamy sygnały używane przez tryb EPP wraz z ich odpowiednikami dla portu SPP.
Na rysunku poniżej przedstawiamy przykładowy cykl zapisu danych - w cyklu adresu zamiast linii DATASTB jest używana w identyczny sposób linia ADDRSTB. W cyklu
odczytu linia WRITE zachowuje stan 1 przez cały czas trwania cyklu. Sygnał IOW (ang. Input Output Write - Zapis Do Portu We/Wy) jest sygnałem mikroprocesora, a nie
portu EPP. Znalazł się on na rysunku po to, aby pokazać, iż cały cykl zapisu EPP do urządzenia zewnętrznego odbywa się w czasie jednego cyklu we/wy wykonywanego
przez procesor.
Mikroprocesor wykonuje cykl we/wy zapisu do portu danych EPP.
Linia WRITE zostaje ustawiona w stan 0 i na liniach D0-D7 pojawiają się dane.
Linia DATASTB przechodzi w stan 0, ponieważ linia WAIT posiada stan 0.
Port czeka na potwierdzenie od urządzenia peryferyjnego (linia WAIT musi przejść w stan 1).
Linia DATASTB powraca do stanu 1 i cykl EPP kończy się.
Kończy się cykl we/wy mikroprocesora.
Linia WAIT przechodzi w stan 0, co oznacza zgodę na rozpoczęcie kolejnego cyklu.
Ponieważ cykl przesyłu danych w porcie EPP odbywa się w ciągu jednego cyklu we/wy mikroprocesora, port ten może osiągnąć dużą szybkość przesyłu danych - od
500KB do 2MB na sekundę. Jest to jedna z głównych zalet trybu EPP.
ECP
•
•
ECP jest skrótem angielskiej nazwy Extended Capability Port - Port o
Rozszerzonych Możliwościach. Standard ECP został opracowany wspólnie przez
Microsoft i Hewlett Packard do współpracy z drukarkami i skanerami. Zapewnia on
szybką, dwukierunkową wymianę danych pomiędzy komputerem a urządzeniem
zewnętrznym. Protokół ECP umożliwia transmisję dwukierunkową dla danych oraz
dla rozkazów. Zaimplementowano również kompresję danych typu RLE (ang. Run
Length Encoding), dzięki której ilość przesyłanych danych może być istotnie mniejsza
- jest to szczególnie pożądane przy urządzeniach, które wymagają przesyłania dużej
liczby danych, takich jak drukarki laserowe i skanery. Jednakże tryb kompresji RLE
musi być obsługiwany po obu stronach toru transmisyjnego, aby można było z niego
skorzystać.
Port ECP pozwala również na adresowanie kanałów, dzięki czemu komputer może
komunikować się niezależnie z różnymi urządzeniami logicznymi, które fizycznie
znajdują się w jednej obudowie - np. urządzenia wielofunkcyjne zawierające
jednocześnie fax/modem, skaner i drukarkę. Adresowanie kanałów umożliwia
komputerowi pobieranie danych z modemu w czasie, gdy kanał drukarki jest zajęty
przetwarzaniem i wydrukiem dokumentu. W trybie kompatybilności CPP, gdy
drukarka staje się zajęta przetwarzaniem danych, komunikacja z nią nie jest możliwa.
W trybie ECP komputer ma możliwość odwołania się do innego kanału i transmisja
może odbywać się dalej.
ECP
•
•
•
•
•
•
•
•
Na obrazku poniżej przedstawiono cykle przesyłu informacji od komputera do urządzenia
zewnętrznego. Gdy linia HostAck jest ustawiona na 1, to przesyłane są dane. Gdy linia HostAck
jest ustawiona na 0, komputer przesyła rozkaz, który jest albo liczbą powtórzeń poprzednio
przesłanego bajtu danych dla RLE, albo adresem kanału urządzenia logicznego. Rozpoznanie
umożliwia najstarszy bit D7. Jeśli ma on wartość 0, to bity D0-D6 zawierają liczbę powtórzeń dla
RLE (0-127). Jeśli bit D7 ma wartość 1, to bity D0-D6 określają numer kanału logicznego (0-127).
Na obrazku tym przedstawiono przesłanie bajtu danych, po którym następuje przesłanie rozkazu.
Komputer umieszcza dane na liniach D0-D7 oraz zaznacza cykl danych przez ustawienie na 1 linii
HostAck.
Komputer ustawia linię HostClk na 0, aby zasygnalizować gotowość danych dla urządzenia
peryferyjnego.
Urządzenie peryferyjne potwierdza gotowość do odczytu przez ustawienie linii PeriphAck na 1.
Komputer ustawia linię HostClk z powrotem na 1. W tym momencie urządzenie peryferyjne
powinno odczytać dane z linii D0-D7.
Urządzenie peryferyjne ustawia linię PeriphAck na 0, aby powiadomić komputer, że jest gotowe
na przyjęcie kolejnego bajtu danych.
Cykl się powtarza, jednakże tym razem będzie to cykl rozkazowy, ponieważ linia HostAck
przyjmuje stan 0.
ECP
•
•
•
•
•
•
•
•
•
•
Kolejny rysunek przedstawia przesłanie danej i rozkazu w kierunku odwrotnym - od urządzenia
peryferyjnego do komputera.
Komputer żąda transmisji kanałem zwrotnym przez ustawienie linii ReverseRequest na 0.
Urządzenie peryferyjne potwierdza gotowość do transmisji zwrotnej przez ustawienie linii
AckReverse na 0.
Urządzenie peryferyjne umieszcza dane na liniach D0-D7 i ustawia PeriphAck na 1, aby
zaznaczyć cykl danych.
Urządzenie ustawia linię PeriphClk na 0, aby zaznaczyć ważność danych na liniach D0-D7.
Komputer potwierdza ustawieniem HostAck na 1.
Urządzenie ustawia linię PeriphClk na 1. W tym momencie komputer powinien odczytać dane z
linii D0-D7.
Komputer ustawia linię HostAck na 0, aby zgłosić gotowość przyjęcia kolejnej danej.
Cykl się powtarza, lecz tym razem będzie to cykl rozkazu, ponieważ urządzenie zewnętrzne
ustawiło linię PeriphAck na 0.
SPP
•
•
•
•
•
•
•
•
Tryb ten jest używany do komunikacji komputerów osobistych z drukarkami. Często jest on opisywany skrótem
SPP (ang. Standard Parallel Port - Standardowy Port Równoległy) lub jako tryb Centronics (ang. Centronics
Mode). Poniższy rysunek przedstawia przebieg sygnałów na istotnych liniach portu Centronics w czasie transmisji
danych od komputera do drukarki.
Cykl przesyłu bajtu danych w trybie kompatybilności
Komputer umieszcza bajt danych na liniach D0-D7.
Komputer sprawdza status drukarki. Jeśli nie ma błędów, sprawdzany jest stan linii BUSY. W przypadku błędów
transmisja jest przerywana. Czas ten jest również wykorzystywany do ustalenia się sygnałów na liniach danych.
Jeśli linia BUSY ma stan 0, to komputer ustawia linię STROBE w stan 0. Powoduje to odczyt danych z linii D0-D7
przez drukarkę. Drukarka ustawia linię BUSY na stan 1 do momentu przetworzenia odczytanych danych.
Komputer ustawia linię STROBE z powrotem na stan wysoki i czeka na potwierdzenie odbioru danych. Gdy
drukarka odczyta dane, generuje ujemny impuls potwierdzający na linii ACK. Gdy dane zostaną przetworzone i
drukarka stanie się gotowa do odczytu kolejnego bajtu, ustawia linię BUSY na stan 0.
Złacza