UART - Ο καθολικός ασύγχρονος δέκτης-μεταδότης
Η UART είναι μια σειριακή διεπαφή πλήρους διπλής όψης. Επιτρέπει σε δύο συσκευές να επικοινωνούν μέσω τριών μόνο καλωδίων και υποστηρίζει μεταβλητές ταχύτητες.
Χαρακτηριστικά UART
Όπως υποδηλώνει και το όνομά του, το UART είναι μια ασύγχρονη διασύνδεση. Σε αντίθεση με το SPI ή το I2C, δεν υπάρχει ανάγκη για ειδικό ρολόι. Οι δύο συσκευές πρέπει απλώς να χρησιμοποιούν την ίδια ταχύτητα μετάδοσης. Η ταχύτητα μετάδοσης είναι μεταβλητή και υπαγορεύει πόσα bits μπορεί να στείλει ο δίαυλος κάθε δευτερόλεπτο (bits/s).
Η μορφή των δεδομένων είναι επίσης παραμετροποιήσιμη. Ως εκ τούτου, ένας άλλος τρόπος μέτρησης της ταχύτητας μετάδοσης είναι το baudrate (bauds/s), όπου ένα baud αντιστοιχεί σε ένα σύμβολο ή χαρακτήρα. Έτσι, εάν ένα baud αποτελείται από 8 bits, αυτό σημαίνει ότι ένα bitrate 115200 bits/s ισούται με 14400 bauds/s.
Το UART χρησιμοποιεί δύο καλώδια δεδομένων, οπότε στις περισσότερες περιπτώσεις η επικοινωνία είναι full duplex (και προς τις δύο κατευθύνσεις ταυτόχρονα). Επιπλέον, και οι δύο συσκευές UART χρειάζονται ένα καλώδιο για να μοιράζονται την τάση αναφοράς GROUND. Συνολικά αυτό σημαίνει ότι χρειάζεστε μόνο τρία καλώδια.
Καλωδίωση
Μια συσκευή UART χρειάζεται τρεις ακίδες για να επικοινωνήσει. RX για ανάγνωση, TX για τη μετάδοση και GND για αναφορά ΓΗ.
Συνδέστε τους ακροδέκτες RX και των δύο συσκευών στους ακροδέκτες TX της άλλης συσκευής. Συνδέστε και τους δύο ακροδέκτες GND και ολοκληρώστε τη ρύθμιση του υλικού.
Θεωρητικά θα μπορούσατε ακόμη και να συνδέσετε τους ακροδέκτες RX πολλών συσκευών στον ακροδέκτη TX μιας συσκευής. Με αυτόν τον τρόπο, αν ξέρετε τι κάνετε, μπορείτε να αφήσετε μια συσκευή να μεταδώσει τα δεδομένα σε πολλές συσκευές. Αλλά η RX κάθε συσκευής μπορεί να συνδεθεί μόνο σε ένα ακροδέκτη TX κάθε φορά.
Επικοινωνία UART
Πρέπει να ρυθμίσετε και τις δύο συσκευές στην ίδια ταχύτητα baudrate. Εάν διαφέρει περισσότερο από 3%, τα δεδομένα θα καταστραφούν. Οι συνήθεις ρυθμοί baudrate είναι 4800, 9600, 19200 και 115200 μεταξύ άλλων. Επιπλέον, και οι δύο συσκευές πρέπει να συμφωνήσουν στην ίδια μορφή δεδομένων και στο ίδιο bit ισοτιμίας. Το bit ισοτιμίας είναι ένα μέσο ελέγχου των μεταδιδόμενων δεδομένων για σφάλματα.
Κάθε φορά που μια συσκευή θέλει να μεταδώσει δεδομένα ξεκινάει με την αποστολή του bit έναρξης.
Η κατάσταση αδράνειας του καλωδίου δεδομένων είναι HIGH, οπότε ο πομπός το τραβά LOW για έναν κύκλο ρολογιού. Στη συνέχεια τραβά το καλώδιο LOW για ένα 0 και HIGH για ένα 1 στην ακριβή συχνότητα του baudrate. Μετά από κάθε πλαίσιο δεδομένων στέλνει ένα bit ισοτιμίας εάν είναι επιθυμητός ο έλεγχος σφάλματος. Στη συνέχεια θέτει το σύρμα ΥΨΗΛΟ για να σηματοδοτήσει το bit stop.
Πλεονεκτήματα, μειονεκτήματα και εφαρμογές
Πλεονεκτήματα
Το πιο εντυπωσιακό πλεονέκτημα είναι η απλότητα του UART. Τόσο το λογισμικό όσο και το υλικό ρυθμίζονται εξαιρετικά εύκολα. Η μεταβλητή ταχύτητα σημαίνει ότι μπορείτε να διατηρήσετε την κατανάλωση ενέργειας σε πολύ χαμηλά επίπεδα. Και φυσικά η διασύνδεση επιτρέπει την επικοινωνία πλήρους διπλής όψης.
Εκτός αυτού, τα δεδομένα μπορούν να ταξιδέψουν σε μεγάλες αποστάσεις έως και 1000 μέτρα.
Μειονεκτήματα
Η διεπαφή περιορίζεται βασικά σε δύο συσκευές. Επίσης, δεν υπάρχει ρολόι για τον έλεγχο και την αλλαγή της ταχύτητας μετάδοσης κατά τη διάρκεια της μετάδοσης. Στις περισσότερες περιπτώσεις είναι πιο αργή από ό,τι για παράδειγμα το SPI ή το I2C.
Εφαρμογές UART
Το UART είναι πολύ ικανό να στέλνει μικρότερες ποσότητες δεδομένων. Χρησιμοποιείται από πολλούς δέκτες GPS, μονάδες Bluetooth, συστήματα ασύρματης επικοινωνίας. ή εφαρμογές που βασίζονται σε RFID.
Μπορείτε επίσης να χρησιμοποιήσετε τη διεπαφή για να συνδέσετε το Raspberry Pi με το Raspberry Pi Pico, όπως δείχνουμε σε αυτό το βίντεο.
Έχει επίσης καλή απόδοση σε εφαρμογές μεγάλης εμβέλειας όπου οι SPI και I2C δεν αποτελούν επιλογή.
[...] UART - Ο καθολικός ασύγχρονος δέκτης-μεταδότης [...]
[...] UART - Ο καθολικός ασύγχρονος δέκτης-μεταδότης [...]