Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Meseria se fura, ingineria se invata.Telecomunicatii, comunicatiile la distanta, Retele de, telefonie, VOIP, TV, satelit




Aeronautica Comunicatii Constructii Electronica Navigatie Pompieri
Tehnica mecanica

Electronica


Index » inginerie » Electronica
» MODULUL DE IESIRE


MODULUL DE IESIRE


MODULUL DE IESIRE

Modulul de iesire este in general format dintr-un dispozitiv de afisare si un controler adecvat care asigura adaptarea informatiei binare ce trebuie afisata la respectivul dispozitiv de afisare. Schema bloc a unui modul de iesire este prezentata in fig.4.43 iar semnificatia notatiilor din aceasta figura este prezentata alaturat.In general modulele de iesire pot fi clasificate functie de modul de transfer a informatiei de la unitatea centrala catre dispozitivul de afisare in:



-- module de iesire de tip alfanumeric;

-- module de iesire de tip grafic.

DA--dispozitiv de afisare

CV--controler video

U.C.--unitate centrala

Controlere Video

Exista mai multe moduri de a face legatura U.C.-DA si deci de a construi asa-numitul controler video - CV. Vehicularea datelor si adreselor necesare C.V. se face pe aceleasi busuri de date si adrese cu cele ale sistemului.Trebuie deci sa existe un dispozitiv care sa controleze permanent fluxul informatiei video. O schema bloc generala a sistemului de transfer a datelor si controlul acestora este prezentata in fig.4.44 :

A.P.--adrese furnizate de procesor (U.C.)

G.A.--generator de adrese

MV--memorie video

DI/DO--date intrare/iesire

IMD--interfata cu magistrala de date

BPSV-bloc de prelucrare a semnalelor video

MD--magistrala de date

DA--dispozitiv de afisare

C.G.--controler general

AV/AP--adrese video/adrese procesor

Spre dispozitivul de afisare DA trebuie trimise semnale video corespunzatoare comenzilor primite de la un modul de intrare (de ex.: tastatura). Aceste comenzi se pot referi fie la afisarea unor caractere, fie la aducerea acestora (sau a unor imagini) de la alte periferice, unde sunt stocate momentan (de ex.: hard--disk). Aceste comenzi ajung sub forma unor coduri la UC, asa cum s-a vazut la schema bloc a unui videoterminal. Apoi UC va trimite o comanda catre GA (AV/=1) si o adresa specifica pe linia AP pentru ca GA sa genereze adresele necesare extragerii informatiei cu privire la matricea caracterului (sau oricare alta informatie grafica) din locatiile memoriei video MV. Respectivele informatii sunt necesare BPSV pentru afisarea caracterelor linie cu linie (sau a informatiei grafice). Simultan se pot transmite informatii cu privire la liniile ce se afiseaza pe DA catre UC. Cand trebuie afisate informatii stocate pe alte suporturi, datele sosesc pe MD si prin IMD ajung in MV incepand cu o adresa bine stabilita, furnizata de procesor pe AP impreuna cu comanda AV/=0 (adica aceste adrese trec prin GA fara a fi modificate spre MV). Se pot face transferuri partiale sau totale functie de volumul MV si de cantitatea de informatie ce se doreste sa fie afisata la un moment dat. Dupa ce are loc incarcarea MV cu informatia de afisat comanda revine AV/=0, adresele A sunt fixate de procesor (sau AV/=1 iar adresele sunt generate GA in modul caracter) si datele sunt generate prin DO spre BPSV.

Sunt cazuri insa cand mP are nevoie de informatii stocate in MV. Atunci acesta va trimite o comanda AV/=0 impreuna cu adresele de unde doreste sa primeasca informatiile. GA transfera AP catre MV si datele sunt preluate de mP prin IMD de la DO.

GA are deci 2 moduri de lucru :

--transfera adresele de la mP catre adresele MV cand mP acceseaza memoria

--furnizeaza adrese produse intern catre adresele MV pentru extragerea din memorie a unor cuvinte necesare formarii imaginii.

CG are rolul de a supraveghea prin semnale de control intreaga functionare a sistemului. El furnizeaza semnale atat pentru mP cat si pentru DA sau alte blocuri interne ale.

Cand DA este un display, imaginea se obtine dintr-un numar de 625 linii orizontale pe fiecare cadru. Acesta este standardul TV si permite calitati reduse ale imaginii video. Pentru aceasta se utilizeaza o frecventa de linii fH=15625 Hz si o frecventa de cadre de fcadru=50Hz. Imbunatatirea rezolutiei se poate face cu imagini intretesute.

Durata unei linii este de 64 ms, din care ~51ms sunt necesare pentru cursa directa si ~13ms pentru cursa inversa. Pe durata unei linii imaginea va fi construita pe baza unei serii de puncte (pixeli) care au o stralucire corespunzatoare unei nuante de gri (afisare alb-negru) sau o nuanta si o saturatie specifica unei culori.

Daca de exemplu dorim ca o linie sa fie formata din 512 pixeli constatam ca durata unui pixel trebuie sa fie TPIX=51mS/512=100ns. Cum pentru un pixel este nevoie de un bit intr-o afisare alb-negru, aceasta inseamna ca este necesar ca octetii de date de la MV sa fie transferati odata la: T0=8*TPIX=0.8ms (1.25Mhz). Pentru aceasta situatie putem spune ca avem o rezolutie orizontala de 512 pixeli/linie iar pe verticala de 625linii/cadru.

Dupa cum observam o problema aparte o constituie transferul informatiei de la MV la BPSV. Exista mai multe moduri de a realiza acest transfer :

I.Transfer MV--BPSV controlat de mP

Schema bloc a acestui tip de transfer este prezentata in fig.4.45. Aceast tip de transfer este folosit atunci cand ne permitem sa ocupam mP cu generarea imaginii.

MUX--multiplexor

AV/AP--semnal pentru controlul transferului

NOP--instructiune'inoperant' pe 8 biti

BPSV--bloc de prelucrare a semnalelor video

GAV--generator al adreselor video

GR--grup de rezistente

DBP--bus date procesor

DBV--bus date video

Pentru explicarea functionarii sa presupunem ca informatiile corespunzatoare unui intreg cadru (semicadru) sunt deja stocate in RAM (aduse de mP pe DBP, prin CR la intrarile de date D ale memoriei RAM).

Microprocesorul controleaza transferul datelor din RAM prin semnalul AV/. Astfel :

a) Daca AV/=1 adresele A0 A4 sunt preluate de la mP iar restul de la A5..A15 sunt preluate de la GAV si reprezinta adresa liniei curente de afisat. Daca pe aceasta linie dorim de exemplu o rezolutie de 256 de pixeli, atunci avem nevoie ca 32 de octeti sa fie extrasi din RAM. Durata transferului unui octet va trebui sa fie: T = 8 X 0.2 ms = 1.6 ms.

Afisarea unei linii incepe prin trimiterea adreselor A0 A4 = 00000 impreuna cu adresa de inceput corespunzatoare informatiei pentru prima linie (stocata in RAM de catre mP pe baza codurilor primite de la tastatura sau a comenzilor date prin tastatura) functie de caracterele de pe primul rand. Odata furnizate aceaste adrese, primul octet este trimis pe DBV catre BPSV. In acest timp mP executa o instructiune NOP - inoperant - (adica sta in asteptate). Aceasta instructiune dureaza ms, adica atat timp cat BPSV prelucreaza 8 puncte pe orizontala. Apoi mP incrementeaza IP(contorul de programe) si furnizeaza adresa A4 A0 = 00001, adresa superioara data de GAV neschimbandu-se. Se transmite in acest moment al 2-lea octet spre BPSV, s.a.m.d. pana la octetul cu numarul 32, cand s-a completat o linie de afisat, dupa care GAV incrementeaza adresa pe care o genereaza (partea superioara a adresei de selectie a RAM-ului), s.a.m.d. de 287 ori intr-un semicadru (sau 575 intr-un cadru, 50 linii fiind inactive deoarece durata cursei inverse pe fiecare semicadru este de 25+25 linii).

GR are rolul de a separa DBP de DBV. Valoarea rezistentelor este aleasa astfel incat cand avem un '1' intr-o parte a magistralei si '0' in cealalta parte (pe de o parte are loc transfer catre BPSV iar pe de alta parte se executa NOP) sa nu apara conflict pe magistrala (pe timpul transferului RAM--BPSV informatiile de pe DBP si DBV sunt diferite).

b) Daca AV/=0, microprocesorul comunica direct cu memoria RAM, toate adresele fiind furnizate de mP. Acum mP inscrie date in RAM ( BPSV inactiv).

Dupa cum observam din timpul mP nu mai ramane mult pentru alte functii pe durata cat are loc transferul video. Doar 13ms dintr-un total de 64ms (durata cursei inverse pe linie), la fiecare linie si 50 de linii dintr-un total de 625 de linii ale unui cadru (durata cursei inverse pe cele 2 semicadre) adica 20% timp de 575 linii+100% pe restul de 50 ( 0.2). Evident ca microprocesorul nu este utilizat in mod eficient

II. Transfer MV--BPSV controlat de DMA.

In mod obisnuit, un rand de caractere ce trebuie afisat este constituit din 8 linii pe ecran. In cazul anterior prezentat, descompunerea randului pe fiecare linie functie de codurile caracterelor de afisat era facuta de mP , in MV ajungand informatii cu privire la nuanta fiecarui pixel. Transferul controlat de DMA este prezentat in fig.4.46, in care :

CRTC--controler pentru afisare

alfanumerica

DMA-controler DMA (Direct Memory

Acces).

Controlerul DMA e un dispozitiv utilizat pentru efectuarea transferurilor de date de viteza mare, substituindu-se mP in controlul sistemului. Un ciclu de functionare DMA dureaza la fel cu ciclul de functionare al mP .

In fig.4.46, pentru transferul informatiei video stocate in RAM de catre mP se foloseste un controler DMA. Pe durata afisarii informatiei, mP poate realiza alte functii. De data aceasta se foloseste un controler CRTC pentru afisare in care se introduc coduri de caractere (pe 8 biti), stocate in prealabil in RAM si transferate memoria CRTC sub controlul DMA. Pentru a afisa un rand de caractere (64 caractere de exemplu) este necesar sa transferam din RAM 64 de octeti. Afisarea va dura 8*64ms=512ms. Codurile se introduc intr-o memoria CRTC inainte de generarea randului. Pe baza acestor codurilor, CRTC va furniza catre BPSV octetii corespunzatori fiecarui set de 8 pixeli de pe fiecare din cele 8 linii ale randului de caractere de afisat.

Un astfel de controler este I 8275. Acesta are 2 astfel de memorii cu capacitatea de 80 caractere ce sunt folosite alternativ : una este incarcata de catre DMA cat timp cealalta este utilizata pentru producerea pe DA a randului de caractere anterior transferat. mP este folosit mult mai eficient in acest caz, dar sistemul trebuie sa aiba controler DMA.

Am prezentat anterior cum, prin intermediul controlerului DMA, codurile stocate in RAM sunt transferate catre BPSV prin intermediul CRTC, presupunand ca anterior codurile au ajuns in RAM sub comanda mP. Acest din urma transfer poate fi si el sub control DMA. In continuare, prezentam in fig.4.47 un astfel de transfer, de la tastatura catre memorie. Este necesar insa ca tastatura sa contina un dispozitiv DMA.

Codurile tastelor sunt de obicei inscrise in locatii de memorie succesive corespunzatoare pozitiei caraterului tastat pe randul de caractere ce trebuie sa fie afisat. Exista o adresa de inceput in memoria RAM a sistemului pentru capatul de rand de caracere curent, adresa de la care porneste incrementarea numaratorului NR. ADRESE.

Cand o tasta este apasata, devine activa comanda TA si apare o cerere HOLD spre microprocesorul unitatatii centrale simultan cu incrementarea NR.ADRESE. In acelasi timp, blocul tastaturii trimite codul tastei in registrul de date RD. Adresa de destinatie in RAM-ul sistemului este stocata in registrul de adrese RA. Cand mP termina ciclul curent cedeaza magistralele DMA-ului sistemului, activand totodata semnalul HLDA. Astfel codul tastei este transmis pe busul de date BD iar adresa unde trebuie memorat pe busul de adrese BA. Transferul dureaza un interval de TACT dupa care DMA cedeaza magistralele microprocesorului. Procesul se poate relua dar cu o intarziere de un tact deoarece trebuie asteptat un nou front activ pe semnalul CLOCK pentru ca un eventual semnal de tasta apasata TA, aparut imediat, sa cauzeze o noua cerere spre DMA.

III.     Transfer MV--BPSV cu circuite DMA specializate

S-a putut urmari in paragraful precedent cum controlerul DMA transfera rapid codurile corespunzatoare unui rand de caractere in memoria controlerului video, preluand datele din memoria RAM a sistemului. Acest tip de transfer este rapid si nu tine inactiv mult timp mP (oricum acesta poate executa cat timp magistralele apartin DMA-ului instructiuni interne ca operatii aritmetice, operatii logice sau lucrul cu coprocesorul). Atat timp cat mP nu lucreaza direct cu memoria din controlerul video el nu este incetinit. Uneori insa mP are nevoie de acces la aceasta memorie video. S-a constat ca raportul de utilizare a MV de catre mP este de aproximatibv 0.1% din timpul cat MV este accesata In fig.4.48 este prezentat modul de realizare al accesului mP-ului la MV.

In aceasta figura avem un automat de acces la memorie format dintr-un GAV--generator adrese video (numarator) si un multiplexor MUX. RDV si RDP sunt registre (buffere) pentru date necesare BPSV sau mP, respectiv.

Pentru ca mP sa aiba acces la memorie, este necesar ca semnalul P/=1, iar datele in acest caz sunt preluate prin RDP. Cand semnalul de comanda P/=0, adresele de la GAV ajung la memoria video si datele sunt transferate catre BPSV prin RDV.

CG are rolul de a realiza partajarea timpului de acces la memorie.

Exista doua tehnici de partajare a timpului de acces la memoria video:

a) Axa timpului se imparte in intervale de timp egale cu T, intervale care la randul lor sunt formate din 2 subintervale Tv si Tp, ca in fig.4.49.

TV--durata accesului GAV la memorie

TP--durata accesului mP la memorie

Partajarea se face sincron cu ceasul controlerului video astfel incat acesta nu asteapta niciodata inceputul intervalului TV este sincron cu clockul controlerului). Perioadele de acces sunt egale, transferul spre BPSV se face doar la inceput de interval de tact dupa care lasa libera MV pentru mP). Cand mP doreste accesul trimite o comanda (de exemplu ) catre controlerul general CG (in mod asincron - frontul activ poate sosi oricand). CG va raspunde prin semnalul dupa o durata TW ce nu poate fi precizata exact (fig.4.50). Oricum TW<T si aceasta este durata cu care mP este practic intarziat folosind acest sistem de partajare. mP trebuie ca pe durata Tp sa si desfasoare intregul ciclul de memorie.

Evident toate intervalele TV sunt folosite dar foarte putine dintre cele TP sunt utilizate. Acest sistem de partajare utilizeaza irational timpul de acces.

b) O alta varianta de partajare a timpului de acces la memoria video, prezentata in fig.4.51 necesita impartirea axei timpului in intervale T si gestionarea lor de catre CG astfel :

- daca nu exista cereri de la mP pentru acces la MV (=1) intervalul respectiv de timp T este utilizat de catre controlerul video;

- daca soseste o cerere de la mP pentru acces la MV (=0), urmatorul interval T va fi un interval de tip TP.

Avantajele acestui mod de partajare ar fi folosirea mai eficienta a timpului si posibilitatea utilizarii unor memorii video mai lente deoarece oricum acum ciclul de memorie este T>TP din cazul anterior.

Dezavantajul principal al metodei consta in faptul ca pe durata unui intreg interval T controlerul video nu are acces la MV, deci se pierde un ciclu intreg de controler (exista un interval T - aproximativ 800ns - cand nu se genereaza imagine video). Daca aceste intreruperi sunt dese pot aparea efecte neplacute la afisare. Nici in acest mod de partajare nu poate fi evitat complet timpul de asteptare al microprocesorului - mP asteapta o durata TW<T neprecizata

3. Blocuri de prelucrare a semnalului video (BPSV).

a) BPSV alfanumerice

Schema bloc a unui bloc de prelucrare a semnalelor video pentru modul de lucru alfanumeric este prezentat in fig.4.52 iar semnificatiile notatiilor din aceasta figura sunt prezentate alaturat.

MV--memorie video

R--registru(buffer)

GC--generator de caractere

(memorie RAM sau ROM)

NL--numarator linie

RS--registru de serializare

In memoria video sunt introduse coduri de caractere iar fiecare caracter va fi reprezentat pe DA cu ajutorul unei matrici. Presupunem ca matricea este 8 linii x 8 coloane. Pentru a reprezenta, de exemplu, imaginea lui R din fig.4.52 pe DA este necesar sa dispunem de un generator de caractere GC care sa primeasca codul literei si sa genereze liniile din care este constituit acest caracter. Vom utiliza un generator de caractere GC (o memorie) cu 12 linii de adrese ca cel din fig.4.51.

Pe liniile de adrese A0 A2 vom primi codul liniei curente a caracterului iar pe liniile de adrese A3 A4 codul caracterului de afisat. Initial numaratorul de linii e resetat deci A2 A0=000 si se va genera prima linie, adica, pentru caracterul R din fig.4.52, D7 D0=0111110. Apoi se trimite codul celui de al 2-lea caracter de pe randul 1 si se va afisa prima linia a acestuia, s.a.m.d. pana ce se afiseaza prima linie a tuturor caracterelor de pe primul rand. In continuare se incrementeaza NL si se trece, pentru toate caracterele randului, la afisare linia a 2-a. In GC sunt stocate toate matricile caracterelor pe care dorim sa le afisam existand posibilitatea si de a le schimba. GC mai noi contin o multitudine de matrici pentru unul si acelasi caracter selectarea uneia dintre acestea facandu-se cu adrese suplimentare.

In cazul imaginilor color schema bloc a unui BPSV este prezentata in fig.4.53 si alaturat semnificatia notatiilor din aceasta figura

In cazul afisarii color, informatia in MV este organizata pe 16 biti pentru fiecare caracter in parte. Primii 8 biti constituie ca si pana acum codul de caracter (C) iar ceilalti 8 formeaza codul de atribut (A) ce va determina culoarea caracterului si fondul imaginii. Pentru a afisa color vom avea nevoie de 4 biti pentru fiecare pixel, cate unul pentru fiecare culoare R, G, B si unul pentru luminanta I. Primii 8 biti ai codului de caracter sunt prelucrati ca si pana acum astfel ca la iesirea Q7 si deci intrarea de selectie S a multiplexorului MUX, vom avea o succesiune de "1" si "0" in conformitate cu linia si punctele de pe linie din matricea fiecarui caracter in parte (la alb negru '1' insemna punct luminos iar '0'--punct intunecat, adica scris alb pe fond intunecat.

Cealalta parte a codului de caracter, codul de atribut A7 A15, este formata din 2 parti, una pentru culoarea punctului si una pentru fondul imaginii astfel:

D0 D1 D2 D3 D4 D5 D6 D7

R G B I R G B I

-------------

background    foreground

Functie de intrarea de selectie, comparativ cu sistemul alb-negru, vom avea:

ALB--negru COLOR

S=Q7=1 =>punct negru => punct de culoare si intensitate date de D4 D5 D6 D7

S=Q7=0=>punct luminat=>punct de culoare si intensitate date de D0 D1 D2 D3

Intrarea de selectie S stabileste daca avem punct luminos sau fond, iar culoarea pentru fiecare caz in parte este data de codul de atribut.

b) BPSV grafice

Cazul prelucrarii informatiei grafice se poate urmari in fig.4.54 impreuna cu formele de unda ce caracterizeaza functionarea acestui sistem. Memoria video MV va primi informatiile ce trebuie afisate pe un rand in binar si va furniza registrului de serializare RS octeti corespunzatori unui set de 8 pixeli de pe o linie. Intrarea =0 determina incarcarea datelor sosite paralel pe liniile de date D0 D7 in RS dupa care, sincron cu semnalul de ceas CL, datele sunt serializate incepand cu D7, D6 D0, prin iesirea Q7 a RS-ului.

Daca folosim o rezolutie orizontala de 256 pixeli si una verticala de 512 pixeli (linii) rezulta un necesar de memorie video de 256*512/8=16Kocteti. Acesta este cazul imaginii alb negru, unde s-a folosit pentru un pixel un singur bit. Pentru imagini color se folosesc mai multi biti, 4 biti corespund la 16 culori, (sunt si controlere pentru 256 culori deci 8 biti pe pixel). In cazul afisarii in culori, culorile sunt grupate pe palete de culori (16 palete a cate 16 culori de exemplu) deoarece o imagine, in acest sistem, nu poate contine mai mult de 16 culori simultan. MV se grupeaza, pentru cazul color, pe planuri de memorie. In cazul 4biti/pixel, fiecare din cei 4 biti apartine unui plan de memorie (exista deci 4 planuri de memorie). Schema anterioara pentru alb negru trebuie deci de 4 ori repetata (fig.4.55). De la fiecare plan de memorie se obtine cate un bit deci pixelul poate avea una din cele 16 culori. Pentru 8biti/pixel ar trebui 8 plane de memorie dar nu se face astfel deoarece pe ecran pot aparea doar 16 culori.Astfel 4 biti ii obtinem la fel si ceilalti 4 biti luati de la un port de iesire PO cu ajutorul caruia stabilim una din cele 16 palete de culori pe care dorim sa o folosim.Fiecare din cele 16 palete contine culori fixate prin B4 B7 (fig.4.55). O alta varianta utilizeaza un convertor C ce realizeaza o conversie a celor patru biti obtinuti din cele patru plane de memorie intr-un cuvant de 8 biti C0 C7 pe baza unei tabele de conversie.

4.7 Sistem cu microcontrolerul I 8275 --PROGRAMMABLE CRT. CONTROLLER

Schema bloc a unui sistem cu microcontroler I 8275 este prezentata in fig.4.56. Microcontrolerul I 8275 este un circuit programabil, capabil sa comande diferite formate de afisare in modul caracter. Acesta circuit furnizeaza urmatoarele semnale:

-semnale de control pentru rastru (folosite la formarea semnalelor de intoarcere (stingere) H , V si a semnalului de intensitate), notate in schema din fig.4.56 cu SCV--semnale pentru controlul video.

-codurile pentru liniile matricii caracterului (LC0 - caractere cu maxim 16 linii).

-codurile caracterelor (CC0 -- maxim 128 coduri de caracter).

Circuitul este capabil sa detecteze 'creionul electronic' si decodifica codul de atribut ce este folosit in acest caz pentru comenzi speciale.

Circuitul I8275 este proiectat pentru un sistem ce contine DMA si necesita un generator de caractere (memorie ROM). Circuitul contine 2 buffere pentru stocarea a 80 de coduri de caracter fiecare. Numarul de caractere pe rand si numarul de randuri pe un cadru de afisare pot fi programate (pe rand maxim 80 de caractere). Cele 2 buffere sunt folosite astfel: cat timp unul este utilizat pentru afisarea unui rand de caractere, celalalt este incarcat cu codurile caracterelor de pe randul urmator cu ajutorul controlerului DMA. Cererea de 'umplere' a bufferului neutilizat pentru afisarea caracterelor este trimisa de I 8275 catre DMA-ul sistemului ( o cerere DRQ). Controlerul DMA va trimite la randul lui o cerere HOLD catre mP (HRQ), primeste confirmarea prin semnalul HACK, va prelua magistralele, va trimite de confirmare DACK catre I 8275 si va transfera un numar de octeti (codurile caracterelor de afisat) in bufferul neutilizat la afisare la momentul respectiv. Lungimea sirului de coduri si spatierea (spatiul dintre 2 siruri de coduri de caractere) poate fi programat. Afisarea se face linie dupa linie si rand dupa rand. Pot exista 8 linii sau 16 linii in matricea caracterului, programabil. Se poate programa atat pozitia caracterului in matrice (prima si/sau ultima linie utilizata/neutilizata) cat si sublinierea caracterului.

