Satura rādītājs:
- 1. solis: motivācija un problēma
- 2. darbība. Neapstrādāta bita informācijas iegūšana no Basys USB
- 3. darbība: USB informācijas parsēšana
- 4. darbība. Krāsota attēla parādīšana VGA režīmā un zīmētā rediģēšana
- 5. solis: izbaudiet savu radīšanu
Video: VGA krāsošanas programma: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
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:
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
- 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
- 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
- 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:
Ievads programmā Python - Katsuhiko Matsuda & Edwin Cijo - Pamati: 7 soļi
Ievads Python - Katsuhiko Matsuda & Edwin Cijo - Pamati: Sveiki, mēs esam 2 MYP 2 studenti. Mēs vēlamies jums iemācīt Python kodēšanas pamatus. To izveidoja 80. gadu beigās Gvido van Rosums Nīderlandē. Tas tika izveidots kā ABC valodas pēctecis. Tās nosaukums ir " Python " jo kad
Arduino darbināms krāsošanas robots: 11 soļi (ar attēliem)
Arduino darbināms gleznošanas robots: Vai esat kādreiz domājuši, vai robots varētu uzburt aizraujošas gleznas un mākslu? Šajā projektā es cenšos to realizēt ar Arduino darbināmu gleznošanas robotu. Mērķis ir, lai robots spētu pats uzgleznot gleznas un izmantot at
Cēzara šifra programma programmā Python: 4 soļi
Cēzara šifra programma programmā Python: Cēzara šifrs ir sens un plaši izmantots šifrs, kuru ir viegli šifrēt un atšifrēt. Tas darbojas, pārvietojot alfabēta burtus, lai izveidotu pilnīgi jaunu alfabētu (ABCDEF varētu pārvietot vairāk par 4 burtiem un kļūt par EFGHIJ). Cēzars C
Klēpjdatora krāsošanas darbs: 9 soļi
Klēpjdatora krāsas darbs: Būtībā tas viss radās, kad no kolēģa nopirku klēpjdatoru par 13 USD. Jo vairāk es uz to skatījos, jo vairāk tā izskats mani neapmierināja. Pēc interneta padziļināšanas vienīgā iespēja, kas patiešām atbilstu manām vajadzībām, būtu nokrāsot visu
DIY vara stila LED krāsošanas apgaismotājs: 9 soļi (ar attēliem)
DIY vara stila LED gleznotājs: vai jums ir glezna vai fotogrāfija, kuru vēlaties apgaismot? Kāpēc izmantot vecu, garlaicīgu spuldzi, ja jūs varat izveidot daudz energoefektīvāku apgaismotāju, tas ir mākslas darbs. Vara ir patiešām izskatīgs metāls. Reti kad tu esi