Im Katalog suchen

Linux - Wegweiser für Netzwerker

Online-Version

Copyright © 2001 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser für Netzwerker oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel



Serielle Hardware

RS-232 ist der derzeit am weitesten verbreitete Standard für serielle Geräte in der PC-Welt. Er verwendet eine Reihe von Schaltkreisen zur Übertragung der einzelnen Bits und zur Synchronisation. Weitere Leitungen können dafür benutzt werden, um das Anliegen eines Trägersignals zu signalisieren (bei Modems), sowie für den Handshake. Linux unterstützt eine breite Palette an seriellen Karten, die nach dem Standard RS-232 funktionieren.

Obwohl der Hardware-Handshake vom Standard nicht vorgeschrieben wird, ist er doch sehr nützlich. Er erlaubt jeder der beiden Stationen, der jeweils anderen mitzuteilen, ob weitere Daten empfangen werden können oder ob die Gegenstelle eine Pause einlegen sollte, bis der Empfänger die vorliegenden Daten verarbeitet hat. Die hierfür verwendeten Steuerleitungen heißen “Clear to Send” (CTS) und “Ready to Send” (RTS), woraus sich auch der umgangssprachliche Name RTS/CTS für den Hardware-Handshake ableitet. Die andere Art von Handshake, die vermutlich geläufig sein wird, ist “XON/XOFF”. Dabei werden zwei besondere Zeichen, üblicherweise Strg-S bzw. Strg-Q, dazu verwendet, der Gegenstelle mitzuteilen, daß sie ihre Datenübertragung beenden bzw. fortsetzen soll. Während diese Methode sehr einfach zu implementieren und für einfache ­Terminals recht nützlich ist, erweist sie sich für die Übertragung binärer Daten als sehr problematisch, da die beiden Sonderzeichen bei der Übertragung nicht als gewöhnliche Bytes aufgefaßt, sondern immer als Steuerzeichen interpretiert werden. Außerdem ist es langsamer als der saubere und schnelle Hardware-Handshake, weshalb letzterer gegenüber XON/XOFF immer den Vorzug bekommen sollte.

Im ursprünglichen IBM-PC wurde die RS-232-Schnittstelle üblicherweise durch einen UART-Chip vom Typ 8250 angesteuert. Seit den Zeiten der 486er Prozessoren verwendeten die PCs zumeist einen 16450, der etwas schneller als der 8250 war. Fast alle Pentium-Maschinen wurden mit einer noch moderneren Variante, dem 16550, ausgestattet. Einige Marken (besonders interne Modems mit Rockwell-Chips) verwenden dagegen völlig andere Chips, die aber das Verhalten der 16550er emulieren und daher fast genauso behandelt werden können. All diese Chips werden von Linux in dessen Standard-Serial-Port-Treiber unterstützt.1

Gegenüber dem 8250er und dem 16450er stellt der 16550er eine deutliche Verbesserung dar, da er über einen 16 Byte großen FIFO-Puffer verfügt. Beim 16550 handelt es sich eigentlich um eine ganze Familie von UART-Geräten. Dazu gehören unter anderem der 16650, 16550A und 16550AFN (später als PC16550DN bezeichnet). Die Unterschiede zwischen diesen Chips liegen darin, ob die eingesetzten FIFOs tatsächlich funktionierten. Unter den genannten Chips ist der 16550AFN die sicherste Variante. Es gab auch mal einen NS16550; dessen FIFO hat nie wirklich funktioniert.

Die UARTs 8250 und 16450 besaßen nur einen einfachen 1-Byte-Puffer. Ein 16450 löste daher für jedes zu übertragende Zeichen eine Unterbrechung (interrupt) aus. Jeder Interrupt benötigt eine gewisse Zeit, in der er verarbeitet wird. Diese kurze Verzögerung begrenzt die maximale, zuverlässige Datentransferrate des 16450 auf einem ISA-Bus-Rechner auf ungefähr 9.600 bps.

In der voreingestellten Konfiguration überprüft der Kernel die Standartports COM1 bis COM4. Der Kernel ist auch in der Lage, die UARTs an den Standardports automatisch zu erkennen. Wird dabei ein 16550 erkannt, macht Linux vom erweiterten FIFO-Puffer Gebrauch.




1.

Beachten Sie bitte, daß wir hier nicht von WinModem™ reden! WinModems haben eine sehr einfache Hardware und nehmen dafür den Hauptprozessor Ihres Computers stark in Anspruch. Wenn Sie sich ein Modem kaufen wollen, empfehlen wir Ihnen dringend, auf keinen Fall ein WinModem zu nehmen. Kaufen Sie sich ein “echtes” Modem! Mittlerweile werden WinModems von Linux zwar auch unterstützt; sie werden dadurch aber auch nicht wesentlich attraktiver.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser für Netzwerker

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home|O'Reilly-Partnerbuchhandlungen|Bestellinformationen
Kontakt|Über O'Reilly|Datenschutz

© 2001, O'Reilly Verlag