De asemenea, circuitul I 8275 poate furniza un cursor pe ecran. Pozitia si forma acestuia pot fi programabile.

FORMATUL DE AFISARE

Formatul de afisare se stabileste prin legaturile (interfata) cu sistemul de afisareExista urmatoarele facilitati:

- I 8275 poate fi programat sa genereze 1 80 caractere pe rand si 1 64 randuri pe cadru.

- circuitul poate fi programat sa afiseze randuri de caractere alternate cu randuri goale (pentru acest caz pot fi maxim 32 randuri afisate si nu se apeleaza DMA pentru a afisa randul gol ).

- I 8275 mentine numarul de linie (LC0 ) cat timp codurile caracterelor randului sunt defilate pe CC0 , adica pe durata unei curse directe pe ecran. Apoi codul pe LC0 se incrementeaza si pe aceleasi linii CC0-6 se reiau defilarea intregului rand de caractere. Incrementarea pe LC0 se face pe durata cursei inverse pe linii.

- marimea pixelului si deci a caracterului depinde de factorul extern furnizat de interfata cu display-ul.

- I 8275 contine un numarator de caractere, un numarator de linii si un numarul de randuri ce trebuie afisate.

Astfel numaratorul de caractere este comandat de CCLK. El contorizeaza numarul de caractere afisate pe rand (poate fi programat sa numere de la 1 80 ). Acest numarator va furniza si semnalul pentru incrementarea numarului de linii (iesirile acestuia sunt LC0 ). Acelasi semnal activeaza formarea semnalului de stingere H, a carui durata poate fi programata 32 T , T - durata afisarii unei linii de caracter (perioada lui CCLK ), sau altfel spus durata afisarii a 8 pixeli ) ) .

Numaratorul de linii din I 8275 este condus de numarul de caractere si genereaza codul liniei curente de afisat pe LC0 . Dupa ce termina de numarat liniile (programabil 8 sau 16) incrementeaza numaratorul de randuri si procesul se reia.

Numaratorul de randuri este condus de numaratorul de linii si controleaza functionarea celor 2 buffere ce preiau codurile caracterelor pentru 2 randuri succesive. El este programabil pentru a prelua in aceste buffere 1 64 caractere si cand termina de numarat activeaza formarea semnalului de stingere V, a carui durata poate fi si ea programata 4 T', T ' --durata de afisare a unui rand de caractere).

Pe durata semnalelor de stingere H si V se activeaza si un semnal VSP (video suppression output ) --pentru suprimarea spotului de electroni in tubul catodic.

Interfata cu DMA-ul sistemului

Circuitul I 8275 poate fi programat sa ceara transferuri DMA din memoria video MV in bufferul propriu, transferuri cu lungimea de 1 8 coduri de caracter, fiecare transfer fiind programabil pe un ciclu DMA. Intervalul intre 2 transferuri poate fi de asemenea programabil. Se fac atatea transferuri cate sunt necesare pentru a umple un buffer, functie de cate caractere se doresc a fi afisate pe un rand de afisare (functie de programare), dupa care DMA nu mai este accesat si se asteapta terminarea (golirea) celuilalt buffer care e utilizat la afisare. Procesul se reia apoi cu celalalt buffer. Prima cerere DMA la incarcarea unui buffer gol este trimisa la primul clock de caracter (dictat de CCLK), odata cu afisarea primului caracter pe randul curent si care a fost incarcat in bufferul celalalt in pasul precedent.

Daca este programat in consecinta , I 8275 poate genera un semnal IRQ odata cu inceputul ultimului rand afisat al cadrului curent. Semnalul IRQ poate fi utilizat pentru reinitializarea controllerului DMA de catre sistem (DMA si I 8275 pot stabili prin programare alt tip de transfer de exemplu ). Pe durata cursei inverse pe cadre se va face aceasta initializare.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate