Sí, las señales USB son menos ruidosas.
La principal afirmación de USB de la fama es que es diferencial. En lugar de tener una señal referenciada a tierra (esto se denomina "extremo único"), hay dos señales referenciadas entre sí. Cuando uno es alto, el otro es bajo. Esto mantiene el circuito de circuito muy pequeño, lo que dificulta el acoplamiento inductivo. Dado que las líneas están cercanas entre sí, cualquier cosa que se junte capacitivamente se unirá a ambas líneas; por lo tanto, cualquier ruido inyectado en una línea también se inyecta en la otra línea, y el receptor diferencial puede rechazarlo (la capacidad del receptor para hacerlo se denomina "rango de rechazo de modo común")
Imagina que tienes dos cables, uno es 5V y el otro es 0V. Ahora digamos que un pico de ruido inyecta un voltio en ambas líneas. Ahora son 6V y 1V. Un receptor de un solo extremo vería 6V como resultado de este ruido. Un receptor diferencial ve que la diferencia entre 6 y 1 es igual a 5 y 0, por lo tanto, no ve ningún ruido.
¿Qué aspecto tiene en un alcance? Si bien el diagrama de ojo de Russell se ve bonito, el diagrama de ojo es más una herramienta de diagnóstico y no un ejemplo de transmisión de datos en el mundo real.
Un diferencial "1" es D + alto y D- bajo. Un diferencial "0" es el inverso, D + es bajo y D- es alto. Entonces, si lo conectas a un alcance, verás que los dos trazos se mueven uno frente al otro; cuando D + se pone alto, D- comenzará a bajar simultáneamente, y viceversa.
Más allá de este punto, se vuelve terriblemente complicado. Por ejemplo, USB es un protocolo NRZI. En lugar de un diferencial 1 que representa un bit "1" de la PC, un bit "1" de la PC se codifica como una transición . Entonces, un bit 1 sería una transición diferencial 1 a un diferencial 0, o una transición diff0 a diff1. Mientras tanto, un bit "0" se codifica como sin transición . Estas transiciones son importantes porque el reloj del USB está implícito en los datos, por lo tanto, el protocolo USB requiere relleno de bits (el acto de insertar 1 "s" falsos "en el flujo de datos) para garantizar que se produzca una transición con la frecuencia suficiente para que los relojes puedan permanecer. sincronizados entre sí. Sin el relleno de bits, una cadena muy larga de 0 podría resultar en una pérdida de sincronización; el host podría enviar 500 "0" y el dispositivo recibe 499 o 501 "0" s.
RS232 también tiene un reloj implícito en los datos. Sin embargo, en lugar de rellenar los bits, los bits de inicio y finalización garantizarán que se produzca una transición de vez en cuando.
Además del relleno de bits, tiene que preocuparse por el resto del protocolo de software. RS232 es prácticamente un estándar eléctrico que determina cómo usted señaliza 1 y 0, y deja interpretar esos 1s y 0s hasta los dispositivos. No hay encabezados, por ejemplo. USB es bastante diferente. Una pequeña parte del tráfico USB no es su información, sino su "administración". Por ejemplo, un paquete de datos tiene un CRC de 16 bits de los datos que está enviando; este CRC se utilizará para volver a intentar cualquier transferencia no isócrona que tenga errores. Incluso hay otros paquetes que no tienen ninguna relación con el hecho de que su dispositivo circule por el cable, por ejemplo, el paquete de sincronización que se envía al inicio de cada microframe.
Incluso el mero hecho de enviar datos a la PC requiere primero que la PC envíe un token de IN al dispositivo. La PC es propietaria del cable y no se permite que el dispositivo envíe ningún dato hasta que la PC lo solicite. Este token IN es otro ejemplo de tráfico adicional en la línea de datos que requiere USB y RS232 no.