¿La línea SDA baja por el esclavo siempre?

1

Si debido a algún problema en el esclavo, el esclavo no puede dejar la línea SDA libre, por lo que el maestro puede controlarla. Su esclavo se pone bajo entre la transferencia de datos, pero no puede liberarlo.

En este tipo de situación, ¿cómo puede el controlador obtener acceso a la línea SDA para iniciar nuevamente una comunicación?

    
pregunta Virendra Kumar

1 respuesta

4

El esclavo puede estar atascado en mal estado. Desincronizado con el maestro. Intente enviar algunos relojes para hacer avanzar la máquina de estado esclava a un estado diferente. Esto ocurre con frecuencia con I2C durante el arranque y el tipo de ciclo de alimentación en situaciones. Pero también podría haber algún problema subyacente. Por ejemplo, su reloj puede estar sonando, y esto podría causar el problema. (Es posible que el reloj se registre como dos relojes). Por lo tanto, debe colocar un osciloscopio en el bus y asegurarse de que los niveles de señal y la integridad de la señal sean razonables. Asegúrese de que su frecuencia de reloj no sea demasiado rápida, también.

El CAV24C32 usa tan poca energía, en realidad podría alimentarlo desde una IO en el maestro si tiene un pin adicional. Si controla el IO de energía, asegúrese de que todas las demás líneas conectadas a la EEPROM también sean bajas, esto se restablecerá completamente.

    
respondido por el mkeith

Lea otras preguntas en las etiquetas