İçindekiler:

VGA Boyama Programı: 5 Adım
VGA Boyama Programı: 5 Adım

Video: VGA Boyama Programı: 5 Adım

Video: VGA Boyama Programı: 5 Adım
Video: Ders 22 Bootstrap 5 Tablo Özellikleri 2024, Kasım
Anonim
VGA Boyama Programı
VGA Boyama Programı

Proje: Adam Klein, Ian Strachan, Brandon Slater

Tamamlamak için yola çıktığımız proje, bir USB fareden gelen bilgileri bir boyama programı şeklinde depolamak, ayrıştırmak ve görüntülemekti. Projenin arkasındaki fikir, yerleşik bağlantı noktalarındaki Basys kartına fare ve VGA kablolarını takabilmek ve farenin monitörde hareketli bir resim karesi olarak görüntülenmesini sağlamak, sol ve sağ tıklatıldığında farklı renkler değiştirebilmektir. kullanılmış. Özünde, fareyi basys kartıyla kullanmak için bir sürücü oluşturuyor ve işlevsellik doğrulamamız olarak monitöre sahip oluyoruz. Sonunda gerçekten olan şey, bir giriş sistemi olarak basys kartı ve fare için yarı işlevsel bir veri yakalama sistemi olarak bir çizim programının oluşturulmasıydı.

Bu talimatta, fare girişinden vga çıkışına kadar olan adımları inceleyeceğiz.

Adım 1: Motivasyon ve Sorun

Motivasyon ve Sorun
Motivasyon ve Sorun

Motivasyon:

Projemizin ana motivasyonu, gelecekteki CPE 133 öğrencilerinin gelecekte final projeleri için kullanabilecekleri Basys3 panosu için bir fare sürücüsü oluşturmaktı. Ancak, gelecekteki öğrencilerin de geliştirebileceği bir resim programı oluşturarak bu fikri bir adım daha ileri götürdük.

Sorun:

Bulduğumuz sorun, Basys3 kartı için indirilmeye ve kullanılmaya hazır net bir fare modülünün olmamasıydı. Bu sorunu çözmek için kendimiz bir tane yaratmaya çalıştık. Bunu yaparak, gelecekteki öğrencilerin projelerinde fare girdisini daha kolay uygulayabilmelerini sağlayacak bir fare modülü oluşturmaya çalışıyorduk.

Adım 2: Basys USB'den Ham Bit Bilgilerini Alma

Basys USB'den Ham Bit Bilgilerini Alma
Basys USB'den Ham Bit Bilgilerini Alma
  • Bu projede fare için yaptığımız şeylerin çoğu Basys3 belgelerinden geldi. Bu pdf'deki Basys USB bağlantı noktasındaki küçük kılavuzdan, Basys kartının USB aygıtlarından bitleri doğru hızda okumak için yerleşik bir saate sahip olduğunu gördük.
  • Esasen, fare, boş bir durumdan başlayarak usb'ye bit gönderir, farenin durumunu, x konumunu ve y konumunu temsil eden 32 biti okur ve son olarak başka bir boş bit ile biter. Bunu yapmak için, fare giriş bileşeni bir kaydırma yazmacı ve 32 bitlik bir sayaç kullanır; burada kaydırma kaydı fareden gelen 32 bitlik veriyi depolamak için kullanılır ve 32 bitlik sayaç, duruma izin veren depolanan bit sayısını saymak için kullanılır. 32 gelen bitlik bir sonraki seti sıfırlamak ve saklamak için kayıt olun.
  • Kaydırmalı yazmaç, 32 bit sayaç ve veri okuyucu için kod ve ayrıca giriş olarak USB bağlantı noktasını kullanmamıza uyarlanmış kısıtlamalar dosyası aşağıda indirilebilir.

Adım 3: Usb Bilgilerini Ayrıştırma

Usb Bilgilerini Ayrıştırma
Usb Bilgilerini Ayrıştırma
Usb Bilgilerini Ayrıştırma
Usb Bilgilerini Ayrıştırma
  • Usb bileşenine fare girişi oluşturduktan sonraki adım, fare tarafından alınan verileri vga için okunabilir hale getirecek usb bitleri vektör bilgi bileşeni oluşturmaktı.
  • Bu bileşen, fare girişi tarafından usb'ye çıkarılan bit setini alan ve farenin durumunu ve konumunu değiştiren yeni bitlerin girilip girilmediğine bağlı olarak durumlar arasında hareket eden bir durum makinesi kullanır.
  • Projenin ilk iki adımının blok şeması burada gösterilmektedir ve iki vhdl dosyası, basys LED'leri (maalesef hiçbir zaman geçilemeyen bir test) kullanarak farenin uygulanmasını test etmek ve bit akışını USB'den yayınlamak içindir. VGA'nın kullanabileceği vektörleri hızlandırmak ve konumlandırmak için bağlantı noktası.
  • Yukarıdaki blok diyagramın yanındaki görüntü, bu adımı tamamlamak için basys belgelerinde bulduğumuz bit bilgilerinin küçük bir anlık görüntüsüdür (Instructables tam geniş görüntüyü göstermemize izin vermiyor).

Adım 4: Boyanmış Resmi VGA Üzerinden Görüntüleme ve Çizileni Düzenleme

Boyanmış Resmi VGA Üzerinden Görüntüleme ve Çizileni Düzenleme
Boyanmış Resmi VGA Üzerinden Görüntüleme ve Çizileni Düzenleme
Boyanmış Resmi VGA Üzerinden Görüntüleme ve Çizileni Düzenleme
Boyanmış Resmi VGA Üzerinden Görüntüleme ve Çizileni Düzenleme
Boyanmış Resmi VGA Üzerinden Görüntüleme ve Çizileni Düzenleme
Boyanmış Resmi VGA Üzerinden Görüntüleme ve Çizileni Düzenleme
  • VGA kablosunun 14 bit çıkışı, üç rengin her biri için 4 biti ve yatay senkronizasyon ve dikey senkronizasyon için bir biti vardır.
  • OtherVGA, sağlanan VGA modülüdür ve aşağıdaki gibi çalışır:

    • Monitör, yukarıdaki resimde görüldüğü gibi 640x480 çözünürlüklü bir ekran için 16x16 piksellik 40x30 bloklara bölünmüştür. Modül, monitördeki 1200 bloktan birini temsil edecek bir blok adresi seçer. Blok adresi aşağıdaki denklemle seçilir: adres = 40y + x
    • Renk, seçilen bloğu renklendiren bir RRRRGGGGBBBB değerine karşılık gelen 12 bitlik bir sinyal ile temsil edilir.
  • Kontrol kodumuz VGAtest ve VGAtestconst aşağıdaki gibi çalışır:

    • Önce seçilen bloğu monitörün ortasına ayarlar.
    • Bloğun rengi, kart üzerindeki 12 anahtar tarafından belirlenir ve RRRRGGGGBBBB değerini ayarlar.
    • Kart üzerindeki dört yön düğmesi seçilen adresi değiştirir. Örneğin, sağ tuşa basmak adrese 1 ekler, önceki bloğun sağındaki blok seçilir. Aşağı düğmesine basıldığında adrese 40 eklenir ve önceki bloğun altındaki blok seçilir.
    • Ortadaki düğme, basıldığında tüm renk değerlerini 0'a ayarlamak için kullanılır. Bu, kullanıcının kullanması kolay bir silme düğmesi gibi davranmak içindir, bu nedenle kullanıcının silmek için her anahtarı 0'a çevirmesi gerekmez.
  • Son görüntü, kontrolörün blok şemasıdır. Modül bileşenlerini içerdiğinden oldukça geniştir ve tam olarak görüntülenemeyebilir.

Adım 5: Yaratılışınızın Keyfini Çıkarın

Burada, yalnızca giriş olarak basys kartındaki anahtarları ve düğmeleri kullanarak bile, nihai projeyle yaşayabileceğiniz eğlencenin hızlı bir hızlandırılmış görüntüsü verilmiştir.

Okuduğunuz için teşekkürler!

Önerilen: