Do-It-Myself KVM?

7

Tengo varias computadoras (computadoras de escritorio) en diferentes ubicaciones geográficas a las que quiero acceder de forma remota. Las soluciones comerciales de KVM sobre IP que encontré son caras (más de 200 euros cada una) y las más baratas no admiten el encendido y apagado de dispositivos. Tengo algo de experiencia con los microcontroladores y la electrónica (puedo cambiar la alimentación fácilmente) y me pregunto cómo podría empezar a construir un KVM de este tipo. Obviamente necesito controladores de entrada VGA / HDMI / USB que pueda conectar a algo como Raspberry Pi que proporcionará el resto de la funcionalidad (TCP / IP y RDP / VNC).

Entonces, ¿qué componentes puedo usar para un proyecto de este tipo? (preferiblemente componentes en los que pueda usar mis habilidades de soldadura).

    
pregunta tazmanos

1 respuesta

7

He trabajado en unidades KVM comerciales y puedo dar fe de que son mucho más que un ejercicio trivial para diseñar y comenzar a trabajar.

Uno de los desafíos en este diseño es capturar las formas de onda analógicas de las señales de video VGA / SVGA / XGA / WXGA de una computadora arbitraria y convertirlas en un formato digital que luego puede procesarse en el dominio digital. La buena noticia es que hay chips disponibles que pueden hacer este trabajo por usted. Uno de ellos es de Dispositivos analógicos llamado ADV7604 . Este particular puede seleccionar de una de las cuatro fuentes de video y digitalizar a tres flujos de datos paralelos de 12 bits, uno para cada R, G y B. La parte admite la digitalización hasta 170MHz.

Otro desafío relacionado con el diseño de una unidad KVM es la captura de la información de píxeles digitales de alta velocidad en un búfer de memoria donde se puede procesar antes de enviar a través de la red al sitio remoto. Es necesario usar algo como un FPGA de alto rendimiento conectado a una SDRAM para la captura de cuadros y la compresión de video. Usted ve que la transferencia en tiempo real de la información completa del cuadro de video no es práctica en las redes públicas. Solo para video de hasta 170 MHz * 36 bits que corresponde a una velocidad de datos sin procesar de 6.12 gigabits por segundo. Las unidades KVM exitosas funcionan almacenando los cuadros de video anteriores y luego comparándolos con el cuadro de video actual y calculan solo las diferencias de cuadro a cuadro. Son esas diferencias las que luego se envían a través de la red junto con la información de sincronización y las señales de teclado y mouse capturadas.

Debido a que se necesita un poco de procesamiento especial para preparar los datos de diferencia de video más la información de sincronización y clave / mouse en paquetes para el transporte a través de Ethernet, es necesario utilizar un dispositivo de procesador especial para conectarse entre su FPGA y la red. Hay una serie de compañías que fabrican estos procesadores como productos especializados que los fabricantes de KVM incorporan en sus unidades KVM. Algunos de estos dispositivos pueden contener lógica personalizada para reemplazar el FPGA de alta velocidad que se mencionó anteriormente. Es común que estos procesadores KVM utilicen una CPU de clase ARM 9 con motores DMA especiales dedicados para mover los datos de diferencia de video desde los búferes de captura al puerto de red.

Las unidades KVM a menudo capturan el mouse y el teclado como señales USB que deben convertirse a un formato adecuado para incluirlas con los datos de video enviados a través de la red. Los procesadores de tipo KVM incluyen los puertos USB para admitir esta captura.

Como es de esperar, la CPU de alto rendimiento del procesador KVM necesita tener una buena dosis de software integrado una vez que haya superado la tarea de reunir todas las partes de hardware del diseño. En los proyectos en los que he trabajado, un talentoso equipo de desarrolladores de software de un año o más logró que todo el software se desarrollara para un KVM exitoso.

Espero que esto le ayude a ver los pasos que puede seguir si decide emprender el emocionante camino para crear su propia unidad remota de KVM para ahorrar los pocos cientos de dólares de la compra de uno listo. Si decide renunciar al trabajo de diseño y compra al final, eso también está bien. Le sugiero que busque y eche un vistazo al producto Lantronix Spider. Esta es una buena unidad KVM de tipo IP que he usado y que he incluido con otro producto que había diseñado. Tenga en cuenta que no tengo ninguna afiliación con Lantronix que no sea un usuario / cliente.

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas