Tengo un dispositivo USB de alta velocidad al que quiero dotar de 2 puertos, uno en cada extremo de la caja. Esto es para que el cable pueda ser conectado donde sea más conveniente. Mi MCU (atmega32u4) sólo tiene una interfaz, por lo que los puertos físicos serán compartidos, pero sólo uno debe estar conectado a la vez.
Por supuesto, no se puede confiar en que los usuarios no se conecten a ambos lados a la vez. ¿Cómo protegerse de esto?
Ideas que se me ocurren:
- Simplemente conéctalos "tal cual" y espera que el anfitrión pueda lidiar con los pines D+/D- unidos
- Puerta NAND con pines separados de 5V como entrada, salida a un MOSFET que desconecta Vcc cuando ambos están conectados.
¿Suena razonable la segunda opción, o es necesaria una solución más compleja?
0 votos
¿Cómo propones cablear los dos puertos para conectar D+ y D- juntos? Deberías añadir un diagrama explicando la disposición que propones.
0 votos
@SolarMike Compartido entre los dos - en el escenario "correcto", con sólo un cable conectado, el D+/D- del otro conector quedará colgando.
7 votos
También deberías considerar la posibilidad de diseñar la carcasa con una tapa móvil para que sólo quede expuesto un puerto usb a la vez. De este modo, se comunica claramente al usuario que sólo puede conectar uno de los puertos a la vez, en lugar de confundirlo cuando conecta dos hosts y uno no funciona.
4 votos
¡¡¡no te olvides del usuario que se las arregla para encontrar un cable usb macho-macho y se conecta el dispositivo a sí mismo !!!