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.
Presenters
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.