Aus RN-Wissen.de
Wechseln zu: Navigation, Suche


K
Zeile 1: Zeile 1:
Der serielle UART , USART bzw. [[RS232]]
+
Als UART wird der Teil eines µC oder Computers bezeichnet, der ein Asychrone serielle Daten übertragung erlaubt.  
 
+
USART heißt '''"Universal Synchronous and Asynchronous serial Receiver and Transmitter"'''
+
  
 
UART heißt '''"Universal Asynchronous serial Receiver and Transmitter"'''
 
UART heißt '''"Universal Asynchronous serial Receiver and Transmitter"'''
  
Der UART ist eine Einrichtung, die es ermöglicht, seriell (= auf einer Leitung) Daten zu übertragen. Der UART ist praktisch wie die RS232-Schnittstelle, nur, dass sie mit TTL-Pegel (Siehe: TTL Pegel ) arbeitet. Dieses 'Problem' lässt sich sehr einfach mit einem MAX232 (o.ä.) von MAXIM beheben. Der MAX232 ist ein Pegelwandler, der die benötigten Pegelspannungen für dir RS232 auf einem Chip erzeugt, und die TTL Pegel des UART direkt umwandelt. Der MAX232 hat keine Potentialtrennung.
+
Die wichtigste Anwendung sind Schnittstellen wie [[RS232]] oder [[RS485]].
 +
Die Signale direkt am µC sind dabei (fast immer) noch CMOS- (bzw. TTL) Pegel. Direkt anschließen darf man also eine RS232 oder ähnliches in der Regel nicht. Für die verschiedenen Schnittstellen gibt es passende Treiber/Reciever ICs wie MAX232 für RS232, MAX485 für RS485, und viele andere.  Für kurze Strecken, z.B. auf einer Platine können die UART Signale direkt mit den Logikpegel benutzt werden. Man hat dann aber halte noch keine RS232 Schnittstelle.
 +
Der serielle UART benötigt 2 Daten-Leitungen und natürlich GND:
 +
* "TxD" (Tranceive Data = Daten Senden)
 +
* "RxD" (Receive Data = Daten Empfangen)
 +
 
 +
Die Übertragungsgeschwindigkeit wird in Baud angeben. Obwohl über die Register zahlreiche Baudraten einstellbar sind, so haben sich gewisse Baudraten als Standard etabliert. Bei Controlleranwendungen ist das sehr oft 9600 Baud. 
 +
Baudrate  Bitlänge
 +
300 Baud  3,33 ms
 +
2400 Baud  417 µs
 +
9600 Baud  104 µs
 +
38400 Baud 26,04 µs
 +
Für ein Datenbyte werden 1 Startbit, die 8 Datenbits und 1-2 Stopbits übertragen.
  
NICHT direkt an RS232 anschließen! Die arbeitet nämlich mit +12V (=HIGH = 0) und -12V (= LOW = 1).
+
Um die Standart Baudraten (besonders die höheren) genau zu erreichen, gibt es spezielle Quarze mit krummen Frequenzen wie: 3.6864 MHz, 7.3728 MHz, 11.0592 MHz.
 +
Damit eine Asyncrone Übertragung funktioniert, müssen Sender und Empfänger die gleiche (oder wenigstens fast) Geschwindigkeit benutzen.  Für die üblichen Datenpakete von 8-10 Bits kann eine Abweichung bis etwa 4% gerade noch gehen. Für eine sichere Übertragung sollte die Geschwindigkeit aber besser (2%) stimmen, damit man etwas Reserve für Laufzeitfehler und ähnliches hat. Die Anforderunge sind so, das es mit dem internen Takt der meisten µCs oft geht, aber nicht immer zuverlässig.
  
Den UART gibt es (bezogen auf den AVR von ATMEL) einmal als asynchron, d.h. ohne separate Taktleitung, und auch als synchron, hierzu wird allerdings zur Synchronisierung eine separate Taktleitung notwendig.
 
  
Der serielle UART benötigt 2 Daten-Leitungen:
+
Bei den AVR Controllern gibt es auch die Erweiterung,
 +
USART = '''"Universal Synchronous and Asynchronous serial Receiver and Transmitter"'''.
 +
Die UART ist hier ergänzt um Fähigkeit auch eine Syncrone Datenübertragung (z.B. SPI).
 +
Bei synchroner Übertragung (USART) kommt eine Taktleitung dazu und man ist entspechend nicht mehr auf einen genauen Takt beim Sender und Empfänger angewiesen.
  
* "TxD" (Tranceive Data = Daten Senden)
 
* "RxD" (Receive Data = Daten Empfangen)
 
 
Bei synchroner Übertragung (USART) kommt eben erwähnte Taktleitung dazu.
 
  
 
Einsatzzwecke:
 
Einsatzzwecke:
 
 
* Kommunikation mit dem PC
 
