Flat Panel Controller SPECTRA 97 - instrukce/doplňky
Popis konektorů:
K1
S Scan
CP1 Data latch
CP2 Data clock
n.c.
+5V Power supply logic
GND Ground
-18V Power supply for LCD
DU0
DU1
DU2
DU3
DL0
DL1
DL2
DL3
K2
Tx (0/5)V
Rx
GND
K3
n.c.
Panel /off
GND
K4
+ (9-12) V
GND
Popis funkcí:
Kód |
Funkce |
Vstupní hodnoty |
poznámka / čAS VYKONáNí INSTR. |
01H |
zápis bajtu |
x=0-79 y1=0-255 y2=0-1 d=zapisovaný bajt |
50 us |
02H |
zápis direct bajtu |
d=zapisovaný bajt |
20 us, auto inkrement |
03H |
zápis znaku |
d=kód znaku |
inkrementuje podle nastavení AUTO INC 700 us |
KÓD |
FUNKCE |
VSTUPNÍ HODNOTY |
POZNÁMKA/ ČAS VYKONÁNÍ INSTR. |
04H |
zápis bodu |
|
bez parametrů 100 us |
10H |
bod UP |
|
vychází z pozice bodu mění souřadnice a zapisuje bod určeným směrem 100 us |
11H |
bod DOWN |
|
totéž |
12H |
bod RIGHT |
|
totéž |
13H |
bod LEFT |
|
totéž |
07H |
zápis velkého znaku |
d=kód znaku |
inkrementuje podle nastavení AUTO INC 2,5 ms |
42H |
zápis pozice direct bajt |
z1=0-255 z2=0-255 |
10 us |
43H |
zápis pozice znak |
x=0-79 y=0-47 |
10 us |
44H |
zápis pozice bod |
x1=0-255 x2=0-2 y1=0-255 y2=0-1 |
10 us |
47H |
zápis pozice velký znak |
x=0-39 y=0-23 |
10 us |
60H |
auto inkrement off |
|
bez parametru 10 us |
61H |
auto inkrement on |
|
bez parametru 10 us |
68H |
zápis tabulky znaků |
d=zapisovaný bajt |
auto inkrement 10 us |
70H |
smazání displeje (nuly) |
|
bez parametru 250 ms |
71H |
smazání displeje (jedničky) |
|
bez parametru 250 ms |
73H |
negace displeje |
|
bez parametru 400 ms |
76H |
zápis linky X1 -X2 |
d=0-255 |
vychází z pozice bodu 0,1-25ms |
77H |
zápis linky Y1 -Y2 |
d=0-255 |
vychází z pozice bodu 0,1-25ms |
99H |
čtecí instrukce |
|
po provedení funkce potvrdí připravenost |
Postup zadávání funkcí:
kód instrukce
parametr 1
parametr 2
...
Popis jednotlivých funkcí :
(pozice (0,0) v horním levém rohu displeje)
zápis bajtu
80 x 480 bajtů
zápis direct bajtu
pracuje s celou RAM tzn. 0 - 65535
při zápisu na displej zapisuje 4 bity do horní a 4 bity do dolní poloviny displeje viz. dokumentace k LCD
automaticky inkrementuje adresu o 1 - pozor na přetečení
zápis znaku
80 x 48 pozic
rozměr znaku je 8 x 10 bodů
podle nastavení může automaticky inkrementovat pozici
při autoinkrementu zapisuje směrem vpravo příp. o řádek dolů, při přetečení se vrací na (0,0)
zápis bodu
640 x 480 bodů
zápis bodu na předem zvolenou pozici
bod up,down,left,right
směrové funkce bodu
vychází z pozice bodu, v zadaném směru posune souřadnice o 1 a zapíše bod
v koncových pozicích jsou softwarové dorazy
dovoluje rychleji zapisovat např. časové průběhy
zápis velkého znaku
40 x 24 pozic
rozměr znaku je 16 x 20 bodů
podle nastavení může automaticky inkrementovat pozici
při autoinkrementu zapisuje směrem vpravo příp. o řádek dolů, při přetečení se vrací na (0,0)
znak je generován jako zvětšení normálního znaku
zápis pozice direct bajt
dva bajty udávající rozsah 0 - 65535
zápis pozice znak/velký znak
podle velikosti znaku je nutno nepřekročit max. dovolený rozsah
0 - 79 x 0 - 47
nebo 0 - 39 x 0 - 23
při autoinkrementu jsou koncové pozice ošetřeny
zápis pozice bodu
640 x 480 bodů
nutné dodržet rozsah
auto inc
nastavuje inc ON/OFF při zápisu znaků
smazání a negace displeje
časově náročnější instrukce
využívá funkci zápis bajtu
zápis linky X nebo Z
zapíše v daném směru linku 0 - 255 bodů
používá společné souřadnice s pozicí bodu
délka 0 ... zapíše bod
délka 1..255 zapíše dva až 256 bodů
POZOR přepíše pozici bodu na poslední souřadnici linky
tzn. jednoduchá možnost napojování čar
používá funkci zápis bodu
vhodné pro tvorbu tabulek
pozor na přetečení
zápis tabulky znaků
zapisuje se 2560 bajtů 1znak =10 bajtů
po zadání instrukce se zapisují již jen jednotlivé bajty
je nutné zadat celou tabulku pro korektní ukončení instrukce
jiný způsob je pomocí zápisu direct bajtu
začátek tabulky je na adrese 38400 tzn. adresa pro znak s kódem 0 první bajt z deseti
velikost tabulky lze zmenšit za účelem rychlejšího nahrání menší sady znaků přeprogramováním komunikačního procesoru ATMEL nebo použitím okliky, a to
využitím funkce zápis direct bajtu
BIT 7 6 5 3 2 1 0
bajt
bajt x x x x
bajt x x
bajt x x
bajt x x
bajt x x
bajt x x x x
8. bajt
9. bajt
10.bajt x x x x x x x
čtecí instrukce
po provedení každé instrukce potvrdí zpětně provedení
lze použít pro delší instrukce pro synchronizaci přenosu dat do karty
Poznámka :
komunikační procesor ATMEL v zásádě pracuje vždy s horní i dolní polovinou displeje, to je dáno principem činnosti displeje DSDD (double scan double data).
Toto je ovšem softwarově ošetřeno tak, že se uživatel nemusí tímto zabývat.
Rozdělení RAM řadiče:
oblast využívaná displejem |
0
38399 |
generátor znaků
|
38400 40959 |
tabulka zapsaných znaků 80 x 48 |
40960 44799 |
tabulka zapsaných znaků 40 x 24 |
44800 45759 |
volně využitelná RAM |
45760
65535 |
Pozn. tabulka zapsaných znaků je pouze interní záležitost řadiče ,obsah této oblasti je měněn, ale zápis do ní neovlivní to co je zobrazeno na displeji. Vyhrazeno pro budoucí použití.
Orientační údaje:
provozní napětí 9-15 V
odběr 300 mA
odběr panel off 150 mA
komunikační rychlost 9600 Baud
sériová linka v 5 V úrovni, lze připojit na RS 232
RAM 64 KB
komunikační procesor (ATMEL) lze se základní znalostí programování jednočipů modifikovat naprosto libovolně
rozměr desky 100 x 160 mm
výška cca 25 mm (dle použitého chladiče)
Interní zapojení sériového rozhraní
Na tuto patici je možné připojit například výstup z paralelního portu nebo jiný procesor např.8051.
signály D0 -D7 jsou datové vstupy/výstupy Data I/O
signál DATA otevře datový latch pro zápis Data latch
LO ADR je latch dolních 8-mi bitů adresy LOAD latch
HI ADR je latch horních 8-mi bitů adresy HIAD latch
WRITE zápis dat aktivní v log.1 WRITE
/OE čtení dat z paměti displeje aktivní log.0 /OE
X1,X2,RST interní signály ATMELu nezapojovat
Rx,Tx vstup,výstup převod nap. Úrovní pro ATMEL nezapojovat
Postup komunikace:
ZÁPIS:
nastav WRITE =0 /OE=1 LOAD=1 HIAD=1 DATA =1
nastavit na D0-D7(nastav) dolní polovinu adresy
LOAD=0
nastav horní polovinu adresy
HIAD=0
nastav DATA
DATA=0
WRITE=1
čekej 400ns
WRITE=0
END
(platná adresa a data musí být alespoň 100 ns před WRITE=1 a 200ns po WRITE=0)
U použitého procesoru ATMEL při uvedeném typu adresování je toto časování automaticky zajištěno. Instrukční cyklus je totiž cca 400 ns.
ČTENÍ :
nastav WRITE=0 /OE=1 LOAD=1 HIAD=1
nastav dolní polovinu adresy
LOAD=0
nastav horní polovinu adresy
HIAD=0
uvolni datovou sběrnici
/OE=0
čti data
/OE=1
END
(platná adresa musí být alespoň 400 ns před čtením)
Systém se chová jako standardní RAM s poněkud delší přístupovou dobou.
S menší úpravou ( opačný Reset) je lze komunikační procesor 89C2051 nahradit procesorem RISC např. AT90S1200 čímž se výrazně zrychlí celý systém. Je nutno ovšem napsat nový program pro RISC.
Konektor K3 :
pin.č2 připojením na log.0 vypne displej a uvede řadič do režimu standby.Obsah RAM se nemění.
Flat Panel Controller SPECTRA 97
8