Menü Bezárás

VGA terminál

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

vga_terminal_pic1

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:

vga_terminal_pic2

 

Baud rate beállítása
A képen kék szín jelöli a jumpereket.

vga_terminal_pic3

 

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

 

Felhasznált dokumentációk

Related Posts

WordPress Appliance - Powered by TurnKey Linux