24. Lektion: UART

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche

Dieses Kapitel wird im Kurs nicht behandelt. Ich beabsichtige dazu einen Vortrag auf einem Elektronik-Stammtisch (1.Montag im Monat) zu halten.

Was ist ein UART?

UART steht für Universal Asynchronous Receiver Transmitter. Es handelt sich hierbei um die wohl älteste Schnittstelle in der Computerwelt. Sie wurde z.B. schon bei den Fernschreibern eingesetzt. Ursprünglich war sie für de Datenübertragung im Telefonnetz entwickelt worden.
Es gibt 2 Normen für diese serielle Schnittstelle:

  • V.24 von der ITU-T (Internatioale Fernmeldebehörde)
  • RS232 von der EIA (Electronic Industries Association)

inzwischen sind diese Normen identisch.

RS232

Uart timing.svg.png
Das Bild zeigt das Timing sehr anschaulich.

  • Der Ruhezustand ist 1
  • Die Übertragung eines Bytes wird mit einem Startbit (0) eingeleitet.
  • Dann folgen die Datenbits (5...9).
  • Anschließend kann ein optionales Paritybit gesendet werden.
  • Beendet wird die Übertragung eines Bytes mit dem Stopbit (1)
    • Das Stopbit kann 1, 1.5 oder 2 Bit lang sein.

Die Übertragungsgeschwindigkeit wird in Baud (Bits/Sekunde) angegeben.

Übliche Bitraten
Bitrate Bitdauer
50 bit/s 20,0 ms
110 bit/s 9,09 ms
150 bit/s 6,67 ms
300 bit/s 3,33 ms
1.200 bit/s 833 µs
2.400 bit/s 417 µs
4.800 bit/s 208 µs
9.600 bit/s 104 µs
19.200 bit/s 52,1 µs
38.400 bit/s 26,0 µs
57.600 bit/s 17,4 µs
115.200 bit/s 8,68 µs
230.400 bit/s 4,34 µs
460.800 bit/s 2,17 µs
921.600 bit/s 1,08 µs
2.000.000 bit/s 500 ns
3.000.000 bit/s 333 ns

Pegel

Die Spannungspegel sind wie folgt zugeordnet:

  • Logisch 0 - Space = +12V
  • Logisch 1 - Mark = -12V

Die Spannung kann 3...15V betragen.

In der Microcontrollertechnik wird der Aufwand der positiven und negativen Spannungen nicht realisiert. Hier wird die Betriebsspannung (5V, 3V3) als Logisch 1 und GND als Logisch 0 verwendet. Das wird als TTL bezeichnet, in Anlehung an die digitale TTL Famile, die mit 5 Volt arbeitet.

Synchron/Asynchron

Synchron

Bei einer synchronen Übertragung werden Daten und Takt parallel übertragen, so dass die Daten immer mit dem Takt synchron sind. Selbst bei langen Übertragungen werden die Daten immer zum richtigen Zeitpunkt abgetastet. Beispiele hier für sind SPI und I2C.

Asynchron

Bei der asynchronen Übertragung wird kein Takt übertragen. Deshalb muss das Timing von Sender und Empfänger sehr genau sein. Da sich ein Auseinanderlaufen des Timings bei Sender und Empfänger nicht vermeiden lässt, muss bei der asynchronen Übertragung immer wieder eine Synchronisierung zwischen Sender und Empfänger stattfinden. Dazu dient das Startbit. Wenn es vom Empfänger dedektiert wird beginnt sein Timing bei Null. Die Übereinstimmung vom Sender- und Empfängertiming muss dann nur noch << 8% sein.

UART im Microcontroller

In Microcontrollern sind häufig USART's implementiert. Das sind UART's die auch synchrone Übertragungen ermöglichen.


Links: