Depuración de I2C, efecto de las sondas del osciloscopio

0

Trabajando en una configuración I2C simple: Raspberry Pi conectada a un chip de audio WM8731. La Raspberry Pi configura el WM8731 (que es solo de escritura) sobre I2C.

El problema es que WM8731 no siempre responde con ACK. Tengo un analizador lógico conectado a las líneas I2C, y aproximadamente el 5% del tiempo las transmisiones terminan en NAK. No hay otros dispositivos en el bus.

Lo curioso es que cuando conecto sondas de osciloscopio a las líneas, aumenta considerablemente el número de NAK. El alcance muestra transiciones nítidas y agradables en SDA y SCL, pero a veces el WM8731 simplemente no se agota para ACK.

¿Qué podría estar ocurriendo de tal manera que simplemente adjuntar las sondas de alcance empeoraría el problema?

Señales durante la transmisión adecuada:

SeñalesduranteNAK:

    
pregunta Owen Osborn

1 respuesta

0

nuevo

Me gustaría saber si un amortiguador de 1MHz a la Rx reduciría la tasa de error NAK.

C = 560pF en serie con 220 ohmios en Rx a 0V. Algunos ajustes pueden ser necesarios. p.ej. 500 Ohm 270 pF

información antigua

I2S utiliza umbrales lógicos 74HCTxx o TTL. I2C utiliza umbrales estándar de CMOS.

Si el Vcc de cada punto final está flotando, la conexión de una sonda de alcance con un cable de tierra largo inductivo agrega un voltaje de modo común (0 V) que puede diferir de la tierra "flotante" y debido al acoplamiento de ruido CM en cada extremo, algunos Se puede producir una tensión diferencial.

Es difícil evaluar su ruido CM sin mediciones entre cada tierra con una derivación actual.

El cable tendrá una capacidad de 100 pF / m o más, y la adición de 10 nH / cm de la toma de tierra del alcance puede inducir una impedancia resonante que puede causar un timbre.

Investigue la entrada de ruido y experimente con una conexión a tierra en uno o ambos extremos de la comunicación. Además, tenga en cuenta las sondas gemelas en A-B para la integridad de la señal, de modo que cuando ambas sondas estén en la misma señal, se produzca una línea plana. (Vdif = 0)

Dependiendo de la longitud del cable y la tasa de bits, un transformador de ferrita CM puede ayudar a elevar la impedancia CM al ruido radiado.

El pull-up de R depende de la capacitancia del cable y del período de bits frente a la hora de subida y la cantidad de ruido.

enlace

respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas