Ayuda a decodificar la señalización del bus

0

Estoy intentando decodificar un bus RS485 de un sistema de alarma. Si lo conecto a una computadora en baudios 3600, recibo cadenas ASCII que coinciden con lo que se muestra en el panel de alarma; sin embargo, cuando veo la señalización desde el microcontrolador al controlador de línea, esto es lo que veo:

El período entre las dos líneas de puntos grises es 2ms. A mí me parece más bien la codificación de Manchester, o de lo contrario hay demasiados bits y los anchos de pulso varían irregularmente de lo que puedo ver.

¿Alguien puede ayudarme con lo que está pasando? Decodifica las cadenas ASCII con un convertidor uart de PC, pero estoy tratando de identificar los caracteres que inician y terminan los paquetes, así que necesito poder leer la traza, pero tal vez la estoy decodificando incorrectamente.

Lo leí como 1001001001011011010010, que es más de 8 bits. Los anchos de los pulsos más pequeños son similares a 9600bps, pero no puedo entender por qué recibo ascii utilizable a 3600bps.

    
pregunta user7282391

2 respuestas

1

Con un UART a 9600 baudios, 8N1, esto se decodifica a cuatro bytes:

0 10001000 1 0 00101111 1 0 11111110 1 0 00001100 1

  0x11         0xF4         0x7F         0x30

Aparentemente, ese chip es más que un simple controlador de línea.

    
respondido por el CL.
3

Parece que tiene bits de paridad en la transmisión (o quizás algún noveno bit adicional): -

Las flechas rojas muestran las posiciones de los bits de inicio, por lo que los datos de carga útil me parecen: -

10010010

11110111

10001100

P = Paridad (noveno bit) S = Detener

No está codificado en Manchester, el período de inactividad sería 101010101, etc.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas