Manchmal kommen in der Entwicklungsabteilung verrückte Anfragen an, über die wir anfangs nur den Kopf schütteln. Dann packt uns der Ehrgeiz, und wir fangen an zu tüfteln. Dabei kommen wir zu Aussagen, die sehr oft „grundsätzlich“, „prinzipiell“, „möglicherweise“ und „unter Umständen“ enthalten. Und manchmal sagen die Kollegen vom Vertrieb dann: „Prima, das will unser Kunde nämlich unbedingt haben. Wann ist das fertig?“ So etwa lief das auch beim NEO-FiberLink ab. Was ist die Idee bei diesem Gerät? Da muss ich ein bisschen ausholen.
Die Idee hinter dem NEO-FiberLink
In unserem Programm gibt es die analogen KVM-Matrixswitches der CATCenter-NEO-Serie. Analog bezieht sich hier auf das Übertragungsverfahren der Videosignale. Diese Geräte vollbringen das Kunststück, Analogsignale mit hoher Bandbreite über mehrere hundert Meter CAT-Kabel zu transportieren. Nun sind CAT-Kabel wirklich kein besonders gutes Übertragungsmedium für diesen Zweck, aber sie sind in jeder IT-Installation in großer Menge vorhanden. Damit am Ende keine verschwommenen Bilder herauskommen, ist erheblicher Aufwand nötig. Bei Guntermann & Drunck nennen wir die zugehörige Technik IVT (Individuelles Video Tuning).
Immer wieder gibt es Kunden, die mit den Längenbeschränkungen (maximal 300m vom Rechnermodul zum Arbeitsplatzmodul) nicht auskommen. Für diese sollte nun ein Gerät entwickelt werden, dass die KVM-Signale vom CAT-Kabel auf Glasfaser umsetzt. So wäre es möglich, zwei CATCenter-NEO KVM-Matrixswitch-Systeme bis zu 10km entfernt voneinander aufzustellen. Die Idee zum NEO-FiberLink war geboren.
Für Außenstehende hört es sich nach keiner großen Sache an, einen Adapter von Kupferkabel auf Glasfaser zu bauen. Für Netzwerksignale gibt es solche Geräte schließlich schon für kleines Geld. Uns Entwicklern war aber sofort klar, dass wir hier vor einer gewaltigen Aufgabe standen. Dies würde eines der komplexesten Geräte werden, das bei G&D je entwickelt wurde.
Erste Schritte in der Welt der 10-Gbit/s-Technologie
Für die Übertragung auf der Glasfaser kam nur 10-Gbit/s-Technologie in Frage. So hatten wir die Möglichkeit, die Videosignale ohne Qualitätsverlust durch Kompression o.ä. zu übertragen. Das Problem: mit 10-Gbit/s betraten wir zum Zeitpunkt der Entwicklung eine neue Welt. Daher waren auch alle Hard- und Softwareschnittstellen völlig neu. In den zugehörigen Datenblättern wimmelte es von Abkürzungen wie EDC, PMA und PMD. Ich habe tatsächlich erstmal einen Glossar angelegt, um nicht ständig den Faden zu verlieren.
Um das Videosignal zu übertragen, muss das NEO-FiberLink zunächst einmal alle Beeinträchtigungen durch vorgeschaltete CAT-Kabel ausgleichen. Hier konnten wir nicht einfach auf unser bewährtes IVT zurückgreifen. Dort hat der Benutzer immer noch die Möglichkeit für besonders schwierige Kabel das Bild manuell nachzujustieren. Beim NEO-FiberLink war aber keine manuelle Eingriffsmöglichkeit vorgesehen. Das Bild sollte für alle CAT-Kabel auf Anhieb sitzen.
Nur mit viel Kreativität und Fleißarbeit kamen wir hier zum Ziel. Was auf dem Papier noch gut aussah, scheiterte dabei jedoch oft an den Besonderheiten einzelner CAT-Kabel. Andere Ansätze erforderten zeitraubende Einmessvorgänge, die die Geduld des Benutzers überstrapaziert hätten. Letztendlich haben wir einen Kompromiss gefunden: Damit der Benutzer sein Bild möglichst schnell optimal dargestellt bekommt, merkt sich das NEO-FiberLink das Einmessergebnis für jedes Rechnermodul. Wird ein Modul ein zweites Mal angewählt, kann auf die gespeicherten Werte zurückgegriffen werden und der Anwender hat sofort ein sauberes Videosignal.
Vom analogen zum digitalen Videosignal
Da wir das analoge Videosignal über eine digitale Strecke schicken wollen, musste es als nächstes digitalisiert werden. Diese Aufgabe übernimmt eine Funktionseinheit namens Framegrabber, die in der programmierbaren Logik realisiert ist. Damit dieser Framegrabber ordentliche Ergebnisse liefern kann, braucht er genaue Anweisungen, um was für ein Videosignal es sich handelt. Welche Auflösung und Bildwiederholrate der Anwender beispielsweise in der Windows-Anzeigesteuerung einstellt, weiß das NEO-FiberLink nicht. Das herauszufinden ist richtige Detektivarbeit. Dazu wird das Videosignal genau ausgemessen, es entsteht eine Art Fingerabdruck.
Dann wird geprüft, ob sich dieser Fingerabdruck in unserer Datenbank bekannter Videosignale findet. Findet sich in dieser Tabelle kein passender Eintrag, prüfen wir, welche der gängigen Berechnungsformeln am besten zu dem Signal passt. War die Detektivarbeit erfolgreich, ist immer noch eine Menge zu tun, um das Bild in bestmöglicher Qualität darstellen zu können: die exakte Bildlage muss ermittelt und die richtige Phase eingestellt werden. Von all dem bemerkt der Anwender nichts.
Zwei Ports = doppelte Arbeit
Eine weitere Herausforderung lag in der Kommunikation zwischen den KVM-Matrixswitch-Systemen. Eigentlich soll die ja nur unverändert durchgereicht werden. Praktisch muss das NEO-FiberLink aber mitbekommen, wenn ein anderer Rechner aufgeschaltet oder ein IVT-Einmessvorgang gestartet wird. Die zugehörige Kommunikation wird dann intern abgefangen und teilweise verändert. Hier ist eine Menge Detailarbeit nötig, damit nach außen alles ganz einfach aussieht.
Da das NEO-FiberLink zwei CAT-Ports hat, muss es alle seine Aufgaben auch zweimal gleichzeitig erledigen. Für mich als Softwareentwickler war hier „Multithreading“ – also das gleichzeitige Ausführen mehrerer Anwendungsstränge – gefragt. Das eingesetzte Real-Time-Betriebssystem bot alles was ich benötigte und erwies sich zum Glück als leistungsstarke und zuverlässige Plattform.
Trotz seiner geringen Größe war die Entwicklung des NEO-FiberLink ein Mammutprojekt. Angesichts der gewaltigen Herausforderungen ist es für mich auch heute noch eine Freude, wenn ich dieses Gerät in Aktion sehe.
Und wie sieht es in Ihren Unternehmen aus? Haben Sie auch so „kleine“ Geräte, die letztendlich aber Großes leisten?
von Dirk Eibach – Softwareentwickler bei G&D
- Messen 2023: Erleben Sie G&D KVM-Produkte live und hautnah - 11. Januar 2023
- Ada Lovelace – Visionärin und erste Programmiererin der Welt - 12. Dezember 2022
- ControlCenter-IP vs. ControlCenter-IP-XS: ein Vergleich - 14. September 2022