Cronometraje I2C: Definición y guía de especificaciones (Parte 2)

En esta publicación de blog, discutiremos I2C especificaciones de tiempo y las diversas formas en que los fabricantes a veces proporcionan estas especificaciones. Para una introducción a I2C y sus protocolos, consulte la publicación aquí.

yo2Las transferencias de datos C se producen a través de una interfaz física de dos hilos que consta de un reloj serie unidireccional (SCL) y una línea de datos bidireccional (SDA). Estas transferencias pueden ocurrir a velocidades de 100 kbits/s en modo estándar, 400 kbits/s en modo rápido, 1 Mbits/s en modo rápido plus y hasta 3,4 Mbits/s en modo de alta velocidad. Cada velocidad de datos tiene su propia especificación de tiempo que el maestro y el esclavo deben cumplir para que la transferencia de datos sea correcta. yo2Los dispositivos compatibles con C deben poder seguir las transferencias a sus propias tasas de bits máximas, ya sea transmitiendo o recibiendo datos a la tasa de datos seleccionada. Hay matices como la configuración y los tiempos de espera para una transferencia de datos adecuada a una velocidad de datos determinada. Discutiremos estas especificaciones en esta publicación de blog.

Figura 1, tomada de la NXP “I2Especificación de C-Bus y manual de usuario”, muestra un diagrama de tiempo que proporciona definiciones de las diversas especificaciones de tiempo para dispositivos de modo rápido en el I2autobús C. Solo usaremos el diagrama de tiempo del modo rápido para nuestra discusión, ya que la mayoría de LTC I2Las partes C admiten este modo. Sin embargo, las definiciones discutidas también son aplicables a los otros modos de velocidad. También discutiremos cómo se aplican estas especificaciones a los dispositivos esclavos como Linear Technologies I2Los dispositivos compatibles con C suelen ser esclavos.

Figura 1: yo2C Definición de temporización en modo rápido

tr se define como la cantidad de tiempo que tarda el flanco ascendente en alcanzar el 70 % de amplitud desde el 30 % de amplitud para SDA y SCL, mientras que tF se define como la cantidad de tiempo que tarda el flanco descendente en alcanzar el 30 % de amplitud desde una amplitud del 70 %.

Figura 2: Tiempo de subida y bajada

El tiempo de configuración se define como la cantidad de tiempo que los datos deben permanecer estables antes de que se muestreen. Este intervalo suele estar entre el flanco ascendente de SCL y el estado cambiante de SDA. El tiempo de retención, por otro lado, se define como el intervalo de tiempo después de que se haya iniciado el muestreo. Este intervalo es típicamente entre el flanco descendente de SCL y el estado cambiante de SDA. Es importante que los datos se mantengan estables durante estos intervalos, ya que de lo contrario, los datos se muestrearían incorrectamente.

en el yo2El estándar C, la cantidad mínima de tiempo requerida en estos intervalos, que varía según el modo de velocidad de funcionamiento, se especifica tanto para las condiciones de INICIO y PARADA como para los bits de datos. yo2Los dispositivos esclavos compatibles con C se especifican dentro de estos parámetros para reconocer los datos entrantes.

Recuerde que la condición de inicio se define como cuando la línea SDA pasa a BAJO antes de que SCL pase a BAJO, es decir, SDA pasa a un estado BAJO cuando la línea SCL está a ALTO.

Figura 3: Condiciones de inicio y parada

Tiempo de espera para la condición de inicio (tHD;STA): es el tiempo mínimo que los datos deben estar bajos antes de que SCL baje. Se mide como el tiempo transcurrido desde el 30 % de la amplitud de SDA desde una transición de ALTO a BAJO hasta el 70 % de la amplitud de SCL desde una transición de ALTO a BAJO.

Figura 4: Configuración y tiempo de espera para la condición de inicio (repetida)

Tiempo de configuración para una condición de inicio (tARRIBA; ESTA): es una especificación de tiempo que solo se tiene en cuenta durante una condición de inicio repetido. Es el tiempo mínimo que se requiere que la línea SDA permanezca alta antes de iniciar un arranque repetido. Esto se mide como el intervalo de tiempo entre el 70 % de amplitud de SCL desde una transición de BAJO a ALTO y el 70 % de amplitud de SDA desde una transición de ALTO a BAJO.

En una condición de parada, SDA pasa a un estado ALTO después de que SCL pasa a ALTO. Consulte la Figura 3. No existe un requisito de tiempo de espera para una condición de parada, sin embargo, aún es necesario un tiempo de configuración mínimo.

Tiempo de configuración para la condición de parada (tARRIBA; STO) se mide como el tiempo entre el 70 % de amplitud del flanco ascendente de SCL y el 30 % de amplitud de una señal ascendente de SDA durante una condición de parada.

Figura 5: Tiempo de configuración para la condición de parada

De manera similar, hay un tiempo de configuración para los datos que se define como la cantidad mínima de tiempo requerida para que SDA haya alcanzado un nivel estable antes de que tenga lugar una transición SCL. Esto se mide entre el 30 % de amplitud de SDA durante un flanco descendente o el 70 % de amplitud de SDA durante un flanco ascendente y el 30 % de amplitud de SCL durante un flanco ascendente.

Figura 6: Hora de configuración de los datos

La validez de los datos se mide en cada transición de datos y de reloj. el yo2La especificación C establece los tiempos válidos de datos máximos permitidos a diferentes velocidades. El tiempo de validez de los datos tDV; DAT se mide entre el flanco descendente de SDA al 30 % o el flanco ascendente de SDA al 70 % de amplitud con referencia al 30 % del flanco descendente de SCL. También hay una especificación de tiempo válido de reconocimiento por separado.DV;ACK que se mide de manera similar al tiempo válido de los datos, excepto que se mide solo en el flanco descendente del octavo bit de reloj. Ver Figura 1.

El tiempo de búfer especifica el tiempo libre del autobús entre las condiciones de parada y arranque. Este período de tiempo permite que otros dispositivos en el bus detecten un bus libre e intenten transmitir datos. Los dispositivos esclavos a menudo especifican esto como un tiempo libre de bus mínimo requerido. Si un maestro, que se comunicaba previamente con otro dispositivo, intenta dirigirse a un dispositivo esclavo sin dejar que pase el tiempo de búfer transcurrido entre su condición de parada e inicio, es posible que el dispositivo esclavo no pueda diferenciar la nueva condición de inicio como una transacción separada y no responder.

Figura 7: Tiempo Libre de Autobuses

Ahora que hemos definido las diversas especificaciones de temporización, veamos cómo las especifica el I2especificación C. Ver la figura 8 que se toma del NXP I2Manual de usuario C.

Figura 8: NXP I2Especificación de tiempo C

el yo2La tabla de especificaciones C define sus parámetros para permitir que los diseñadores de circuitos integrados diseñen sus circuitos integrados para que sean compatibles con los requisitos del bus. Como ejemplo un IC compatible con Fast Mode I2C estaría diseñado para reconocer un tiempo de espera de la condición de arranque de al menos 0,6 µs. Podría diseñarse para reconocer un tiempo de espera más rápido pero, como mínimo, debería reconocer tiempos de hasta 0,6 µs.

Tomando esta especificación, los fabricantes definen el I2compatibilidad C de sus circuitos integrados de dos maneras. Ejemplos de los cuales se proporcionan a continuación.

El LTC2493 es un ADC Delta Sigma de 24 bits que especifica su I2C temporización de la siguiente manera:

Figura 9: LTC2493 I2Tabla de especificaciones de tiempo C

Mientras que el LTC4261, que es un controlador Hot Swap de 48 V, especifica la temporización como se muestra a continuación:

Figura 10: Tabla de especificaciones de temporización LTC4261

¿Notas la discrepancia? Ambos dispositivos tienen las mismas especificaciones pero se presentan de manera diferente y, si bien esto puede ser una fuente de confusión, se puede explicar fácilmente.

La tabla de especificaciones de temporización LTC2493 representa datos desde el punto de vista del diseñador de firmware y le indica exactamente qué hacer. Por ejemplo, el tiempo de configuración para una condición de inicio repetido se especifica como un mínimo de 600 ns, lo que significa que el maestro debe proporcionar un pulso con un tiempo de configuración de al menos 600 ns. Esta es una copia de la I2C y está instruyendo al ingeniero de firmware cuál debe ser la sincronización de las señales.

El LTC4261, por otro lado, representa datos desde el punto de vista del IC en sí mismo, diciéndole al diseñador de firmware de qué es capaz el IC en sí. Por ejemplo, el tiempo de configuración mínimo para una condición de inicio repetido se define como un número típico de 30 ns y un máximo de 600 n, lo que significa que el LTC4261 garantiza que el tiempo de configuración mínimo no supere los 600 ns (por lo tanto, cumple con el mínimo requerido de 600 ns). la especificación), de hecho, puede reconocer intervalos de tiempo de configuración de hasta 30 ns, lo que permite un mayor margen en el tiempo.

Por lo tanto, las especificaciones de tiempo se pueden presentar de manera diferente aunque representen los mismos datos. En el caso de los dos ejemplos anteriores, ambas partes son consistentes con el I2C estándar y adherirse a I2C requisitos de tiempo.

Si quieres conocer otros artículos parecidos a Cronometraje I2C: Definición y guía de especificaciones (Parte 2) puedes visitar la categoría Generalidades.

¡Más Contenido!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir