Estoy tratando de hacer ingeniería inversa de una comunicación serial entre los microcontroladores (1 dispositivo & 1 microcontrolador en un tablero). Una MCU valida el otro MCU y quiero el crack de la validación y de imitar la validación de MCU. Quiero averiguar qué protocolo se utiliza para dar sentido a los datos. He capturado la comunicación con un analizador lógico y aquí está una captura de pantalla de PulseView:
PulseView tiene la función de decodificación, pero no sé por dónde empezar. La comunicación ocurre a través de 1 solo cable. Pero no estoy seguro de si el protocolo es "uno-alambre". ¿Se conocen los métodos estándar para identificar a un desconocido protocolo de comunicación? O tengo que identificar simplemente mirarlo?
Escribí un guión para convertir los datos en el tiempo requerido para cambiar de un estado a otro (de alto a bajo o de bajo a alto) para comparar las mediciones repetidas y la ausencia de la validación de MCU. Cada vez que los patrones de aspecto ligeramente diferente. Habría sido genial conocer a descifrar este en la matriz de bytes o lo que se destina.
El primer largo período de baja en cada ciclo, a veces es 90µs a veces 30µs. Cada ciclo tiene 14 interruptores en total. Largos períodos de alta entre los ciclos pueden variar en longitud (~270-330µs).
PS: mínimo tiempo requerido para que un cambio es 30µs como se ve en la 3ª fila en la imagen (120µs = 4 estados).
Gracias!
Edit: Aquí son ejemplos de señales, que no obedecen a la regla general.
Edit2: Distribución de alta períodos entre ciclos:
Edit3: En la primera fase (el zoom en la fila superior), hay 4 cuadros de partida con 90µs baja, seguido por 23 de los marcos de partida con 30µs baja y, finalmente, un marco de partida con 90µs baja de nuevo.
Edit4: Aquí está el sigrok archivo de sesión.