Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

K
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Als UART wird der Teil eines µC oder Computers bezeichnet, der ein asychrone serielle Datenübertragung erlaubt.  
+
Als UART wird der Teil eines µC oder Computers bezeichnet, der eine asynchrone serielle Datenübertragung erlaubt.  
  
 
UART heißt '''"Universal Asynchronous serial Receiver and Transmitter"'''
 
UART heißt '''"Universal Asynchronous serial Receiver and Transmitter"'''
  
 
Die wichtigste Anwendung sind Schnittstellen wie [[RS232]] oder [[RS485]].
 
Die wichtigste Anwendung sind Schnittstellen wie [[RS232]] oder [[RS485]].
Die Signale direkt am µC sind dabei (fast immer) noch CMOS- (bzw. TTL) Pegel. Direkt angeschlossen werden darf 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 halt noch keine RS232 Schnittstelle.
+
Die Signale direkt am µC sind dabei (fast immer) noch CMOS- (bzw. TTL) Pegel. Direkt angeschlossen werden darf 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 Logikpegel benutzt werden. Man hat dann aber halt keine RS232 Schnittstelle, sondern eine serielle Verbindung mit CMOS Pegeln.  
Der serielle UART benötigt 2 Daten-Leitungen und natürlich GND:  
+
Die bidirektionale UART benötigt 2 Daten-Leitungen und natürlich GND:  
 
* "TxD" (Tranceive Data = Daten Senden)
 
* "TxD" (Tranceive Data = Daten Senden)
 
* "RxD" (Receive Data = Daten Empfangen)
 
* "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.   
+
Die Übertragungsgeschwindigkeit wird in Baud angeben. Obwohl über die Register zahlreiche Baudraten einstellbar sind, so haben sich gewisse Baudraten als Standard etabliert. Bei RS232 für Controlleranwendungen ist das sehr oft 9600 Baud.   
 
  Baudrate  Bitlänge  
 
  Baudrate  Bitlänge  
 
  300 Baud  3,33 ms  
 
  300 Baud  3,33 ms  
Zeile 15: Zeile 15:
 
  9600 Baud  104 µs  
 
  9600 Baud  104 µs  
 
  38400 Baud 26,04 µs  
 
  38400 Baud 26,04 µs  
Für ein Datenbyte werden 1 Startbit, die 8 Datenbits und 1-2 Stopbits übertragen.
+
Für ein Datenbyte werden 1 Startbit, die 8 Datenbits und 1-2 Stopbits übertragen. Das 2. Stopbit ist je nach Ausführung der UART nötig, wenn der Sender etwas schneller ist als der Empfänger. Mit einem Stopbit entsprechen 9600 Baud gerade 960 Bytes pro Sekunde, weil 10 Bits für 1 Byte an Daten übertragen werden.  
  
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 etwas Reserve für Laufzeitfehler und ähnliches da ist. Die Anforderunge sind so, dass es mit dem internen Takt der meisten µCs oft geht, aber nicht immer zuverlässig. 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 asynchrone Übertragung funktioniert, müssen Sender und Empfänger die gleiche (oder wenigstens fast) Geschwindigkeit benutzen.  Für die üblichen Datenpakete von 10 (Roh-)Bits kann eine Abweichung bis etwa 4% gerade noch gehen. Für eine sichere Übertragung sollte die Geschwindigkeit aber besser (2%) stimmen, damit etwas Reserve für Laufzeitfehler und ähnliches da ist. Die Anforderungen sind so, dass es mit dem internen Takt der meisten µCs oft geht, aber nicht immer zuverlässig. Um die RS232-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.
 
+
 
+
Bei vielen der AVR Controllern gibt es die Erweiterung,
+
 
+
USART = '''"Universal Synchronous and Asynchronous serial Receiver and Transmitter"'''.
+
Die UART ist hier ergänzt um die Fähigkeit einer synchronen Datenübertragung (z.B. SPI Master).
+
Bei synchroner Übertragung kommt eine Taktleitung (XCK) dazu und man ist entspechend nicht mehr auf einen genauen Takt beim Sender und Empfänger angewiesen.
+
  
 
Einsatzzwecke:
 
Einsatzzwecke:
 
* Kommunikation mit dem PC
 
* Kommunikation mit dem PC
 
* Kommunikation unter Roboter-On-Board-(Sub)Systemen
 
* Kommunikation unter Roboter-On-Board-(Sub)Systemen
* Datenübertragung
+
* Datenübertragung per IR
 +
* Bootloader
 +
 
 +
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).
 +
 
 +
Besonders für niedrige Baudraten kann die UART beim µC auch in Software realisiert werden.
 +
 
 +
 
 +
Bei vielen der AVR Controllern gibt es die Erweiterung, '''USART''' = "Universal Synchronous and Asynchronous serial Receiver and Transmitter". Bei den PIC Controllern wird die ähnliche  Erweiterung EUSART genannt.
 +
 
 +
Die UART ist hier ergänzt um die Fähigkeit einer synchronen Datenübertragung.
 +
Vor allem als [[SPI]]-Master ist die USART gut geeignet. Bei synchroner Übertragung kommt eine Taktleitung (XCK) dazu und man ist entsprechend nicht mehr auf einen genauen Takt beim Sender und Empfänger angewiesen.
 +
 
  
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''
 
''Artikel von tobimc''
  
 
==Siehe auch==
 
==Siehe auch==
* [[Terminalprogramm]]
 
 
* [[Terminals]]
 
* [[Terminals]]
 
* [[RS232]]
 
* [[RS232]]

Aktuelle Version vom 1. August 2011, 21:00 Uhr

Als UART wird der Teil eines µC oder Computers bezeichnet, der eine asynchrone 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 angeschlossen werden darf 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 Logikpegel benutzt werden. Man hat dann aber halt keine RS232 Schnittstelle, sondern eine serielle Verbindung mit CMOS Pegeln. Die bidirektionale 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 RS232 für 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. Das 2. Stopbit ist je nach Ausführung der UART nötig, wenn der Sender etwas schneller ist als der Empfänger. Mit einem Stopbit entsprechen 9600 Baud gerade 960 Bytes pro Sekunde, weil 10 Bits für 1 Byte an Daten übertragen werden.

Damit eine asynchrone Übertragung funktioniert, müssen Sender und Empfänger die gleiche (oder wenigstens fast) Geschwindigkeit benutzen. Für die üblichen Datenpakete von 10 (Roh-)Bits kann eine Abweichung bis etwa 4% gerade noch gehen. Für eine sichere Übertragung sollte die Geschwindigkeit aber besser (2%) stimmen, damit etwas Reserve für Laufzeitfehler und ähnliches da ist. Die Anforderungen sind so, dass es mit dem internen Takt der meisten µCs oft geht, aber nicht immer zuverlässig. Um die RS232-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.

Einsatzzwecke:

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

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).

Besonders für niedrige Baudraten kann die UART beim µC auch in Software realisiert werden.


Bei vielen der AVR Controllern gibt es die Erweiterung, USART = "Universal Synchronous and Asynchronous serial Receiver and Transmitter". Bei den PIC Controllern wird die ähnliche Erweiterung EUSART genannt.

Die UART ist hier ergänzt um die Fähigkeit einer synchronen Datenübertragung. Vor allem als SPI-Master ist die USART gut geeignet. Bei synchroner Übertragung kommt eine Taktleitung (XCK) dazu und man ist entsprechend nicht mehr auf einen genauen Takt beim Sender und Empfänger angewiesen.


Artikel von tobimc

Siehe auch

WebLinks


LiFePO4 Speicher Test