* Kommunikation mit dem PC
 
* Kommunikation unter Roboter-On-Board-(Sub)Systemen
 
* Kommunikation unter Roboter-On-Board-(Sub)Systemen
Zeile 25: Zeile 33:
  
 
Der UART wird gerne zur Daten-Ausgabe auf dem PC eingesetzt. Hierzu benötigt man am PC ein [[Terminalprogramm]]. Man kann so auch leicht im eigenen Code Fehler suchen, indem man sich an den Problemstellen Variablen über den UART ausgeben lässt. (Debuggen)
 
Der UART wird gerne zur Daten-Ausgabe auf dem PC eingesetzt. Hierzu benötigt man am PC ein [[Terminalprogramm]]. Man kann so auch leicht im eigenen Code Fehler suchen, indem man sich an den Problemstellen Variablen über den UART ausgeben lässt. (Debuggen)
 
Die Übertragungsgeschwindigkeit wird in Baud angeben. Obwohl über die Register zahlreiche Baudraten einstellbar sind, so haben sich gewisse Baudraten als Standard etabliert. Bei Controlleranwendungen ist das sehr oft 9600 Baud. 
 
 
Baudrate  Bitlänge
 
300 Baud  3,33 ms
 
2400 Baud  417 µs
 
9600 Baud  104 µs
 
38400 Baud 26,04 µs
 
  
 
''Artikel von tobimc''
 
''Artikel von tobimc''

Version vom 28. Dezember 2009, 20:19 Uhr

Als UART wird der Teil eines µC oder Computers bezeichnet, der ein Asychrone serielle Daten übertragung erlaubt.

UART heißt "Universal Asynchronous serial Receiver and Transmitter"

Die wichtigste Anwendung sind Schnittstellen wie RS232 oder RS485. Die Signale direkt am µC sind dabei (fast immer) noch CMOS- (bzw. TTL) Pegel. Direkt anschließen darf man also eine RS232 oder ähnliches in der Regel nicht. Für die verschiedenen Schnittstellen gibt es passende Treiber/Reciever ICs wie MAX232 für RS232, MAX485 für RS485, und viele andere. Für kurze Strecken, z.B. auf einer Platine können die UART Signale direkt mit den Logikpegel benutzt werden. Man hat dann aber halte noch keine RS232 Schnittstelle. Der serielle UART benötigt 2 Daten-Leitungen und natürlich GND:

  • "TxD" (Tranceive Data = Daten Senden)
  • "RxD" (Receive Data = Daten Empfangen)

Die Übertragungsgeschwindigkeit wird in Baud angeben. Obwohl über die Register zahlreiche Baudraten einstellbar sind, so haben sich gewisse Baudraten als Standard etabliert. Bei Controlleranwendungen ist das sehr oft 9600 Baud.

Baudrate   Bitlänge 
300 Baud   3,33 ms 
2400 Baud  417 µs 
9600 Baud  104 µs 
38400 Baud 26,04 µs 

Für ein Datenbyte werden 1 Startbit, die 8 Datenbits und 1-2 Stopbits übertragen.

Um die Standart Baudraten (besonders die höheren) genau zu erreichen, gibt es spezielle Quarze mit krummen Frequenzen wie: 3.6864 MHz, 7.3728 MHz, 11.0592 MHz. Damit eine Asyncrone Übertragung funktioniert, müssen Sender und Empfänger die gleiche (oder wenigstens fast) Geschwindigkeit benutzen. Für die üblichen Datenpakete von 8-10 Bits kann eine Abweichung bis etwa 4% gerade noch gehen. Für eine sichere Übertragung sollte die Geschwindigkeit aber besser (2%) stimmen, damit man etwas Reserve für Laufzeitfehler und ähnliches hat. Die Anforderunge sind so, das es mit dem internen Takt der meisten µCs oft geht, aber nicht immer zuverlässig.


Bei den AVR Controllern gibt es auch die Erweiterung, USART = "Universal Synchronous and Asynchronous serial Receiver and Transmitter". Die UART ist hier ergänzt um Fähigkeit auch eine Syncrone Datenübertragung (z.B. SPI). Bei synchroner Übertragung (USART) kommt eine Taktleitung dazu und man ist entspechend nicht mehr auf einen genauen Takt beim Sender und Empfänger angewiesen.


Einsatzzwecke:

  • Kommunikation mit dem PC
  • Kommunikation unter Roboter-On-Board-(Sub)Systemen
  • Datenübertragung

Der UART wird gerne zur Daten-Ausgabe auf dem PC eingesetzt. Hierzu benötigt man am PC ein Terminalprogramm. Man kann so auch leicht im eigenen Code Fehler suchen, indem man sich an den Problemstellen Variablen über den UART ausgeben lässt. (Debuggen)

Artikel von tobimc

Siehe auch

WebLinks