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

ΒΑΣΙΚΑ ΤΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ UART: 16 Βήματα
ΒΑΣΙΚΑ ΤΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ UART: 16 Βήματα

Βίντεο: ΒΑΣΙΚΑ ΤΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ UART: 16 Βήματα

Βίντεο: ΒΑΣΙΚΑ ΤΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ UART: 16 Βήματα
Βίντεο: Μεσημεριανό δελτίο ειδήσεων 16/01/2024 | OPEN TV 2024, Νοέμβριος
Anonim
ΒΑΣΙΚΑ ΤΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ UART
ΒΑΣΙΚΑ ΤΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ UART

Θυμάστε όταν οι εκτυπωτές, τα ποντίκια και τα μόντεμ είχαν χοντρά καλώδια με αυτούς τους τεράστιους ακατάλληλους συνδετήρες; Αυτά που έπρεπε κυριολεκτικά να βιδωθούν στον υπολογιστή σας; Αυτές οι συσκευές πιθανότατα χρησιμοποιούσαν UART για να επικοινωνούν με τον υπολογιστή σας. Ενώ το USB έχει αντικαταστήσει σχεδόν πλήρως αυτά τα παλιά καλώδια και συνδέσεις, τα UARTs σίγουρα δεν αποτελούν παρελθόν. Θα βρείτε UART που χρησιμοποιούνται σε πολλά ηλεκτρονικά έργα DIY για τη σύνδεση μονάδων GPS, μονάδων Bluetooth και μονάδων ανάγνωσης καρτών RFID με τα Raspberry Pi, Arduino ή άλλους μικροελεγκτές σας.

Το UART σημαίνει Universal Asynchronous Receiver/Transmitter. Δεν είναι ένα πρωτόκολλο επικοινωνίας όπως το SPI και το I2C, αλλά ένα φυσικό κύκλωμα σε έναν μικροελεγκτή ή ένα αυτόνομο IC. Ο κύριος σκοπός ενός UART είναι η μετάδοση και λήψη σειριακών δεδομένων.

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

Βήμα 1: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΚΟΙΝΩΝΙΑ UART

Στην επικοινωνία UART, δύο UART επικοινωνούν απευθείας μεταξύ τους. Το UART που εκπέμπει μετατρέπει παράλληλα δεδομένα από μια συσκευή ελέγχου όπως μια CPU σε σειριακή μορφή, τα μεταδίδει σειριακά στο UART που λαμβάνει, το οποίο στη συνέχεια μετατρέπει τα σειριακά δεδομένα πίσω σε παράλληλα δεδομένα για τη συσκευή λήψης. Μόνο δύο καλώδια χρειάζονται για τη μετάδοση δεδομένων μεταξύ δύο UART. Τα δεδομένα ρέουν από τον πείρο Tx του UART που εκπέμπει στον ακροδέκτη Rx του UART που λαμβάνει:

Βήμα 2: Τα δεδομένα ρέουν από το Tx Pin του UART που εκπέμπει στο Rx Pin του UART λήψης:

Ροές δεδομένων από την ακίδα Tx του UART που εκπέμπει στην ακίδα Rx του UART λήψης
Ροές δεδομένων από την ακίδα Tx του UART που εκπέμπει στην ακίδα Rx του UART λήψης

Βήμα 3:

Τα UART μεταδίδουν δεδομένα ασύγχρονα, πράγμα που σημαίνει ότι δεν υπάρχει σήμα ρολογιού για συγχρονισμό της εξόδου των δυαδικών ψηφίων από το UART που εκπέμπει στη δειγματοληψία των δυαδικών ψηφίων από το UART που λαμβάνει. Αντί για σήμα ρολογιού, το UART που εκπέμπει προσθέτει bits έναρξης και διακοπής στο πακέτο δεδομένων που μεταφέρεται. Αυτά τα δυαδικά ψηφία ορίζουν την αρχή και το τέλος του πακέτου δεδομένων, ώστε το UART που λαμβάνει να γνωρίζει πότε πρέπει να ξεκινήσει την ανάγνωση των δυαδικών ψηφίων.

Όταν το UART που λαμβάνει ανιχνεύει ένα bit εκκίνησης, αρχίζει να διαβάζει τα εισερχόμενα bits σε μια συγκεκριμένη συχνότητα γνωστή ως ρυθμός baud. Ο ρυθμός Baud είναι ένα μέτρο της ταχύτητας μεταφοράς δεδομένων, εκφρασμένο σε bits ανά δευτερόλεπτο (bps). Και τα δύο UART πρέπει να λειτουργούν με τον ίδιο περίπου ρυθμό baud. Ο ρυθμός baud μεταξύ του UART που εκπέμπει και λαμβάνει μπορεί να διαφέρει μόνο κατά περίπου 10% πριν ο χρονισμός των δυαδικών ψηφίων φτάσει πολύ μακριά.

Βήμα 4:

Εικόνα
Εικόνα

Και τα δύο UART πρέπει επίσης να διαμορφωθούν ώστε να μεταδίδουν και να λαμβάνουν την ίδια δομή πακέτων δεδομένων.

