INHOUDSOPGAWE:

VGA -skilderprogram: 5 stappe
VGA -skilderprogram: 5 stappe

Video: VGA -skilderprogram: 5 stappe

Video: VGA -skilderprogram: 5 stappe
Video: No video signal, Easy PC fix in 10 steps Ep.268 2024, Julie
Anonim
VGA -skilderprogram
VGA -skilderprogram

Projek deur: Adam Klein, Ian Strachan, Brandon Slater

Die projek wat ons wou voltooi, was om inligting vanaf 'n USB -muis in die vorm van 'n skilderprogram op te slaan, te ontleed en te vertoon. Die idee agter die projek is om die muis- en VGA-kabels in die ingeboude poorte van die Basys-bord aan te sluit en die muis as 'n beweegbare vierkante op die monitor te laat sien en verskillende kleure te verander as u met die linker- en regterkliek klik gebruik. In wese sou ons 'n bestuurder skep vir die gebruik van die muis met die basys -bord en die monitor as ons verifikasie van funksionaliteit. Wat uiteindelik gebeur het, was die skep van 'n tekenprogram met die basysbord as insetstelsel en 'n semi-funksionele data-opname stelsel vir die muis.

In hierdie instruksies breek ons die stappe van muisinvoer na vga -uitvoer af.

Stap 1: Motivering en probleem

Motivering en probleem
Motivering en probleem

Motivering:

Die belangrikste motivering vir ons projek was om 'n muisbestuurder vir die Basys3 -bord te skep wat toekomstige CPE 133 -studente in die toekoms vir hul finale projekte sou kon gebruik. Ons het hierdie idee egter 'n stap verder gevoer deur 'n skilderprogram op te stel, een waarmee toekomstige studente ook kan bou.

Probleem:

Die probleem wat ons ontdek het, is dat daar geen duidelike muismodule gereed is om af te laai en te gebruik vir die Basys3 -bord nie. Om hierdie probleem op te los, het ons probeer om self een te skep. Deur dit te doen, het ons daarna gestreef om 'n muismodule te skep waarmee toekomstige studente makliker muise -invoer in hul projekte kan implementeer.

Stap 2: Kry die rou -bit -inligting vanaf die Basys USB

Kry die rou bit -inligting vanaf die Basys USB
Kry die rou bit -inligting vanaf die Basys USB
  • Baie van wat ons vir die muis in hierdie projek gedoen het, kom uit die Basys3 -dokumentasie. Uit die klein gids op die Basys USB -poort in die pdf, het ons gevind dat die Basys -bord 'n ingeboude klok het om stukkies op die regte spoed van USB -toestelle te lees.
  • Die muis stuur in wese stukkies na usb vanaf 'n ledige toestand, lees 32 bisse wat die muisstatus, x -posisie en y -posisie voorstel, en eindig uiteindelik met nog 'n ledige bietjie. Om dit te doen, gebruik die muis -invoerkomponent 'n verskuiwingsregister en 'n 32 -bit teller, waar die skuifregister gebruik word om 32 bisse inkomende data van die muis te stoor, en die 32 -bis teller word gebruik om die aantal bisse wat gestoor word, te tel, sodat die toestand registreer om die volgende stel 32 inkomende stelle te herstel en op te slaan.
  • Die kode vir die skofregister, 32 -bis teller en data -leser kan hieronder afgelaai word, sowel as die beperkingslêer wat aangepas is vir ons gebruik van die USB -poort as invoer

Stap 3: Ontleding van die USB -inligting

Ontleding van die USB -inligting
Ontleding van die USB -inligting
Ontleding van die usb -inligting
Ontleding van die usb -inligting
  • Nadat die muis -invoer na die usb -komponent geskep is, was die volgende stap om die usb -stukkies na vektor -inligtingskomponent te skep wat die data wat deur die muis ontvang is, vir die vga leesbaar sou maak.
  • Hierdie komponent gebruik 'n staatsmasjien wat die stel stukkies opneem wat deur die muis -invoer na usb gestuur word en deur die toestande beweeg, gebaseer op die vraag of nuwe stukkies wat die status en posisie van die muis verander, ingevoer is.
  • Die blokdiagram vir die eerste twee stappe van die projek word hier getoon, en die twee vhdl -lêers is vir die toets van die implementering van die muis met behulp van die basys LED's ('n toets wat ongelukkig nooit geslaag is nie) en om die bitstroom van die USB af te gooi poort na spoed en posisie vektore wat die VGA kan gebruik.
  • Die prent langs die blokdiagram hierbo is 'n klein kiekie (instruksies laat ons nie toe om die volledige wye beeld te vertoon nie) van die bietjie inligting wat ons in die basiese dokumentasie gevind het om hierdie stap te voltooi.

Stap 4: Vertoon die geverfde beeld via VGA en redigeer wat geteken word

Vertoon die geverfde beeld via VGA en redigeer wat geteken word
Vertoon die geverfde beeld via VGA en redigeer wat geteken word
Vertoon die geverfde beeld via VGA en redigeer wat geteken word
Vertoon die geverfde beeld via VGA en redigeer wat geteken word
Vertoon die geverfde beeld via VGA en wysig wat geteken word
Vertoon die geverfde beeld via VGA en wysig wat geteken word
  • Die VGA -kabel het 14 bisse uitvoer, 4 bisse vir elk van die drie kleure en 'n bietjie vir horisontale en vertikale sinchronisasie.
  • OtherVGA is die meegeleverde VGA -module en funksioneer soos volg:

    • Die monitor is verdeel in 40x30 blokke van 16x16 pixels vir 'n skerm met 'n resolusie van 640x480, soos op die foto hierbo gesien. Die module kies 'n blokadres om een van die 1200 blokke op die monitor voor te stel. Die blokadres word gekies deur die volgende vergelyking: adres = 40y + x
    • Die kleur word voorgestel deur 'n 12 bis -sein wat korreleer met 'n RRRRGGGGBBBB -waarde wat die geselekteerde blok kleur.
  • Ons beheerkode, VGAtest en VGAtestconst, funksioneer soos volg:

    • Dit stel die geselekteerde blok eers in die middel van die monitor.
    • Die kleur van die blok word bepaal deur 12 skakelaars op die bord, wat die RRRRGGGGBBBB -waarde stel.
    • Die vier rigtingknoppies op die bord verander die geselekteerde adres. As u byvoorbeeld op die regterknoppie druk, sal 1 by die adres gevoeg word en die blok een regs van die vorige blok kies. Deur op die afknoppie te druk, word 40 by die adres gevoeg en die blokkie onder die vorige blok gekies.
    • Die middelste knoppie word gebruik om al die kleurwaardes op 0 te stel as dit ingedruk word. Dit is bedoel om op te tree as 'n vee -knoppie wat maklik is vir die gebruiker om te gebruik, sodat die gebruiker nie elke skakelaar na 0 moet draai om dit uit te vee nie.
  • Die laaste beeld is die blokdiagram vir die beheerder. Dit is redelik breed, aangesien dit komponente van die module bevat en moontlik nie volledig vertoon word nie.

Stap 5: Geniet u skepping

Hier is 'n vinnige tydsverloop van die plesier wat u met die finale projek kan hê, selfs net deur die skakelaars en knoppies op die basysbord as invoer te gebruik.

Dankie vir die lees!

Aanbeveel: