υπολογιστή

* Γνώση Υπολογιστών >> υπολογιστή >> Λογισμικό

Πώς να δημιουργήσετε ένα απλό σειριακό UART πομπό σε verilog HDL

Ο περισσότερος Universal Asynchronous Receiver πομπός (UART) που βρήκα online, είναι πολύ περίπλοκη και δύσκολο να καταλάβει, εδώ θα εξηγήσω κάποια απλή θεωρία και επίσης κώδικας για το πώς να χτίσει ένα . Πρώτα αφήνει να μιλήσουμε για το πώς λειτουργούν οι πομποί. Η βασική αρχή είναι να στείλετε πολλαπλά κομμάτια δεδομένων σε μια γραμμή. Στο πομπό μας, τα δεδομένα αυτά είναι παράλληλα, ωστόσο για να μειώσουμε τον αριθμό των καλωδίων που απαιτούνται, χρησιμοποιούμε σειριακή επικοινωνία που μετατρέπεται σε παράλληλη στο λήπτη.

Τα βασικά πράγματα που χρειαζόμαστε είναι τα εξής:

Ένα διαιρέτη ρολογιού (ο μετρητής μας)

Αυτό μας επιτρέπει να στέλνουμε δεδομένα με μια συγκεκριμένη ταχύτητα (ρυθμός baud). Ο δέκτης μας θα δειγματοληψία και θα πάρει τα δεδομένα bit κατά bit

Ένας καταχωρητής μετατόπισης

Πρέπει να γνωρίζουμε πόσα κομμάτια κάθε φορά που μεταδίδουμε, θα έχει ένα bit έναρξης, τα bits δεδομένων, το bit ισοτιμίας (προαιρετικό), το τελικό bit.

Ένα διάγραμμα κατάστασης

Πριν γράψουμε οποιοδήποτε κώδικα, πρέπει να σκεφτούμε τι πρέπει να δημιουργήσετε και ο καλύτερος τρόπος είναι να δημιουργήσετε ένα κρατικό διάγραμμα του σχεδιασμού μας. Γνωρίζουμε ότι για έναν πομπό χρειαζόμαστε 2 καταστάσεις, IDLE και TRANSMITTING.

Αφού έχουμε ένα κρατικό διάγραμμα, τώρα μπορούμε να υπολογίσουμε τι θα είναι ο μετρητής μας. Αυτό γίνεται με τη χρήση:

counter = ταχύτητα ρολογιού FPGA /ρυθμός baud

Σε αυτό το παράδειγμα χρησιμοποιώ ρυθμό baud 9600, κάνοντας μετρητή μου = 5208. , υπολογίζουμε το μητρώο μετατόπισης και ολοκληρώνουμε τη γραφή της μηχανής κατάστασης. Στο δείγμα του κώδικα μου χρησιμοποιώ ένα bit έναρξης, ένα bit ισοτιμίας, 8 bits δεδομένων και ένα τέλος bit. Αυτό είναι συνολικά 11 bit.

Και οι δύο εικόνες στο βήμα 2 και 3 μαζί στην ίδια ενότητα ολοκληρώνουν τον κωδικό πομπού που απαιτείται για να προγραμματιστούν στο FPGA. Αυτός ο κώδικας θα λειτουργήσει με ένα άλλο FPGA που συνδέεται σειριακά ή με υπερτερματικά παράθυρα μεταξύ άλλων υλισμικού. Μπορεί να τροποποιηθεί εύκολα για να δουλέψει πολύ περισσότερο.

Τέλος, δημιουργούμε ένα δοκιμαστικό εξάρτημα για να διορθώσουμε τυχόν σφάλματα και να προσομοιώσουμε το πρόγραμμά μας προτού προγραμματίσουμε το FPGA.

Αυτό ολοκληρώνει τον πομπό. Παρακαλώ αφήστε τα σχόλιά σας εάν έχετε οποιεσδήποτε ερωτήσεις ή αισθάνεστε ότι λείπει κάτι εδώ.

Συμβουλές

Και ο πομπός και ο δέκτης πρέπει να γνωρίζουν την ταχύτητα baud στην οποία αποστέλλονται τα δεδομένα.

Συναφής σύστασή

Πώς να διορθώσετε τον ήχο στο φορητό υπολογιστή μου

Οι περισσότεροι φορητοί υπολογιστές διαθέτουν ενσωματωμένα ηχεία, καθιστώντας τα ηχητικά προβλήματα ιδιαίτερα απογοητευτικά επειδή είναι δύσκολο να ελεγχθούν τα ηχεία και να διαπιστωθεί εάν υπάρχουν προφανή προβλήματα με τροφοδοσία ή καλωδίωση . Πιθανότατα, όμως, το πρόβλημα είναι με τις ρυθμίσεις του υπολογιστή σας ή ίσως με ένα ξεπερασμένο ή ελαττωματικό πρόγραμμα οδήγησης και όχι με τα ηχεία. Έλεγχος για να διαπιστώσετε αν τυχόν ρυθμίσεις ή προγράμματα οδήγησης μπορούν να διορθώσουν το πρόβλη

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα