LABORATORIUM
PROJEKTOWANIA URZĄDZEŃ CYFROWYCH
Instrukcja do ćwiczenia:
"Model monitora Ekranowego".
Instytut Elektroniki Politechniki Śląskiej
Zakład Układów Cyfrowych i Mikroprocesorowych.
GLIWICE 2001
MODEL MONITORA EKRANOWEGO
1. Cel ćwiczenia
Informacja alfanumeryczna lub graficzna z komputera jest standardowo wyprowadzana na ekran kineskopu (ang. CRT display), będącego częścią monitora ekranowego. Obecnie monitory stanowią dość złożone urządzenia elektroniczne wykorzystujące w szerokim stopniu technikę cyfrową i są używane nie tylko w terminalach komputerowych, ale także np. w sprzęcie medycznym, cyfrowych urządzeniach przemysłowych itp. W większości przypadków nadal stosowane są nieco zmodyfikowane rozwiązania znane powszechnie z techniki telewizyjnej, wraz z kineskopami, chociaż od wielu już lat daje się zauważyć tendencja do przechodzenia na wielkogabarytowe wyświetlacze LCD, konstrukcyjnie elegantsze, ale też znacznie droższe. W ramach laboratorium studenckiego nie ma możliwości zmontowania ze standardowych podzespołów w pełni funkcjonalnego modelu monitora ekranowego i jego uruchomienia, nie tylko z powodu znacznej złożoności, ale też ze względów bezpieczeństwa (wysokie napięcia). Celem ćwiczenia jest jedynie przybliżenie studentom, w zupełnie podstawowym zakresie, problematyki wyświetlania informacji alfanumerycznej na ekranie lampy elektronopromieniowej. Podzespołem wyjściowym w ćwiczeniu jest lampa oscyloskopowa, a nie kineskop; ściślej, jest to standardowy oscyloskop, do którego w trakcie ćwiczenia dobudowywany jest cyfrowy układ sterujący.
2. Realizacja laboratoryjna ćwiczenia
Zastosowany w kasecie A-Z generator znaków alfanumerycznych jest elementem typu TMS 4103 firmy Texas Instruments. 7 sygnałów wyjściowych przedstawia jedną kolumnę matrycy 5 x 7 kropek. Wyprowadzenie pełnej informacji (35 bitów), określającej jeden znak, polega na kolejnym podawaniu sygnałów na wejścia selekcji kolumn a,b,c,d,e. Podanie sygnału aktywnego (niskiego) na wejście a powoduje pojawienie się na wyjściach A..G pierwszej kolumny matrycy znaku, na wejście b drugiej kolumny itd. W danej chwili tylko jedno z wejść a, .. ,e może być w stanie aktywnym. Sygnały na wejściach 0..6 określają kod znaku który ma być wyświetlony. Ponieważ dla określenia 64 znaków wystarcza 6 bitów (0..5), siódmy bit jest wykorzystywany do blokowania generatora. Podanie 0 na wejście 6 uaktywnia go, podanie 1 blokuje. W ćwiczeniu, ze względu na sposób wyświetlania znaków kolejnymi liniami, z 7 dostępnych wyjść w danej chwili wybierane jest (za pośrednictwem multipleksera) zawsze tylko jedno.
Rys.2 przedstawia jedną z możliwych realizacji uproszczonego układu wyświetlania znaków na ekranie lampy oscyloskopowej.
Impulsy z generatora taktującego podawane są na układ sekwencyjny, którego zadaniem jest rozdzielenie w czasie impulsów modulujących jasność świecenia plamki (mod. Z) i impulsów zegarowych dla dalszej części układu. Ponieważ znaki na ekranie lampy oscyloskopowej są formowane z matrycy 5x7 punktów, wspomniany układ sekwencyjny powoduje wygaszenie plamki podczas przelotu między jednym punktem matrycy a drugim, a zbocza sygnału zegarowego dla części sterującej występują w momentach, w których plamka pozostaje wygaszona. Ewentualne procesy przejściowe w układzie, związane ze zboczami zegara, które potencjalnie mogą zakłócić wyświetlanie, nie są w takiej sytuacji widoczne na ekranie, ponadto uzyskiwany jest przyjemniejszy dla oka efekt wizualny. Układ modulacji jasności świecenia plamki w oscyloskopie wymaga impulsów o amplitudzie przekraczającej poziomy TTL, konieczne więc jest zastosowanie pośredniczącej bramki z otwartym kolektorem o podwyższonym do 15 V napięciu wyjściowym.
Impulsy zegarowe uformowane w opisanym układzie pobudzają 12-bitowy, szeregowy licznik binarny (4 przerzutniki JK + 8-bitowy licznik scalony). Trzy najmłodsze bity tego licznika adresują, poprzez dekoder 1 z 8 (kaseta T), wejścia wyboru kolumn generatora znaków alfanumerycznych (kaseta A-Z). Ponieważ 3 bity dają możliwość zaadresowania 8 wyjść dekodera, a wykorzystywanych jest jedynie 5 wyjść, czas uaktywniania pozostałych 3 wyjść przeznaczony jest na wygenerowanie odstępu między znakami w linii. Tak więc w ciągu 8 kolejnych taktów, w trakcie których stany pozostałych wyjść licznika nie ulegają zmianie, na ekranie wyświetlanych jest 5 punktów + 3 punkty odstępu jednej linii aktualnie wybranego znaku.
Następne 3 bity licznika adresują 8-komórkową stronę pamięci (kaseta RAM 1). Ponieważ sygnały na wejściach adresowych multipleksera (kaseta MX) pozostają w tym czasie stałe, na ekranie oscyloskopu wyświetlana jest jedna kompletna linia złożona z kolejnych sekwencji 5+3 punktów wszystkich 8 znaków zapisanych w danej stronie pamięci; z każdego znaku wybierana jest ta sama linia. W tym czasie plamka dociera już do prawej krawędzi ekranu - wymaga to odpowiedniego zsynchronizowania ruchu plamki po ekranie ze zmianami stanu licznika. Plamka powinna startować od lewej krawędzi wtedy, gdy wybrana jest pierwsza kropka pierwszego znaku, i powinna osiągać prawą krawędź, gdy wybrany jest ostatni punkt ostatniego znaku w wierszu. Skorelowanie szybkości przesuwu i zmiany stanów licznika uzyskuje się przez właściwy dobór podstawy czasu oscyloskopu i częstotliwości generatora taktującego. Natomiast synchronizacja obu przebiegów (czyli wymuszenie startu plamki przy zerowym stanie najmłodszych 6 bitów licznika) mogłaby następować przez pobudzenie układu wyzwalania oscyloskopu opadającym zboczem szóstego bitu, gdyż wówczas to wyjście i wszystkie wcześniejsze przechodzą do stanu niskiego. Ponieważ jednak układy wyzwalania podstawy czasu oscyloskopów charakteryzują się pewnym czasem martwym, i od chwili zakończenia ruchu plamki do jej ponownego startu musi upłynąć stosunkowo znaczny czas, rozwiązanie takie powodowałoby „obcinanie” ostatnich znaków w wierszu. Dlatego też sygnał synchronizacji pobierany jest z kolejnego wyjścia licznika - 22 z kasety L, a wyjście to nie jest poza tym wykorzystywane w pozostałej części układu. Wyzwalanie odbywa się przy opadającym zboczu impulsu, więc czas, w którym sygnał synchronizujący jest na poziomie wysokim, pozwala na powrót plamki. Jej wygaszanie zapewnia wtedy wewnętrzny układ wygaszania oscyloskopu. Tak więc generowanie jednej kompletnej linii pojedynczego wiersza znaków powtarzane jest dwukrotnie, ale tylko raz plamka przesuwa się po ekranie wyświetlając kolejne punkty; za drugim razem wygaszona plamka powraca na początek.
Kolejne trzy bity licznika adresują multiplekser (kaseta MX) i równocześnie sterują młodszą połówką przetwornika cyfrowo-analogowego (kaseta C/A), połączonego z wejściem wzmacniacza odchylania pionowego oscyloskopu. Każda następna linia jednego wiersza wybierana przez multiplekser jest więc przesuwana w poziomie i wyświetlana poniżej poprzedniej. Ponieważ wykorzystywanych jest jedynie 7 kanałów multipleksera, odstęp przeznaczony na wyświetlenie ósmej, nieistniejącej linii dodaje się do przerwy pomiędzy wierszami wyświetlanych znaków. Bity te zatem adresują niejako linie w jednym wierszu i wobec tego nie wpływają na zawartość pamięci - w każdej z linii tego samego wiersza wyświetlany jest ten sam zestaw 8 znaków.
Najstarsze dwa bity licznika adresują pamięć określając numer aktualnie wyświetlanej strony, oraz sterują starszą połówką przetwornika C/A, generując odstęp między wierszami znaków. W rezultacie na ekranie oscyloskopu wyświetlane są cztery wiersze znaków po 8 znaków w wierszu, każdy złożony z 8 linii. Jako pierwszy, w górnym lewym narożniku ekranu, wyświetlany jest znak znajdujący się w komórce pamięci o adresie zero, potem kolejny itp.
Układ zapisu informacji do pamięci zbudowany jest w oparciu o komparatory cyfrowe (kasety G) porównujące adres aktualnie wyświetlanego znaku z adresem odniesienia, zapisanym w liczniku rewersyjnym (kasety M). Licznik zawiera adres komórki, do której ma zostać dokonany zapis. Stan licznika może zostać zmieniony przez naciśnięcie odpowiednio przycisku inkrementacji lub dekrementacji oraz zwiększa się automatycznie po dokonaniu zapisu. Zmiana stanu licznika odniesienia odpowiada zatem zmianie położenia na ekranie domyślnego kursora. Ponieważ w trakcie podawania impulsów na jedno z wejść zegarowych licznika rewersyjnego na drugim wejściu powinien panować sygnał wysoki, oba sygnały zegarowe zostały zanegowane w celu uzyskania logiki pozytywnej.
Sygnał komparacji jest dodatkowo blokowany przyciskiem ZEZWOLENIE ZAPISU w celu zabezpieczenia przed pomyłkowym zapisem. Zapis do pamięci dokonuje się po wciśnięciu przycisku ZAPIS i następuje w trakcie wyświetlania trzeciej kolumny danego znaku. Zapewnia to odpowiednie długi czas ustalania i przetrzymania sygnałów na wejściach adresowych pamięci i zabezpiecza przed przypadkowym zapisem do niewłaściwych komórek podczas procesów przejściowych związanych ze zmianami stanów licznika adresującego pamięć, który jest rozwiązany jako szeregowy.
W celu ułatwienia użytkownikowi zorientowania się, w którym miejscu na ekranie lampy oscyloskopowej dokonany zostanie zapis nowego znaku, po wciśnięciu klawisza ZEZWOLENIE ZAPISU wybrane pole ekranu zaczyna migotać. Ten prosty układ kursora zbudowany jest w oparciu o licznik (kaseta O), którego stan jest inkrementowany każdorazowo po wyświetleniu całej zawartości pamięci. Najstarszy bit tego licznika wraz z sygnałem komparacji ustawia lub kasuje najstarszy bit adresowy dekodera (D, w kasecie T) uaktywniając na przemian osiem młodszych lub dwa starsze bity wyjściowe. W tym drugim przypadku wybrane pole na ekranie oscyloskopu pozostaje zaciemnione. Wadą takiego rozwiązania jest to, że w przypadku wskazywania przez kursor znaku spacji przestaje on być widoczny, bowiem spacja „zapalona” i wygaszona niczym się nie różnią. „Zgrubne” przesuwanie kursora po ekranie można zrealizować wykorzystując klawisze zerowania i ustawiania kaset M tworzących licznik adresu kursora (odniesienia).
Kody znaków zapisywanych do pamięci (Rys.1) ustawiane są na zadajniku sygnałów binarnych (kaseta A) lub prostej klawiaturce dołączanej zewnętrznie do układu.
Program ćwiczenia:
Zmontować część układu realizującą wyświetlanie znaków (multiplekser, generator znaków alfanumerycznych, licznik 12-bitowy i przetwornik C/A), bez podłączania pamięci wraz z układem zapisu i bez układu rozdzielającego impulsy zegarowe od impulsów modulacji jasności plamki. Generator znaków alfanumerycznych powinien mieć podany sygnał niski na wejście informacyjne nr 6 i rozwarte pozostałe wejścia. Na ekranie oscyloskopu powinny wyświetlić się znaki zapytania "?". Uzyskanie prawidłowego obrazu wymaga dobrania częstotliwości generatora taktującego, współczynnika podstawy czasu oscyloskopu, wzmocnienia wzmacniacza Y i poziomu wyzwalania wejścia synchronizacji zewnętrznej.
Dołączyć pamięć i układ zapisu, wpisać do pamięci dowolny tekst 32-znakowy i wyświetlić go na ekranie oscyloskopu.
Zmontować układ rozdzielania impulsów zegarowych i modulacji jasności.
Bity adresowe |
Znak |
Bity adresowe |
Znak |
5 4 3 2 1 0 |
|
5 4 3 2 1 0 |
|
0 0 0 0 0 0 |
@ |
1 0 0 0 0 0 |
|
0 0 0 0 0 1 |
A |
1 0 0 0 0 1 |
! |
0 0 0 0 1 0 |
B |
1 0 0 0 1 0 |
" |
0 0 0 0 1 1 |
C |
1 0 0 0 1 1 |
# |
0 0 0 1 0 0 |
D |
1 0 0 1 0 0 |
$ |
0 0 0 1 0 1 |
E |
1 0 0 1 0 1 |
% |
0 0 0 1 1 0 |
F |
1 0 0 1 1 0 |
& |
0 0 0 1 1 1 |
G |
1 0 0 1 1 1 |
' |
0 0 1 0 0 0 |
H |
1 0 1 0 0 0 |
( |
0 0 1 0 0 1 |
I |
1 0 1 0 0 1 |
) |
0 0 1 0 1 0 |
J |
1 0 1 0 1 0 |
* |
0 0 1 0 1 1 |
K |
1 0 1 0 1 1 |
+ |
0 0 1 1 0 0 |
L |
1 0 1 1 0 0 |
, |
0 0 1 1 0 1 |
M |
1 0 1 1 0 1 |
- |
0 0 1 1 1 0 |
N |
1 0 1 1 1 0 |
. |
0 0 1 1 1 1 |
O |
1 0 1 1 1 1 |
/ |
0 1 0 0 0 0 |
P |
1 1 0 0 0 0 |
0 |
0 1 0 0 0 1 |
Q |
1 1 0 0 0 1 |
1 |
0 1 0 0 1 0 |
R |
1 1 0 0 1 0 |
2 |
0 1 0 0 1 1 |
S |
1 1 0 0 1 1 |
3 |
0 1 0 1 0 0 |
T |
1 1 0 1 0 0 |
4 |
0 1 0 1 0 1 |
U |
1 1 0 1 0 1 |
5 |
0 1 0 1 1 0 |
V |
1 1 0 1 1 0 |
6 |
0 1 0 1 1 1 |
W |
1 1 0 1 1 1 |
7 |
0 1 1 0 0 0 |
X |
1 1 1 0 0 0 |
8 |
0 1 1 0 0 1 |
Y |
1 1 1 0 0 1 |
9 |
0 1 1 0 1 0 |
Z |
1 1 1 0 1 0 |
: |
0 1 1 0 1 1 |
[ |
1 1 1 0 1 1 |
; |
0 1 1 1 0 0 |
\ |
1 1 1 1 0 0 |
< |
0 1 1 1 0 1 |
] |
1 1 1 1 0 1 |
= |
0 1 1 1 1 0 |
^ |
1 1 1 1 1 0 |
> |
0 1 1 1 1 1 |
_ |
1 1 1 1 1 1 |
? |
Uwaga: Bit adresowy 6 musi być w stanie niskim dla uaktywnienia generatora
Rys.1. Kody liter dla generatora znaków alfanumerycznych TMS 4103
Rys.2. Przykładowy układ realizujący funkcję monitora ekranowego
5