[SPAM] Barevny LCD 640x480 k x51, PIC, AVR ... taky trochu komerce

Pajpach pajpach@katedrala.net
Pondělí Listopad 5 22:34:22 CET 2007


Jeeee, to je vynikajici, vali se mi tu uz věky pár (dva :-) ) displeju 
640x480 oba 18bitu jeden 12" jeden7" a nemam jak je vyuzit :-) Sice porad 
nevim na co je pouzit, ale uz aspon vim jaky pouzit radic :-)
Mimochodem zvladl by ten radic (pripadne budouci modely) mixovat to i s 
videosignalem? Treba zobrazovani obrazku z kamery a do toho psat procesorem 
text... ;-)

S pozdravem
Pajpach


----- Original Message ----- 
From: "Jiri Bezstarosti" <jiri@bezstarosti.cz>
To: "HW-news" <hw-list@list.hw.cz>
Sent: Monday, November 05, 2007 7:08 PM
Subject: [SPAM] Barevny LCD 640x480 k x51,PIC,AVR ... taky trochu komerce


Zdravim.

Podarilo se mi vytvorit radic barevneho LCD displeje 640x480. Mnou
pouzity displej ma 5.7", 640x480x18b a touchscreen.

Asi nejprve obrazek:
http://www.siliconbrain.biz/x/tft640x480.jpg
Text je tam ten prvni, ktery jsem chytil do ruky ;) a obrazek po malem
vyberu z webu. Foto to neni nic moc, je dokumentacni, udelane v
rychlosti, ale pro jakysi nahled ze to funguje myslim staci. Co by ale
mohlo zaujmout, procesor ktery to temi daty ke zobrazeni nakrmil, je
obycejna PICka, i kdyz trochu lepsi, PIC18 ;).

Protoze jsem si kladl pozadavek mit moznost jej pouzit prakticky s
cimkoli, je radic koncipovan tak, abych mohl displej pouzit opravdu s
ledascim (i s 8bit MCU). Takze vysledek je, ze se pro CPU/MCU chova
displej s radicem jako kus pameti, kam co vlozim, to se zobrazi. Zadna
inicializace, zadne velke opicarny, proste A0 az A18, D0 az D7 a OE (RD)
a WE (WR) signaly.

Pri rozliseni 640x480 je dat pomerne hodne, proto jsem snizil pocet
barev na 256 (8b RGB 3b-3b-2b), coz je pro mnoho aplikaci stale
dostatecne a setri mi to vyrazne pamet u toho co ta data do toho vklada.
Dalsi veci je, ze zapisy vetsich kusu pameti pomalym MCU nemusi byt
prilis rychle (tech bodu muze byt k prekresleni dost) a proto jsem
zavedl 2 stranky. Pak mam jednu stranku nastavenu pro zobrazeni (co v ni
je se zobrazuje) a druhou stranku k zapisum a cteni. Tim mohu stranku
vykreslit a pak jen stranky prehodit, coz dela dojem okamziteho
prekresleni (kdo pise hry to asi zna). Zaroven se stranky prehazuji jen
po kazdem celem obrazu, takze mohu prehodit stranky, pockat na prehozeni
a tim si synchronizovat vytvareni jednotlivych snimku. Mohu ale take
zapsat do jedne stranky, stranky prehodit a do druhe zapsat totez, coz
se mi muze hodit treba pro pismena. Pro posuv obrazovky treba o pixel
mam dve stejne stranky a pak jednu posunu o pixel, prehodim stranky,
presunu o 2 pixely a pak uz po 2 ... zkratka to uz jsou zpusoby jak s
timhle resenim pracovat.

Vysledkem je tedy radic, ktery resi to co male MCU nezvladnou (LCD
samotne je tady krmeno 25MB/sec) a umoznuje je k displeji pripojit. Ja
vim, ze urcite nekdo namitne, ze nema tolik pameti, aby mohl zobrazit
byt i jeden jediny obrazek. Ale kdyz se na to podivame k cemu to je,
budeme vykreslovat nekolik spritu (lepit kousky bitmap) a psat texty.
Pokud mam fonty 8x10 bodu (8x8 uz jsou fakt dost male, ale i tak slusne
citelne), cela znakova sada zabere 2560B (rastrovym fontum staci bit na
bod), pokud tedy implementujeme vsech 256 znaku - v mnoha aplikacich
jich ale bude stacit i jen 96.

