¿Abrir la entrada de drenaje en el módulo I2C HDL?

1

Estoy tratando de entender cómo funciona un módulo maestro I2C (en Verilog).

He encontrado en Github este módulo, que no parece demasiado complejo. enlace

Tiene una entrada llamada open_drain que siempre se encuentra en un nivel alto en su banco de pruebas.

No puedo entender por qué vale la pena.

¿Alguna idea?

    
pregunta Salva

1 respuesta

1

El código en el módulo le da una idea bastante buena de lo que esto hace, selecciona entre si la salida está siendo elevada o si está enviando datos.

Con la señal de open_drain puede extraer las salidas en alto externo al módulo.

input open_drain, // Open drain

assign scl_out = open_drain ? 1'b0 : scl_count[1];

Otra nota es que en algunos FPGA necesitarás un módulo adicional que cambia el pin a un estado de alta impedancia requerido por I2C.

    
respondido por el laptop2d

Lea otras preguntas en las etiquetas