Esta nota de aplicación describe un ejemplo de aplicación que utiliza el módulo SH7145F I2C para leer y escribir datos hacia y desde una EEPROM en una serie de 2 hilos (bus I2C). La comunicación de datos suele ser uno a uno. Por otro lado, el bus I2C realiza comunicación bidireccional con una sola línea de datos. Los datos se pueden enviar y recibir desde cualquier número de dispositivos porque el dispositivo maestro determina con qué dispositivo comunicarse especificando su dirección única.
Descripción general del bus I2C Las características del bus I2C son:
- El bus consta de dos líneas de bus, la línea de datos en serie (SDA) y la línea de reloj en serie (SCL). Ampliar un dispositivo de bus I2C es fácil.
- Siempre existe una relación maestro-esclavo entre los dispositivos, y cada dispositivo tiene una dirección única dentro del sistema. El dispositivo maestro primero especifica la dirección única del dispositivo para comunicarse, forma una ruta de comunicación y permite la comunicación de datos.
- Cualquier dispositivo puede ser un maestro (puede formar un sistema multimaestro). Por esta razón, la interfaz de bus I2C define un mecanismo para evitar conflictos de derechos de bus y prevenir la pérdida de datos.
- Las velocidades de transferencia de datos se extienden hasta 100 kbps en modo estándar y hasta 400 kbps en modo de alta velocidad (la especificación de bus I2C ver.2.0 define un máximo de 3,4 Mbps).
- El número total de dispositivos en el sistema de bus I2C está determinado por el límite de capacitancia de carga del bus del sistema de 400 pF.
- SMBus y ACCESS.bus son ejemplos de aplicaciones I2C.
Diferencia de la interfaz serial (SCI)
Las diferencias con la interfaz de comunicación en serie (SCI) se resumen a continuación.
Como se muestra en la tabla de la Figura 1 a continuación, SCI utiliza dos líneas de datos, una línea de transmisión de datos y una línea de recepción de datos. La comunicación de datos suele ser uno a uno. Por otro lado, el bus I2C realiza comunicación bidireccional con una sola línea de datos. Los datos se pueden enviar y recibir desde cualquier número de dispositivos porque el dispositivo maestro determina con qué dispositivo comunicarse especificando su dirección única. Además, dado que el bus I2C tiene un mecanismo para evitar conflictos de derechos de bus, puede admitir sistemas multimaestro en los que cualquier dispositivo puede convertirse en el maestro. Las velocidades de transferencia son de hasta 100 kbps en modo estándar y de hasta 400 kbps en modo rápido.
Método de conexión de bus I2C
La figura 2 muestra cómo se conecta la interfaz de bus I2C. Como se muestra en la figura, el bus I2C consta de una línea de reloj SCL y una línea de datos SDA, cada una conectada a la fuente de alimentación del bus VBB a través de resistencias pull-up. Los pines SCL/SDA del dispositivo 1 y el dispositivo 2 están cableados Y conectados a las líneas SCL y SDA respectivamente.
Cuando el dispositivo 1 reduce la línea SCL, el dispositivo 2 sabe que otro dispositivo está usando el bus al monitorear el estado de la línea SCL. Debido a la conexión AND cableada, el dispositivo 2 puede reducir el SCL para poner el dispositivo 1 en modo de espera incluso cuando el dispositivo 1 está usando el bus para controlar la línea SCL.