Prvni testy jsem provedl s PIC18F452 na 40MHz a signaly generuji softem.
Pracuje to prima, ale treba posuv obrazovky uz holt chvili trva (asi tak
sekundu), ono presunout 300kB (takze precist a ulozit) timhle zpusobem
neni nic moc. Pokud jde ale o vlastni radic, chova se jako 30ns SRAM,
takze rychlym MCU/CPU se da uzivit i plnych 60 obrazku / sec - pouzity
LCD je 60Hz (coz je asi dnes bezne), takze pokud mam CPU/MCU s trochu
sviznejsi sbernici pro pripojeni SRAM ...

Pamet lze cist i zapisovat a to tak, ze jedna stranka (512kB) se
zobrazuje a druha se muze cist a zapisovat. Prehozeni stranek se deje na
adrese nad obrazovou pameti displeje a ctenim se zjistuje, zda uz je
prehozeno. Na dalsi adrese se ridi podsviceni v rozsahu 0 az 15 (0
nesviti, 15 plny jas).

Pouzity displej ma LED podsviceni a cele to beha napajeno z 5V (vcetne
podsviceni), pricemz to nevezme vice nez 500mA pri plnem svitu. Radic je
3.3V, ale ma 5V tolerantni vstupy a stabilizator 3.3V je rovnou na desce
radice.

Zatim je to bastl na stole, ale chystam se to dat dohromady do sendvice
s displejem. Takze to berte jako jakysi report, ze se neco takoveho deje
a pokud by to nekdo v budoucnu chtel delat, ze je to mozne a nebo ze uz
to nekdo ma a pujde to koupit. Jeste resim touchscreen, bude zrejme jako
vystupy napeti pro osy X a Y.

A jeste mozne aplikace. Jiste jich kazdy objevi dost, tak uvedu treba
ruzne meraky, digitalni osciloskop, terminal, ovladani ruznych stroju a
pristroju, zakres podvesu s raketami v aute ;))), umely horizont a ruzne
budiky do ultralightu, velice komfortni nabijecka aku, neco jako PDAcko
s obycejnym MCU, kapesni diar a nebo jen nacrtnik s poradnym displejem
(a po pripojeni Vinculum i s poradnym FLASH diskem) ... atd. atp. a
pritom se takova parada da navesit treba na i na obycejne MCU s
potrebnymi IO k dispozici,  treba ATMEGA128, PIC18F8722 atp.
Pochopitelne s lepsim MCU je mozno delat vetsi divy.

Pokud se nekdo zepta, proc tohle a ne rovnou CPU/SoC s radicem, pak mu
odpovim, ze protoze to chci mit moznost pouzit s cimkoli co kdo umi (dat
moznost pripojit takovy displej k MCU snad uplne kazdemu) a doufam, ze
jsem se prilis nespletl a bude to chtit lidi vic. Vetsina SoC je pak v
BGA, coz spouste lidi take muze vzit chut je pouzivat.

Cenu celeho displeje vcetne radice predpokladam kolem 6kKc, tedy neni to
mysleno pro nejake vylozene low-endy, ale pro veci, ktere treba ani nic
moc sileneho nedelaji, ale jsou z nejakeho duvodu drazsi nez par stovek
a musi dobre vypadat. Jiste ze nektere SoC s Linuxem tohle resi taky,
ale uz jsem mel s necim takovym co do cineni a ta spolehlivost, to bylo
pekne bebicko ... zlate hloupe osmibity bez OS. Nektere veci holt musi
bezet od zacatku do konce a nelze je dodatecne zaplatovat. A nakonec je
vzdycky lepsi napsat neco i pro neco horsiho (myslim pomalejsiho a treba
osmibitoveho), kdyz to dokonale umim ;).

--
Jiri Bezstarosti
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list