Necesito una gran cantidad de E/S en serie desde una computadora de escritorio en una aplicación de robótica. Consideré usar todas las piezas estándar con un gran conjunto de concentradores USB y adaptadores USB a serie, pero las soluciones estándar eran demasiado grandes.
Necesito alrededor de 26, tal vez más canales que funcionen entre 9600 y 115200 baudios. Para encajar en el espacio reducido, estaba considerando obtener algunos controladores de concentrador USB y colocarlos en una placa de circuito con el usb a los ASIC en serie.
La computadora host es una máquina basada en Intel mini itx.
Mi concepto actual implica este controlador de concentrador USB 3 de 4 canales: Concentrador USB 3 de 4 puertos Y varios chips de concentrador USB 2 de 7 puertos: Concentrador USB 2 de 7 puertos Los concentradores de 7 puertos se conectarían a los puertos del concentrador de 4 puertos los puntos finales USB que necesito. El USB a los ASIC seriales (FTDI o un producto similar) se conectaría directamente a cada puerto del controlador del concentrador de 7 puertos. Sé que FTDI, por ejemplo, ofrece usb multicanal a dispositivos seriales, 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 algunos diseños de señales diferenciales antes, pero nunca una velocidad USB rápida. También estaba considerando tener un control separado de la alimentación de cada controlador concentrador para que pudieran restablecerse por separado si fuera necesario.
¿Hay alguna trampa que deba tener en cuenta específica para trabajar con estos chips USB? Este será mi primer diseño de placa que tiene USB.
¡Gracias!
No es realmente una respuesta, simplemente no puedo comentar ...
¿Evaluaste la opción de usar Arduino/AVR simple? Con Atmega128 TQFP64, debería poder obtener series de software 26ish, los UART de hardware pueden ir tan rápido como 2Mbps (para conectarse al host de la PC), Atmega128 tiene 2.
También hay ARM de la serie STM32F103 con reloj de 72 MHz.
En el lado del host de la PC, si realmente necesita 26 COM separados, existe la posibilidad de usar puertos COM virtuales ... se necesitará algún software para "agregar" datos de estos 26 puertos en 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 de MCU.
crasico
DoxyLover
crasico
alfasierra
crasico
uint128_t
DoxyLover
alfasierra
alfasierra
alfasierra
uint128_t
DoxyLover
Pedro Smith