Flujo de bits/datos desconocido. ¿Cómo averiguarlo?

Desarmé una báscula digital y en el circuito hay dos pines etiquetados como 'prueba'. Al conectar esto a la tarjeta de sonido de mi PC puedo ver que es una señal digital (altas/bajas), pero no sé cómo leerla/interoperarla.

¿Alguien sabe cómo hacer esto? Estoy bastante seguro de que una vez vi un programa gratuito/de código abierto que podía leer diferentes tipos de protocolos de datos. ¿Alguien lo sabe?

Aquí hay una grabación cuando se presiona arriba/abajo en la escala, tal vez ayude: http://lars.stonerocket.co.uk/images/electronics/weegschaal.wav

Gracias

si esto es con los 2 pines de prueba conectados a la entrada de la tarjeta de sonido, es posible que desee ver cada pin de prueba individualmente con el otro extremo de la entrada de la tarjeta de sonido conectado a un punto de tierra en el tablero. 1 pin puede ser el reloj y 1 la línea de datos y lo que grabó puede ser la diferencia de esas 2 señales.
en serio, ¿hay alguna forma de ver realmente la forma de onda? es difícil de analizar sólo con los oídos.
ábrelo en un editor de audio... audacity funciona bien

Respuestas (4)

Puede probar, xoscope , sigrok , SUMP o gtkwave .

Mirándolo con audacia (¡gracias, Mark!) puedes ver que hay celdas de bits definidas de aproximadamente 3,5 mseg cada una. La forma de onda básica parece datos en serie a esa velocidad, pero puede ver estos pequeños picos superpuestos en la forma de onda básica, que probablemente sean señales de reloj. Esto sería lo que esperaría si una de las líneas es un reloj y la otra son datos, y mide a través de ellos. Puede intentar hacer lo que Mark sugirió: encontrar un punto de tierra en el circuito y conectarlo a la tierra de la tarjeta de sonido, y luego enviar una señal al canal izquierdo y otra al derecho. Pero es bastante fácil separar visualmente el reloj de los datos en el editor de sonido.

Dicho esto, no parece que haya muchos datos allí. Hay básicamente dos secuencias, siendo estas una simple ..10101010.., y una un poco más complicada que parece '01101001' repetida una y otra vez. Pero estos son solo los bits en bruto. Podría ser algo así como un esquema NRZ, donde '01' significa 0 y '10' significa 1. O al revés. Pero no importa cómo lo cortes, simplemente no parece haber mucha complejidad allí.

la forma de onda en realidad tiene sentido si una línea es el reloj y otra los datos. La sección con "10101010" se crearía si la línea de datos se mantuviera baja (o alta) pero el reloj estuviera funcionando. La sección con "01101001" podría crearse con los datos reales que se transmiten combinados con el reloj aún en marcha. Todavía parece un estándar extraño, ya que eso significaría que el reloj está funcionando cuando no se transmiten datos, por lo que definitivamente no es I2C, supongo que podría ser SPI, pero sería una implementación extraña.
@Mark: creo que entiendo lo que quieres decir, crees que el reloj tiene un ciclo de trabajo del 50% con un período de aproximadamente 7 ms, alternando constantemente. lo que estoy pensando, sin embargo, es que el reloj es esa pequeña falla que ves alrededor de 0,25 ms después de cada cambio importante de nivel. También está entre las celdas de bits con 0 o 1 adyacentes. Pero incluso si se trata del 50% de CC, puede XOR eso y todavía no es una señal muy compleja. Voy a entrecerrar los ojos un poco más, tal vez haya desviaciones ocasionales del patrón.
Gracias por la ayuda. Grabar los pines por separado es una buena idea. A veces hay diferentes longitudes de desviación. Por ejemplo, @3,4 hay un máximo de 4 ciclos de reloj. O @4,3 hay un máximo de 3 ciclos de reloj. También podría grabar de nuevo, pero desde el principio, también se grabará la parte de arranque. ¿Hay quizás un programa que pueda alimentar este archivo de audio y pueda probar diferentes protocolos de datos?
bueno, si publica los datos de cada pin, probablemente podamos decirle el protocolo (creo que es solo SPI). Eso es realmente solo el primer 25% de la batalla. Después de que sepa que necesita ver qué datos está transmitiendo y averiguar qué es/hace/significa. La mejor manera de hacerlo es con un convertidor SPI a USB para que pueda monitorear el bus en una PC e inyectar datos en él. Esto se puede hacer con algunas herramientas diferentes, como el bus pirate flyguy mencionado u otras unidades, diolan.com/i2c/u2c12.html es mi favorito.

Solo disparar en la oscuridad, pero una interfaz de dos pines para algo como una escala es probablemente una señal en serie. Mi primer intento sería 9600 baudios con niveles de 3.3v. Si eso no funciona, probaría con diferentes velocidades de transmisión.

Si se trata de algún tipo de protocolo estándar, parece que podría conectarle un Bus Pirate y probar diferentes protocolos.

hm... esto parece un pequeño tablero muy bueno, ¿realmente lo has usado?