Βήμα 5: ΠΩΣ ΛΕΙΤΟΥΡΓΕΙ Η UART

Το UART που πρόκειται να μεταδώσει δεδομένα λαμβάνει τα δεδομένα από ένα δίαυλο δεδομένων. Ο δίαυλος δεδομένων χρησιμοποιείται για την αποστολή δεδομένων στο UART από άλλη συσκευή όπως CPU, μνήμη ή μικροελεγκτή. Τα δεδομένα μεταφέρονται από το δίαυλο δεδομένων στο UART που εκπέμπει σε παράλληλη μορφή. Αφού το UART που εκπέμπει λάβει τα παράλληλα δεδομένα από το δίαυλο δεδομένων, προσθέτει ένα bit εκκίνησης, ένα bit ισοτιμίας και ένα bit bit, δημιουργώντας το πακέτο δεδομένων. Στη συνέχεια, το πακέτο δεδομένων εξάγεται σειριακά, bit -bit στο pin Tx. Το UART που λαμβάνει διαβάζει το πακέτο δεδομένων κομμάτι -bit στο Rx pin του. Στη συνέχεια, το UART που λαμβάνει μετατρέπει τα δεδομένα σε παράλληλη μορφή και αφαιρεί το bit εκκίνησης, το bit ισοτιμίας και τα bit διακοπής. Τέλος, το UART που λαμβάνει μεταφέρει το πακέτο δεδομένων παράλληλα με το δίαυλο δεδομένων στο άκρο λήψης:

Βήμα 6: Εικόνα Πώς λειτουργεί το UART

Εικόνα Πώς λειτουργεί το UART
Εικόνα Πώς λειτουργεί το UART

Βήμα 7:

Τα δεδομένα που μεταδίδονται από την UART οργανώνονται σε πακέτα. Κάθε πακέτο περιέχει 1 bit εκκίνησης, 5 έως 9 bits δεδομένων (ανάλογα με το UART), ένα προαιρετικό bit ισοτιμίας και 1 ή 2 bit διακοπής:

Βήμα 8: Τα μεταδιδόμενα δεδομένα UART οργανώνονται σε εικόνα πακέτων

Τα μεταδιδόμενα δεδομένα UART οργανώνονται σε εικόνα πακέτων
Τα μεταδιδόμενα δεδομένα UART οργανώνονται σε εικόνα πακέτων

Βήμα 9:

ΜΠΙΤ ΕΚΚΙΝΗΣΗΣ

Η γραμμή μετάδοσης δεδομένων UART κανονικά διατηρείται σε επίπεδο υψηλής τάσης όταν δεν μεταδίδει δεδομένα. Για να ξεκινήσει η μεταφορά δεδομένων, το UART που εκπέμπει τραβά τη γραμμή μετάδοσης από ψηλά σε χαμηλά για έναν κύκλο ρολογιού. Όταν το UART που λαμβάνει ανιχνεύει τη μετάβαση υψηλής προς χαμηλή τάση, αρχίζει να διαβάζει τα bit στο πλαίσιο δεδομένων με τη συχνότητα του ρυθμού baud.

ΠΛΑΙΣΙΟ ΔΕΔΟΜΕΝΩΝ

Το πλαίσιο δεδομένων περιέχει τα πραγματικά δεδομένα που μεταφέρονται. Μπορεί να έχει μήκος 5 bits έως 8 bits εάν χρησιμοποιείται bit ισοτιμίας. Εάν δεν χρησιμοποιείται bit ισοτιμίας, το πλαίσιο δεδομένων μπορεί να έχει μήκος 9 bits. Στις περισσότερες περιπτώσεις, τα δεδομένα αποστέλλονται πρώτα με το λιγότερο σημαντικό bit.

ΙΣΟΤΙΜΙΑ

Η ισοτιμία περιγράφει την ομαλότητα ή την περιττότητα ενός αριθμού. Το δυαδικό ψηφίο ισοτιμίας είναι ένας τρόπος για το UART που λαμβάνει να διαπιστώσει εάν άλλαξαν δεδομένα κατά τη μετάδοση. Τα δυαδικά ψηφία μπορούν να αλλάξουν από ηλεκτρομαγνητική ακτινοβολία, ασυμβίβαστους ρυθμούς baud ή μεταφορές δεδομένων μεγάλων αποστάσεων. Αφού το UART που λαμβάνει διαβάσει το πλαίσιο δεδομένων, μετρά τον αριθμό των bits με τιμή 1 και ελέγχει εάν το σύνολο είναι ζυγός ή περιττός αριθμός. Εάν το bit ισοτιμίας είναι 0 (άρτια ισοτιμία), τα 1 bits στο πλαίσιο δεδομένων πρέπει να είναι συνολικά σε ζυγό αριθμό. Εάν το bit ισοτιμίας είναι 1 (περιττή ισοτιμία), τα 1 bits στο πλαίσιο δεδομένων πρέπει να είναι συνολικά σε έναν περιττό αριθμό. Όταν το bit ισοτιμίας ταιριάζει με τα δεδομένα, το UART γνωρίζει ότι η μετάδοση ήταν χωρίς σφάλματα. Αν όμως το bit ισοτιμίας είναι 0 και το σύνολο είναι περιττό? ή το bit ισοτιμίας είναι 1 και το σύνολο είναι ζυγό, το UART γνωρίζει ότι τα bits στο πλαίσιο δεδομένων έχουν αλλάξει.

STOP BITS

o σηματοδοτεί το τέλος του πακέτου δεδομένων, το UART που στέλνει οδηγεί τη γραμμή μετάδοσης δεδομένων από χαμηλή σε υψηλή τάση για τουλάχιστον δύο bit διάρκειας.

Βήμα 10: ΒΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ UART

1. Το UART που εκπέμπει λαμβάνει παράλληλα δεδομένα από το δίαυλο δεδομένων:

Βήμα 11: Το UART που εκπέμπει εικόνα λαμβάνει παράλληλα δεδομένα από το δίαυλο δεδομένων

Το UART που εκπέμπει εικόνα λαμβάνει παράλληλα δεδομένα από το δίαυλο δεδομένων
Το UART που εκπέμπει εικόνα λαμβάνει παράλληλα δεδομένα από το δίαυλο δεδομένων

Βήμα 12: 2. το UART εκπομπής προσθέτει το bit εκκίνησης, το bit ισοτιμίας και το bit (ων) διακοπής στο πλαίσιο δεδομένων:

2. το UART εκπομπής προσθέτει το bit εκκίνησης, το bit ισοτιμίας και το bit (ων) διακοπής στο πλαίσιο δεδομένων
2. το UART εκπομπής προσθέτει το bit εκκίνησης, το bit ισοτιμίας και το bit (ων) διακοπής στο πλαίσιο δεδομένων

Βήμα 13: 3. Ολόκληρο το πακέτο αποστέλλεται σειριακά από το UART που εκπέμπει στο UART που λαμβάνει. το Receiving UART Δειγματοποιεί τη γραμμή δεδομένων με την προκαθορισμένη τιμή Baud:

3. Ολόκληρο το πακέτο αποστέλλεται σειριακά από το UART που εκπέμπει στο UART που λαμβάνει. το UART λήψης Δειγματοποιεί τη γραμμή δεδομένων στην προκαθορισμένη τιμή Baud
3. Ολόκληρο το πακέτο αποστέλλεται σειριακά από το UART που εκπέμπει στο UART που λαμβάνει. το UART λήψης Δειγματοποιεί τη γραμμή δεδομένων στην προκαθορισμένη τιμή Baud

Βήμα 14: 4. το UART λήψης απορρίπτει το bit έναρξης, το bit ισοτιμίας και το bit διακοπής από το πλαίσιο δεδομένων:

4. το Receiving UART απορρίπτει το bit έναρξης, το bit ισοτιμίας και το bit bit από το πλαίσιο δεδομένων
4. το Receiving UART απορρίπτει το bit έναρξης, το bit ισοτιμίας και το bit bit από το πλαίσιο δεδομένων

Βήμα 15: 5. το Receiving UART μετατρέπει τα σειριακά δεδομένα πίσω σε παράλληλα και τα μεταφέρει στο δίαυλο δεδομένων στο τέλος λήψης:

5. το Receiving UART μετατρέπει τα σειριακά δεδομένα πίσω σε παράλληλα και τα μεταφέρει στο δίαυλο δεδομένων στο τέλος λήψης
5. το Receiving UART μετατρέπει τα σειριακά δεδομένα πίσω σε παράλληλα και τα μεταφέρει στο δίαυλο δεδομένων στο τέλος λήψης

Βήμα 16: Πλεονεκτήματα και μειονεκτήματα των UARTS

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

ΠΛΕΟΝΕΚΤΗΜΑΤΑ

Χρησιμοποιεί μόνο δύο καλώδια Δεν απαιτείται σήμα ρολογιού Έχει bit ισοτιμίας για έλεγχο σφαλμάτων Η δομή του πακέτου δεδομένων μπορεί να αλλάξει αρκεί και οι δύο πλευρές να έχουν ρυθμιστεί γι 'αυτό Καλά τεκμηριωμένη και ευρέως χρησιμοποιούμενη μέθοδος ΜΕΙΟΝΕΚΤΗΜΑΤΑ

Το μέγεθος του πλαισίου δεδομένων περιορίζεται σε έως και 9 bits Δεν υποστηρίζει πολλαπλά συστήματα υποτελών ή πολλαπλών βασικών συστημάτων Τα ποσοστά baud κάθε UART πρέπει να είναι εντός 10% το ένα από το άλλο Συνέχεια στο τρίτο μέρος αυτής της σειράς, Βασικές αρχές Πρωτόκολλο επικοινωνίας I2C για να μάθετε για έναν άλλο τρόπο επικοινωνίας των ηλεκτρονικών συσκευών. Or αν δεν το έχετε κάνει ήδη, δείτε το πρώτο μέρος, Βασικά στοιχεία του πρωτοκόλλου επικοινωνίας SPI.

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

Χαιρετισμοί

M. Junaid

Συνιστάται: