¿Las señales diferenciales RS-485 no se "cruzarán"?

2

Tengo un problema por el que un determinado controlador que usa un tranceiver RS-485 (desconocido, debido a un dispositivo de terceros en resina epoxi) envía datos en un bus para que los niveles de señal no se crucen.

La señal se ve así (sí, lo sé, medida en un osciloscopio con cables conectados a tierra conectados a la GND del dispositivo, cada canal en los buses A y B).

El primer paquete de datos se envía desde mis tranceivers SN65HVD1781A-Q1 , el segundo se envía desde un tranceiver de terceros (cuyo chip no puedo saber debido al relleno de resina epoxi)

Parecequeelextremodemireceptornoverálasseñales"lo suficientemente bajas" para registrarlas correctamente. Sin este tranceiver de TI, puedo leer el controlador de un tercero desde un dongle fácilmente.

  • Esta imagen se generó usando una terminación de 150 ohmios en mi lado del tranceiver. Aunque un tercero insistió en no usar resistencia de terminación, no estoy seguro de por qué.
  • Interesante es eso

simular este circuito : esquema creado usando CircuitLab

a) Un tercero con rs485 USB dongle (sin tranceiver de TI) - funciona y recibe trabajos de envío.

b) SN65HVD1781 Un tranceiver con dongle funciona (no un tercero)

c) SN65HVD1781 Un tranceiver con un tercero (con o sin dongle) - tiene este problema.

Entonces, yo o el tercero podríamos manejar el bus al mismo tiempo ...

¿Cómo podría mitigar esta anomalía?

No es una solución directa

En la configuración de prueba no puedo acceder a los pines DE o nRE: /, pero sí, parece que hay algunos problemas de firmware. Comenzó a reescribir las partes de envío y recepción, solo para confirmar, las partes de envío único o recepción están funcionando. Actualmente todo parece ir positivamente.

    
pregunta crypton

1 respuesta

3

Esta es una suposición rápida, pero huele a que su transceptor no está liberando el bus. El otro transceptor está luchando contra el tuyo cuando intenta conducir las líneas a sus estados opuestos. El tuyo parece funcionar bien, ya que no tiene que luchar con nada más en el autobús.

Mire cuidadosamente su código y vea si libera la línea correctamente cuando termina de transmitir. O, a veces esto se hace en hardware. De cualquier manera, eche un vistazo de cerca a este mecanismo. Es probable que sea defectuoso.

Haga que su dispositivo envíe un mensaje con nada más conectado al bus. Luego, luego mida la corriente que se necesita para acortar la línea alta baja y la línea baja alta. Sospecho que encontrará que la corriente es mucho más de lo que debería ser solo de acuerdo con los despliegues pasivos del bus y los despliegues.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas