Digimodes Grundlagen - eine Einführung

Copyright, Lizenz und Weiterverwendung

Autor und Copyright für diesen Text und die Bilder: Ekki Plicht, DF4OR, 2010.

Diese Präsentation unterliegt der Creative Commons Lizenz (cc-by-nc-sa).

Es ist Ihnen gestattet

  • das Werk zu vervielfältigen, zu verbreiten und öffentlich zugänglich zu machen
  • Abwandlungen bzw. Bearbeitungen des Inhaltes anzufertigen

Zu den folgenden Bedingungen:

  • Namensnennung. Sie müssen den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
  • Keine kommerzielle Nutzung. Dieses Werk darf nicht für kommerzielle Zwecke verwendet werden.
  • Weitergabe unter gleichen Bedingungen. Wenn Sie den lizenzierten Inhalt bearbeiten oder in anderer Weise umgestalten, verändern oder als Grundlage für einen anderen Inhalt verwenden, dürfen Sie den neu entstandenen Inhalt nur unter Verwendung von Lizenzbedingungen weitergeben, die mit denen dieses Lizenzvertrages identisch oder vergleichbar sind.

Probleme mit 'virtuellen' COM-Ports.

Treiber

So ganz ohne Probleme ist die Verwendung der USB/Seriell Adapter nicht. So kann man sie nur verwenden, wenn es für das jeweilige Betriebssystem einen Treiber gibt. Natürlich gibt es die Treiber, aber in der Regel nur für neuere Betriebssysteme. Das sind heute (Stand Mitte 2009) also Windows Vista, Windows 7, Windows 8, Windows 10 usw.; ebenso Linux und aktuelle Versionen von MacOS. Schon bei Verwendung von Windows 98 wird es schwierig die jeweiligen Treiber zu bekommen, Windows ME wird auch nur wenig unterstützt. Früher sehr beliebte DOS Programme kann man mit USB-Schnittstellen nicht oder nur mit größeren Klimmzügen zum Spielen bringen. Nahezu alle aktuellen Linux-Distributionen und auch Mac OS bringen die Treiber für die gängisten Chips der Adapter gleich mit. Man braucht also etwas halbwegs Aktuelles auf dem Rechner...

Emulation, Simulation

Ein anderes Problem der USB/Seriell Adapter ist die teilweise schlechte Emulation des alten seriellen Anschlusses. Ursprünglich, beim ersten IBM-PC, wurde hier ein bestimmter Chip verwendet, der "8250 UART". Spätere PC-Designs haben zwar aktuellere Formen dieses Bausteins verwendet, aber die Hardware war immer 'kompatibel', also für die Software identisch zu bedienen.

Nun ist es sehr aufwendig einen solchen Baustein komplett per Software zu emulieren, daher haben die Programmierer der Treiber des USB/Seriell Adapters es sich etwas einfach gemacht, und nur die wichtigsten und einfachsten Funktionen umgesetzt. Das reicht für 95% aller Anwendungen, aber sobald eine Anwendung exotische Spezialfunktionen des seriellen Bausteins nutzen will, geht das nicht mehr. So gab es anfangs sogar bestimmte USB/Seriell Adapter, die nicht mal die Steuerleitungen (RTS, DTR, CTS usw.) richtig emulierten. Die fallen damit für die Verwendung im Amateurfunk aus. Heute sind die USB/Seriell Adapter besser geworden, aber es mag immer noch Fälle geben, wo bestimmte Funktionen nicht wie gewünscht arbeiten. Da hilft es nur, mal einen anderen USB/Seriell Adapter zu probieren, am besten einen der einen anderen Treiberchip verwendet als der, der nicht funktioniert.

Kein Direktzugriff auf die Hardware

Und noch ein Problem gibt es mit dem 'virtuellen' COM-Port, oder besser mit den Windows-Anwendungen, die serielle Schnittstellen nutzen wollen. Diese Programme wurden früher oft so geschrieben, das sie direkt auf die Hardware zugreifen, unter Umgehung der Betriebssystemfunktionen. Das war schneller und erlaubte mehr Spielereien, war aber eben nicht so ganz 'kompatibel'. Denn heute - mit USB - gibt es diese Hardware nicht mehr, die serielle Schnittstelle wird ja nur simuliert, sie ist 'virtuell'. Solche Programme versagen unweigerlich. Aber zum Glück gibt es das kaum noch... Man kann heute davon ausgehen, das aktuelle, für Windows geschriebene Programme diese Probleme nicht mehr haben. Bei Linux oder MacOS gibt es dieses Problem nicht, da war es schon immer unmöglich (oder zumindest sehr, sehr aufwendig) um das Betriebssystem 'herum' zu programmieren und direkt auf die Hardware zuzugreifen.

Timingprobleme

Zum guten Schluß sei noch ein weiteres Problem der 'virtuellen' COM-Schnittstelle erwähnt. Dieses Problem betrifft fast ausschliesslich Telegrafie und FSK (echte Trägerumtastung bei RTTY). Beide, CW und RTTY, setzen voraus, das die jeweilige Steuerleitung millisekundengenau an- und abgeschaltet werden kann. Und genau das ist mit der über USB simulierten Schnittstelle ziemlich schwierig. Selbst beim allerneusten und super-schnellsten Computer tritt dieses Problem auf. Die Ursache liegt also nicht darin, das der Rechner zu langsam sei, sondern ist im Design der USB-Schnittstelle und des gesamten PCs begründet.

Was kann man also bei diesem Timing-Problem tun?

  1. Rechner entlasten, alle nicht benötigten Programme, vor allem Virenscanner, Firewall usw. ausschalten. Das hilft in manchen Fällen, aber nicht immer.
  2. Für RTTY nicht FSK sondern AFSK verwenden. Es ist viel leichter, zeitlich sehr genau einen Ton mit der Soundkarte umzuschalten, als eine Steuerleitung des COM-Ports.
  3. Für CW ein Interface verwenden, das entsprechende Unterstützung bietet. Für Telegrafie ist das ein Interface mit dem "WinKey" Chip. Dieser Chip nimmt über die normale Datenleitung der seriellen Schnittstelle Befehle entgegen (z.B. "Morse '599' mit 25WPM") und führt die dann mit sehr hoher zeitlicher Präzison aus.
  4. Eine Software und Hardware (Interface) verwenden, die das sogenannte neue Pseudo-FSK bzw. Pseudo-CW unterstützen. Derzeit (Stand Mitte 2010) ist mir an Software nur 'fldigi' (für Windows und Linux) und 'cocoaModem' (für Mac OS X) bekannt, die das anbietet. Die einzigen Interfaces die Pseudo-FSK/CW bzw OOK (Audio On/Off Keying) unterstützen sind das 'USB-3' und der 'DigiKeyer-2' von microHAM. Hier wird auf dem sonst unbenutzen rechten Audiokanal ein Ton ausgegeben (oder nicht), im Interface erkennt eine Schaltung das Anliegen oder Fehlen des Tones und tastet damit die entsprechende Leitung zum Funkgerät. Wie gesagt ist es sehr leicht ein zeitlich präzises Tonsignal zu erzeugen, egal wie der Rechner gerade ausgelastet ist.

Trotz all' dieser möglichen Probleme funktioniert es meistens wunderbar mit USB. Und man hat ja heute auch kaum noch eine andere Möglichkeit als USB zu verwenden. Die Kenntnis eventuell auftretender Probleme hilft aber bei der Fehlersuche...