Está en la página 1de 5

UNIVERSIDAD PRIVADA DEL VALLE

FACULTAD DE INFORMATICA Y ELECTRÓNICA


INGENIERIA ELECTRONICA

PROTOCOLO I2C

ESTUDIANTE:
 Natalia Berrocal Gamez

MATERIA:
Microprocesadores II
DOCENTE:
 Ing. Edwin Huanca Choque
Tabla de contenido
1. Introducción..........................................................................................................................3
2. Funcionamiento....................................................................................................................3
3. Protocolo I2C........................................................................................................................3
4. HAL I2C................................................................................................................................4
5. I2C Maestro..........................................................................................................................4
6. I2C Esclavo.......................................................................................................................... 4
7. Diagramas............................................................................................................................ 4
8. Tabla de Configuración........................................................................................................ 4
9. Conclusión............................................................................................................................5
INFORME DE INVESTIGACIÓN

PROTOCOLO I2C

1. Introducción

El protocolo I2C, que significa Inter-Integrated Circuit, es un protocolo de comunicación


de bus serial que permite la comunicación entre dispositivos electrónicos. Fue desarrollado
por Philips (ahora NXP) y se utiliza ampliamente en una variedad de aplicaciones, desde
sensores hasta pantallas y EEPROMs. En este informe, exploraremos el funcionamiento del
protocolo I2C y cómo se implementa en un microcontrolador STM32 Blue Pill.

2. Funcionamiento

El protocolo I2C se basa en una comunicación maestro-esclavo, donde un dispositivo


maestro inicia y controla la comunicación con uno o varios dispositivos esclavos. Utiliza dos
líneas de señal, SDA (Serial Data) y SCL (Serial Clock), para transmitir datos y controlar la
sincronización. La línea SDA transporta los datos, mientras que la línea SCL genera los
pulsos de reloj para sincronizar la transferencia de datos.

3. Protocolo I2C

El protocolo I2C se rige por una serie de reglas y condiciones que los dispositivos deben
seguir para comunicarse correctamente. Algunos conceptos clave incluyen:

- Start Condition: Se inicia una comunicación I2C cuando el maestro genera una condición de
inicio (START) en la línea SDA. Esto indica el inicio de una transacción.

- Stop Condition: La comunicación I2C se detiene cuando el maestro genera una condición de
parada (STOP) en la línea SDA. Esto indica el final de una transacción.

- Dirección del Dispositivo: Cada dispositivo I2C tiene una dirección única de 7 bits o 10 bits
que se utiliza para identificarlo en el bus.

- Byte de Control: Antes de enviar datos, el maestro transmite un byte de control que incluye
la dirección del dispositivo y la operación que se realizará (lectura o escritura).

- ACK/NACK: Después de cada byte de datos, el receptor (maestro o esclavo) debe enviar un
ACK (acknowledge) o NACK (no acknowledge) para confirmar la recepción de datos.
4. HAL I2C

Los microcontroladores STM32 cuentan con una biblioteca llamada "HAL" (Hardware
Abstraction Layer) que facilita la configuración y el uso de periféricos, incluido el módulo I2C.
La HAL I2C proporciona funciones que simplifican la inicialización y la comunicación a través
del bus I2C.

5. I2C Maestro

Para configurar un STM32 Blue Pill como maestro I2C, debes realizar los siguientes pasos:

1. Inicializar el periférico I2C mediante la HAL I2C.


2. Configurar la velocidad de comunicación y las opciones del bus (por ejemplo, la dirección
del dispositivo esclavo).
3. Generar una condición de inicio (START).
4. Enviar la dirección del dispositivo esclavo seguida de la operación de lectura o escritura.
5. Transferir datos con ACK/NACK según corresponda.
6. Generar una condición de parada (STOP) al finalizar la transacción.

6. I2C Esclavo

Para configurar un STM32 Blue Pill como esclavo I2C, debes realizar los siguientes pasos:

1. Inicializar el periférico I2C como esclavo mediante la HAL I2C.


2. Configurar la dirección del dispositivo esclavo.
3. Habilitar las interrupciones I2C para responder a las solicitudes del maestro.
4. Procesar los datos recibidos y responder a las operaciones del maestro.

7. Diagramas
Ejemplo de diagrama de conexión de una LCD I2C a una stm32 bluepill
8. Tabla de Configuración

A continuación, se presenta una tabla de configuración típica para un dispositivo STM32


configurado como maestro I2C:
Parámetro Valor
Velocidad de I2C 100KHz
Dirección de dispositivo 0x3C
Modo de comunicación Lectura/Escritura
Tensión de alimentación 3.3V
Resistencia Pull-up 2.2k ohmios(SDA y SCL)

9. Conclusión

El protocolo I2C es una forma eficaz y ampliamente utilizada de comunicación entre


dispositivos electrónicos. Con la ayuda de la biblioteca HAL I2C, los microcontroladores
STM32, como el Blue Pill, pueden funcionar como maestros o esclavos I2C. Esto permite la
integración sencilla de sensores, memoria EEPROM, pantallas y otros dispositivos en
proyectos electrónicos. La comprensión de los conceptos fundamentales y la configuración
adecuada son clave para una comunicación I2C exitosa.

También podría gustarte