Satura rādītājs:

VGA krāsošanas programma: 5 soļi
VGA krāsošanas programma: 5 soļi

Video: VGA krāsošanas programma: 5 soļi

Video: VGA krāsošanas programma: 5 soļi
Video: 📺 Как подключить колонки 5.1 к SPDIF, USB и HDMI. Конвертер оптика в аналог 5.1 2024, Novembris
Anonim
VGA gleznošanas programma
VGA gleznošanas programma

Projekta autori: Adam Klein, Ian Strachan, Brandon Slater

Projekts, kuru mēs nolēmām pabeigt, bija informācijas glabāšana, parsēšana un attēlošana no USB peles krāsošanas programmas veidā. Projekta ideja ir savienot peli un VGA kabeļus ar iebūvētajiem portiem Basys panelī un peli parādīt kā pārvietojamu gleznošanas kvadrātu monitorā, mainot dažādas krāsas, noklikšķinot uz kreisās un labās puses. lietotas. Būtībā mēs izveidosim draiveri peles izmantošanai kopā ar basys plati un monitoru, lai pārbaudītu funkcionalitāti. Tas, kas galu galā patiešām notika, bija zīmēšanas programmas izveide ar basys dēli kā ievades sistēmu un daļēji funkcionālu peles datu uztveršanas sistēmu.

Šajā pamācībā mēs sadalīsim darbības no peles ievades līdz vga izvadei.

1. solis: motivācija un problēma

Motivācija un problēma
Motivācija un problēma

Motivācija:

Mūsu projekta galvenā motivācija bija izveidot peles draiveri Basys3 tāfelei, ko topošie CPE 133 studenti varēs izmantot saviem gala projektiem nākotnē. Tomēr mēs šo ideju veicām soli tālāk, izveidojot gleznošanas programmu, no kuras varētu veidot arī nākamie studenti.

Problēma:

Mēs atklājām problēmu, ka nav skaidra peles moduļa, kas būtu gatavs lejupielādei un lietošanai Basys3 plāksnei. Lai atrisinātu šo problēmu, mēs mēģinājām to izveidot paši. To darot, mēs centāmies izveidot peles moduli, kas ļautu nākamajiem studentiem vieglāk ieviest peles ievadi savos projektos.

2. darbība. Neapstrādāta bita informācijas iegūšana no Basys USB

Neapstrādāta bita informācijas iegūšana no USB bāzes
Neapstrādāta bita informācijas iegūšana no USB bāzes
  • Liela daļa no tā, ko mēs šajā projektā izdarījām ar peli, tika iegūti no Basys3 dokumentācijas. No mazā ceļveža Basys USB portā šajā PDF failā mēs atklājām, ka Basys panelī ir iebūvēts pulkstenis, lai no USB ierīcēm pareizā ātrumā lasītu bitus.
  • Būtībā pele sūta bitus uz USB, sākot no dīkstāves stāvokļa, nolasa 32 bitus, kas attēlo peles statusu, x pozīciju un y pozīciju, un beidzot beidzas ar citu dīkstāves bitu. Lai to izdarītu, peles ievades komponents izmanto nobīdes reģistru un 32 bitu skaitītāju, kur nobīdes reģistrs tiek izmantots, lai saglabātu 32 bitus ienākošos datus no peles, un 32 bitu skaitītājs tiek izmantots, lai saskaitītu saglabāto bitu skaitu, kas ļauj reģistrējieties, lai atiestatītu un saglabātu nākamo 32 ienākošo bitu komplektu.
  • Tālāk ir lejupielādējams maiņu reģistra, 32 bitu skaitītāja un datu lasītāja kods, kā arī ierobežojumu fails, kas pielāgots mūsu USB porta izmantošanai kā ieeja

3. darbība: USB informācijas parsēšana

