Taula de continguts:

Programa de pintura VGA: 5 passos
Programa de pintura VGA: 5 passos

Vídeo: Programa de pintura VGA: 5 passos

Vídeo: Programa de pintura VGA: 5 passos
Vídeo: ¡APRENDE A USAR KRITA 5.0! ¡El mejor programa de pintura GRATIS! Tutorial completo de iniciación 2024, Desembre
Anonim
Programa de pintura VGA
Programa de pintura VGA

Projecte de: Adam Klein, Ian Strachan, Brandon Slater

El projecte que ens vam proposar completar era emmagatzemar, analitzar i mostrar informació d’un ratolí USB en forma de programa de pintura. La idea darrere del projecte és poder connectar el ratolí i els cables VGA a la placa Basys dels ports integrats i fer que el ratolí es mostri com un quadrat mòbil al monitor, canviant els colors diferents quan es fan clic esquerra i dreta. usat. En essència, crearíem un controlador per utilitzar el ratolí amb la placa base i tenir el monitor com a verificació de la funcionalitat. El que realment va acabar va ser la creació d’un programa de dibuix amb la placa base com a sistema d’entrada i un sistema de captura de dades semi-funcional per al ratolí.

En aquesta instrucció, desglossarem els passos de l'entrada del ratolí a la sortida vga.

Pas 1: motivació i problema

Motivació i problema
Motivació i problema

Motivació:

La principal motivació del nostre projecte era crear un controlador de ratolí per a la placa Basys3 que els futurs estudiants del CPE 133 podrien utilitzar per als seus projectes finals en el futur. Tot i això, vam fer aquesta idea un pas més enllà creant un programa de pintura, que també podrien construir els futurs estudiants.

Problema:

El problema que vam descobrir va ser que no hi ha cap mòdul clar del ratolí a punt per descarregar i utilitzar per a la placa Basys3. Per solucionar aquest problema, vam intentar crear-ne un nosaltres mateixos. En fer-ho, ens esforcàvem per crear un mòdul de ratolí que permetés als futurs estudiants implementar més fàcilment l’entrada del ratolí en els seus projectes.

Pas 2: Obtenir la informació de bits en brut des de la base USB

Obtenir la informació de bits en brut des de la base USB
Obtenir la informació de bits en brut des de la base USB
  • Gran part del que vam fer pel ratolí en aquest projecte provenia de la documentació de Basys3. A partir de la petita guia del port USB Basys d’aquest pdf, vam trobar que la placa Basys té un rellotge integrat per llegir bits a la velocitat adequada des de dispositius USB.
  • Bàsicament, el ratolí envia bits a usb a partir d’un estat inactiu, llegeix 32 bits que representen l’estat dels ratolins, la posició x i la posició y i, finalment, acaba amb un altre bit inactiu. Per fer-ho, el component d’entrada del ratolí utilitza un registre de desplaçament i un comptador de 32 bits on el registre de desplaçament s’utilitza per emmagatzemar 32 bits de dades entrants del ratolí i el comptador de 32 bits s’utilitza per comptar el nombre de bits que s’emmagatzemen permetent l’estat registre per restablir i emmagatzemar el següent conjunt de 32 bits entrants.
  • A continuació es poden descarregar el codi del registre de desplaçament, el comptador de 32 bits i el lector de dades, així com el fitxer de restriccions adaptat al nostre ús del port USB com a entrada

Pas 3: analitzar la informació USB

Analitzant la informació USB
Analitzant la informació USB
Analitzant la informació USB
Analitzant la informació USB
  • Després de crear l'entrada del ratolí al component usb, el pas següent va ser crear els components usb bits a informació d'informació vectorial que fessin que les dades rebudes pel ratolí fossin llegibles per al vga.
  • Aquest component utilitza una màquina d’estats que pren el conjunt de bits produïts per l’entrada del ratolí a usb i es mou pels estats en funció de si s’han introduït nous bits que canvien l’estat i la posició del ratolí.
  • El diagrama de blocs dels dos primers passos del projecte es mostra aquí i els dos fitxers vhdl serveixen per provar la implementació del ratolí mitjançant els LED basys (una prova que malauradament no s’ha superat mai) i per emetre el flux de bits des de l’USB port per velocitzar i posicionar els vectors que el VGA pot utilitzar.
  • La imatge al costat del diagrama de blocs anterior és una petita instantània (Instructables no ens permet mostrar la imatge ampla completa) de la informació de bits que hem trobat a la documentació bàsica per completar aquest pas.

Pas 4: mostrar la imatge pintada sobre VGA i editar el que es dibuixa

Visualització de la imatge pintada sobre VGA i edició del que es dibuixa
Visualització de la imatge pintada sobre VGA i edició del que es dibuixa
Visualització de la imatge pintada sobre VGA i edició del que es dibuixa
Visualització de la imatge pintada sobre VGA i edició del que es dibuixa
Visualització de la imatge pintada sobre VGA i edició del que es dibuixa
Visualització de la imatge pintada sobre VGA i edició del que es dibuixa
  • El cable VGA té 14 bits de sortida, 4 bits per a cadascun dels tres colors i un bit per a la sincronització horitzontal i vertical.
  • OtherVGA és el mòdul VGA proporcionat i funciona de la següent manera:

    • El monitor es divideix en blocs de 40x30 de 16x16 píxels per a una pantalla de resolució de 640x480, tal com es veu a la imatge superior. El mòdul selecciona una adreça de bloc per representar un dels 1200 blocs del monitor. L'adreça del bloc es selecciona mitjançant la següent equació: address = 40y + x
    • El color es representa mitjançant un senyal de 12 bits que es correlaciona amb un valor RRRRGGGGBBBB que acolora el bloc seleccionat.
  • El nostre codi de control, VGAtest i VGAtestconst, funciona de la següent manera:

    • Primer estableix el bloc seleccionat al centre del monitor.
    • El color del bloc es determina mitjançant 12 commutadors al tauler, que defineixen el valor RRRRGGGGBBBB.
    • Els quatre botons direccionals del tauler canvien l'adreça seleccionada. Per exemple, prement el botó dret s'afegirà 1 a l'adreça, seleccionant el bloc a la dreta del bloc anterior. En prémer el botó cap avall, s’afegirà 40 a l’adreça, seleccionant el bloc que hi ha a sota del bloc anterior.
    • El botó central s’utilitza per establir tots els valors de color a 0 quan es prem. Això vol dir que es comporta com un botó d'esborrar que és fàcil d'utilitzar per l'usuari, de manera que no ha de girar tots els commutadors a 0 per esborrar-lo.
  • La darrera imatge és el diagrama de blocs del controlador. És bastant ampli, ja que inclou components del mòdul i és possible que no es mostri completament.

Pas 5: gaudiu de la vostra creació

Enllaçat aquí hi ha un lapse de temps ràpid de la diversió que podeu tenir amb el projecte final, fins i tot només amb els interruptors i els botons del tauler base com a entrada.

Gràcies per llegir!

Recomanat: