Სარჩევი:

VGA ფერწერის პროგრამა: 5 ნაბიჯი
VGA ფერწერის პროგრამა: 5 ნაბიჯი

ვიდეო: VGA ფერწერის პროგრამა: 5 ნაბიჯი

ვიდეო: VGA ფერწერის პროგრამა: 5 ნაბიჯი
ვიდეო: NOOBS PLAY LIFE AFTER START LIVE 2024, ნოემბერი
Anonim
VGA ფერწერის პროგრამა
VGA ფერწერის პროგრამა

პროექტი: ადამ კლეინი, იან სტრაჩანი, ბრენდონ სლეიტერი

პროექტი, რომლის დასრულებაც ჩვენ დავიწყეთ, იყო შენახვა, გაანალიზება და ინფორმაციის ჩვენება USB თაგვიდან ხატვის პროგრამის სახით. პროექტის იდეა იმაში მდგომარეობს, რომ შესაძლებელი იყოს თაგვისა და VGA კაბელების შეყვანა Basys დაფაზე მის ჩაშენებულ პორტებში და თაგვის ჩვენება მონიტორზე მოძრავი ფერწერის კვადრატის სახით, მარცხენა და მარჯვენა დაწკაპუნების დროს სხვადასხვა ფერის შეცვლა. გამოყენებული. არსებითად, ჩვენ შევქმნით დრაივერს მაუსის გამოყენებისათვის დაფის დაფაზე და მონიტორის ფუნქციონირების შემოწმების მიზნით. ის, რაც მართლაც მოხდა, იყო ხატვის პროგრამის შექმნა ბაზის დაფით, როგორც შეყვანის სისტემა და მონაცემების აღების ნახევრად ფუნქციური სისტემა მაუსისათვის.

ამ ინსტრუქციურად, ჩვენ დავამსხვრევთ ნაბიჯებს მაუსის შეყვანიდან vga გამომავალამდე.

ნაბიჯი 1: მოტივაცია და პრობლემა

მოტივაცია და პრობლემა
მოტივაცია და პრობლემა

Მოტივაცია:

ჩვენი პროექტის მთავარი მოტივაცია იყო თაგვის დრაივერის შექმნა Basys3 დაფისთვის, რომლის გამოყენებაც მომავალ CPE 133 სტუდენტს შეეძლო მომავალში მათი საბოლოო პროექტებისთვის. თუმცა, ჩვენ ეს იდეა კიდევ უფრო წინ გადავდგით ფერწერის პროგრამის შექმნით, რომლის შემდგომი განვითარებაც მომავალ სტუდენტებს შეეძლოთ.

პრობლემა:

პრობლემა, რომელიც აღმოვაჩინეთ, იყო ის, რომ არ არსებობს თაგვის მკაფიო მოდული, რომელიც მზად არის გადმოსატვირთად და გამოსაყენებლად Basys3 დაფისთვის. ამ პრობლემის გადასაჭრელად, ჩვენ შევეცადეთ შეგვექმნა საკუთარი თავი. ამით ჩვენ ვცდილობდით შეგვექმნა თაგვის მოდული, რომელიც მომავალ სტუდენტებს საშუალებას მისცემდა უფრო ადვილად განეხორციელებინათ თაგვის შეყვანა თავიანთ პროექტებში.

ნაბიჯი 2: ნედლი ბიტის ინფორმაციის მიღება Basys USB– დან

ნედლი ბიტის ინფორმაციის მიღება Basys USB– დან
ნედლი ბიტის ინფორმაციის მიღება Basys USB– დან
  • ბევრი რამ, რაც ჩვენ გავაკეთეთ თაგვისთვის ამ პროექტში, მოვიდა Basys3 დოკუმენტაციიდან. ამ pdf- ის Basys USB პორტის მცირე სახელმძღვანელოდან ჩვენ აღმოვაჩინეთ, რომ Basys დაფაზე არის ჩაშენებული საათი USB მოწყობილობებიდან სწორი სიჩქარით ბიტების წასაკითხად.
  • არსებითად, თაგვი უგზავნის ბიტს usb უსაქმური მდგომარეობიდან, კითხულობს 32 ბიტს, რომელიც წარმოადგენს თაგვის სტატუსს, x პოზიციას და y პოზიციას და ბოლოს მთავრდება სხვა მოჩვენებითი ბიტით. ამისათვის, მაუსის შეყვანის კომპონენტი იყენებს ცვლის რეგისტრს და 32 ბიტიან მრიცხველს, სადაც ცვლის რეგისტრი გამოიყენება თაგვიდან შემომავალი მონაცემების 32 ბიტის შესანახად, ხოლო 32 ბიტიანი მრიცხველი გამოიყენება შენახული ბიტების რაოდენობის დასათვლელად დარეგისტრირდით, რათა გადატვირთოთ და შეინახოთ შემდეგი 32 ბიტიანი ბიტი.
  • ცვლის რეგისტრატორის კოდი, 32 ბიტიანი მრიცხველი და მონაცემთა მკითხველი გადმოწერილია ქვემოთ, ასევე შეზღუდვების ფაილი, რომელიც ადაპტირებულია ჩვენი USB პორტის გამოყენებისთვის

ნაბიჯი 3: USB ინფორმაციის გაანალიზება

Usb ინფორმაციის გაანალიზება
Usb ინფორმაციის გაანალიზება
Usb ინფორმაციის გაანალიზება
Usb ინფორმაციის გაანალიზება
  • Usb კომპონენტში მაუსის შეყვანის შექმნის შემდეგ, შემდეგი ნაბიჯი იყო usb ბიტების შექმნა ვექტორული ინფორმაციის კომპონენტისთვის, რაც თაგვის მიერ მიღებულ მონაცემებს წაკითხავს vga- სთვის.
  • ეს კომპონენტი იყენებს სახელმწიფო მანქანას, რომელიც იღებს თაგვის შეყვანის შედეგად გამოშვებული ბიტების ნაკრებებს usb- ში და გადადის მდგომარეობებში იმის საფუძველზე, არის თუ არა შეყვანილი ახალი ბიტები, რომლებიც ცვლის თაგვის მდგომარეობას და პოზიციას.
  • პროექტის პირველი ორი საფეხურის ბლოკ -დიაგრამა ნაჩვენებია აქ და ორი vhdl ფაილი არის მაუსის განხორციელების შესამოწმებლად ბაზის LED- ების გამოყენებით (ტესტი, რომელიც სამწუხაროდ არასოდეს ჩაბარებულა) და USB ნაკრებიდან ნაკადის გადასაცემად პორტი სიჩქარისა და პოზიციის ვექტორებისთვის, რომელთა გამოყენებაც VGA– ს შეუძლია.
  • ზემოთ მოყვანილი ბლოკ -დიაგრამის გვერდი არის მცირე სურათი (Instructables არ გვაძლევს საშუალებას გამოვავლინოთ სრული ფართო სურათი) იმ მცირე ინფორმაციისა, რომელიც აღმოვაჩინეთ საბაზისო დოკუმენტაციაში ამ ნაბიჯის დასასრულებლად.

ნაბიჯი 4: დახატული სურათის ჩვენება VGA- ზე და რედაქტირება იმისა, რასაც ხატავთ

ნახატი სურათის ჩვენება VGA– ზე და რედაქტირება იმისა, რაც ხატავს
ნახატი სურათის ჩვენება VGA– ზე და რედაქტირება იმისა, რაც ხატავს
დახატული სურათის ჩვენება VGA– ზე და რედაქტირება იმისა, რასაც ხატავს
დახატული სურათის ჩვენება VGA– ზე და რედაქტირება იმისა, რასაც ხატავს
ნახატი სურათის ჩვენება VGA– ზე და რედაქტირება იმისა, რაც ხატავს
ნახატი სურათის ჩვენება VGA– ზე და რედაქტირება იმისა, რაც ხატავს
  • VGA კაბელს აქვს 14 ბიტი გამომავალი, 4 ბიტი სამივე ფერისთვის და ცოტა ჰორიზონტალური სინქრონიზაციისთვის და ვერტიკალური სინქრონიზაციისთვის.
  • სხვა VGA არის მოწოდებული VGA მოდული და ის მუშაობს შემდეგნაირად:

    • მონიტორი დაყოფილია 40x30 ბლოკად 16x16 პიქსელით 640x480 რეზოლუციის ეკრანზე, როგორც ეს მოცემულია ზემოთ სურათზე. მოდული ირჩევს ბლოკის მისამართს, რომელიც წარმოადგენს ერთ – ერთ 1200 ბლოკს მონიტორზე. ბლოკის მისამართი შეირჩევა შემდეგი განტოლების საშუალებით: მისამართი = 40y + x
    • ფერი წარმოდგენილია 12 ბიტიანი სიგნალით, რომელიც შეესაბამება RRRRGGGGBBBB მნიშვნელობას, რომელიც ფერს არჩეულ ბლოკს.
  • ჩვენი საკონტროლო კოდი, VGAtest და VGAtestconst, ფუნქციონირებს შემდეგნაირად:

    • ის პირველად აყენებს არჩეულ ბლოკს მონიტორის ცენტრში.
    • ბლოკის ფერი განისაზღვრება დაფაზე 12 გადამრთველით, რომელიც ადგენს RRRRGGGGBBBB მნიშვნელობას.
    • დაფაზე ოთხი მიმართულების ღილაკი ცვლის არჩეულ მისამართს. მაგალითად, მარჯვენა ღილაკის დაჭერით 1 დაემატება მისამართს, ირჩევს ბლოკს ერთი წინა ბლოკის მარჯვნივ. ქვემოთ ღილაკზე დაჭერით 40 დაემატება მისამართს, ირჩევს ბლოკს ერთი წინა ბლოკის ქვემოთ.
    • ცენტრალური ღილაკი გამოიყენება ყველა ფერის მნიშვნელობის 0 -ზე დაყენებისას. ეს უნდა მოიქცეს, როგორც წაშლის ღილაკი, რომლის გამოყენებაც მომხმარებლისთვის ადვილია, ასე რომ მომხმარებელს არ სჭირდება ყველა გადამრთველის გადატანა 0 -ზე, რომ წაშალოს.
  • ბოლო სურათი არის კონტროლერის ბლოკის დიაგრამა. ის საკმაოდ ფართოა, რადგან ის შეიცავს მოდულის კომპონენტებს და შეიძლება სრულად არ იყოს ნაჩვენები.

ნაბიჯი 5: ისიამოვნეთ თქვენი შემოქმედებით

აქ არის დაკავშირებული გართობის სწრაფი დრო, რომელიც შეგიძლიათ გაატაროთ საბოლოო პროექტთან ერთად, თუნდაც ბაზის დაფაზე გადამრთველებისა და ღილაკების შეყვანის გამოყენებით.

Მადლობა წაკითხვისთვის!

გირჩევთ: