Serielle Schnittstelle - Serial port

Ein männlicher D-Subminiatur- Stecker, der für einen seriellen Anschluss an einem IBM PC-kompatiblen Computer verwendet wird, zusammen mit dem Symbol für den seriellen Anschluss

In der Computertechnik ist ein serieller Port eine serielle Kommunikationsschnittstelle , über die Informationen bitweise sequentiell ein- oder ausgesendet werden. Dies steht im Gegensatz zu einem parallelen Port , der mehrere Bits gleichzeitig parallel überträgt . Während des größten Teils der Geschichte von Personalcomputern wurden Daten über serielle Schnittstellen an Geräte wie Modems , Terminals , verschiedene Peripheriegeräte und direkt zwischen Computern übertragen.

Während Schnittstellen wie Ethernet , FireWire und USB ebenfalls Daten als seriellen Stream senden , bezeichnet der Begriff serielle Schnittstelle in der Regel Hardware, die mit RS-232 oder einem verwandten Standard wie RS-485 oder RS-422 kompatibel ist .

Moderne Consumer-PCs haben serielle Schnittstellen weitgehend durch schnellere Standards, hauptsächlich USB, ersetzt. Allerdings sind serielle Schnittstellen immer noch häufig in anspruchsvollen Anwendungen einfach, Low-Speed - Schnittstellen, wie zB industrielle Automatisierungssysteme, wissenschaftliche Instrumente, die Point of Sale - Systeme und einige Industrie- und Konsumgüter.

Servercomputer können einen seriellen Port als Steuerkonsole für die Diagnose verwenden, während Netzwerkhardware (wie Router und Switches ) üblicherweise serielle Konsolenports für Konfiguration, Diagnose und Notfallwartungszugriff verwendet. Als Schnittstelle zu diesen und anderen Geräten können USB-Seriell-Konverter schnell und einfach einen seriellen Port zu einem modernen PC hinzufügen.

Hardware

Heutzutage verwenden viele Geräte eine als UART bezeichnete integrierte Schaltung , um einen seriellen Port zu implementieren. Dieser IC wandelt Zeichen in und aus asynchroner serieller Form um und implementiert das Timing und das Framing von Daten, die durch das serielle Protokoll spezifiziert sind, in Hardware. Der IBM PC implementiert seine seriellen Ports, falls vorhanden, mit einem oder mehreren UARTs.

Sehr kostengünstige Systeme, wie einige frühe Heimcomputer , würden stattdessen die CPU verwenden , um die Daten mit der Bit-Banging- Technik über einen Ausgangspin zu senden . Diese frühen Heimcomputer hatten oft proprietäre serielle Ports mit Pinbelegungen und Spannungspegeln, die nicht mit RS-232 kompatibel waren.

Vor dem Großintegration (LSI) UARTs gemeinsam gemacht wurden serielle Ports in häufig verwendeten Mainframes und Minicomputer , die mehrere kleine integrierte Schaltungen haben würde Schieberegister, logische Gatter, Zähler und alle anderen Logik erforderlich umzusetzen. Mit der Entwicklung von PCs wurden serielle Ports in den Super I/O- Chip und dann in den Chipsatz integriert .

DTE und DCE

Die einzelnen Signale an einer seriellen Schnittstelle sind unidirektional und beim Anschluss von zwei Geräten müssen die Ausgänge des einen Gerätes mit den Eingängen des anderen verbunden werden. Geräte werden in zwei Kategorien eingeteilt: Datenendgeräte (DTE) und Datenleitungsabschlussgeräte (DCE). Eine Leitung, die ein Ausgang an einem DTE-Gerät ist, ist ein Eingang an einem DCE-Gerät und umgekehrt, sodass ein DCE-Gerät mit einem gerade verdrahteten Kabel an ein DTE-Gerät angeschlossen werden kann, bei dem jeder Pin an einem Ende mit der gleichen Nummer verbunden ist am fernen Ende stecken.

Herkömmlicherweise sind Computer und Terminals DTE, während Peripheriegeräte wie Modems DCE sind. Wenn zwei DTE- (oder DCE-)Geräte miteinander verbunden werden müssen, muss ein Kabel mit umgekehrten TX- und RX-Leitungen verwendet werden, das als Cross-Over- , Roll-Over- oder Nullmodem- Kabel bekannt ist.

Geschlecht

Im Allgemeinen sind serielle Port-Anschlüsse geschlechtsspezifisch , sodass Anschlüsse nur mit einem Anschluss des anderen Geschlechts verbunden werden können. Bei D-Subminiatur- Steckverbindern haben die Stiftleisten hervorstehende Stifte und die Buchsenleisten entsprechende runde Buchsen. Jeder Steckertyp kann an einem Gerät oder einer Schalttafel montiert werden; oder ein Kabel terminieren.

An DTE montierte Anschlüsse sind wahrscheinlich männlich, und an DCE angebrachte sind wahrscheinlich weiblich (bei den Kabelanschlüssen ist das Gegenteil der Fall). Dies ist jedoch alles andere als universell; zum Beispiel haben die meisten seriellen Drucker eine DB25-Buchse, aber es handelt sich um DTEs. In diesem Fall können die entsprechend geschlechtsspezifischen Stecker am Kabel oder ein Gender-Changer verwendet werden, um die Fehlanpassung zu korrigieren.

Anschlüsse

Der einzige im ursprünglichen RS-232-Standard spezifizierte Anschluss war der 25-polige D-Subminiatur-Anschluss, jedoch wurden viele andere Anschlüsse verwendet, um unter anderem Geld oder Platz zu sparen. Da insbesondere viele Geräte nicht alle der 20 vom Standard definierten Signale nutzen, werden häufig Stecker mit weniger Pins verwendet. Während spezifische Beispiele folgen, wurden unzählige andere Anschlüsse für RS-232-Verbindungen verwendet.

Der 9-polige DE-9- Anschluss wird von den meisten IBM-kompatiblen PCs seit der Seriell/Parallel-Adapteroption für den PC-AT verwendet , bei der der 9-polige Anschluss es ermöglicht, einen seriellen und einen parallelen Anschluss auf dieselbe Karte zu passen. Dieser Anschluss wurde für RS-232 als TIA-574 standardisiert .

Einige miniaturisierte Elektronik, insbesondere Grafikrechner und tragbare Amateur- und Funkgeräte , haben serielle Anschlüsse mit einem Telefonanschluss , normalerweise die kleineren 2,5- oder 3,5-mm-Anschlüsse und die einfachste 3-Draht-Schnittstelle – Senden, Empfangen und Masse.

Ein Cisco Rollover-Kabel mit dem 8P8C Yost-Standard

Auch 8P8C- Steckverbinder werden in vielen Geräten verwendet. Der EIA/TIA-561- Standard definiert eine Pinbelegung mit diesem Anschluss, während das Rollover-Kabel (oder der Yost-Standard) häufig auf Unix- Computern und Netzwerkgeräten wie Geräten von Cisco Systems verwendet wird .

Paar Mini-DIN-8- Buchsen für serielle RS-422- Ports an einem Macintosh LC- Computer

Viele Macintosh- Modelle bevorzugen den entsprechenden RS-422-Standard, meist mit runden Mini-DIN-Anschlüssen . Der Macintosh enthielt einen Standardsatz von zwei Anschlüssen für den Anschluss an einen Drucker und ein Modem, aber einige PowerBook- Laptops hatten nur einen kombinierten Anschluss, um Platz zu sparen.

10P10C- Anschlüsse sind an einigen Geräten zu finden.

Ein weiterer gebräuchlicher Anschluss ist ein 10 × 2- Pin-Header, der auf Motherboards und Add-In-Karten üblich ist und normalerweise über ein Flachbandkabel in den Standard 9-Pin-DE-9-Anschluss umgewandelt wird (und häufig auf einer freien Steckplatzplatte oder einem anderen Teil von . montiert wird). das Gehäuse).

Pinbelegungen

Die folgende Tabelle listet häufig verwendete RS-232-Signale und Pinbelegungen auf:

Signal Richtung Steckerstift
Name V.24- Schaltung Abkürzung DTE DCE DB-25 DE-9 ( TIA-574 ) MMJ 8P8C ("RJ45") 10P10C ("RJ50")
EIA/TIA-561 Yost (DTE) Jost (DCE) Kykladen Digi (ALTPIN-Option) National Instruments Kykladen Digi
Übertragene Daten 103 TxD aus In 2 3 2 6 6 3 3 4 8 4 5
Empfangene Daten 104 RxD In aus 3 2 5 5 3 6 6 5 9 7 6
Datenterminal bereit 108/2 DTR aus In 20 4 1 3 7 2 2 8 7 3 9
Datenträgererkennung 109 DCD In aus 8 1 N / A 2 2 7 7 1 10 8 10
Datensatz bereit 107 DSR In aus 6 6 6 1 N / A 8 N / A 5 9 2
Klingelanzeige 125 RI In aus 22 9 N / A N / A N / A N / A N / A 2 10 1
Anfrage zum Senden 105 RTS aus In 4 7 N / A 8 8 1 1 2 4 2 3
Zum Senden löschen 106 CTS In aus 5 8 N / A 7 1 8 5 7 3 6 8
Signalmasse 102 g Verbreitet 7 5 3, 4 4 4, 5 4, 5 4 6 6 5 7
Schutzerde 101 PG Verbreitet 1 N / A N / A N / A N / A N / A N / A 3 N / A 1 4

Signal Ground ist eine gemeinsame Rückleitung für die anderen Verbindungen; es erscheint auf zwei Pins im Yost-Standard, ist aber das gleiche Signal. Der DB-25-Anschluss enthält eine zweite Schutzerde an Pin 1, die von jedem Gerät mit seiner eigenen Rahmenerde oder ähnlichem verbunden werden soll. Das Anschließen von Schutzerde an Signalerde ist gängige Praxis, wird jedoch nicht empfohlen.

Beachten Sie, dass EIA/TIA 561 DSR und RI kombiniert und der Yost-Standard DSR und DCD kombiniert.

Hardware-Abstraktion

Betriebssysteme erstellen normalerweise symbolische Namen für die seriellen Ports eines Computers, anstatt dass Programme über Hardwareadressen darauf verweisen müssen.

Unix-ähnliche Betriebssysteme bezeichnen die seriellen Port-Geräte normalerweise mit /dev/tty* . TTY ist eine gängige markenfreie Abkürzung für Teletype , ein Gerät, das häufig an die seriellen Ports früherer Computer angeschlossen wird, und * steht für eine Zeichenfolge, die den spezifischen Port identifiziert; die Syntax dieser Zeichenfolge hängt vom Betriebssystem und dem Gerät ab. Auf Linux , 8250 / 16550 - UART - Hardware serielle Ports namens / dev / ttyS * , USB - Adapter erscheint als / dev / ttyUSB * und verschiedene Arten von virtuellen seriellen Schnittstellen nicht unbedingt Namen , die mit dem Starten hat tty .

Die DOS- und Windows- Umgebungen bezeichnen serielle Ports als COM- Ports: COM1, COM2,..etc.

Gängige Anwendungen für serielle Ports

Der RS-232-Standard wird von vielen spezialisierten und kundenspezifischen Geräten verwendet. Diese Liste enthält einige der gebräuchlicheren Geräte, die an den seriellen Port eines PCs angeschlossen sind. Einige davon, wie Modems und serielle Mäuse, werden nicht mehr verwendet, während andere leicht verfügbar sind.

Serielle Ports sind bei den meisten Mikrocontroller- Typen sehr verbreitet , wo sie zur Kommunikation mit einem PC oder anderen seriellen Geräten verwendet werden können.

Da die Steuersignale für einen seriellen Port einfach mit einem Schalter ein- und ausgeschaltet werden können, verwenden einige Anwendungen die Steuerleitungen eines seriellen Ports, um externe Geräte zu überwachen, ohne serielle Daten auszutauschen. Eine gängige kommerzielle Anwendung dieses Prinzips war bei einigen Modellen einer unterbrechungsfreien Stromversorgung, die die Steuerleitungen verwendet, um Stromausfall, schwache Batterie und andere Statusinformationen zu signalisieren. Zumindest einige Morsecode- Trainingsprogramme verwendeten einen Codeschlüssel, der mit der seriellen Schnittstelle verbunden war, um die tatsächliche Codeverwendung zu simulieren. Die Statusbits des seriellen Ports konnten sehr schnell und zu vorhersehbaren Zeiten abgetastet werden, was es der Software ermöglichte, Morsecode zu entschlüsseln.

Einstellungen

Gängige serielle Port-Geschwindigkeiten
Bitrate
(Baudrate)
Zeit
pro Bit
Windows vordefinierte
serielle Portgeschwindigkeit
Andere Gründe, warum diese Geschwindigkeit üblich ist
75 Bit/s 13333,3 μs Jawohl
110 Bit/s 9090,9 μs Jawohl Bell 101-Modem
134,5 Bit/s 7434,9 μs Jawohl
150 Bit/s 6666.6 μs Jawohl
300 Bit/s 3333,3 μs Jawohl Bell 103-Modem oder V.21- Modem
600 Bit/s 1666,7 μs Jawohl
1.200 Bit/s 833,3 μs Jawohl Bell 202 , Bell 212A oder V.22 Modem
1.800 Bit/s 555,6 μs Jawohl
2.400 Bit/s 416,7 μs Jawohl V.22bis- Modem
4.800 Bit/s 208,3 μs Jawohl V.27ter- Modem
7.200 Bit/s 138,9 μs Jawohl
9.600 Bit/s 104,2 μs Jawohl V.32- Modem
14.400 Bit/s 69,4 μs Jawohl V.32bis- Modem
19.200 Bit/s 52,1 μs Jawohl
31.250 Bit/s 32 μs Nein MIDI- Port
38.400 Bit/s 26,0 μs Jawohl
56.000 Bit/s 17,9 μs Jawohl V.90/V.92- Modem
57.600 Bit/s 17,4 μs Jawohl V.32bis- Modem mit V.42bis- Komprimierung
76.800 Bit/s 13,0 μs Nein BACnet MS/TP-Netzwerke
115.200 Bit/s 8,68 μs Jawohl V.34- Modem mit V.42bis- Komprimierung,
kostengünstiges serielles V.90/V.92- Modem

mit V.42bis oder V.44 Kompression

128.000 Bit/s 7,81 μs Jawohl Basic Rate Interface ISDN- Terminaladapter
230.400 Bit/s 4,34 μs Nein LocalTalk ,
serielles High-End- Modem V.90/V.92

mit V.42bis oder V.44 Kompression

250.000 Bit/s 4,0 μs Nein DMX512 , Bühnenbeleuchtung und Effektnetzwerk
256.000 Bit/s 3,91 μs Jawohl

Serielle Standards ermöglichen viele verschiedene Betriebsgeschwindigkeiten sowie Anpassungen des Protokolls, um unterschiedliche Betriebsbedingungen zu berücksichtigen. Die bekanntesten Optionen sind Geschwindigkeit, Anzahl Datenbits pro Zeichen, Parität und Anzahl Stoppbits pro Zeichen.

Bei modernen seriellen Ports, die eine integrierte UART- Schaltung verwenden, können alle diese Einstellungen softwaregesteuert werden. Hardware aus den 1980er Jahren und früher erfordert möglicherweise das Setzen von Schaltern oder Jumpern auf einer Platine.

Die Konfiguration für serielle Ports zum Anschluss an einen PC hat sich zu einem De-facto-Standard entwickelt und wird normalerweise als 9600/8-N-1 angegeben .

Geschwindigkeit

Serielle Ports verwenden zweistufige (binäre) Signalisierung, sodass die Datenrate in Bits pro Sekunde der Symbolrate in Baud entspricht . Eine Standardtarifreihe basiert auf Vielfachen der Tarife für elektromechanische Fernschreiber ; Bei einigen seriellen Ports können viele beliebige Raten ausgewählt werden, aber die Geschwindigkeiten auf beiden Seiten der Verbindung müssen übereinstimmen, sonst werden die Daten als Kauderwelsch empfangen.

Die Möglichkeit, eine Bitrate einzustellen, bedeutet nicht, dass eine funktionierende Verbindung entsteht. Nicht alle Bitraten sind mit allen seriellen Ports möglich. Einige Spezialprotokolle wie MIDI zur Steuerung von Musikinstrumenten verwenden andere serielle Datenraten als die Fernschreiberstandards. Einige Implementierungen von seriellen Ports können automatisch eine Bitrate auswählen, indem sie beobachten, was ein angeschlossenes Gerät sendet und sich damit synchronisiert.

Die Gesamtgeschwindigkeit beinhaltet Bits für das Framing (Stoppbits, Parität usw.) und somit ist die effektive Datenrate niedriger als die Bitübertragungsrate. Beim 8-N-1- Zeichenrahmen stehen beispielsweise nur 80 % der Bits für Daten zur Verfügung; für jeweils acht Datenbits werden zwei weitere Rahmenbits gesendet.

Die üblicherweise unterstützten Bitraten umfassen 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 und 115200 Bit/s.

Speziell für diesen Zweck werden Quarzoszillatoren mit einer Frequenz von 1.843200 MHz verkauft. Dies ist das 16-fache der schnellsten Bitrate, und die serielle Port-Schaltung kann diese bei Bedarf leicht auf niedrigere Frequenzen herunterteilen.

Daten Bits

Die Anzahl der Datenbits in jedem Zeichen kann 5 (für Baudot-Code ), 6 (selten verwendet), 7 (für echtes ASCII ), 8 (für die meisten Datenarten, da diese Größe der Größe eines Bytes entspricht ) oder . sein 9 (selten verwendet). 8 Datenbits werden in neueren Anwendungen fast universell verwendet. 5 oder 7 Bit machen in der Regel nur bei älteren Geräten wie Fernschreibern Sinn.

Die meisten seriellen Kommunikationsdesigns senden die Datenbits innerhalb jedes Byte-LSB ( niedrigstwertiges Bit ) zuerst. Dieser Standard wird auch als "Little Endian" bezeichnet.

Ebenfalls möglich, aber selten verwendet, ist "Big Endian" oder MSB ( Most Significant Bit ) zuerst; dies wurde zum Beispiel vom IBM 2741 Druckterminal verwendet.

Die Reihenfolge der Bits ist normalerweise nicht innerhalb der seriellen Schnittstelle konfigurierbar, sondern wird vom Hostsystem definiert. Um mit Systemen zu kommunizieren, die eine andere Bitreihenfolge als die lokale Vorgabe erfordern, kann die lokale Software die Bits innerhalb jedes Bytes unmittelbar vor dem Senden und unmittelbar nach dem Empfangen neu ordnen.

Parität

Parität ist eine Methode zur Erkennung von Fehlern bei der Übertragung. Wenn Parität mit einem seriellen Port verwendet wird, wird mit jedem Datenzeichen ein zusätzliches Datenbit gesendet, das so angeordnet ist, dass die Anzahl von 1-Bits in jedem Zeichen, einschließlich des Paritätsbits, immer ungerade oder immer gerade ist. Wenn ein Byte mit der falschen Anzahl von 1s empfangen wird, muss es beschädigt sein. Eine gerade Anzahl von Fehlern kann jedoch die Paritätsprüfung bestehen.

Elektromechanische Fernschreiber wurden eingerichtet, um ein Sonderzeichen zu drucken, wenn empfangene Daten einen Paritätsfehler enthielten, um die Erkennung von durch Leitungsrauschen beschädigten Nachrichten zu ermöglichen . Ein einzelnes Paritätsbit ermöglicht nicht die Implementierung einer Fehlerkorrektur für jedes Zeichen, und Kommunikationsprotokolle, die über serielle Datenverbindungen arbeiten, verfügen über Mechanismen auf höherer Ebene, um die Datengültigkeit sicherzustellen und die erneute Übertragung von Daten, die falsch empfangen wurden, anzufordern.

Das Paritätsbit in jedem Zeichen kann auf einen der folgenden Werte gesetzt werden:

  • Keine (N) bedeutet, dass überhaupt kein Paritätsbit gesendet wird.
  • Ungerade (O) bedeutet, dass das Paritätsbit so gesetzt ist, dass die Anzahl der "logischen Einsen" ungerade sein muss.
  • Gerade (E) bedeutet, dass das Paritätsbit so gesetzt ist, dass die Anzahl der "logischen Einsen" gerade sein muss.
  • Mark (M) Parity bedeutet, dass das Paritätsbit immer auf den Marksignalzustand (logisch 1) gesetzt ist.
  • Space (S) -Parität sendet das Paritätsbit immer im Space-Signalzustand (logisch 0).

Abgesehen von ungewöhnlichen Anwendungen, die das letzte Bit (normalerweise das 9.) für irgendeine Form der Adressierung oder spezielle Signalisierung verwenden, ist die Markierungs- oder Leerzeichenparität ungewöhnlich, da sie keine Fehlererkennungsinformationen hinzufügt.

Die ungerade Parität ist nützlicher als die gerade Parität, da sie sicherstellt, dass in jedem Zeichen mindestens ein Zustandsübergang auftritt. Die gebräuchlichste Paritätseinstellung ist jedoch "keine", wobei die Fehlererkennung von einem Kommunikationsprotokoll behandelt wird.

Stopp-Bits

Stoppbits, die am Ende jedes Zeichens gesendet werden, ermöglichen es der empfangenden Signalhardware, das Ende eines Zeichens zu erkennen und sich mit dem Zeichenstrom neu zu synchronisieren. Elektronische Geräte verwenden normalerweise ein Stoppbit. Wenn langsame elektromechanische Fernschreiber verwendet werden, sind eineinhalb oder zwei Stoppbits erforderlich.

Konventionelle Notation

Die konventionelle Notation Daten/Parität/Stopp (D/P/S) spezifiziert den Rahmen einer seriellen Verbindung. Die häufigste Verwendung auf Mikrocomputern ist 8/N/1 (8N1). Dies spezifiziert 8 Datenbits, keine Parität, 1 Stoppbit. In dieser Notation ist das Paritätsbit nicht in den Datenbits enthalten. 7/E/1 (7E1) bedeutet, dass den 7 Datenbits ein gerades Paritätsbit hinzugefügt wird, also insgesamt 8 Bits zwischen Start- und Stoppbit. Wenn ein Empfänger eines 7/E/1-Streams einen 8/N/1-Stream erwartet, wird die Hälfte der möglichen Bytes so interpretiert, dass sie das hohe Bit gesetzt haben.

Ablaufsteuerung

Die Flusskontrolle wird in Situationen verwendet, in denen ein Sender Daten möglicherweise schneller senden kann, als der Empfänger sie verarbeiten kann. Um dies zu bewältigen, beinhalten serielle Leitungen oft ein Handshaking- Verfahren, das normalerweise zwischen Hardware- und Software- Handshaking unterschieden wird.

Hardware-Handshaking erfolgt mit zusätzlichen Signalen, oft den RS-232 RTS/CTS- oder DTR/DSR-Signalkreisen. Im Allgemeinen werden RTS und CTS von abwechselnden Enden aus ein- und ausgeschaltet, um den Datenfluss zu steuern, beispielsweise wenn ein Puffer fast voll ist. DTR und DSR sind normalerweise ständig eingeschaltet und werden gemäß dem RS-232-Standard und seinen Nachfolgern verwendet, um von jedem Ende aus zu signalisieren, dass die anderen Geräte tatsächlich vorhanden und eingeschaltet sind. Im Laufe der Jahre haben Hersteller jedoch viele Geräte gebaut, die nicht standardmäßige Variationen des Standards implementiert haben, beispielsweise Drucker, die DTR als Flusskontrolle verwenden.

Software-Handshaking erfolgt beispielsweise mit ASCII- Steuerzeichen XON/XOFF zur Steuerung des Datenflusses. Die Zeichen XON und XOFF werden vom Empfänger an den Sender gesendet, um zu steuern, wann der Sender Daten sendet, dh diese Zeichen gehen in die entgegengesetzte Richtung zu den gesendeten Daten. Die Schaltung startet im Zustand "Senden erlaubt". Wenn sich die Puffer des Empfängers der Kapazität nähern, sendet der Empfänger das XOFF-Zeichen, um den Sender anzuweisen, das Senden von Daten einzustellen. Später, nachdem der Empfänger seine Puffer geleert hat, sendet er ein XON-Zeichen, um den Sender anzuweisen, die Übertragung fortzusetzen. Dies ist ein Beispiel für Inband-Signalisierung , bei der Steuerinformationen über denselben Kanal wie ihre Daten gesendet werden.

Der Vorteil von Hardware-Handshaking besteht darin, dass es extrem schnell sein kann; es gibt den übertragenen Daten keine besondere Bedeutung wie ASCII; und es ist staatenlos . Der Nachteil ist, dass es mehr Hardware und Verkabelung erfordert und diese an beiden Enden kompatibel sein müssen.

Der Vorteil von Software-Handshaking besteht darin, dass es mit fehlenden oder inkompatiblen Hardware-Handshaking-Schaltungen und -Kabeln durchgeführt werden kann. Der allen In-Band-Steuersignalisierungen gemeinsame Nachteil besteht darin, dass es kompliziert wird, sicherzustellen, dass a) Steuernachrichten durchkommen, selbst wenn Datennachrichten blockiert sind, und b) Daten niemals mit Steuersignalen verwechselt werden können. Ersteres wird normalerweise vom Betriebssystem oder Gerätetreiber verarbeitet; letzteres normalerweise, indem sichergestellt wird, dass Steuercodes " escaped " (wie im Kermit-Protokoll ) oder absichtlich weggelassen werden (wie in der ANSI-Terminalsteuerung ).

Wenn kein Handshaking verwendet wird, kann ein Überlaufempfänger einfach keine Daten vom Sender empfangen. Ansätze, dies zu verhindern, umfassen die Reduzierung der Verbindungsgeschwindigkeit, damit der Empfänger immer mithalten kann; Vergrößern der Puffergröße, damit der Durchschnitt über einen längeren Zeitraum mithalten kann; Verwendung von Verzögerungen nach zeitaufwendigen Operationen (zB in termcap ) oder Verwendung eines Mechanismus zum erneuten Senden beschädigter Daten (zB TCP ).

Virtueller serieller Port

Ein virtueller serieller Port ist eine Emulation eines physischen seriellen Ports. Es gibt mehrere Anwendungsfälle, darunter die Umleitung serieller Ports (unten beschrieben), softwareimplementierte Modems und das serielle Portprofil von Bluetooth .

Umleitung des seriellen Ports

Umleitungssoftware für serielle Ports erstellt zusätzliche virtuelle serielle Ports in einem Betriebssystem ohne zusätzliche Hardwareinstallation (wie Erweiterungskarten usw.), um die Daten für eine Vielzahl von Anwendungen zu und von einem seriellen Port aufzuteilen oder umzuleiten.

Eine Möglichkeit besteht darin, Daten zwischen mehreren Anwendungen auszutauschen. Ein serieller Port kann normalerweise unter den Einschränkungen der meisten Betriebssysteme nur von einem Gerät gleichzeitig überwacht werden, aber ein Redirector für einen seriellen Port kann zwei virtuelle Ports erstellen, damit zwei separate Anwendungen dieselben Daten überwachen, z. B. ein GPS- Gerät, das ausgibt Standortdaten.

Eine andere Möglichkeit besteht darin, mit einem anderen seriellen Gerät über das Internet oder LAN zu kommunizieren, als ob es lokal verbunden wäre, mit Serial over LAN .

Siehe auch

Verweise

Weiterlesen

  • Serieller Port komplett: COM-Ports, virtuelle USB-COM-Ports und Ports für eingebettete Systeme ; 2. Auflage; Jan Axelson; Lakeview-Forschung; 380 Seiten; 2007; ISBN  978-1-931-44806-2 .

Externe Links