Πίνακας περιεχομένων:

Πρόγραμμα ζωγραφικής VGA: 5 βήματα
Πρόγραμμα ζωγραφικής VGA: 5 βήματα

Βίντεο: Πρόγραμμα ζωγραφικής VGA: 5 βήματα

Βίντεο: Πρόγραμμα ζωγραφικής VGA: 5 βήματα
Βίντεο: Μάθημα 2ο Το Εσωτερικό του Υπολογιστή - Revolution Study 2024, Νοέμβριος
Anonim
Πρόγραμμα ζωγραφικής VGA
Πρόγραμμα ζωγραφικής VGA

Έργο: Adam Klein, Ian Strachan, Brandon Slater

Το έργο που θέλαμε να ολοκληρώσουμε ήταν να αποθηκεύσουμε, να αναλύσουμε και να εμφανίσουμε πληροφορίες από ένα ποντίκι USB με τη μορφή ενός προγράμματος ζωγραφικής. Η ιδέα πίσω από το έργο είναι να μπορείτε να συνδέσετε το ποντίκι και τα καλώδια VGA στον πίνακα Basys στις ενσωματωμένες θύρες του και να εμφανιστεί το ποντίκι ως κινούμενο τετράγωνο ζωγραφικής στην οθόνη, αλλάζοντας διαφορετικά χρώματα όταν γίνονται αριστερά και δεξιά κλικ μεταχειρισμένος. Στην ουσία, θα δημιουργούσαμε ένα πρόγραμμα οδήγησης για τη χρήση του ποντικιού με τον πίνακα βάσης και έχοντας την οθόνη ως επαλήθευση της λειτουργικότητάς μας. Αυτό που κατέληξε να συμβεί ήταν η δημιουργία ενός προγράμματος σχεδίασης με τον πίνακα basys ως σύστημα εισόδου και ένα ημι-λειτουργικό σύστημα καταγραφής δεδομένων για το ποντίκι.

Σε αυτό το διδακτικό, θα αναλύσουμε τα βήματα από την είσοδο του ποντικιού στην έξοδο vga.

Βήμα 1: Κίνητρο και πρόβλημα

Κίνητρο και πρόβλημα
Κίνητρο και πρόβλημα

Κίνητρο:

Το κύριο κίνητρο για το έργο μας ήταν να δημιουργήσουμε ένα πρόγραμμα οδήγησης ποντικιού για τον πίνακα Basys3 που οι μελλοντικοί μαθητές του CPE 133 θα μπορούν να χρησιμοποιήσουν για τα τελικά τους έργα στο μέλλον. Ωστόσο, πήραμε αυτήν την ιδέα ένα βήμα παραπέρα δημιουργώντας ένα πρόγραμμα ζωγραφικής, από το οποίο θα μπορούσαν να βασιστούν και οι μελλοντικοί μαθητές.

Πρόβλημα:

Το πρόβλημα που ανακαλύψαμε ήταν ότι δεν υπάρχει σαφής μονάδα ποντικιού έτοιμη για λήψη και χρήση για τον πίνακα Basys3. Για να λύσουμε αυτό το πρόβλημα, προσπαθήσαμε να δημιουργήσουμε ένα μόνοι μας. Με αυτόν τον τρόπο, προσπαθήσαμε να δημιουργήσουμε μια μονάδα ποντικιού που θα επέτρεπε στους μελλοντικούς μαθητές να εφαρμόσουν ευκολότερα την εισαγωγή ποντικιού στα έργα τους.

Βήμα 2: Λήψη των πρώτων πληροφοριών bit από το USB της Basys

Λήψη των πρώτων πληροφοριών bit από το USB Basys
Λήψη των πρώτων πληροφοριών bit από το USB Basys
  • Πολλά από αυτά που κάναμε για το ποντίκι σε αυτό το έργο προήλθαν από την τεκμηρίωση του Basys3. Από τον μικρό οδηγό στη θύρα USB της Basys σε αυτό το pdf, διαπιστώσαμε ότι ο πίνακας Basys διαθέτει ενσωματωμένο ρολόι για ανάγνωση δυαδικών ψηφίων στη σωστή ταχύτητα από συσκευές USB.
  • Ουσιαστικά, το ποντίκι στέλνει bits στο usb ξεκινώντας από μια κατάσταση αδράνειας, διαβάζει 32 bits που αντιπροσωπεύουν την κατάσταση του ποντικιού, τη θέση x και τη θέση y και τέλος τελειώνει με ένα άλλο bit αδρανείας. Για να γίνει αυτό, το στοιχείο εισόδου του ποντικιού χρησιμοποιεί έναν καταχωρητή αλλαγής και έναν μετρητή 32 bit όπου ο καταχωρητής shift χρησιμοποιείται για την αποθήκευση 32 bit εισερχόμενων δεδομένων από το ποντίκι και ο μετρητής 32 bit χρησιμοποιείται για να μετρήσει τον αριθμό των bit που αποθηκεύονται επιτρέποντας την κατάσταση εγγραφείτε για επαναφορά και αποθήκευση του επόμενου συνόλου 32 εισερχόμενων bit.
  • Μπορείτε να κατεβάσετε τον κωδικό για τον καταχωρητή shift, τον μετρητή 32 bit και τον αναγνώστη δεδομένων παρακάτω, καθώς και το αρχείο περιορισμών προσαρμοσμένο στη χρήση της θύρας USB ως είσοδο

Βήμα 3: Ανάλυση των πληροφοριών Usb

Ανάλυση των πληροφοριών Usb
Ανάλυση των πληροφοριών Usb
Ανάλυση των πληροφοριών Usb
Ανάλυση των πληροφοριών Usb
  • Αφού δημιουργήσατε την είσοδο του ποντικιού στο στοιχείο usb, το επόμενο βήμα ήταν να δημιουργήσετε τα στοιχεία bits usb σε διανυσματικά στοιχεία που θα κάνουν τα δεδομένα που λαμβάνονται από το ποντίκι αναγνώσιμα για το vga.
  • Αυτό το στοιχείο χρησιμοποιεί μια μηχανή κατάστασης που λαμβάνει το σύνολο των δυαδικών ψηφίων που εξάγονται από την είσοδο του ποντικιού στο usb και μετακινείται μέσω των καταστάσεων με βάση το αν έχουν εισαχθεί νέα bits που αλλάζουν την κατάσταση και τη θέση του ποντικιού.
  • Το μπλοκ διάγραμμα για τα δύο πρώτα βήματα του έργου εμφανίζεται εδώ και τα δύο αρχεία vhdl προορίζονται για τον έλεγχο της εφαρμογής του ποντικιού χρησιμοποιώντας τις βασικές λυχνίες LED (μια δοκιμή που δυστυχώς δεν πέρασε ποτέ) και για τη μετάδοση της ροής bit από το USB θύρα σε διανύσματα ταχύτητας και θέσης που μπορεί να χρησιμοποιήσει το VGA.
  • Η εικόνα δίπλα στο μπλοκ διάγραμμα παραπάνω είναι ένα μικρό στιγμιότυπο (το Instructables δεν μας επιτρέπει να εμφανίσουμε την πλήρη ευρεία εικόνα) των πληροφοριών bit που βρήκαμε στην τεκμηρίωση basys για την ολοκλήρωση αυτού του βήματος.

Βήμα 4: Εμφάνιση της ζωγραφισμένης εικόνας μέσω VGA και επεξεργασία του σχεδίου

Εμφάνιση της ζωγραφισμένης εικόνας μέσω VGA και επεξεργασία του σχεδίου
Εμφάνιση της ζωγραφισμένης εικόνας μέσω VGA και επεξεργασία του σχεδίου
Εμφάνιση της ζωγραφισμένης εικόνας μέσω VGA και επεξεργασία του σχεδίου
Εμφάνιση της ζωγραφισμένης εικόνας μέσω VGA και επεξεργασία του σχεδίου
Εμφάνιση της ζωγραφισμένης εικόνας μέσω VGA και επεξεργασία του σχεδίου
Εμφάνιση της ζωγραφισμένης εικόνας μέσω VGA και επεξεργασία του σχεδίου
  • Το καλώδιο VGA έχει 14 bits εξόδου, 4 bits για καθένα από τα τρία χρώματα και ένα bit για οριζόντιο συγχρονισμό και κάθετο συγχρονισμό.
  • OtherVGA είναι η παρεχόμενη μονάδα VGA και λειτουργεί ως εξής:

    • Η οθόνη χωρίζεται σε 40x30 μπλοκ 16x16 pixel για οθόνη ανάλυσης 640x480 όπως φαίνεται στην παραπάνω εικόνα. Η μονάδα επιλέγει μια διεύθυνση μπλοκ για να αντιπροσωπεύει ένα από τα 1200 μπλοκ στην οθόνη. Η διεύθυνση μπλοκ επιλέγεται μέσω της ακόλουθης εξίσωσης: διεύθυνση = 40y + x
    • Το χρώμα αντιπροσωπεύεται από ένα σήμα 12 bit το οποίο συσχετίζεται με μια τιμή RRRRGGGGBBBB που χρωματίζει το επιλεγμένο μπλοκ.
  • Ο κωδικός ελέγχου μας, VGAtest και VGAtestconst, λειτουργεί ως εξής:

    • Ρυθμίζει πρώτα το επιλεγμένο μπλοκ στο κέντρο της οθόνης.
    • Το χρώμα του μπλοκ καθορίζεται από 12 διακόπτες στην πλακέτα, ορίζοντας την τιμή RRRRGGGGBBBB.
    • Τα τέσσερα κουμπιά κατεύθυνσης στον πίνακα αλλάζουν την επιλεγμένη διεύθυνση. Για παράδειγμα, πατώντας το δεξί κουμπί θα προσθέσετε 1 στη διεύθυνση, επιλέγοντας το μπλοκ ένα στα δεξιά του προηγούμενου μπλοκ. Πατώντας το κάτω κουμπί θα προσθέσετε 40 στη διεύθυνση, επιλέγοντας το μπλοκ ένα κάτω από το προηγούμενο μπλοκ.
    • Το κεντρικό κουμπί χρησιμοποιείται για να ορίσετε όλες τις τιμές χρώματος στο 0 όταν το πατήσετε. Αυτό πρέπει να συμπεριφέρεται ως ένα κουμπί διαγραφής που είναι εύκολο στη χρήση του χρήστη, οπότε ο χρήστης δεν χρειάζεται να γυρίσει κάθε διακόπτη στο 0 για να διαγράψει.
  • Η τελευταία εικόνα είναι το μπλοκ διάγραμμα για τον ελεγκτή. Είναι αρκετά ευρύ, καθώς περιλαμβάνει στοιχεία της ενότητας και ενδέχεται να μην εμφανίζονται πλήρως.

Βήμα 5: Απολαύστε τη Δημιουργία σας

Συνδεδεμένο εδώ είναι ένα γρήγορο timelapse της διασκέδασης που μπορείτε να απολαύσετε με το τελικό έργο, ακόμη και μόνο με τη χρήση των διακοπτών και των κουμπιών στον πίνακα basys ως είσοδο.

Ευχαριστώ για την ανάγνωση!

Συνιστάται: