Encadenamiento de múltiples concentradores USB Hub para la interfaz en serie

1

Necesito una gran cantidad de E / S en serie desde una computadora de escritorio en una aplicación de robótica. Consideré el uso de todas las piezas de estante con un gran conjunto de concentradores USB y usb para adaptadores serie, pero las soluciones de estante eran demasiado grandes.

Necesito alrededor de 26ish, tal vez más canales que funcionen desde 9600 hasta 115200baud. Para encajar en el espacio reducido, estaba considerando obtener algunos controladores de concentrador USB y colocarlos en una placa de circuito con el usb para ASIC en serie.

El equipo host es una máquina basada en intel mini itx.

Mi concepto actual incluye este controlador de hub de 3 canales USB 3: Hub de 3 puertos USB 3 Y varios chips de 7 puertos USB 2 hub: Hub de 2 puertos USB 2 Los concentradores de 7 puertos se conectarán a los puertos de concentrador de 4 puertos de súper velocidad, dando así todos los terminales USB que necesito. El USB a los ASIC en serie (FTDI o producto similar) se conectaría directamente a cada puerto de controlador de hub de 7 puertos. Sé que FTDI, por ejemplo, ofrece usb multicanal a dispositivos serie, pero no sé si cada canal USB se enumera como un dispositivo separado en Linux (como en un dispositivo / dev / usbttyx separado)

Mi pregunta es, ¿qué tan difícil es implementar este hardware? He hecho un poco de diseño de señal diferencial antes, pero nunca velocidad USB rápida. También estaba considerando tener un control separado de la alimentación de cada controlador de hub para que pudieran restablecerse por separado si fuera necesario.

¿Hay alguna trampa que deba vigilar específicamente para trabajar con estos chips USB? Este será el primer diseño de mi placa que tenga USB.

¡Gracias!

    
pregunta alphasierra

1 respuesta

1

No es realmente una respuesta, simplemente no puedo comentar ...

¿Evaluó la opción de usar Arduino / AVR simple? Con Atmega128 TQFP64 debería poder obtener series de software de 26ish, los UART de hardware pueden ir tan rápido como 2Mbps (para conectarse al host de PC), Atmega128 tiene 2.

También hay ARM de la serie STM32F103 con reloj de 72MHz.

En el lado del host de la PC, si realmente necesita 26 COM separados, existe la posibilidad de usar puertos COM virtuales ... algunos se necesitará software para "agregar" los datos de estos 26 puertos en el 1. real. O edite el software de su PC. Crear algún protocolo personalizado (similar a Modbus) para abordar cada puerto serie no debería ser difícil. Lo mismo en el lado MCU.

    
respondido por el Flanker

Lea otras preguntas en las etiquetas