¿Cuánto tiempo / grande es un reconocimiento I2C?

5

Me gustaría saber, ¿cuánto tiempo / grande debería ser un ACK de un esclavo a su amo? Me estoy comunicando con un módulo usando el protocolo I2C. Pero el gran espacio en blanco en el medio, ¿es esto un ACK del esclavo al maestro (µc) como se esperaba?

Vista completa

Primerplanoizquierdo

Medio de primer plano

Primerplanoaladerecha Lo que estoy haciendo en el software como pseudocódigo es:

setSlaveAddress(0x48)
sendData(0x55);
    
pregunta ohiliouh

1 respuesta

5

El dispositivo esclavo con el que se está comunicando es alargando el reloj , que es una característica de I2C. No todos los dispositivos implementan estiramientos de reloj. Cualquier dispositivo en el bus puede estirar el reloj, pero los esclavos usan el estiramiento del reloj para acelerar los datos entrantes.

Después de un bit de ACK, un esclavo puede mantener el reloj bajo para indicar que no está listo para recibir más datos. Debido a que SDA y SCL son de drenaje abierto, la lógica baja se crea tirando de la línea baja y la lógica alta se crea al no conducir la línea (las líneas deben tener resistencias de tracción). Por lo tanto, el SCL bajo de esclavitud tendrá prioridad sobre el maestro que trata de dejar que la línea flote en alto. El esclavo indica que está listo para tomar más datos cuando finalmente libere SCL.

    
respondido por el downbeat

Lea otras preguntas en las etiquetas