Si un bus I2C funciona a 400kHz, ¿cuál es el período de reloj, el rendimiento de datos en bits de datos/segundos y la eficiencia del bus? Soy muy nuevo en estos buses y el período de reloj es de 2,5 micro segundos.
Respuesta
¿Demasiados anuncios?No habrá una respuesta para obtener números específicos de rendimiento sin saber realmente qué protocolo de dispositivo y procedimiento operativo que está utilizando. La eficiencia de utilización del bus aumenta si opera con transacciones con el dispositivo que transfieren más datos por secuencia de INICIO / PARO.
Desde una perspectiva de protocolo en bruto, el bus I2C utiliza un tamaño de datos de 8 bits con reconocimiento de 9 bits. Así que asumiendo un reloj SCL generado a una velocidad uniforme la eficiencia de transferencia en bruto no será mejor que 8/9 o alrededor del 88% de eficiencia.
Para tener una idea de cómo abordar esto, tomemos un ejemplo específico de una EEPROM serie simple que tiene una interfaz I2C y desea leer dos bytes de datos por transacción. Hay algunos gastos generales que podríamos considerar de la siguiente manera:
- Secuencia de inicio (supongamos el equivalente a 2 tiempos de reloj).
- Byte de dirección del esclavo para establecer la selección de dispositivo y los bits de dirección superiores para leer. (8 + 1 relojes).
- Bits de dirección bajos de dónde leer en EEPROM. (8 + 1 relojes)
- Condición de inicio repetida para pasar a modo lectura (adivina el equivalente a 2 tiempos de reloj).
- Repetición de la dirección del esclavo con el bit de lectura activado (8 + 1 relojes).
- Lectura del primer byte (8 + 1 relojes).
- Lectura del segundo byte (8 + 1 relojes).
- Secuencia de parada (supongamos el equivalente a 2 tiempos de reloj).
- Tiempo nulo entre transacciones (Supongamos 5 tiempos de reloj).
Si sumas todos los tiempos de reloj equivalentes anteriores, hay 56 de ellos con una utilización real utilizable de 16 relojes para obtener los datos que se estaban leyendo. Esto da una eficiencia de acceso a los datos de 16/56 o alrededor del 28% de eficiencia.