3 - Serielle Schnittstelle [ID:21379]
49 von 49 angezeigt

Als ich vor etwas über 20 Jahren, bevor Netzwerk im Heimbereich Einzug hielt, Multiplayer-Spiele

wie Doom über Rechner hinweg spielen wollte, griff ich auf ein sogenanntes Null-M Ch participation

Kabel zurück.

Heutzutage jedoch sind diese seriellen Anschlüsse eigentlich nur noch für die Servernandeline

relevant.

ein entsprechender 9-Poliger DSUB-Stecker abgebildet. Um genau zu sein handelt es sich hier jedoch

nur um eine Verlängerung. Dieser Stecker wird bei PCs für serielle Schnittstellen nach den

Standard RS232 eingesetzt. Entsprechend sind hier extra Leitungen für Sendeanforderung,

Senderlaubnis und Empfangsstatus. Wirklich wichtig sind allerdings nur drei Leitungen.

Einmal elektrisch bedingt die gemeinsame Signalmasse, so wie die ausgehende und

eingehende Datenleitung. Missen man nun die Datenleitung, kann sich über die Zeit folgendes

Bild ergeben. Diverse Pegeländerungen zwischen minus 15 bis plus 15 Volt. Um die einzelnen

Pegel nun interpretieren zu können, wandeln wir es in ein diskretes Signal um, indem wir

es in vorher definierte Zeitfenster einteilen. Nun ordnen wir den Pegel eines jeden Zeitfensters

einem Wert zu. Die Spannung liegt beim niedrigen Pegel zwischen minus 15 und minus 3 Volt,

was als 1 interpretiert wird. Ein hoher Pegel zwischen plus 3 und plus 15 Volt wird zu einer

Null. Dabei sind die invertierte Interpretation der Pegel als auch die höhere Spannung die

wichtigen Unterschiede zu TTL Serial, welcher beispielsweise von Arduino bekannt ist.

Diese Wertefolgen entsprechen nun einem bestimmten Übertragungsformat. Der erste Wechsel von

1 auf 0 kennt sein den Start der Übermittlung, gefolgt von den Datenbits und gegebenenfalls

ein Prüfbit bevor das Stoppbit wieder auf den Ruhepegel zieht.

Die Anzahl der Datenbits und ob bzw. welches Paritätsbit, gerade oder ungerade, verwendet

wird, muss vorher ebenso wie die Übertragungsgeschwindigkeit von beiden Kommunikationspartnern gleich festgelegt

werden.

Die Übertragungsrate muss dabei ein ganzzähliger Teiler von 115.200 sein und entspricht den

Symbolen, die pro Sekunde übertragen werden können.

Wenn wir keine großen Datenmengen übertragen wollen, reicht eine niedrige Baudrate,

welche dafür unter Umständen stabiler läuft.

Heutige PCs besitzen meist nur noch eine einzige solche Hardware-Schnittstelle, wenn überhaupt.

Früher, als diese noch wichtiger waren, waren es bis zu vier.

Die Programmierung erfolgt über je acht IOPODS Pro Anschluss,

womit jeweils zwölf Register angesprochen werden können.

Die Dekodierung der Signale gemäß des Übertragungsformats wird zum Glück von der Hardware übernommen.

Wir müssen uns dabei nur im Empfang und Versand der Daten kümmern.

Eine detaillierte Beschreibung über die Programmierung der seriellen Schnittstelle findet ihr neben den Datenblättern

auch in den Wikis von OSDEV.org sowie LowLevel.eu, welche auch insgesamt gute Adressen für die Betriebssystementwicklung sind.

Wer nun diese Schnittstelle ordentlich in Stubs implementiert, kann sich dann in die ESA der Informatik Sammlung Erlangen beim Rechenzentrum schleichen und dieses 1978 von DEC veröffentlichte Gerät anschließen.

Ein VT100 Terminal, welches über die RS232 Schnittstelle Ein- und Ausgaben erlaubt.

Bekannt ist sie aber vor allem durch die von ihr unterstützten sogenannten ANSI Escape Sequenzen, Steueranweisungen, welche beispielsweise Farben und Cursor Positionen ändern können.

Und die auch von den heutigen Terminal Emulatoren, wie ihr sie auf eurem PC nutzt, größtenteils unterstützt werden.

Diese Steueranweisungen beginnen alle mit dem Escape-Zeichen, beispielsweise gefolgt von einer geöffneten eckigen Klammer, einem Attributwert wie 1 für Fett, sowie einem M, um den nachfolgenden Text entsprechend in einer dickeren Schrift darzustellen.

Für eine bunte Ausgabe kann sowohl für Vorder- als auch Hintergrund aus einer Palette von acht Farben gewählt werden.

Weiterhin kann noch die Cursor-Position festgelegt werden oder sogar eine Auskunft eingeholt werden.

Wird mittels 6n eine Anfrage gestellt, antwortet das Terminal mit einem Escape-Code, der die Position beinhaltet.

Daneben gibt es noch viele weitere Codes, welche jedoch unterschiedlich gut unterstützt werden.

Einen wichtigen Befehl will ich euch jedoch nicht vorenthalten.

Für den Fall, dass ihr euch das Terminal verkonfiguriert habt, könnt ihr mit dem Escape-Zeichen gefolgt von einem C die Standardeinstellungen wiederherstellen.

Ihr könnt das übrigens einfach in eurer Kommandozahle testen.

echo braucht dazu erstいます, damit die Escape-Zeichen interpretiert werden.

Teil einer Videoserie :
Teil eines Kapitels:
Ein- und Ausgabe

Zugänglich über

Offener Zugang

Dauer

00:05:14 Min

Aufnahmedatum

2020-07-26

Hochgeladen am

2020-10-16 16:47:00

Sprache

de-DE

Kommunikation über die Serielle Schnittstelle, optional für Aufgabe 1 der Lehrveranstaltung Betriebssysteme.

Folien und Transkript zum Video.

Tags

betriebssysteme operating systems stubs
Einbetten
Wordpress FAU Plugin
iFrame
Teilen