Estoy tratando de conectar un dispositivo USB host en una placa a un dispositivo USB de punto final en otra placa, pero debo enviar el enlace entre los dos dispositivos como una conexión en serie (UART) entre las dos placas. Los convertidores de USB a serie y de serie a USB estarían alojados en las placas individuales que albergan los respectivos host y dispositivos de punto final.
Necesito que el dispositivo host USB reconozca el dispositivo terminal como un terminal USB como si fuera una conexión USB directa.
¿Es posible obtener este trabajo de la manera que necesito? Entiendo que la velocidad de comunicación sería mucho más lenta que el USB convencional. He visto chips de conversión FTDI que afirman funcionar hasta 3Mbaudios (como este: https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT234XD.pdf ) y creo que ~2Mbaudios serían suficientes por 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 (serie a punto final USB).
¿Alguien ha hecho algo como esto con éxito antes, o tal vez pueda identificarme que esto es imposible por las razones X, Y, Z?
No, como se describe, esto no funcionará. Los convertidores FTDI USB-Serial tradicionales solo pueden cumplir la función de dispositivo USB . No pueden alojar su dispositivo USB remoto . Entonces, si bien es posible que pueda usar uno en el extremo cercano, necesitará algo más en el otro extremo.
Sin embargo, hay hosts USB incorporados que podría usar. Todos estos son, en última instancia, microcontroladores: algunos, como Viniculum / Viniculum II de FTDI, se venden específicamente para este tipo de propósito (pero pueden o no satisfacer sus necesidades exactas) y otros son dispositivos de uso más general que definitivamente se pueden personalizar para esta tarea. tal vez 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 integrado, aunque eso aumenta la complejidad y el consumo de energía, presenta un estado delicado del sistema de archivos, etc.
Independientemente del hardware, la primera tarea será determinar las operaciones USB exactas que espera el dispositivo remoto . Efectivamente, deberá crear un controlador USB personalizado para un host integrado, o decidir que ya hay uno en Linux que puede usar construyendo el otro extremo de su puente alrededor de un sistema Linux integrado. O inventará algún tipo de esquema de proxy USB y creará un controlador personalizado o un interceptor de controlador en el sistema operativo cercano que actúa como proxy a través de la serie.
Tenga en cuenta que existen cosas como los extensores de USB a través de fibra. Eso no se ajustará estrictamente a su requisito declarado de proxy en serie, pero bien podría satisfacer su necesidad real y le ahorraría mucho tiempo de desarrollo. De hecho, tal vez podría mover toda la computadora a la ubicación remota e interactuar con ella de forma remota a través de una red.
BeB00
brahans
chris stratton
brahans
chris stratton