Vyvojova deska pro ARM

Jiri Bezstarosti jiri@bezstarosti.cz
Čtvrtek Červen 19 15:02:22 CEST 2008


Grafik mam nekolik. Na desce s AT91SAM7SE512 takto:

Na sbernici mam jako SRAM privazany XC95288XL a k nemu dve rychle SRAM 
512kB, pochopitelne plus krystalovy oscilator. Na adresach nad 
videopameti pak prehazuju stranky. Jedna stranka je dostupna po sbernici 
a druha se zobrazuje. Pokud prepnu stranky, udela se to az po celem 
snimku a v pameti nad videopameti ctu, jestli uz se stranky prepnuly 
(jak jsou prepnuty). Protoze pouzivam TFT s LED podsvicenim, mam jeste 
na dalsi adrese nastaveni PWM pro podsviceni a tim mohu jen zapisem do 
urcite adresy nastavit podsviceni od 0 do 100% v nejakych 16ti krocich.

Ten XILINX tomu dava i urcitou variabilitu a kdyz neni LCD potreba, da 
se pochopitelne vyuzit jinak.

No a ta jednoducha 640x400x1 je v XC9572 + logika + 32kB SRAM. Vtip je v 
tom, ze se cte 8 bodu ze SRAM zaroven, takze pak neni potreba nijak 
rychlou SRAM. Body se zobrazuji 25M/sec, tedy zhruba 25MHz taktovani a 
jeden zapis a jedno cteni SRAM se provede za 8 cyklu.
Do pameti se ze sbernice pouze zapisuje a to maximalne neco pres 
3MB/sec. Ovsem pri velikosti te videoram to staci. Z pameti na tom 
"radici" se cte jen pro ucely zobrazeni, ne pro vystup na sbernici. Aby 
se dala pamet i cist, je pripojena paralelne druha 32kB pamet (stoji 
mnohem mene, nez vetsi CPLD) a kdyz se externe zapisuje, zpisi se obe 
pameti a kdyz cte, cte se ta mimo ten graficky radic - obe obsahuji po 
vynulovani na pocatku stale totez. Jeste k tem zapisum. Na vstupu jsou 
zachytne registry pro adresu i data. Po sbernici se tedy zapise do 
techto zachytnych rgistru. Z nich to pak CPLD zapise do SRAM v pravou 
chvili a to 1x za 8 taktu. Abych usetril draty, vstupni zachytne 
registry se prepinaji primo do pameti a ne pres CPLD, takze CPLD ridi 
to, zda poskytuje adresu ono ci ji poskytuji zachytne registry, zda 
zachytne registry davaji data, ridi zapisy a cteni pameti a cte z pameti 
data, ktera v kazdem taktu zobrazi jako bit na bod a zaroven dela HSYNC 
a VSYNC. Takze ve vysledku, data v zachytnem registru se zapisuji stale 
kazdych 8 cyklu do SRAM i kdyz se nic nezmenilo - nicemu to nevadi. Na 
druhou stranu dokud je /WR signal na sbernici v nizke urovni, CPLD 
nepovoluje zapis do SRAM a provede jej, az kdyz je /WR v urovni vysoke. 
Vstupni zachytne registry pracuji na nabeznou hranu signalu /WR. Je tam 
jeste dalsi carovani ohledne signalu /CS, protoze jeho normalnim 
dekodovanim spolu s /WR pomoci OR hradla vznika zpozdeni, ktere si u 
mnoha systemu nelze dovolit (data ze sbernice da system pryc zaroven s 
nabeznou hranou /WR, tohle delal treba PIC18C801) a pak by to zapisovalo 
nesmysly.

--
Jiri Bezstarosti


n11444@seznam.cz napsal(a):

>Preci, pokud je chut, je i cas :-)
>
>Jak mate delanou tu grafiku? Pomoci CPLD?
>
>Zdenek Novotny
>  
>




Další informace o konferenci Hw-list