Bärbar spelkonsol (GPU Team) (2 / 10 steg)
Steg 2: Bildskärm Controller
Bildskärmen kräver mycket exakt tid synkronisering signaler tillsammans med RGB-data. Eftersom våra specifikationer kräver att våra GPU bör Visa främst på LCD-skärmen och om möjligt på en VGA-port, vi behöver två olika Signalgeneratorer för dessa sänkor och multiplex dem mot rambuffert och sedan multiplex den rambuffert RGB-utgång.
Frame buffer modulen måste synkroniseras med dessa videosignaler och ge RGB data produceras av olik uppvisning hyvlar av RAM.
Arkitekturen ovan uppfyller dessa specifikationer. VideoClockGenerator ger krävs 6.4MHz klocka för LCD-Display Controller och 25MHz klocka för VGA-styrenhet. Dessa båda styrenheter ger krävs rad- och kolumnnumren synkronisera rambuffert och de kommer att sammantaget ge en uppvisning med en uppdateringsfrekvens på 60Hz på upplösningen 320 x 240 (QVGA).
Doability av raden Hämta
För HW enkelhet beslutade vi att använda en enskild buffert per skärm plan i rambuffert, som tvingar oss att ladda pixlar under horisontella blanking tider. Genom att analysera timing kraven och bandbredden för minnet, kan vi hitta den theoritical gränsen för antalet horisontella linjer (från olik uppvisning plan) vi kan hämta.
Av LCD-skärmen finner vi att detta är lika med 4 plan, genom att starta hämtar nästa rad när VDC utgångar 297th pixel i den aktuella raden.
För VGA finner vi att är endast 3 plan genomförbart om VDC utfärdar en reload på 285th pixel av varje udda rad (QVGA genomförs med upplösningen 640 x 480 timings med varje rad och colum att fördubblas).
I en framtida version byter vi till dubbelbuffring för att lindra dessa särskilda begränsningar för raden hämtar.
Demo
I den här demon visas en grundläggande drift av VDC. En fast RGB-bild skapas i den rambuffert, VDC synkroniserar Frame Buffer RGB med det videosignaler beroende på om LCD eller VGA används.
Observera att LCD har 24-bitars RGB gränssnitt, men på grund av våra valda färgformat, vi visar på 16-bitars färger. VGA-kontakten DAC på Nexy 3 kan endast 8-bitars färger, så några anmärkningsvärda kvalitet kommer att försvinna på VGA.