Nullmodem - Null modem

Ein Nullmodemadapter

Das Nullmodem ist eine Kommunikationsmethode zum direkten Verbinden von zwei DTEs ( Computer , Terminal , Drucker usw.) über ein serielles RS-232- Kabel . Der Name stammt von der historischen Verwendung von RS-232- Kabeln zum Verbinden von zwei Fernschreibergeräten oder zwei Modems, um miteinander zu kommunizieren. Die Nullmodemkommunikation bezieht sich auf die Verwendung eines überkreuzten RS-232-Kabels, um die Ferndrucker ohne Modems direkt miteinander zu verbinden. Es wird auch verwendet, um einen Computer seriell an einen Drucker anzuschließen, da beide DTE sind und als Druckerkabel bezeichnet werden .

Der RS-232-Standard ist hinsichtlich der Definitionen der beiden Enden der Kommunikationsverbindung asymmetrisch, vorausgesetzt, ein Ende ist ein DTE und das andere ein DCE , z . B. ein Modem . Bei einer Nullmodemverbindung sind die Sende- und Empfangsleitungen vernetzt. Je nach Verwendungszweck werden manchmal auch eine oder mehrere Handshake- Leitungen vernetzt. Es werden mehrere Verkabelungslayouts verwendet, da die Nullmodemverbindung nicht vom RS-232-Standard abgedeckt wird.

Ursprünge

Ursprünglich wurde der RS-232-Standard für Fernschreiber entwickelt und verwendet , die über Telefonleitungen miteinander kommunizieren konnten. Jeder Fernschreiber würde über eine RS-232-Verbindung physisch mit seinem Modem verbunden sein, und die Modems könnten sich gegenseitig anrufen, um eine Fernverbindung zwischen den Fernschreibern herzustellen. Wenn ein Benutzer zwei Ferndrucker direkt ohne Modems (Nullmodem) verbinden möchte, würde er die Verbindungen vernetzen. Der Begriff Nullmodem kann sich auch auf das Kabel oder den Adapter selbst sowie auf die Verbindungsmethode beziehen. Nullmodemkabel waren eine beliebte Methode zur Datenübertragung zwischen den frühen PCs von den 1980er bis zu den frühen 1990er Jahren.

Kabel und Adapter

Ein Nullmodemkabel

Ein Nullmodemkabel ist ein serielles RS-232-Kabel, bei dem die Sende- und Empfangsleitungen vernetzt sind. In einigen Kabeln sind auch Handshake-Leitungen vernetzt. In vielen Situationen ein Straight-Through - seriellen Kabel zusammen mit einem Null - Modem verwendet Adapter . Der Adapter enthält die notwendigen Vernetzungen zwischen den Signalen.

Schaltplan

Schaltplan des DB-25-Nullmodems
DE-9 Nullmodem-Schaltplan

Im Folgenden finden Sie einen sehr allgemeinen Schaltplan für ein Nullmodemkabel zum Verbinden von zwei DTEs (z. B. zwei PCs), die ein vollständiges Handshake ermöglichen. Dies funktioniert mit Software, die auf der ordnungsgemäßen Bestätigung des DCD-Signals ( Data Carrier Detect ) beruht :

Eine Seite
Signalrichtung
Andere Seite
Signal und Abkürzungen DB-25 Pin DE-9 Pin DE-9 Pin DB-25 Pin Signal
Rahmenboden FG 1 N / A Verbreitet N / A 1 FG
Übertragene Daten TxD, TD 2 3 2 3 RxD
Empfangene Daten RxD, RD 3 2 3 2 TxD
Anfrage zum Senden RTS 4 7 8 5 CTS
Zum Senden löschen CTS 5 8 7 4 RTS
Signalmasse SG 7 5 Verbreitet 5 7 SG
Datensatz bereit DSR 6 6 4 20 DTR
Datenträgererkennung DCD, CD 8 1
Datenterminal bereit DTR 20 4 1 8 DCD
6 6 DSR

Anwendungen

Die ursprüngliche Anwendung eines Nullmodems bestand darin, zwei Fernschreiberterminals direkt ohne Verwendung von Modems zu verbinden. Da der RS-232-Standard von anderen Gerätetypen übernommen wurde, mussten Entwickler entscheiden, ob ihre Geräte über DTE- oder DCE-ähnliche Schnittstellen verfügen. Wenn eine Anwendung erforderte, dass zwei DTEs (oder zwei DCEs) miteinander kommunizieren mussten, war ein Nullmodem erforderlich.

Nullmodems wurden üblicherweise für die Dateiübertragung zwischen Computern oder den Fernbetrieb verwendet. Unter dem Microsoft Windows- Betriebssystem kann die direkte Kabelverbindung über eine Nullmodemverbindung verwendet werden. Die späteren Versionen von MS-DOS wurden mit dem InterLnk- Programm ausgeliefert. Beide Softwareteile ermöglichen die Zuordnung einer Festplatte auf einem Computer als Netzwerklaufwerk auf dem anderen Computer. Hierfür ist keine Ethernet-Hardware (z. B. eine Netzwerkkarte oder ein Modem) erforderlich. Auf dem Commodore Amiga- System war eine Nullmodemverbindung eine übliche Methode , um Multiplayer-Spiele zwischen zwei Computern zu spielen.

Die Popularität und Verfügbarkeit schnellerer Informationsaustauschsysteme wie Ethernet machte die Verwendung von Nullmodemkabeln weniger verbreitet. In modernen Systemen kann ein solches Kabel für die Entwicklung des Kernelmodus immer noch nützlich sein , da es dem Benutzer ermöglicht, einen Kernel mit einem Minimum an Gerätetreibern und Code aus der Ferne zu debuggen (ein serieller Treiber besteht hauptsächlich aus zwei FIFO- Puffern und einer Interrupt-Serviceroutine ). . KGDB für Linux , ddb für BSD und WinDbg oder KD für Windows können beispielsweise zum Remote-Debuggen von Systemen verwendet werden. Dies kann auch eine serielle Konsole bereitstellen, über die der In-Kernel-Debugger bei Kernel-Panik abgelegt werden kann. In diesem Fall können der lokale Monitor und die Tastatur möglicherweise nicht mehr verwendet werden (die GUI reserviert diese Ressourcen und legt sie im Debugger ab im Falle einer Panik werden sie nicht befreit).

Ein weiterer Kontext, in dem diese Kabel nützlich sein können, ist die Verwaltung von "kopflosen" Geräten, die eine serielle Administrationskonsole bereitstellen (dh verwaltete Switches, Rackmount-Servereinheiten und verschiedene eingebettete Systeme). Ein Beispiel für eingebettete Systeme, die häufig Nullmodems für die Fernüberwachung verwenden, sind RTUs , Gerätesteuerungen und Smart-Sensing-Geräte. Diese Geräte befinden sich in der Regel in unmittelbarer Nähe und eignen sich für die kurzfristige serielle Kommunikation über Protokolle wie DNP3 , Modbus und andere IEC-Varianten. Die Strom-, Öl-, Gas- und Wasserversorger reagieren nur langsam auf neuere Netzwerktechnologien, was auf große Investitionen in Investitionsgüter mit einer in Jahrzehnten gemessenen Nutzungsdauer zurückzuführen sein kann. Serielle Schnittstellen und Nullmodemkabel werden in diesen Branchen immer noch häufig verwendet, wobei Ethernet nur langsam zu einer weit verbreiteten Option wird.

Arten von Nullmodems

Das Verbinden von zwei DTE-Geräten erfordert ein Nullmodem, das als DCE zwischen den Geräten fungiert, indem die entsprechenden Signale (TD-RD, DTR-DSR und RTS-CTS) ausgetauscht werden. Dies kann mit einem separaten Gerät und zwei Kabeln oder mit einem dazu verdrahteten Kabel erfolgen. Wenn Geräte Carrier Detect benötigen, kann dies simuliert werden, indem DSR und DCD intern im Anschluss angeschlossen werden, wodurch eine CD aus dem Remote-DTR-Signal abgerufen wird. Ein Merkmal des Yost- Standards ist, dass ein Nullmodemkabel ein " Überrollkabel " ist, das nur die Stifte 1 bis 8 an einem Ende zu 8 bis 1 am anderen Ende umkehrt.

Kein Hardware-Handshake

Verdrahtungsbelegung für DB-25 (links) und DE-9 (rechts)

Der einfachste Typ eines seriellen Kabels hat kein Hardware-Handshake. An diesem Kabel sind nur die Daten- und Signalerdungskabel angeschlossen. Alle anderen Pins haben keine Verbindung. Bei dieser Art von Kabelflusssteuerung hat in der Software umgesetzt werden. Die Verwendung dieses Kabels ist auf den Datenverkehr nur auf seinen querverbundenen Rx- und Tx-Leitungen beschränkt. Dieses Kabel kann auch in Geräten verwendet werden, die keine Modemsteuersignale benötigen oder verwenden.

Loopback-Handschlag

Verdrahtungsbelegung für DB-25 (links) und DE-9 (rechts)

Aufgrund der Kompatibilitätsprobleme und potenziellen Probleme mit einem einfachen Nullmodemkabel wurde eine Lösung entwickelt, um die Software zu täuschen, dass Handshaking verfügbar ist. Die Kabelbelegung wird jedoch nur zurückgeschleift und unterstützt die Hardware-Flusskontrolle nicht physisch.

Dieses Kabel könnte mit mehr Software verwendet werden, hatte jedoch keine tatsächlichen Verbesserungen gegenüber dem Vorgänger. Die Software würde funktionieren und denken, sie hätte eine Hardware-Flusskontrolle, könnte aber plötzlich anhalten, wenn höhere Geschwindigkeiten erreicht werden und ohne erkennbaren Grund.

Teilweises Händeschütteln

Verdrahtungsbelegung für DB-25 (links) und DE-9 (rechts)

In diesem Kabel werden die Durchflussregelungsleitungen immer noch zum Gerät zurückgeschleift. Sie werden jedoch so ausgeführt, dass die Flusssteuerung " Request To Send" (RTS) und " Clear To Send" (CTS) weiterhin zulässig ist, jedoch keine tatsächliche Funktionalität vorhanden ist. Das Flusssteuersignal kann das andere Gerät nur erreichen, wenn das gegenüberliegende Gerät auf ein Carrier Detect (CD) -Signal überprüft wird (an Pin 1 eines DE-9-Kabels und Pin 8 eines DB-25-Kabels). Infolgedessen konnte dieses spezielle Handshake nur von speziell entwickelter Software genutzt werden. Die Software-Flusskontrolle funktionierte weiterhin mit diesem Kabel.

Volles Händeschütteln

Verdrahtungsbelegung für DB-25 (links) und DE-9 (rechts)

Dieses Kabel ist aufgrund einer Kreuzung der RTS / CTS-Pins nicht mit den Hardware-Flusskontrollen der vorherigen Kabeltypen kompatibel. Mit geeigneter Software kann das Kabel viel höhere Geschwindigkeiten erreichen als seine Vorgänger. Es unterstützt auch die Software-Flusskontrolle.

Virtuelles Nullmodem

Ein virtuelles Nullmodem ist eine Kommunikationsmethode zum direkten Verbinden von zwei Computeranwendungen über eine virtuelle serielle Schnittstelle . Im Gegensatz zu einem Nullmodemkabel ist ein virtuelles Nullmodem eine Softwarelösung , die ein Hardware-Nullmodem im Computer emuliert. Alle Funktionen eines Hardware-Nullmodems sind auch in einem virtuellen Nullmodem verfügbar. Dies hat einige Vorteile:

  • Höhere Übertragungsgeschwindigkeit von seriellen Daten, begrenzt nur durch Computerleistung und Netzwerkgeschwindigkeit
  • Virtuelle Verbindungen über ein lokales Netzwerk oder Internet, wodurch die Einschränkungen der Kabellänge verringert werden
  • Praktisch unbegrenzte Anzahl virtueller Verbindungen
  • Kein serielles Kabel erforderlich
  • Die physischen seriellen Anschlüsse des Computers bleiben frei

Zum Beispiel hat DOSBox älteren DOS- Spielen erlaubt , virtuelle Nullmodems zu verwenden.

Ein weiteres häufiges Beispiel sind Unix- Pseudoterminals (pty), die eine Standard- tty- Schnittstelle für Benutzeranwendungen darstellen, einschließlich virtueller serieller Steuerelemente. Zwei solcher Ptys können von einer Anwendung leicht miteinander verbunden werden, um einen virtuellen Nullmodem-Kommunikationspfad zu bilden.

Siehe auch

Verweise

Externe Links