Escriba un código I2C para la arquitectura Cyclone 2

-2

Realmente necesito la interfaz I2C de mi FPGA con algún dispositivo esclavo. Pensé que podría usar el códec de audio en mi FPGA como esclavo. He revisado algunos códigos de Internet para I2C. Pero no los consigo.

Para iniciar una secuencia de inicio, ¿qué hago? Sé que quiero manejar SDL bajo mientras SCL es alto. Pero no tengo mucha idea de cómo debo codificar.

process(Start)

begin

if Start='0' then

   ACTIVE='0';

else

   SCL='1';

   SDL='1';

   SDL='0';

   ACTIVE='1'; 

end if;

end process;

¿Es este el camino, mi inicio de inicio de secuencia debería ser? ¿Debo añadir algo más?

Además, lo que es más importante, ¿cómo se supone que debo esperar un reconocimiento?

    

1 respuesta

2

además de lo que se dijo anteriormente, puede encontrar ayuda para la especificación I2C en esto: enlace y VHDL en enlace . Pero tenga en cuenta que I2C puede personalizarse para leer / escribir diferentes bytes y también con otras funciones como alargamiento de reloj y reloj de sobremuestreo, por lo que es mejor escribir su código usted mismo.

    
respondido por el danirebollo

Lea otras preguntas en las etiquetas