• Nie Znaleziono Wyników

Monitor graficzny w mikrokomputerowym systemie pomiarowym

N/A
N/A
Protected

Academic year: 2022

Share "Monitor graficzny w mikrokomputerowym systemie pomiarowym"

Copied!
13
0
0

Pełen tekst

(1)

ZESZYTY NAUKOWE POLITECHNIKI ¿ŁASKIEJ Seria: AUTOMATYKA z. 81

______ 1986 Nr Kol. 851

Stanisław ŁABĘCKI Instytut Elektroniki

Politechniki Śląskiej w Śliwicach

MONITOR GRAFICZNY W MIKROKOMPUTEROWYM SYSTEMIE POMIAROWYM

Streszczenie. W pracy przedstawiono koncepcję rozwiązania moni- tora graficznego w mikrokomputerowym systemie pomiarowym, ze szcze­

gólnym uwzględnieniem pamięci generującej obraz. Przedstawiono tak­

że algorytmy elementarnych operacji graficznych realizowanych przez mikroprocesor, w tym również sposób kodowania obrazu.

1. WPROWADZENIE

Monitor graficzny znajduje coraz szersze zastosowanie do indykacji in­

formacji zarówno w przemyśle przy kontroli procesów technologicznych, w pracowniach przy komputerowo wspomaganym prooesie projektowania, jak i w laboiatoriach do graficznego przedstawienia wyniku eksperymentu. W wielu zastosowaniach nieekonomiczne jest wyposażenia laboratorium w komputer, czy nawet minikomputer angażowany jedynie do generacji obrazu. W większoś­

ci prac eksperymentalnych sterowanyoh mikroprocesorem można wykorzystać Istniejący już mikrokomputer do generacji obrazu w monitorze graficznym.

2. STRUKTURA MONITORA GRAFICZNEGO STEROWANEGO MIKROPROCESOREM

Typowy mikrokomputerowy system pomiarowy przedstawiony jest na rys. 1.

Mikrokomputerowy system pomiarowy oparty jest na wspólnej wewnętrznej ma­

gistrali, za pośrednictwem której mikroprocesor steruje poszczególnymi blokami układu. Mikroprocesor realizując program zawarty w pamięci ROM bada zlecenia z pulpitu operatora i na ioh podstawie może wykonywać ope­

racje graficzne według danych zgromadzonych podozas pomiarów w pamięci RAM, bądź też bezpośrednio na danych w pamięci obrazu monitora graficzne­

go. Nie wszystkie bloki takiego systemu pomiarowego muszą występować rów­

nocześnie, ale taka konfiguracja zapewnia dużą uniwersalność urządzenia.

Najistotniejszym blokiem w monitorze graficznym jest układ pamięci obrazu. W chwili obecnej w większości monitorów graficznych funkcję pamię­

tania obrazu przeniesiono z luminoforu lampy obrazowej do pamięci cyfro- wej typu RAM, a obraz jest kreślony sekwencyjnie, tak Jak w odbiorniku

(2)

-e-PO

Monitor graficzny

Pulpit

operatora Procesor XS.

V .»' 0

0 0

konwertery konwertery

A/C C/A

Pamięć typu RAM

u

Pamięć typu ROM

u

Układ korekcji r

Układ pamięci

obrazu

UWtady odchylania

I__

E L z

Magistrala

Ploter

systemu

S T

Pamięć magnetyczna

: J L interfejs magistrali

zewnętrznej

O

Magistralazewnętrzna

Rys. 1. Schemat blokowy mikrokomputerowego systemu pomiarowego z monitorem graficznym Fig. 1. Block scheme of microcomputer measurement system with graphic monitor

St. labęcki

(3)

Monitor graficzny.. 43

telewizyjnym. Stało się to możliwe dzięki produkcji pamięci o dużych po­

jemnościach.

Znane układy pamięć-, obrazu monitora graficznego opierają się na dwóch rozwiązaniach . Pierwsze z nich polega na zastosowaniu pojedynczej pamię­

ci typu RAM dostępnej z magistrali systemu tylko wtedy, gdy strumień elek­

tronów lampy obrazowej znajdzie się poza polem kreślonego obrazu, tzn. w strefie marginesu pionowego lub poziomego. Drugie ze znanych rozwiązań polega na zastosowaniu dwóch pamięci typu RAM, z których pierwsza jest dostępna z magistrali, druga zaś stanowi wówczas pamięć obrazu. Po zapi­

saniu nowego obrazu w pamięci dostępnej z magistrali następuje zamiana ról tych pamięci i wówczas obraz na ekranie jest kreślony z pierwszej pa­

mięci, a druga jest dostępna z magistrali systemu do przygotowania kolej­

nego obrazu.

Wadą pierwszego rozwiązania jest to, że pamięć dostępna jest z magis­

trali systemu tylko przez około połowę czasu, co powoduje wydłużenie cza_

su potrzebnego na wygenerowanie nowego obrazu.

W przypadku drugiego rozwiązania wprawdzie dostęp do pamięci obrazu jest natychmiastowy, lecz w pamięci aktualnie dostępnej z magistrali znaj­

duje się inny obraz niż jest wyświetlany, co powoduje konieczność powie­

lenia tych samych fragmentów obrazu przy jego modyfikacji.

W celu minimalizacji czasu dostępu do pamięci obrazu monitora graficz­

nego z magistrali mikrokomputera i eliminacji konieczności powielania tych samych fragmentów obrazu przy jego modyfikacji opracowano układ, którego schemat blokowy przedstawiony jest na rys. 2. W układzie tym zastosowano trzy pamięci: RAM1, RAM2, LIRO. Z magistrali systemu dostępna jest tylko pamięć RAM1. Pamięć RAM2 stanowi właściwą pamięć obrazu. Jeżeli pamięć RAM1 nie jest adresowana z magistrali, wówczas pamięci RAM1 i RAM2 pracu­

ją synchronicznie w ten sposób, ża obydwie są adresowane z licznika adre­

sowego LA i pamięć RAM1 realizuje cykl odczytu, a pamięć RAŁJ2 cykl odczyt - modyfikacja - zapis. Dzięki temu zawartość pamięci RAM2 jest ciągle uak­

tualniana. Jeżeli wystąpi operacja zapisu z magistrali do pamięci RAM1, wówczas adres komórki pamięci, do której był wykonywany zapis, zostaje zapamiętany w pamięci LIFO. Z chwilą kiedy strumień elektronów w lampie obrazowej znajdzie się poza polem kreślonego obrazu, układ sterujący US spowoduje korekcję komórki w pamięci RAM2 o takim adresie, pod jakim była wykonywana operacja zapisu w pamięci RAM1. Dzieje się to w ten sposób, że źródłem adresu dla pamięci RAM1 i RAM2 staje się pamięć LIRO i pamięć RAM1 wykonuje cykl odczytu, a pamięć RAM2 cykl zapisu. Poprzez zastosowanie pa_

mięci LIFO osiągnięto szybszą korekcję obrazu w pamięci RAM2, gdyż odbywa się ona już pomiędzy kreśleniem kolejnych linii na ekranie lampy. Blokiem, który pośredniczy pomiędzy układem generacji obrazu, a układami odchylania lampy obrazowej jest układ korekcyjny. Jego zadaniem jest korekcja nieli­

niowości odchylania i ostrości obrazu. 0 nieliniowości odchylania decydu­

ją dwa elementy: geometria lampy obrazowej i nieliniowości samego układu

(4)

Rys. 2. Struktura blokowa układu pamięci obrazu monitora graficznego (układ jest przedmiotem wniosku pa­

tentowego nr P-242484)

Fig. 2. Block structure of tbe system of monitor picture memory (patent proposal n. P-242484)

(5)

Monitor graficzny.« A l

odchylania. Zazwyczaj układ korekcyjny koryguje jedynie nieliniowości wy­

nikające z geometrii lampy obrazowej, a korekcja nieliniowości układu od­

chylania jest realizowana wewnątrz niego. Wypracowanie wartości sygnałów korekcyjnych do układów odchylania jest możliwe na drodze cyfrowej, gdyż położenie strumienia elektronów w lampie obrazowej jest określone poprzez licznik LA. Korekcji wymaga również ostrość obrazu, gdyż zmienia się ona zarówno z położeniem strumienia elektronów w lampie obrazowej, jak i z jego natężeniem (przy wielowartościowej modulacji jaskrawości).

3. ALGORYTMY ELEMENTARNYCH OPERACJI GRAFICZNYCH

Dzięki zastosowaniu mikroprocesora wiele operacji graficznych może być realizowanych wewnątrz systemu pomiarowego. Z jednej strony umożliwia to pracę autonomiczną, a z drugiej eliminuje konieczność angażowania kompu­

tera do wykonywania prostych operaoji.

Najprostszą operacją jest kasowanie obrazu. Zadaniem mikrokomputera jest wówczas zapełnienie całej pamięci obrazu zerami (przy konwencji, że jedynka logiczna oznacza świecenie punktu). Jest to zadanie proste, lecz czasochłonne. Szozególnie w tym przypadku jest widoczna przydatność in­

strukcji przesłań grupowych.

Kolejnym podprogramem realizowanym przez mikrokomputer jest operacja zaświeć/zgaś punkt o współrzędnych X-Y. Zadaniem mikroprocesora jest okreś­

lenie na podstawie zadanych współrzędnych adresu komórki pamięci obrazu i pozycji bitu w tej komórce, a następnie ustawienie w odpowiedni stan logiczny tego bitu.

Podprogram bazujący na operacji zaświecenia punk+u o zadanych współ­

rzędnych to operacja kreślenia linii z punktu do punktu ^2^2* *u -lcr0- procesor musi wówczas obliczyć ciąg punktów krzywej schodkowej (dysponu­

jemy jedynie dyskretnymi wartościami) aproksymującej zadaną linię prostą.

Algorytm aproksymacji wraz z przykładem przedstawiony jest na rys. 3. Ba­

zuje on jedynie na operacjach dodawania i odejmowania, zapewniając jedno­

cześnie błąd aproksymacji nie większy niż 1/2 elementarnego kroku.

Do opisu obrazu wykorzystywany jest podprogram realizujący kreślenie w zadanym polu znaku graficznego z generatora znaków. Parametrami wejścio­

wymi do podprogramu są kod znaku oraz współrzędne pola (np. lewy górny róg znaku), w jakim znak ten ma być Umieszczony. Mikroprocesor pobiera generatora znaków dane kodująoe znak i zanosi je pod odpowiedni adres do pamięci obrazu. Dla utrwalania 1 odtworzenia zarejestrowanego obrazu wyko­

rzystywane są dwa podprogramy. Jeden z nich koduje obraz i zapisuje go w pamięci magnetycznej, a drugi wykonuje operację odwrotną - czyta pamięć magnetyczną, dekoduje obraz 1 zapisuje go do pamięci obrazu. Sens kodowa­

nia istnieje wtedy, gdy pewne fragmenty obrazu powtarzają się. Dotyczy to zwłaszcza tła obrazu. Wówczas, dzięki kodowaniu obrazu, zmniejsza się

(6)

4-6 St. łabęcki

D X > D Y

D X > S O '

K O N I E C S T A R T

X=X< Y=Y<

O X= IXa-X-ii D Y = IY i-Y * l K X = K - siqn / X z - X i / K Y = K - s io n / Y2-Y < /

Zq s w. punkt o ws^crfrz.

Y= Y + K Y S D Y = S D Y - 0 X

-- s “

f - •:L

=ij—

~ S

'v~iX - - 4

§

.

Jj'- ■■

V

— -

X = X + K X SD Y= S D Y + D Y

N=N-4 Znśw. punkt

o wspotrz.

XY

S D X = D X N = O Y

X = X + K X SO X = S O X -O Y

Y = Y + K Y SD X = S D X + D X

N = N -1

I ' , f t ...

Z a sw . punkt o w sp o trz .

Rys. 3. Algorytm aproksymacji Unii prostej (a) i przykłady jego reallia- cji (bj. K oznacza wartość elementarnego kroku aproksymacji

Pig. 3. Algorithm of straight U n a approximation a) and examples of its realization b) X is a value of elementary approximation step

(7)

Monitor graficzny.»« 47 pojemność pamięci potrzebnej do przechowania obrazu. W zależności od cha­

rakteru obrazu spoaób optymalnego kodowania może być różny. W zbudowanym modelu zastosowano dwa sposoby kodowania. Pierwszy z nich pozwala na za­

kodowanie dowolnego obrazu. Ciąg kodujący rozpoczyna się od znaku infor­

macyjnego, w którym na dwóch najstarszych bitach określa się sposób inter­

pretacji tego i następnych znaków w ciągu. Wyjaśnia to tabela 1.

Tabela 1 Znaczenie znaków informacyjnych w ciągu kodującym obraz

D7 JD6 D5+H0 Opis

0 0 1 1+1 kolejnych znaków w ciągu stanowi (l+1)^

kolejnych punktów obrazu, po czym następny znak jest zna­

kiem informacyjnym,

0 1 k Należy wykreślić (k+1)|| ciemnych punktów, a następny znak jest znakiem informacyjnym,

1 0 k Należy wykreślić (k+1)jj punktów określonych przez następny znak, po ozym kolejny znak jest znakiem informacyjnym.

1 1 X Znak lnformaoyjny kończący ciąg kodujący obraz m jest liczbą bitów kodujących jaskrawość punktu (m=1-r8)

Ciąg kodujący, w zależności od obrazu jaki jest kodowany, posiada różną długość. Ha końcu ciągu kodującego znajduje się znak informacyjny, w któ­

rym na dwóch najstarszych bitach znajdują się jedynki. Przyjęty sposób ko­

dowania jest szczególnie wygodny przy dekoaowaniu obrazu przez mikroprocesor ze względu na prostą interpretację znaków w ciągu. Kodowanie, a zwłaszcza dekodowanie jest szczególnie szybkie, jeżeli procesor posiada instrukoje przeBłań grupowych. Algorytm kodowania i dekodowania obrazu jest przedsta­

wiony na rysunkach 4 1 5 . Wybór takiego algorytmu kodowania stanowi pewien kompromis pomiędzy minimalną długością ciągu kodującego, a złożonością al­

gorytmu kodowania.

Ze względu na charakter prowadzonych prac eksperymentalnych (w których monitor graficzny był wykorzystywany do przedstawienia wykresów lub prze­

biegów czasowych) opracowany został również i prostszy Bposóh zapisania obrazu w pamięci zewnętrznej. W metodzie tej nie jest kodowany sam obraz, lecz w pamięoi zewnętrznej zapisywane są dane, na podstawie których obraz jest tworzony. V tym przypadku nie istnieje problem kodowania obrazu, gdyż korzysta się z naturalnej postaci jego zakodowania w ciągu punktów wykresu i kodów znaków alfanumerycznych opisujących obraz. Pozostaje jedynie pro­

blem odtworzenia obrazu. Sposób zapisania danych służących do generacji obrazu jest zilustrowany w tabeli 2, a algorytm odtwarzania obrazu przed­

stawia rys. 6.

(8)

48 St. labęoki

START

N+k/=/N+k+V

Xi= 4 0h+U

N=N+k+4

KONIEC

KONIEC

(9)

Monitor graficzny. 49

T Xi = C0H

4. PODSUMOWANIE

Xi =/NH/

i ='i + 4 t=lM

l ( KONIIEC )

Rys. 4a i 4b. Algorytm kodowania dowolnego obrazu (patrz tabela 1) Znaczenie symboli: Xi - i-ty wyraz ciągu kodującego, Nmin - dolny adres pamigoi obrazu, Nna:£ - górny adres pamięci obrazu, N - bieżący adres pa­

mięci obrazu, (łł) - zawartość komórki pamięci obrazu o adresie N, k - licz­

ba kolejnych słów w pamięci obrazu takich samych jak słowo o adresie N, 1 - liczba słów w pamięci obrazu takich, że (N+1) i (N+1+1)

Fig. 4a and 4b. Algorithm of a picture coding (see table 1) X^ - the i-th word of a coding sequence, Nfflln - lower address of memory of picture, Nmax - upper address of memory of picture, N - current adreas of memory of picture, (N) - contents of memory cell with address N, k - number of sequential words in the memory of picture the same like the word with the adress N, 1 - number of words in memory of picture duch that

(N+1) f (N+1+1)

Weryfikacja koncepcji monitora graficznego została przeprowadzona w trakcie prac eksperymentalnych, gdzie model monitora był wykorzystywany do graficznego przedstawienia wyniku pomiarów zarówno w postaci bezpośred-

(10)

50 St. łabęcki

Y = X ;a C 0h 1 = X ,a s f h k 'X 't a5 Fh

Rys. 5. Algorytm dekodowania obrazu zakodowanego wg algorytmu przedsta­

wionego na rys. 4a i 4b. Znaczenie symboli jest takie samo jak na rys. 4 Fig. 5. Algorithm of decoding of a picture coded according to the algorithm

presented on the fig. 4a and 4b

niej (np. przy realizacji modelu oscyloskopu cyfrowego), jak też w posta­

ci przetworzonej (np. widmo sygnału, funkcja przejścia badanego układu itp.). Dzięki dużej ilości informacji, jaką niesie obraz, możliwa jest szybka ocena eksperymentu. Zwiększenie czytelności obrazu, zwłaszcza przy wielu nałożonych na siebie przebiegach, możliwe jest przy zastosowaniu ko­

lorowej lampy obrazowej.

/N/=00h N = N M

(11)

1= M X=X+8

i = l+/1

monitor graficzny».« _______________________________________________ gj_

C s r A B T )

C =A\ aC 0h

KONIEC

Rys. 6. Algorytm generacji obrazu wg ciągu kodującego opisanego w tabeli 2 Znaczenie symboli: A^ - i-ty wyraz ciągu kodującego, Ymax ~ H ° zba punkttfw na osiach X i Y; X, Y - współrzędne punktu na ekranie, 1 - liczba

znaków w napisie; B, C, i - wartości pomocnicze

Fig. 6. Algorithm of generating of,a picture according a sequence descri­

bed in the table 2 A^-the i-th word of a coding sequence

^Taax’ ^max " number P°iuts on arises X and Y; X, Y - coordinates of a point on the screen, 1 - number of signs in the descriptions; B, C, i -

auxiliary values

(12)

52 S t . Ł a b ę c k i Tabela 2 Znaczenie znaków informacyjnych w ciągu danych do generacji obrazu

D2 P6 D5+D0 Opis

0 0 X Na dwóch następnych pozycjach znajdują się współrzędne Xa, Xb początku i końca linii wykresu, którego współrzęd­

ne Y^ ( a < i < b ) są podane na kolejnych b-a+1 pozycjach.

0 1 1 Na dwóch następnych pozycjach znajdują się współrzędne pola pierwszego z 1+1 znaków alfanumerycznych napisu. Na kolejnych 1+1 pozycjach znajdują się kody znaków

1 0 X Na dwóch kolejnych pozycjach określony jest środek układu współrzędnych

1 1 X Koniec ciągu danych

.ITERATURA

[1] Dinwiddie K.: Memory organization and high speed processor facilita­

te unique image display capabilities. Computer Design, July 1981.

[2] Jones D., Fletcher J.: Graphics and imaging systems offloads host computer. Computer Design, July 1981.

[?] French H.: Trends in CAM/CAD graphics technology. Computer Design, September 1981.

[4] Trombly J. E.i Image processing architecture expands range of appli­

cations. Computer Design, September 1981.

0>] Shaw P.I.: Computer graphics. Computer Technology Review, Spring- Summer 1981.

[6] Straayer D.: Graphics standards evolve to serve users and vendors.

Computer Technology Review, Winter 1982.

[7] Bird R. s Dedicated ICs improve graphics controllers cost effective­

ness. Computer Technology Review, Winter 1982.

[8] Carinalli C.: Graphics using the DP 8350 series of CRT controllers.

National Semiconductor Application Note 212, December 1978.

[9] Evans M.I Graphics/alphanumerics systems using the DP 8350 series of CRT controllers. National Semiconductor Application Note 243, April 1980.

10] Grafoskopy w systemach komputerowych. Praca zbiorowa. WNT, Warszawa 1 9 8 1

.

11] Łabęcki St.: Układ pamięci obrazu monitora graficznego - wniosek pa­

tentowy nr P-242484.

Recenzent: dr inż. Adam Bukowy

płynęło do Redakcji 31.01.1984 r.

(13)

Monitor graficzny... 53

rPA'M'iECKiU AHCnJI£<i 3 MHKPOKOiiribLffEPHC,! H3:iiiPMTEJIbH0,l CHCTEME

p e 3 x)

m

e

3 H a cTo a m ett p a f i o i e n p e ftC T a B Jie H c n o c o fi n o c T p o e H H H rpa<J>HHecKoro A H c m ie a b H3 « e p H ie jib H 0 it CHCTaM e Ha o cH O B e MHKpo -

3BM.

O c o fio e BHHwaHHe yAe^ eH O nauH TH re H e p n pyio ine a H S o S pa x teH H e. n p e A C T a B J ie H Li l a i c s e a jirx p H T M H o c h o b h u x rp a tfH tie cK H X o n e p a ip iit p e a JiH 3 H p y e M u x M H K p o n p o u e c c o M , b t o m HHCJie c n o c o O KOAHpoBaHHH H 3 0 - (SpaxteHHH.

GRAPHICAL MONITOR IN MICROCOMPUTER MEASUREMENT SYSTEM

S u m m a r y

In the paper an idea of a graphical monitor solution in a microcompu­

ter based measurement system la presented. Special attention is paid to a memory unit generating picture. The algorithms of elementary graphical operations realised by the microprocessor are presented. Picture coding is also defined.

Cytaty

Powiązane dokumenty

W badaniu wykorzystano Krzywą Uczenia się Łurii, Test Stroopa, Próbę Fluencji Słownej wg Łuckiego, Test Kreślenia Drogi Reitana oraz 21- itemową Skalę Depresji

Przyszedł wiceprezydent miasta oraz były wiceprezydent, który witał wagon 5 lat temu, podczas pierwszego przejazdu oraz, co dla nas bardzo ważne, ludzie, którzy

(2).Ta własność jest najważniejsza, bo z niej wynika wiele pozostałych.. Jej dowód

Zaprezentowanie zdjęć i reprodukcji obrazów przedstawiających ludzi starszych - dyskusja na temat: „Czy portret starszego człowieka jest brzydki?”.?. Głośne odczytanie

2.4 Narysuj wykres zawierający dane (body, surface) z punktami o róż- nych kolorach dla grup equake i explosn.Narysuj na wykresie prostą dyskry- minacyjną, oddzielającą obie

Każdy cykl maszynowy wiąże się z pojedynczym odwołaniem się procesora do pamięci lub portu wejścia/wyjścia w celu odczytu lub zapisu i z wykonaniem wewnątrz

Jeżeli dla dowolnego lewego R-modułu wolnego M każde dwie bazy są tej samej mocy, to mówimy, że R ma własność niezmiennika bazowego (lub że jest pierścieniem IBP, invariant

Jeżeli f jest nierozkładalny, to ma rozkład trywialny, załóżmy więc, że f jest rozkładalny.. Wówczas R[x] jest pierścieniem z