Atmel + CPLD kimenet SVGA -ra
Andras Tantos
andras_tantos at yahoo.com
Fri Apr 9 18:57:02 CEST 2004
Hali!
Kicsit kesve valaszolok, de talan tudok meg ujat mondani...
Szoval CPLD-vel SVGA vezerlot csinalni kihivas. Elsosorban nem a
szinronjelek generalasa, hanem a memoria-interfesz miatt. Amire szukseged
van (lesz) az annak a megoldasa, hogy a video-memoriat ket keszulek
egyszerre elerje. Ha nem akarsz nagyon sok penzt kolteni dual-port RAM-ra
(ekkora meretben nem ket filler), akkor valahogy ido-osztasos elerest kell
csinalnod. Raadasul ekkora felbonatashoz mar eleg tisztesseges savszelesseg
is kell, felteve, hogy ertelmes frissitesi frekvenciat es normalis sebessegu
grafikat akarsz. Azaz nem lesz eleg az, hogy csak a sor- es
kep-szinkron-idokben engeded a CPU-t hozzaferni a memoriahoz.
Szoval, a tisztesseges megoldas az, hogy a memoriat a CPU es a video-vezerlo
egy arbiteren keresztul, eri el. Ekkor viszont nem garantalhato az, hogy a
video-vezerlo mindig pontosan a kert idopontban kapja meg a hozzaferest a
memoriahoz. Az ingadozasok kiegyenlitesehez egy FIFO-t kell berakni a
video-kontroller es a memoria koze. Ha igazan szepen akarod megoldani a
dolgokat, akkor a FIFO hosszabb, mint egy sor (az esetetben 800 byte) igy a
video-kontroller burst-jeit teljesen szet tudod kenni a teljes soridore.
Az arbiter prioritasat ugy erdemes beallitani, hogy ha a FIFO telitettsegi
szintje alacsony, a video-kontroller kap nagyobb prioritast, ha magas, akkor
a CPU.
Szerintem mindezt CPLD-be berakni nem egyszeru, es tul sok labra lenne
szukseged. Viszont egy kis FPGA-ba szepen bele lehet mindezt pakolni. Ha
erdekel nezd meg ezt:
http://www.opencores.org/projects.cgi/web/wb_vga/overview. Par evvel ezelott
irtam, Alterak Acex 1K FPGA-kra. Azota is keszulok ra, hogy atirjam
(kijavitsam) Xilinx Spartan 2-re. Talan otleteket tudsz meriteni belole.
De ennel mar valoszinuleg egyszerubb egy kesz IC (pl. Epson, vagy mas).
Udv,
Tantos Andras
http://andras.tantos.homedns.org
> Kedves Listatagok!
>
> Egy kis segítségeteket kérem.
>
> Megoldhat-e (viszonylag egyszeruen) az hogy egy keszuleket egy
> szabvanyos SVGA monitorra kossek. Minden olyan megoldas elesik hogy
> vegyek egy videokartyat .....
>
> Lenne mondjuk egy AtMega8 amihez hozzakotnek egy CPLD (ha igy hivjak)
> amihezz lenne valami sztatikus ram ami tartalmazna a kepet amit meg
> kell jeleniteni. Legyen mondjuk 800x600 felbontas (peldakeppen) 256
> szinnel. tehat 480000 Byte ram kell hozza amit az a CPLD megfeleloen
> kiolvasna es kiadana az RGB kimeneten. Nem belemelyedve MOSTAN a
> reszletekbe egyaltalan megoldhato -e ez, marmint hogy az onalloan
> kezelve ezt a video ramot, eloallitsa a fuggologes es vizszintes
> szonkronimpulzusokat is. Az Atmelnek csak az lenne a dolga hogy az
> adatokat beallitsa a CPLD neheny regiszterebe (pl. felbontas,
> frisitesi freki,....)es utana csak a (video)ram -ba irnaa azt amit meg
kell
> jeleniteni. A ram kb. ketszer olyan gyors lenne mint ami a kep
> kirajzolasahoz kell hogy igy egy buffer vagy valami hasonlo
> segitsegevel egyszerre tudjon hozza ferni a CPLD is meg a
> mikrokontroller is.
>
> Nem a konkret megoldas erdekel (most meg :)) ) hanem hogy ez
> egyaltalan lehetseges-e? es mik itt a buktatok? A CPLD megjegyzem
> teljessen uj nekem, eddig meg PAL, GAL meg ilyeneket sem hasznaltam
> soha.
>
More information about the Elektro
mailing list