Estoy tratando de analizar los comandos I2C enviados por un software de PC al chip R3910 DSP
El software utiliza una caja de programación (proporcionada por la misma empresa que fabrica el chip R3910) para comunicarse con el chip a través de I2C. El software puede enviar comandos para hacer cosas como silenciar/reactivar el chip, cambiar parámetros, habilitar funciones de desactivación, etc. El chip tiene pines SCL y SDA dedicados y la lógica alta en estas líneas es de alrededor de 1,29 V, la lógica baja es 0.
Estoy usando el pin de entrada analógica de un analizador lógico LHT00SU1 y el software PulseView para ver los cambios en las líneas SDA y SCL. La línea SCL parece mostrar un patrón normal, consistente con lo que se esperaría que pareciera un comando I2C. A continuación se muestra una sección de los datos totales recopilados en el pin SCL al enviar el comando de silencio desde el software de PC:
La línea SDA, sin embargo, parece normal en algunos lugares y distorsionada en otros.
Los primeros ciclos en el lado izquierdo de esta figura se ven bien, y lo que esperaría en una línea I2C, pero en el medio, la imagen se ve un poco extraña, por ejemplo, la lógica baja no llega a 0, mientras que en el cierto No estoy seguro de lo que está pasando en absoluto. Obtengo este mismo patrón en la línea SDA si repito el experimento con una tasa de muestreo más alta para el analizador lógico. He visto un patrón similar al ver la línea SDA usando un osciloscopio de alta calidad, así que estoy pensando que esto no está relacionado con la frecuencia de muestreo de mi analizador lógico.
¿Obtengo la lectura correcta en las líneas SDA/SCL?
La conexión de hardware actual se parece a esto.
simular este circuito : esquema creado con CircuitLab
Los pines del programador están conectados directamente a las almohadillas I2C en el chip, mientras que conecto las almohadillas SCL, SDA y GND directamente a mi programador. El circuito real se ve así:
He leído en algunos blogs que las líneas I2C requieren resistencias pull up, pero los esquemas de muestra del chip R3910 no mencionan ninguna resistencia pull up. Además, puedo controlar el chip usando la PC sin problemas (por lo que la señal I2C en sí no se daña) y los datos en la línea SCL también parecen normales, por lo que asumo que el chip tiene pull ups internos para las líneas I2C. Conecto el programador con el chip R3910 en una PC de escritorio, mientras uso el analizador lógico en una computadora portátil separada que funciona con batería, por lo que el analizador lógico y el programador están completamente separados entre sí (leí sobre la conexión a tierra que causa problemas al conectar la lógica barata analizadores y programador para el dispositivo bajo prueba a la misma PC).
¿Qué está causando la distorsión en mi señal SDA y cómo puedo hacer que se vea mejor en mi analizador lógico?
El último pulso SCL de cada serie pertenece al bit ACK. Para operaciones de direccionamiento y escritura, la línea SDA es controlada por el esclavo durante este tiempo de bit. A la derecha de su gráfico inferior están las operaciones de lectura, donde el comportamiento se invierte, y ahora son los 8 bits de datos que no se extraen correctamente, mientras que el bit ACK del host está bien.
Parece que su esclavo no puede bajar correctamente la línea SDA a GND. Compruebe el cableado de GND. Especialmente, asegúrese de que no haya una corriente alta en la línea GND debido a algún cortocircuito en la placa del dispositivo.
Tampoco pase corriente de suministro para relés, etc. a través de la línea GND. Utilice una fuente de alimentación local para la placa externa. Si no puede evitar esto último, use diferencial I²C en su lugar.
Sugiero usar un osciloscopio. La nota en los estados del analizador lógico
Desde el enlace en la pregunta:
El Noname LHT00SU1 es un analizador lógico de 8 canales basado en USB con una frecuencia de muestreo de hasta 24 MHz, con 1 canal analógico adicional ( en teoría, 2, pero solo se puede usar uno a la vez ; ancho de banda analógico de 3 MHz).
Este podría ser el problema de raíz. No sospecho del cableado ya que la funcionalidad siempre está bien cuando se programa a través de una PC
mitu raj
usuario13267
Huismán
Usuario323693
usuario13267
Arce
Huismán
usuario13267
usuario13267
usuario13267
Huismán
usuario13267
Arce
usuario13267
Alexey Kamensky
Sólo yo