Ich habe an kommerziellen KVM-Einheiten gearbeitet und kann bestätigen, dass sie weit mehr als eine triviale Übung zum Entwerfen und Arbeiten sind.
Eine der Herausforderungen bei einem solchen Entwurf besteht darin, die analogen Wellenformen der VGA / SVGA / XGA / WXGA-Videosignale von einem beliebigen Computer zu erfassen und in ein digitales Format umzuwandeln, das dann im digitalen Bereich verarbeitet werden kann. Eine gute Nachricht ist, dass es Chips gibt, die diesen Job für Sie erledigen können. Eines davon stammt von analogen Geräten, die als ADV7604 bezeichnet werden . Dieser kann aus einer von vier Videoquellen auswählen und diese in drei parallele 12-Bit-Datenströme digitalisieren, jeweils einen für R, G und B. Der Teil unterstützt die Digitalisierung von bis zu 170 MHz.
Eine weitere Herausforderung beim Entwurf einer KVM-Einheit ist die Erfassung der digitalen Hochgeschwindigkeitspixelinformationen in einem Speicherpuffer, in dem sie verarbeitet werden können, bevor sie über das Netzwerk an den Remote-Standort gesendet werden. Für die Bildaufnahme und Videokomprimierung muss ein Hochleistungs-FPGA verwendet werden, das an ein SDRAM angeschlossen ist. Sie sehen, dass die Echtzeitübertragung der gesamten Videobilderinformationen über die öffentlichen Netzwerke einfach nicht praktikabel ist. Nur für Videos mit bis zu 170 MHz * 36 Bit, was einer Rohdatenrate von 6,12 Gigabit pro Sekunde entspricht. Erfolgreiche KVM-Einheiten speichern die vorherigen Videobilder und vergleichen sie dann mit dem aktuellen Videobilder und berechnen nur die Unterschiede von Bild zu Bild. Diese Unterschiede werden dann zusammen mit Synchronisierungsinformationen und erfassten Tastatur- und Maussignalen über das Netzwerk gesendet.
Da die Vorbereitung der Videodifferenzdaten sowie der Synchronisierungs- und Schlüssel- / Mausinformationen zu Paketen für den Transport über Ethernet einige spezielle Verarbeitung erfordert, muss ein spezielles Prozessorgerät für die Verbindung zwischen Ihrem FPGA und dem Netzwerk verwendet werden. Es gibt eine Reihe von Unternehmen, die diese Prozessoren als Spezialprodukte herstellen, die KVM-Hersteller in ihre KVM-Einheiten einbetten. Einige dieser Geräte enthalten möglicherweise benutzerdefinierte Logik, um das zuvor erwähnte Hochgeschwindigkeits-FPGA zu ersetzen. Es ist üblich, dass diese KVM-Prozessoren eine CPU der ARM 9-Klasse mit dedizierten speziellen DMA-Engines verwenden, um die Videodifferenzdaten von den Erfassungspuffern zum Netzwerkport zu verschieben.
KVM-Geräte erfassen Maus und Tastatur häufig als USB-Signale, die in ein geeignetes Format konvertiert werden müssen, um in die über das Netzwerk gesendeten Videodaten aufgenommen zu werden. Die Prozessoren vom Typ KVM verfügen über die USB-Anschlüsse zur Unterstützung dieser Erfassung.
Wie Sie vielleicht jetzt erkannt haben, muss die Hochleistungs-CPU im KVM-Prozessor ein gutes Stück haben, wenn Software darin eingebettet ist, sobald Sie die Aufgabe hinter sich haben, alle Hardwareteile des Designs zusammenzubringen. Bei Projekten, an denen ich gearbeitet habe, brauchte ein talentiertes Team von mehreren Softwareentwicklern ein Jahr oder länger, um die gesamte Software für eine erfolgreiche KVM zu optimieren.
Ich hoffe, dies hilft Ihnen zu erkennen, in welchen Schritten Sie sich möglicherweise befinden, wenn Sie sich auf den aufregenden Weg begeben, Ihre eigene Remote-KVM-Einheit herzustellen, um die paar hundert Dollar beim Kauf einer fertigen Einheit zu sparen. Wenn Sie sich entscheiden, auf die Designarbeit zu verzichten und am Ende zu kaufen, ist das auch in Ordnung. Darf ich vorschlagen, dass Sie das Produkt Lantronix Spider suchen und sich dieses ansehen. Dies ist eine gute IP-Typ-KVM-Einheit, die ich verwendet und mit einem anderen Produkt gebündelt habe, das ich entworfen habe. Beachten Sie, dass ich keine andere Zugehörigkeit zu Lantronix habe, als ein Benutzer / Kunde zu sein.