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