UART: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μΧωρίς σύνοψη επεξεργασίας
Γραμμή 3:
 
==Μεταφορά σειριακών δεδομένων==
Ένα UART παίρνει bytes δεδομένων και τα στέλνει σε σειριακή μορφή ως bits. <ref name=Osborne80>Adam Osborne, ''An Introduction to Microcomputers Volume 1: Basic Concepts'', Osborne-McGraw Hill Berkeley California USA, 1980 ISBN 0-931988-34-9 pp. 116-126</ref> Στον προορισμό ένα δεύτερο UART συλλέγει τα bits και δημιουργεί τα bytes δεδομένων που αποστάλθηκαν. Κάθε UART περιέχει ένα καταχωρητή ολίσθησης (shift register) ο οποίος χρησιμοποιείται για την μετατροπή της σειριακής σε παράλληλη μορφή (εγγραφή/διάβασμα των δεδομένων μέσα ένα καταχωρητή από λήψη ή για αποστολή - τα δεδομένα που λαμβάνονται/στέλνονται σε ένα UART θα πρέπει να αποθηκευτούν μέσα σε ένα καταχωρητή του συστήματος με παράλληλο τρόπο). Στην επικοινωνία με UART υπάρχουν εξωτερικά κυκλώματα που μετατρέπουν τα επίπεδα των volt (λογικά επίπεδα) του σήματος του καλωδίου σε αυτό που χρησιμοποιεί το UART. Για παράδειγμα ένα τέτοιο κύκλωμα είναι το MAX 3232 ή Maxim τσίπ το οποίο προσαρμόζει το σήμα σε επίπεδα -5.5V (λογικό 0) και +5.5V (λογικό 1) από τα αρχικά σήματα του μικροελεγκτή (ο μικροελεγκτής TM4C123GH6PM της Texas Instruments δίνει ρεύματα 0 (λογικό 0) και +3.3V (λογικό 1)) <ref name="valvano2013_p319">{{cite book|last=Jonathan|first=Valvano|title=Introduction to ARM Cortex-M Microcontrollers - Embedded Systems|year=2013|isbn=978-1477508992|pages=319}}</ref>. Τα σήματα των καλωδίων μπορούν να έχουν διαφορετικές μορφές. Η προτυποποίηση των επιπέδων volt στα καλώδια RS-232, RS-422 και RS-485 <ref name=rs232rs422rs485> {{cite web|title=Understanding Serial Communications Configuring baud rates and data format for RS232 RS422 and multi-drop RS485 protocols|url=http://www.mosaic-industries.com/embedded-systems/instrumentation/rs232-serial-rs485-protocol-uart-usart/understanding-serial-communications|publisher=Documents, tutorials, how-to guides, product manuals, specifications -- programming single board computers, instrument controllers and microcontrollers for measurement, control, SCADA, instrumentation and industrial automationMosaic Documentation Web|accessdate=9 Μαΐου 2014}}</ref> ορίζεται από τον οργανισμό EIA (Electronic Industries Alliance). Η επικοινωνία μέσω του UART μπορεί να είναι απλή (simplex: προς μια κατεύθυνση μόνο - χωρίς να υπάρχει πρόβλεψη ο δέκτης να στείλει πίσω κάποιο σήμα), (πλήρης) αμφίδρομη ταυτόχρονη επικοινωνία (full duplex: και οι δύο συσκευές στέλνουν και δέχονται σήματα την ίδια στιγμή), αμφίδρομη εναλλασσόμενη επικοινωνία (half duplex: κάθε συσκευή παίρνει σειρά στο να αποστείλει ή να λάβει δεδομένα - δεν γίνεται αποστολή-λήψη την ίδια στιγμή). <ref>{{cite web|title=Quick Reference for RS485, RS422, RS232 AND RS423|url=http://www.rs485.com/rs485spec.html|publisher=RESmith Inc.|accessdate=9 Μαΐου 2014}}</ref>
<ref name=rs232rs422rs485>{{cite web|title=Understanding Serial Communications Configuring baud rates and data format for RS232 RS422 and multi-drop RS485 protocols|url=http://www.mosaic-industries.com/embedded-systems/instrumentation/rs232-serial-rs485-protocol-uart-usart/understanding-serial-communications|publisher=Documents, tutorials, how-to guides, product manuals, specifications -- programming single board computers, instrument controllers and microcontrollers for measurement, control, SCADA, instrumentation and industrial automationMosaic Documentation Web|accessdate=9 Μαΐου 2014}}</ref> ορίζεται από τον οργανισμό EIA (Electronic Industries Alliance). Η επικοινωνία μέσω του UART μπορεί να είναι απλή (simplex: προς μια κατεύθυνση μόνο - χωρίς να υπάρχει πρόβλεψη ο δέκτης να στείλει πίσω κάποιο σήμα), (πλήρης) αμφίδρομη ταυτόχρονη επικοινωνία (full duplex: και οι δύο συσκευές στέλνουν και δέχονται σήματα την ίδια στιγμή), αμφίδρομη εναλλασσόμενη επικοινωνία (half duplex: κάθε συσκευή παίρνει σειρά στο να αποστείλει ή να λάβει δεδομένα - δεν γίνεται αποστολή-λήψη την ίδια στιγμή). <ref>{{cite web|title=Quick Reference for RS485, RS422, RS232 AND RS423|url=http://www.rs485.com/rs485spec.html|publisher=RESmith Inc.|accessdate=9 Μαΐου 2014}}</ref>
 
===Πλαίσια χαρακτήρων===
 
{| class="wikitable"
Κατά την επικοινωνία με UART στέλνονται [[πλαίσιο δεδομένων|πλαίσια δεδομένων]] (data frames) όπου το καθένα περιέχει ένα χαρακτήρα. Το μέγεθος του πλαισίου χαρακτήρων μπορεί να είναι 10bits (χωρίς bit έλεγχο parity) όπου υπάρχει ένα start bit και ένα stop bit στην αρχή και το τέλος και είναι διαθέσιμα 8 bits για την κωδικοποίηση του χαρακτήρα που στέλνουμε-παίρνουμε.
|+ style="font-weight:normal" | Το δεξί data bit (Least Significant Bit ή LSB) πάντα αποστέλλεται πρώτο. Εάν υπάρχει bit ελέγχου parity, τότε αυτό μπαίνει μετά τα bits των δεδομένων και πριν το τελικό stop bit(s).
 
{| class="wikitable" style="margin: auto;"
|-
! Αριθμός bit
Γραμμή 40 ⟶ 41 :
|}
 
Κατά την κατάσταση ετοιμότητας (idle) υπάρχει κατάσταση δεδομένων 1 (high-voltage). Αυτό η τεχνική υπήρχε από την εποχή της τηλεγραφίας όπου η γραμμή κρατιόταν με ρεύμα (high voltage) ώστε ο αποστολέας να μην πάθει βλάβη. Κάθε χαρακτήρας αποστέλνεται αφού πρώτα σταλθεί ένα low voltage 0 (start bit). Το start bit λαμβάνεται πρώτο από το δέκτη και καταλαβαίνει ότι ξεκινά/ακολουθεί μετάδοση bits. Στην συνέχεια στέλνονται με σταθερό χρονικό ρυθμό τα 8 bits (μπορεί να είναι και 5 ή 6 ή 7 bits ανάλογα με την παραμετροποίηση που ακολουθείται <ref>{{cite web|title=Serial I/O (UART)|url=http://esd.et.ntust.edu.tw/downloads/2008_Embedded_Programming/2008_arm_lecture_data/lect7_2008_05_02/10-uart.pdf|publisher=Samsung Electronics}}</ref> ) που κωδικοποιούν τον χαρακτήρα που στέλνουμε. Στο τέλος αποστέλνεται το stop bit και η αποστολή του μεμονωμένου χαρακτήρα ολοκληρώνεται. <ref name="valvano2013_p318">{{cite book|last=Jonathan|first=Valvano|title=Introduction to ARM Cortex-M Microcontrollers - Embedded Systems|year=2013|isbn=978-1477508992|pages=318}}</ref> <ref> {{cite web|last=Frank|first=Durda|title=Serial and UART Tutorial|url=https://www.freebsd.org/doc/en/articles/serial-uart/|publisher=www.freebsd.org}} </ref> Στο παραπάνω διάγραμμα έχουμε [[πλαίσιο δεδομένων]] (data frame) μεγέθους 10 bits. Το αριστερό data bit (Least Significant Bit ή LSB) πάντα αποστέλλεται πρώτο. Εάν υπάρχει bit ελέγχου parity, τότε αυτό μπαίνει μετά τα bits των δεδομένων και πριν το τελικό stop bit(s).
 
==Εξωτερικοί σύνδεσμοι==
Ανακτήθηκε από "https://el.wikipedia.org/wiki/UART"