Cómo descubrir la inicialización que se está implementando

0

Cómo descubrir el protocolo de inicialización que se está implementando

La comunicación es entre un dispositivo, que no puedo decir (pero lo llamaré DeviceX) y la llave de un auto. No sé qué protocolo utiliza, sin embargo, creo que el protocolo es un tipo de I2C modificado. A continuación hice un esquema de la interconexión eléctrica:

simular este circuito : esquema creado usando CircuitLab

Como muestran los esquemas, puse un diodo en el fondo de la ruta de la clave, de esta manera puedo ver, por las formas de onda, quién controla la línea. A continuación se presentan las formas de onda. Azul es SCL, y Rojo es SDA.

Puedoverque,cuandolalíneaalcanzaunvoltajecero,significaqueelDeviceXloestáponiendoatierra,ycuandono,laClaveestácontrolandolalínea.Enunaimplementaciónanterior,emulounaclavequepodríaverificarquecuandocolocoelSCL,despuésdeuntiempo,elDeviceXcoloquelalíneaSDAabajo.LateclacontrolaSCLySDAparalaprimeracomunicación.

Entonces,comencémipropiaimplementaciónparaemularDeviceX.Hicelossiguientespasos:

  1. SDA=salida
  2. SDA=0
  3. SCL=input
  4. energizarlaclave
  5. Espera500us
  6. SDA=entrada
  7. EsperequelateclapongaelSCLbajo

Acontinuaciónsemuestranelesquemaylaformadeondaqueobtuve.SCLesazul,SDAesrojo.

simular este circuito

Intenté cambiar los pasos anteriores, pero nada hizo que la clave bajara el SCL. Lo único que noté fue que si la línea SDA comienza alta como SCL, tan pronto como se energiza la Tecla, la tecla no establece el SDA hacia abajo (pulso inverso).

¿Alguien tiene una sugerencia?

    
pregunta Daniel

0 respuestas

Lea otras preguntas en las etiquetas