Meistens kommen RS-232 und UART in seriellen Kommunikationstheorien zusammen. Sind sie beide gleich? Aufgrund meiner Messungen kam ich zu dem Schluss, dass UART eine Hardwareform des RS-232-Protokolls ist. Hab ich recht?
Meistens kommen RS-232 und UART in seriellen Kommunikationstheorien zusammen. Sind sie beide gleich? Aufgrund meiner Messungen kam ich zu dem Schluss, dass UART eine Hardwareform des RS-232-Protokolls ist. Hab ich recht?
Antworten:
Nein, UART und RS-232 sind nicht dasselbe.
UART ist für das Senden und Empfangen einer Bitfolge verantwortlich. Am Ausgang eines UART werden diese Bits normalerweise durch Spannungen mit logischem Pegel dargestellt. Diese Bits können RS-232, RS-422, RS-485 oder möglicherweise eine proprietäre Spezifikation sein.
RS-232 spezifiziert Spannungspegel . Beachten Sie, dass einige dieser Spannungspegel negativ sind und auch ± 15 V erreichen können. Ein größerer Spannungshub erhöht die Störfestigkeit von RS-232 (wenn auch nur in begrenztem Umfang).
Ein Mikrocontroller-UART kann solche Spannungspegel nicht selbst erzeugen. Dies geschieht mit Hilfe einer zusätzlichen Komponente: dem RS-232-Leitungstreiber. Ein klassisches Beispiel für einen RS-232-Leitungstreiber ist MAX232 . Wenn Sie das Datenblatt durchgehen, werden Sie feststellen, dass dieser IC eine Ladungspumpe hat, die ± 10V von + 5V erzeugt.
( Quelle )
UART (oder USART) - Universeller (synchroner) asynchroner Empfänger / Sender
Dies ist im Wesentlichen eine serielle Kommunikationsschnittstelle. Der "universelle" Teil bedeutet, dass er so konfiguriert werden kann, dass er viele verschiedene spezifische serielle Protokolle unterstützt. Der Begriff ist generisch und stellt keinen bestimmten Standard dar. Zumindest bedeutet dies, dass es eine TX
und eine RX
Leitung hat, die einen seriellen Datenstrom sendet und einen seriellen Datenstrom empfängt.
RS-232 - Ein Standard, der die Signale zwischen zwei Geräten definiert und die Signalnamen, deren Zweck, Spannungspegel, Anschlüsse und Pinbelegung definiert.
Dies ist ein spezifischer Schnittstellenstandard, der die Interoperabilität der Geräte ermöglicht. Während zwei Hardware-Teile UARTs haben können, wissen Sie nicht, dass sie ohne Beschädigung verbunden werden oder ordnungsgemäß kommunizieren, es sei denn, Sie wissen, dass sie die gleichen Pinbelegungs- und Spannungsstandards haben oder einen Konverter oder ein speziell verdrahtetes Kabel für die Verbindung von enthalten diese beiden spezifischen Geräte. Um die Notwendigkeit spezieller Konverter oder Kabel zu vermeiden, können sich die Hersteller für den RS-232-Standard entscheiden. Sie wissen also, dass ein Standard-RS-232-Kabel die beiden verbindet.
Weder der UART- noch der RS-232-Standard definieren jedoch, was auf den Leitungen TX
und gesendet RX
wird. Wenn Menschen RS-232 verwenden, verwenden sie im Allgemeinen eine einfache 8-Bit-NRZ-Codierung mit einem Startbit und einem Stoppbit. Die meisten Geräte, die heutzutage hergestellt werden, verwenden diese Kodierung, aber es gibt keine Notwendigkeit, dies zu tun. Sie können ältere Geräte finden, die Paritätsbits enthalten oder 7 oder 9 Bits verwenden. Der UART kann so konfiguriert werden, dass er diese verschiedenen Protokolle auf seinen TX
und RX
Leitungen unterstützt.
UARTs sind normalerweise nicht direkt mit RS-232 verbunden. Sie müssen den Ausgang des UART auf den für RS-232 erforderlichen +/- 12-V-Standard konvertieren. Eine vollständige RS-232-Schnittstelle umfasst in der Regel sowohl einen UART- als auch einen RS-232-Pegelwandler. Darüber hinaus enthält der RS-232-Standard die Definition mehrerer anderer Signalisierungsstifte neben TX
und RX
, die Sie je nach dem Gerät, an das Sie anschließen müssen, möglicherweise verwenden müssen. Diese müssen ebenfalls pegelkonvertiert werden, und Ihr UART unterstützt diese Signale möglicherweise oder auch nicht. Wenn dies nicht der Fall ist, müssen Sie sie direkt mit Ihrer Software / Firmware steuern.
Ein UART kann Ihnen zwar bei der Implementierung einer RS-232-Schnittstelle helfen, ist jedoch selbst keine RS-232-Schnittstelle.
Der UART konvertiert parallele Daten von PC-Busleitungen in serielle Daten zur Übertragung über Leitungstreiber an RS-232-, RS-422- und RS-485- Geräte. Der Clock-Pin des UART-Chips wird von einer programmierbaren Clock-Quelle gespeist. Die Taktrate wird durch die Konfiguration der Baudrate bestimmt, die das Gerät verwenden wird. Die Taktrate beträgt das 16-fache der Baudrate. Das Platzieren eines Oszilloskop-Tastkopfs auf dem Taktstift eines UART-Chips und das Bestimmen der Frequenz sowie das Teilen durch 16 ist eine Möglichkeit, eine unbekannte Baudrate zu bestimmen.