No pude encontrar ninguna referencia que diera una respuesta definitiva. Pero mirando unas pocas hojas de datos, no lo creo. USB está observando la presencia o ausencia de un cambio en el voltaje. Mientras que CANBus está observando el voltaje en sí mismo.
Aquí hay un ejemplo de una transmisión USB:
Losunosyloscerossecodificandependiendodesihayunatransiciónono.
AdiferenciadeCANBus,quetomaladiferenciaenlosnivelesdevoltajecomoseveen esta nota de la aplicación :
SiobservamosunahojadedatosparauntransceptorCANBus,porejemplo, MCP2551 , ver algo a lo largo de las líneas de:
Sym Characteristic Min Max Units
VDIFF(r)(i) Recessive differential input voltage -1.0 +0.5 V
VDIFF(d)(i) Dominant differential input voltage 0.9 5.0 V
Dado que se menciona una tensión negativa, esto me lleva a creer que la polaridad es importante y que no están tomando el valor absoluto de la tensión diferencial.
Así que si tenemos:
$$ CANH = 2.5V $$
$$ CANL = 2.5V $$
Normalmente el transceptor haría:
$$ CANH - CANL = 2.5V - 2.5V = 0.0V = Recessive $$
Si intercambias las líneas, lo haría:
$$ CANL - CANH = 2.5V - 2.5V = 0.0V = Recesivo $$
Hasta ahora todo bien. El problema viene cuando tenemos:
$$ CANH = 3.5V $$
$$ CANL = 1.5V $$
Aquí, el transceptor normalmente lo haría:
$$ CANH - CANL = 3.5V - 1.5V = 2.0V = Dominante $$
Si cambiaras las líneas, lo haría:
$$ CANL - CANH = 1.5V - 3.5V = -2.0V = recesivo (out \ of \ spec) $$
Para que el extremo receptor no vea más que bits recesivos.