Es la siguiente conexión USB posible: Host USB para convertir a serie (FTDI) y luego volver a convertir a USB (FTDI)

1

Estoy tratando de conectar un dispositivo USB host en una tarjeta a un dispositivo USB de punto final en otra tarjeta, pero debo enviar el enlace entre los dos dispositivos como una conexión serie (UART) entre las dos tarjetas. Los convertidores de USB a serie y serie a USB se alojarían en las tarjetas individuales que albergan los respectivos dispositivos de punto de acceso y host.

Necesito que el dispositivo USB host reconozca el dispositivo de punto final como un punto final de USB de la misma manera que si fuera una conexión USB directa.

¿Es posible conseguir este trabajo de la manera que necesito? Entiendo que la velocidad de comunicación sería mucho más lenta que la de un USB convencional. He visto chips de conversión FTDI que dicen funcionar hasta 3Mbaud, (como este: enlace ) y creo que ~ 2Mbaud sería suficiente para lo que estoy haciendo. El chip que vinculé parece ser exclusivamente para que los dispositivos host USB se conviertan a salida en serie, no he tenido tanto éxito en encontrar un dispositivo que se espera que funcione en la dirección opuesta (de extremo a puerto USB).

¿Alguien ha hecho algo así antes con éxito, o tal vez pueda identificarme que esto es imposible por razones X, Y, Z?

    
pregunta scuba

1 respuesta

4

No, como se describe, esto no funcionará. Los convertidores FTDI USB en serie tradicionales solo pueden cumplir la función de dispositivo USB. No pueden alojar su dispositivo USB de extremo lejano . Por lo tanto, si bien es posible que puedas usar uno en el extremo cercano, necesitarás algo más en el extremo lejano.

Sin embargo, hay hosts USB integrados que puede utilizar. Todos estos son, en última instancia, microcontroladores: algunos, como el Viniculum / Viniculum II de FTDI, se venden específicamente para este tipo de propósito (pero pueden o no ajustarse a su necesidad exacta) y otros son dispositivos de uso más general que se pueden personalizar para esta tarea. quizás algo como un Kinetis KLZ25 / KLZ26 (también conocido como Teensy-LC), un STM32 con capacidad de host USB, etc. O incluso un pequeño sistema Linux incorporado, aunque aumenta la complejidad y el consumo de energía, introduce un delicado estado del sistema de archivos, etc.

Independientemente del hardware , la primera tarea será averiguar las operaciones USB exactas esperadas por el extremo remoto device . De hecho, deberá crear un controlador USB personalizado para un host integrado o decidir que ya hay uno en Linux que puede usar al construir el extremo lejano de su puente alrededor de un sistema Linux incorporado. O inventará algún tipo de esquema de proxy USB y creará un controlador personalizado o un interceptor de controlador en el sistema operativo de extremo cercano que se realiza a través de la serie.

Tenga en cuenta que existen cosas como extensores de USB sobre fibra. Eso no se ajustará estrictamente a su requisito establecido de realizar proxies en serie, pero podría ajustarse a sus necesidades reales y le ahorraría mucho tiempo de desarrollo. En ese caso, quizás pueda mover toda la computadora a la ubicación remota e interactuar con ella de forma remota a través de una red.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas