Mundarija:

VGA rasm dasturi: 5 qadam
VGA rasm dasturi: 5 qadam

Video: VGA rasm dasturi: 5 qadam

Video: VGA rasm dasturi: 5 qadam
Video: Photoshopda 3x4 rasm ishlash 2024, Noyabr
Anonim
VGA rasmlar dasturi
VGA rasmlar dasturi

Loyiha: Adam Klein, Yan Strachan, Brandon Sleyter

Biz tugatmoqchi bo'lgan loyiha USB sichqonchasidagi ma'lumotlarni rasm dasturi ko'rinishida saqlash, tahlil qilish va ko'rsatish edi. Loyihaning g'oyasi shundaki, sichqonchani va VGA kabellarini uning o'rnatilgan portlarida Basys platasiga ulash va sichqonchani monitorda harakatlanuvchi rasmli kvadrat sifatida ko'rsatish, chap va o'ng tugmalar bosilganda turli ranglarni o'zgartirish. ishlatilgan. Aslida, biz sichqonchani tayanch paneli bilan ishlatish uchun drayverni yaratgan bo'lar edik va monitor bizni funksionalligimizni tekshiradi. Haqiqatan ham sodir bo'lgan narsa, kirish tizimi sifatida basis platasi va sichqoncha uchun yarim funktsional ma'lumotlarni yig'ish tizimi bilan chizilgan dasturni yaratish edi.

Bu yo'riqnomada biz sichqoncha kiritishidan vga chiqishigacha bo'lgan bosqichlarni ajratamiz.

1 -qadam: Motivatsiya va muammo

Motivatsiya va muammo
Motivatsiya va muammo

Motivatsiya:

Loyihamizning asosiy motivatsiyasi Basys3 taxtasi uchun sichqoncha drayverini yaratish bo'lajak CPE 133 talabalari kelajakda yakuniy loyihalari uchun foydalanishi mumkin edi. Biroq, biz kelajakdagi talabalar ham yaratishi mumkin bo'lgan rasm dasturini yaratish orqali bu g'oyani bir qadam oldinga oldik.

Muammo:

Biz kashf qilgan muammo shundaki, Basys3 kartasi uchun yuklab olish va ishlatishga tayyor sichqonchaning aniq moduli yo'q. Bu muammoni hal qilish uchun biz o'zimiz yaratishga harakat qildik. Shunday qilib, biz kelajakdagi talabalarga sichqonchani kiritishni o'z loyihalarida osonroq amalga oshirish imkonini beradigan sichqoncha modulini yaratishga intildik.

2 -qadam: Basys USB -dan xom bit ma'lumotlarini olish

Raw -bit ma'lumotlarini Basys USB -dan olish
Raw -bit ma'lumotlarini Basys USB -dan olish
  • Ushbu loyihada sichqoncha uchun qilgan ishlarimizning ko'p qismi Basys3 hujjatlaridan olingan. Pdf formatidagi Basys USB portidagi kichik qo'llanmadan biz Basys platasida USB qurilmalaridan bitlarni to'g'ri tezlikda o'qish uchun o'rnatilgan soat o'rnatilganligini aniqladik.
  • Asosan, sichqoncha usb -ga bo'sh holatidan boshlab bitlar yuboradi, sichqonlar holati, x holati va y pozitsiyasini ifodalovchi 32 bitni o'qiydi va nihoyat boshqa bo'sh bit bilan tugaydi. Buning uchun sichqonchani kiritish komponenti siljish registri va 32 bitli hisoblagichdan foydalanadi, bunda shift registri sichqonchadan 32 bit kiruvchi ma'lumotlarni saqlash uchun ishlatiladi va 32 bitli hisoblagich saqlanadigan bitlar sonini hisoblash uchun ishlatiladi. keyingi kiruvchi 32 bitni qayta o'rnatish va saqlash uchun ro'yxatdan o'ting.
  • Shift registrining kodi, 32 bitli hisoblagich va ma'lumotlarni o'qish moslamasini quyida, shuningdek, USB portni kirish sifatida ishlatishga moslashtirilgan cheklovlar faylini yuklab olish mumkin.

3 -qadam: Usb ma'lumotlarini tahlil qilish

Usb ma'lumotlarini tahlil qilish
Usb ma'lumotlarini tahlil qilish
Usb ma'lumotlarini tahlil qilish
Usb ma'lumotlarini tahlil qilish
  • Usb komponentiga sichqoncha kiritishni yaratgandan so'ng, keyingi qadam - sichqoncha qabul qilgan ma'lumotlarni vga uchun o'qiy oladigan vektorli axborot komponentining usb bitlarini yaratish.
  • Bu komponent sichqoncha kiritishidan chiqarilgan bitlar to'plamini usb -ga qabul qiladigan va sichqonchaning holati va pozitsiyasini o'zgartiradigan yangi bitlar kiritiladimi -yo'qligiga qarab, shtatlar bo'ylab harakatlanadigan shtat mashinasidan foydalanadi.
  • Loyihaning dastlabki ikki bosqichining blok -diagrammasi bu erda ko'rsatilgan va ikkita vhdl fayli sichqonchani basys LED -lar yordamida sinab ko'rish uchun (afsuski, hech qachon o'tmagan test) va USB -dan bit oqimini uzatish uchun mo'ljallangan. VGA foydalanishi mumkin bo'lgan tezlik va joylashuv vektorlari uchun port.
  • Yuqoridagi blok -diagramma yonidagi rasm - bu qadamni bajarish uchun bazis hujjatlaridan topilgan bit ma'lumotlarining kichik tasviri (Instructables bizga to'liq keng tasvirni ko'rsatishga ruxsat bermaydi).

4 -qadam: Bo'yalgan tasvirni VGA orqali ko'rsatish va chizilgan narsalarni tahrirlash

Bo'yalgan tasvirni VGA orqali ko'rsatish va chizilgan narsalarni tahrirlash
Bo'yalgan tasvirni VGA orqali ko'rsatish va chizilgan narsalarni tahrirlash
Bo'yalgan tasvirni VGA orqali ko'rsatish va chizilgan narsalarni tahrirlash
Bo'yalgan tasvirni VGA orqali ko'rsatish va chizilgan narsalarni tahrirlash
Bo'yalgan tasvirni VGA orqali ko'rsatish va chizilgan narsalarni tahrirlash
Bo'yalgan tasvirni VGA orqali ko'rsatish va chizilgan narsalarni tahrirlash
  • VGA kabeli 14 bitli chiqish, har uch rang uchun 4 bit va gorizontal sinxronlash va vertikal sinxronlash uchun bir oz.
  • OtherVGA - bu taqdim etilgan VGA moduli va u quyidagicha ishlaydi:

    • Monitor yuqoridagi rasmda ko'rinib turganidek, 640x480 pikselli ekran uchun 16x16 pikselli 40x30 bloklarga bo'linadi. Modul monitordagi 1200 ta blokdan birini ko'rsatish uchun blok manzilini tanlaydi. Blok manzili quyidagi tenglama orqali tanlanadi: manzil = 40y + x
    • Rang tanlangan blokni ranglaydigan RRRRGGGGBBBB qiymatiga mos keladigan 12 bitli signal bilan ifodalanadi.
  • Bizning boshqaruv kodimiz VGAtest va VGAtestconst quyidagicha ishlaydi:

    • Avval tanlangan blokni monitor markaziga o'rnatadi.
    • Blokning rangi RRRRGGGGBBBB qiymatini belgilab, bortdagi 12 ta kalit bilan aniqlanadi.
    • Taxtadagi to'rtta yo'nalishli tugma tanlangan manzilni o'zgartiradi. Masalan, o'ng tugmani bosish orqali manzilga 1 qo'shiladi, oldingi blokning o'ng tomonidagi bitta blok tanlanadi. Pastga tugmachasini bosish, manzilga 40 qo'shiladi, oldingi blok ostidagi blokni tanlaydi.
    • Markaziy tugma bosilganda barcha rang qiymatlarini 0 ga o'rnatish uchun ishlatiladi. Bu foydalanuvchi uchun qulay bo'lgan o'chirish tugmasi sifatida o'zini tutish uchun mo'ljallangan, shuning uchun foydalanuvchini o'chirish uchun har bir kalitni 0 ga aylantirish shart emas.
  • Oxirgi rasm - bu tekshirgichning blok diagrammasi. Bu juda keng, chunki u modul komponentlarini o'z ichiga oladi va to'liq ko'rsatilmasligi mumkin.

5 -qadam: Sizning ijodingizdan rohatlaning

Bu erda siz yakuniy loyihada, hatto bazis taxtasidagi kalitlar va tugmalarni ham kirish sifatida ishlatishingiz mumkin bo'lgan o'yin -kulgining tezkor vaqtini topasiz.

O'qiganingiz uchun tashakkur!

Tavsiya: