¿Cuál es la velocidad de respuesta para I2C?

9

Estoy configurando I 2 C en un PIC18 usando las funciones integradas del compilador C18 como se describe en la sección 2.4 de documentación :

void OpenI2C2( unsigned char sync_mode,
    unsigned char slew );

No estoy seguro de qué debo hacer con slew . Puedo elegir entre dos opciones, definidas en i2c.h :

  • SLEW_OFF : tasa de giro deshabilitada para el modo de 100 kHz
  • SLEW_ON : tasa de giro habilitada para el modo de 400 kHz

En la hoja de datos en el registro 15-1, página 257, se explican las dos opciones En un poco más de detalle:

  • 1 = Control de velocidad de giro desactivado para el modo de velocidad estándar (100 kHz y 1 MHz)
  • 0 = Control de velocidad de giro habilitado para el modo de alta velocidad (400 kHz)

Aunque no lo entiendo, tengo un par de preguntas:

  1. ¿Qué es la tasa de variación?

  2. Para mí, las dos opciones no tienen sentido. ¿Qué sucede si deseo deshabilitar la velocidad de respuesta para 400 kHz y habilitarla para 100 kHz? ¿Por qué es esto?

  3. ¿Cuándo debo elegir SLEW_OFF y cuando SLEW_ON ?

pregunta Keelan

1 respuesta

7

La velocidad de giro es la rapidez con la que la señal cambia de baja a alta, o viceversa. Al limitar esta transición abrupta, puede reducir el timbre de las reflexiones de la señal y limitar las interferencias entre las líneas de señal.

La forma en que funciona, sin embargo, es que a 100 kHz, las velocidades de señal son tan lentas que la velocidad de giro realmente no importa; a 400 kHz puede ser capaz de arreglar un circuito problemático, limitándolo; pero luego, cuando llega a 1MHz, realmente necesita toda la velocidad de transición que puede obtener, por lo que solo tiene que hacer una buena adaptación de señal y enrutar sus líneas con más cuidado.

El bit en cuestión no hace más que habilitar o deshabilitar la función. El resto es simplemente un consejo. Las velocidades están entre paréntesis, ya que es solo una sugerencia.

    
respondido por el gbarry

Lea otras preguntas en las etiquetas