Készítette: Horváth Kristóf Szabolcs
Célok
Újoncmunkám célja egy UART protokollon keresztül vezérelhető videókártya megépítése. Az eszköz 80×25-ös monokróm karakteres felbontású képet állít elő, amely ASCII szabványnak megfelelő kódokkal kezelhető(ún. dummy terminal).
A készülék alapjául egy dsPIC30F3012 típusú mikrovezérlő szolgál. A képet szoftveres úton generálja. Az UART baud rate-je jumperrel állítható(1200, 2400, 4800 vagy 9600 baud).
Működés
A PIC a 640×400-as VGA felbontást használja 70 Hz képfrissítési frekvencia mellett. A 25MHz-es pixelfrekvenciát pusztán szoftveres bit-billegtetéssel lehetetlen elérni(legalább 200 MIPS sebességet igényelne a mikrovezérlőtől), így kerülő megoldást alkalmaztam: az SPI modul shifteli ki a pixeleket, miközben a processzor előhívja a memóriából a következő karakter képi információit. Ezzel a megoldással már elegendő a 25 MHz-es dsPIC a feladathoz.
A szoftver alapvetően két összefüggő részből áll: egy assembly-ben írt inicializáló és interrupt kezelő részből és egy C nyelven írt főprogramból.
Az interrupt handler az, ami teljes egészében kezeli a VGA monitort és generálja a képet. Az időzítéshez a TMR2 modult használja, habár csak a HSYNC jel aktív szintje alatt tér vissza a főprogramba.
A főprogram egyetlen hurokból áll. Ebben kerülnek feldolgozásra az UART-on vett karakterek egy select-case szerkezetben, továbbá itt kerül sor a kurzor villogtatására is.
Kapcsolási rajz
Apró érdekesség, hogy ugyanazon a két lábon programozható a PIC, mint amiken keresztül a képet küldi és a karaktereket fogadja.
NYÁK-terv:
Baud rate beállítása
A képen kék szín jelöli a jumpereket.
Ismert hibák, hiányosságok
A főprogram kódjára ráférne még egy optimalizálás, ez azonban rontaná a kód olvashatóságát.
Nincs minden ASCII vezérlőkarakter implementálva(pl Form Feed).
Felhasználás
Az eszköz ideális bármilyen UART-tal rendelkező mikrokontrolleres alkalmazásban LCD kijelző helyettesítésére, főleg, hogy az LCD kijelzők gyakran nagyságrendekkel drágábbak egy-egy mikrokontrollernél.
A projekt minden SEM újonc/tag számára felhasználható előzetes egyeztetés után.
Fájlok
- Kapcsolási rajz és nyákterv Eagle 5.9.0 formátumban: vga_terminal_pcb
- Forráskód: vga_terminal_src
Felhasznált dokumentációk