Escuché que D + y D- son señales diferenciales, ¿importa si las cambio cuando conecto un dispositivo USB a la computadora?
Escuché que D + y D- son señales diferenciales, ¿importa si las cambio cuando conecto un dispositivo USB a la computadora?
Al entrar y salir del estado inactivo, la polaridad es importante y cambiar las líneas D + y D causará problemas.
Los datos USB son codificado NRZ de manera que "One" está representado por no cambio en el nivel físico, y "Cero" se representa por un cambio en el nivel físico (vea la figura a continuación). Por lo tanto, invertir la señal (por ejemplo, al intercambiar D + y D-) no produce cambios funcionales durante la transmisión de datos. Pero puede haber problemas antes y después de la transmisión de datos que pueden interrumpir la comunicación con el dispositivo.
El host incluye resistencias desplegables de 15 kΩ en cada línea de datos. Cuando no El dispositivo está conectado, esto hace que ambas líneas de datos queden bajas en el llamado estado de "cero único" (SE0 en la documentación del USB), y Indica una conexión restablecida o desconectada. Un dispositivo USB tira de uno de las líneas de datos altas con una resistencia de 1,5 kΩ. Esto supera a uno de las resistencias de bajada en el host y deja las líneas de datos en una estado inactivo llamado "j". Para USB 1.x, la elección de la línea de datos indica de qué velocidades de señal es capaz el dispositivo; dispositivos de ancho de banda completo tire D + alto, mientras que los dispositivos de bajo ancho de banda tiran D− alto.
Mientras que los datos están codificados en NRZI, la secuencia de sincronización y la EoP se definen en términos de estados fijos (J / K / SE0). Cuando D + y D- se cambian, el estado J se cambia con K y SE0 sigue siendo SE0 (ambas líneas bajas). Así que la secuencia de sincronización y la EoP se volverán incorrectas en la inversión. En USB 1.x, si se intercambian D + y D-, los dispositivos de ancho de banda completo se reconocen como de ancho de banda bajo y viceversa. Por lo tanto, el dispositivo ni siquiera se comunicará a la misma velocidad que el host.
El final de un paquete USB, llamado EOP (fin de paquete), se indica mediante el transmisor controla 2 bits de SE0 (D + y D- ambos por debajo del máximo) y Tiempo de 1 bit del estado J. Después de esto, el transmisor deja de conducir el Las líneas D + / D y las resistencias pull up antes mencionadas lo mantienen en la J estado (inactivo).
Con un controlador intercambiado D + / D, el host verá la secuencia (SE0, SE0, K) en lugar de la correcta (SE0, SE0, J). El host puede entonces no reconocer el final del paquete, lo que podría causar problemas.
SieldispositivoyelhostcumplenestrictamenteconlasespecificacionesdeUSB,elcambiodelospinesD+yD-darácomoresultadounfallo.Esconcebiblequeeldiseñadordelhosthayaprevistounmododefallodeestetipoyhayaincorporadocompatibilidadparaél.Perosidichocableintercambiadofuncionaríaonoenlapráctica,ciertamentenoseajustaríaalasespecificaciones.
Otromiembro,AndrewKohlsmith,experimentóestocuandoseintercambiaronaccidentalmentelospinesdeunconcentradorUSB.Elproblemasemanifestócomodispositivosconectadosquenoaparecen.EldispositivoUSBmostraríaqueestabaencendido,perolacomputadoranoloreconocióenabsolutoenlapartesuperiordelconcentrador(queseconectócorrectamentealhost).
Edit: gracias a quienes comentaron. Agregué énfasis y detalles de sus útiles notas.
He visto que los dispositivos negocian como baja velocidad solo cuando d + y d- están intercambiados. Esto fue con un dispositivo de velocidad completa (12 Mbps) y un puerto basado en chipset VIA.
Lea otras preguntas en las etiquetas usb communication cables signal