Introducción IIC y sus interrupciones
Introduccion IIC
El Inter-Integrated Circuit (IIC) provee un método de comunicación entre varios dispositivos. Está diseñado para operar hasta los 100 kbps con la máxima carga del bus y del tiempo. El dispositivo es capaz de operar a tasas de baudios altas, sin sobrecargar el bus. La longitud máxima de comunicación y el número de dispositivos que pueden ser conectados está limitado por la capacitancia del bus, la cual es de 400 pF.
Configuración del módulo:
Los pines SDA y SCL del módulo IIC1 pueden ser reposicionados por software usando el registro SOPT2[IIC1PS] tal como se muestra en la siguiente tabla. Este bit selecciona cual puerto de E/S con propósito general está asociado con la operación del IIC1.
SOPT2[IIC1PS] | Pines para SDA | Pines para SCL |
---|---|---|
0 por defecto | PTA2 | PTB6 |
1 | PTA3 | PTB7 |
Vectores de Interrupción:
Para la serie de microcontroladores MC9S08QE128, los cuales tienen dos IIC, el vector de interrupciones es compartido por ambos módulos IIC. Cuando las interrupciones son habilitadas para ambos módulos, se debe verificar el bit de IICIF (que hace referencia a la bandera de interrupciones) de los registros IIC1S y IIC2S (estos son los registros de status) para determinar cuál módulo es el causante de la interrupción.
Características:
El IIC incluye las siguientes características:
- Compatibilidad con el bus estándar del IIC.
- Operación con múltiples maestros.
- Software programable para una de las 64 frecuencias diferentes del reloj serial.
- Software que permite seleccionar el bit de reconocimiento (acknowledge bit)
- Manejo de interrupciones mediante la transferencia de datos byte por byte.
- Resolución de las interrupciones perdidas con un modo que hace intercambio automático de maestro a esclavo.
- Llamado a las direcciones de identificación de las interrupciones.
- Generación y detección de las señales START y STOP.
- Generación repetida de la señal START.
- Generación y detección del bit acknowledge.
- Detección de la disponibilidad del bus.
- Llamada general de reconocimiento.
- Extensión de la dirección a 10 bits.
Modos de Operación:
Se presenta a continuación una breve descripción de los modos de operación del IIC:
- Modo Corriendo o “Run”: Este es el modo de operación básico. Para conservar la energía en este modo, inhabilite el módulo.
- Modo de espera o “Wait”: El módulo seguirá funcionando mientras que el microcontrolador esté en modo de espera y pueda proporcionar una alarma de despertador.
- Modo detenido o “Stop”: El IIC está inactivo en el modo Stop para reducir el consumo de energía. La instrucción de Stop no afecta a los registros de estados del IIC. Esta instrucción reiniciará el contenido de los registros.
Descripción de Señales externas
Se describe a continuación las señales que son accesibles por cada usuario:
- SCL — Línea del Reloj Serial (Serial Clock Line): Es bidireccional, y es la línea del reloj serial del sistema del IIC.
- SDA - Línea de Data Serial (Serial Data Line): Es la línea de datos serial del sistema del IIC. Es bidireccional.