background image

 

1

AK 

 

 

 

 

 

 

 

 

Ćw. 9 

 

Przesyłanie równoległe 

Cel: Poznanie zasad obsługi urządzenia wejścia-wyjścia na przykładzie łącza równoległego 

Sprzęt i oprogramowanie: Komputer PC, układ TLPT, analizator stanów logicznych,  

program Vmware Player + obraz dysku z systemem DOS i programem AFD 

 lub dyskietka z systemem DOS i programem AFD 

Zagadnienia: 

Przesyłanie równoległe z dwustronnym potwierdzeniem 

Łącze LPT 

Urządzenia wejścia-wyjścia  w systemie operacyjnym 

Rozkazy OUT, IN 

Kontroler urządzenia wejścia-wyjścia 

Literatura 

1.

 

K. Bucholc, Podstawy przesyłania równoległego – dostępne w pliku PDF 

2.

 

P. Metzger, Anatomia PC, Helion, dowolne wydanie, opis łącza LPT 

Polecenia 

 

1.

 

Zapoznaj się z opisem portu równoległego komputera PC.  

a.

 

W jakich trybach może działać łącze LPT? 

b.

 

Uzupełnij rysunek umieszczając na nim brakujące informacje. Przyjmij, że łącze pracuje w trybie 

SPP (zwanym także trybem Centronix). 

 

 

Rys. 1. Połączenie z użyciem LPT 

a – wpisz liczbę przesyłanych równolegle bitów i zaznacz kierunek przesyłania 

b –wpisz nazwę sygnału, którym komputer wpisuje dane do bufora drukarki 

c – wpisz nazwę sygnału, który wskazuje gotowość (lub brak gotowości) drukarki do przyjęcia kolejnego 

znaku. 

MASA (GND) 

 

 

DANE (

 a

 ........) 

( d ........) 

 

Komputer 

 

Drukarka 
lub  
inne 
urządzenie 

 
 

( b ........) 

 

( c ........) 

 

 

background image

 

2

d – dorysuj i opisz sygnały informujące o stanie drukarki, które Twoim zdaniem są niezbędne do 

poprawnego działania układu. 

2.

 

Która para sygnałów pozwala poprawnie sterować przesyłaniem? Czy jest tylko jedna możliwość? 

3.

 

Zaprojektuj układ wyjścia podłączany do portu LPT. Powinien on zawierać rejestr do zapamiętania 

danych przychodzących od komputera oraz diody święcące pokazujące stan tego rejestru. Urządzenie 

powinno także dostarczać sygnały, których komputer oczekuje od drukarki. 

4.

 

Podłącz do komputera zestaw laboratoryjny do ćwiczeń z łączem równoległym. Czy zawiera on 

wszystkie sygnały, które Twoim zdaniem są niezbędne do tego, by urządzenie było widziane przez 

komputer jako drukarka? 

5.

 

Ustaw górny i dolny przełącznik w zestawie laboratoryjnym w prawym położeniu. 

6.

 

Ustaw środkowe przełączniki w dolnym położeniu. 

7.

 

Wyślij ciąg znaków z klawiatury komputera do urządzenia korzystając z polecenia copy (wpisanego w 

wierszu poleceń). 

Np.  copy con lpt1 

............(tekst)^Z   (znak CTRL-Z jest symbolem końca pliku) 

Czy wysyłanie powiodło się? Co może być przyczyną złego działania układu? 

8.

 

Ustaw środkowe przełączniki w położeniach oznaczających gotowość urządzenia do odbioru danych. 

9.

 

Wyślij  ponownie ciąg znaków z klawiatury komputera do urządzenia. 

Czy urządzenie działa zgodnie z oczekiwaniami? Korzystając z tabeli kodu ASCII sprawdź, jaki znak 

jest widoczny na wyświetlaczu diodowym. 

10.

 

Poeksperymentuj z urządzeniem wysyłając do niego pojedyncze znaki i całe pliki. 

11.

 

Który z sygnałów można wykorzystać do sygnalizacji niegotowości urządzenia i w ten sposób 

wstrzymać wysyłanie do niego kolejnych znaków? Wypróbuj działanie tego sygnału. 

12.

 

Zaprojektuj układ, który po przesłaniu każdego znaku ustawi na czas 1 sekundy sygnał braku gotowości 

spowalniając w ten sposób przesyłanie danych. 

Wykorzystaj do tego celu przerzutnik monostabilny. 

 

Rys. 2. Przerzutnik monostabilny 

 

Zasadę działania przerzutnika monostabilnego pokazano na rysunku. Sygnał wyzwalający podany na 

wejście (np. zmiana stanu z 0 na 1) powoduje wysłanie impulsu na wyjściu. Czas trwania tego impulsu 

można regulować dołączając zewnętrzne rezystory i kondensatory. 

13.

 

Przestaw przełączniki górny i dolny w lewe położenie i wypróbuj działanie układu opóźniającego 

zastosowanego w zestawie laboratoryjnym. 

14.

 

Zaobserwuj przebiegi w łączu równoległym komputera PC zarejestrowane przy użyciu analizatora 

stanów logicznych zapisane w pliku  BMP.  Wybierz plik, którego nazwa odpowiada ostatniej cyfrze 

Twojego numeru indeksu. Korzystając z tabeli kodu ASCII ustal, jakie znaki wysyłał komputer.  

background image

 

3

Zakładając, ze podziałka (widoczna w postaci cienkich pionowych linii) wynosi 10 mikrosekund zmierz 

czas trwania sygnału STR/, czas przesłania jednego znaku i oblicz szybkość transmisji. 

15.

 

Korzystając z analizatora stanów logicznych zaobserwuj przebiegi w łączu. 

a.

 

Skopiuj plik portLTP_0.LPF do katalogu w którym masz prawo pisania 

b.

 

Uruchom analizator 

c.

 

Wczytaj plik  portLTP_0.LPF 

 

 

Rys. 3. Okno analizatora 

 

Powinien pojawić się obraz widoczny na rys.3. 

Zwrócimy uwagę na 2 istotne elementy związane z obsługą analizatora 

 

Rys. 4. Sterowanie wyzwalaniem rejestratora 

 

Klikając w kolumnie Edge A można wybrać przy którym zboczu sygnału zostanie wyzwolony rejestrator – rys.4. 

 

 

 

 

 

Rys. 5. Sterowanie rejestracją 

 

Przyciski pokazane na rys. 5 umożliwiają wybranie jednokrotnego wyzwolenia lub pracy ciągłej. 

Wybierz jednokrotne wyzwolenie. 

d.

 

Ustaw przełączniki na płytce TLPT w następujący sposób: 

górny i dolny w prawo 

BUSY – L, ACK/ - L, PAP –L, ONOF – H, ERR/ -H 

e.

 

Wyślij kilka znaków i zaobserwuj przebiegi 

f.

 

Zmierz odstęp między znakami i oblicz szybkość przesyłania 

w tym celu: kliknij w odpowiednim miejscu na ekranie prawym przyciskiem myszy (okno 

analizatora) wybierz Place Cursor A, w drugim punkcie pomiaru Place Cursor B. 

Wyzwalanie opadającym zboczem sygnału STR/ 

Jednokrotne 
wyzwolenie 

Cykliczne 

Stop 

background image

 

4

W prawym dolnym rogu ekranu odczytaj zmierzony czas Interval A->B: 

g.

 

Zmień ustawienie górnego przełącznika – Lewo 

h.

 

Wyślij kilka znaków do łącza i zaobserwuj przebiegi na liniach STR/ i BUSY. 

 

Kontroler łącza LPT składa się z 3 rejestrów, do których mamy dostęp przy użyciu rozkazów OUT (zapisywanie) 

i IN (czytanie). 

Składnia tych rozkazów jest następująca:  

OUT DX, AL    Do DX wpisujemy adres portu, a do AL 8-bitową daną, którą chcemy wysłać (Rozkaz OUT moż

też wysyłać 16-bitowy argument. Wtedy używamy AX. Ale to nie dotyczy portu LPT).    

IN AL, DX   Do DX wpisujemy adres portu. W AL pojawi się odczytana wartość. Zwróć uwagęże (nie wiadomo 

po co) kolejność argumentów w rozkazach OUT i IN jest różna. 

Kontroler urządzenia wejścia-wyjścia zawiera zwykle kilka rejestrów. Za pośrednictwem tych rejestrów 

komputer: wysyła i odbiera dane, dowiaduje się o stanie urządzenia, wysyła sygnały sterujące. 

Kontroler łącza LPT zawiera 3 rejestry (cały czas pracujemy w trybie SPP): DANYCH, STANU i STERUJĄCY. 

Dla łącza LPT1 ich adresy wynoszą odpowiednio 378H, 379H i 37AH. 

 

16.

 

Korzystając z programu AFD (bez znaczenia wersja 1 lub 2)  napisz program, który wysyła do rejestru 

danych łącza LPT1 kody ASCII znaków odpowiadające Twoim inicjałom. Zaobserwuj działanie 

programu. 

17.

 

Napisz program odczytujący rejestr  stanu łącza LPT1 i zinterpretuj odczytany wynik. 

18.

 

Zmień ustawienia przełączników na płytce TLPT i ponownie odczytaj rejestr stanu. 

19.

 

Napisz program wysyłający 1 znak do łącza LPT1. Należy sterować linią STR/. W przypadku 

wysokiego stanu na linii BUSY program powinien czekać na gotowość.