Usb informācijas parsēšana
Usb informācijas parsēšana
Usb informācijas parsēšana
Usb informācijas parsēšana
  • Pēc peles ievades izveidošanas usb komponentam nākamais solis bija izveidot usb bitus vektora informācijas komponentam, kas padarītu peles saņemtos datus nolasāmus vga.
  • Šis komponents izmanto stāvokļa mašīnu, kas pārnes bitu kopu, ko peles ievade izvada uz USB, un pārvietojas pa stāvokļiem, pamatojoties uz to, vai tika ievadīti jauni biti, kas maina peles statusu un atrašanās vietu.
  • Šeit ir parādīta bloka diagramma pirmajiem diviem projekta soļiem, un abi vhdl faili ir paredzēti peles ieviešanas pārbaudei, izmantojot gaismas diodes (testēšana, kas diemžēl nekad netika nokārtota), un bitu plūsmas pārraidīšanai no USB. pieslēgvieta ātruma un pozicionēšanas vektoriem, kurus VGA var izmantot.
  • Attēls blakus iepriekš minētajai blokshēmai ir neliels momentuzņēmums (Instructables neļauj mums parādīt pilnu platu attēlu) no bitu informācijas, ko atradām pamatdokumentācijā, lai pabeigtu šo darbību.

4. darbība. Krāsota attēla parādīšana VGA režīmā un zīmētā rediģēšana

Krāsota attēla parādīšana virs VGA un zīmētā rediģēšana
Krāsota attēla parādīšana virs VGA un zīmētā rediģēšana
Krāsota attēla parādīšana virs VGA un zīmētā rediģēšana
Krāsota attēla parādīšana virs VGA un zīmētā rediģēšana
Krāsota attēla parādīšana virs VGA un zīmētā rediģēšana
Krāsota attēla parādīšana virs VGA un zīmētā rediģēšana
  • VGA kabelim ir 14 izejas biti, 4 biti katrai no trim krāsām un bits horizontālai un vertikālai sinhronizācijai.
  • Cits VGA ir komplektā iekļautais VGA modulis, un tas darbojas šādi:

    • Monitors ir sadalīts 40x30 blokos pa 16x16 pikseļiem 640x480 izšķirtspējas ekrānam, kā redzams attēlā iepriekš. Modulis izvēlas bloka adresi, lai attēlotu vienu no 1200 blokiem monitorā. Bloka adresi izvēlas, izmantojot šādu vienādojumu: adrese = 40y + x
    • Krāsu attēlo 12 bitu signāls, kas korelē ar RRRRGGGGBBBB vērtību, kas krāso izvēlēto bloku.
  • Mūsu kontroles kods VGAtest un VGAtestconst darbojas šādi:

    • Vispirms izvēlētais bloks tiek iestatīts monitora centrā.
    • Bloka krāsu nosaka 12 slēdži uz tāfeles, iestatot RRRRGGGGBBBB vērtību.
    • Četras virziena pogas uz tāfeles maina izvēlēto adresi. Piemēram, nospiežot labo pogu, adresei tiks pievienots 1, izvēloties pirmo bloku pa labi no iepriekšējā bloka. Nospiežot lejupvērsto pogu, adresei tiks pievienots 40, izvēloties vienu bloku zem iepriekšējā bloka.
    • Centrālo pogu izmanto, lai nospiestu visas krāsu vērtības uz 0. Tas ir paredzēts, lai tas darbotos kā dzēšanas poga, kuru lietotājam ir viegli izmantot, tāpēc lietotājam nav jāpārvieto katrs slēdzis uz 0, lai to izdzēstu.
  • Pēdējais attēls ir kontroliera blokshēma. Tas ir diezgan plašs, jo ietver moduļa komponentus un var nebūt pilnībā parādīts.

5. solis: izbaudiet savu radīšanu

Šeit ir saite uz īsu laika periodu no jautrības, kas jums var būt, gatavojoties projektam, pat tikai izmantojot slēdžus un pogas uz pamatplates.

Paldies, ka izlasījāt!

Ieteicams: