EL BUS I2C
¿Qué características debería tener un bus pensado para el enlace entre los circuitos
integrados de un sistema microcomputador o microcontrolador? Algunas son:
¿Qué significa I2C?
Este acrónimo tiene como significado Integer Integrated Circuit. Que quiere decir que un bus cuyo ámbito de aplicación es la comunicación ente CI.
- Bus serie síncrono: Valida los datos en el canal serie, y no en el sentido de que en la línea de datos y no en el flujo que debería existir en otro flujo de datos.
- El sentido del enlace semibidireccional: Es decir existirá una única lineal de datos que podrá utilizarse para el flujo en ambos sentidos.
- Deberá admitir topologías multipunto. Es decir, podrán conectarse al bus varios
dispositivos, pudiendo actuar varios de ellos como emisores, aunque no simultáneamente.
- Un mismo dispositivo podrá actuar o como emisor o como receptor, en distintos
momentos.
- Un maestro podrá funcionar también como un esclavo. El motivo es que en las topologías multimaestro un maestro que haya ganado el gobierno o del bus pueda dirigirse a
cualquier otro maestro, que entonces deberá comportarse como un esclavo.
Señales en que se divide el bus I2C
1) SDA: Serial DAta, en inglés, es semibidireccional. Eléctricamente se trata de una señal al colector o drenador abierto.
2) SCL: Es la señal de sincronía (reloj serie, o Serial CLock en inglés) eléctricamente se trata de una señal al colector o drenador abierto.
De esta manera un excitador I2C realmente solo gobierna el estado 0, mientras que el estado 1 no es suministrado por el excitador directamente sino que es por medio de la oportuna resistencia.
Estados del bus I2C
El bus I2C puede encontrarse en distintos estados, que la norma define como los siguientes:
- Libre: Este estado se caracteriza por encontrase las líneas SDA y SCL a 1, sin que se esté
realizando ningún tipo de transferencia.
- Inicio: Se produce una condición de inicio cuando un maestro inicia una transacción
- Cambio: Cuando esta en la lineal SCL, la linea SDA puede cambiar de estado.
- Dato: Estado en el que una vez iniciada una transacción, queda definido por la fase alta de la señal de sincronía con SCL.
- Parada: Se produce una condición de fin o parada cuando estando la linea SCL a alta se produce un cambio de baja a alta en la linea SDA.
Formato de una transacción
- El carácter de 8 bits es la unidad de transferencia:
- Un carácter puede tener diversos significados en función de quien lo emita y en que instante lo haga.
- Dentro de una transacciones posible cambiar el sentido del flujo, pero hará falta generar nea condición de reinicio.
El significado de los caracteres:
1) Generar la condición de inicio, 2) Direccionar en modo de escritura en cto. 24C02 oportuno, 3) Verificar el reconocimiento al direccionamiento, 4) Enviar un carácter de valor 20h, 5) Generar condición de reinicio, 6) Repetir cuatro veces los 8 bits, 7) Generar condición de parada.
Filosofía del reconocimiento
El reconocimiento es obligatorio para todo esclavo receptor. Si uno no lo hace entonces el maestro emisor considerara que se ha producido un fallo en el bus y deberá establecer mecanismos oportunos de respuesta
Cuando el receptor es un maestro también puede intencionalmente no producirse el reconocimiento en medio de una transacción.
Mecanismo de sincronización
El bus I2C establece un mecanismo para que un esclavo lento pueda forzar a un maestro rápido e ir mas lento; a este mecanismo la normal lo denomina sincronización.
Por defecto, un maestro gobernará la señal de reloj del bus, SCL, a la velocidad que considere oportuno. Tan es así que no tiene por qué ser siempre la misma ni siquiera dentro de una
misma transacción ni dentro de un mismo carácter
Caracteres de dirección:
La dirección ya se sabe que es un identificador de siete bits que
representa un determinado circuito del bus I2C, el bit menos significativo del carácter de ocho bits indica el sentido de la transferencia de los siguientes caracteres.
La llamada general
La dirección de llamada general se ha implementado para permitir que ciertos mensajes que un maestro necesite enviar a todos los elementos conectados al bus se haga de manera colectiva, en lugar de individual direccionándolos uno tras otro.
Arbitraje en las topologías multimaestro.
Admite configuraciones en las que pueda existir más de un dispositivo capaz de actuar como maestro: se recurre a una técnica ingeniosa que se apoya, una vez más, en el hecho de que las líneas del bus I2C son a colector o drenador abierto.
El modo de alta velocidad
La norma I2C contempla tres modos de funcionamiento: normal, rápido y de alta velocidad. El primero admite tasas de hasta 100kb/s, el segundo de hasta 400 kb/s y el tercero 3,4 Mb/s.
Existe una compatibilidad descendente, de tal manera que un
dispositivo capaz de funcionar en modo de alta velocidad también lo hará en modo rápido y uno en modo rapido también lo hara en normal.
Topologías con velocidades mixtas
click to edit
Es posible trabajar con topologías mixtas en las que
existan circuitos normales, rápidos y de alta velocidad. En este caso es posible conseguir distintas velocidades de transferencia.
Niveles de tensión y corriente
TTL, CMOs,etc: Tension min: 3 V, tension max 1.5 V
Ctos con amplios margenes de alimentacion: Ten min: 3 V, Tension max: a baja: 1.5 V.