En algunos aspectos se trata de una alternativa al anterior periférico SPI, pues comparten algunos de sus elementos.
Repasando un poco la historia del I2C, se trata de un bus de comunicaciones en serie a través del cual nos conectaremos a nuestro microcontrolador, su principal función en sistemas integrados.
La principal característica de I2C es que utiliza dos líneas para transmitir la información: una para los datos y por otra la señal de reloj. También es necesaria una tercera línea, pero esta sólo es la referencia (masa). Como suelen comunicarse circuitos en una misma placa que comparten una misma masa esta tercera línea no suele ser necesaria.
Las líneas se llaman:
- SDA: datos
- SCL: reloj
- GND: tierra
Las dos primeras líneas son drenador abierto, por lo que necesitan resistencias de pull-up.
Los dispositivos conectados al bus I2C tienen una dirección única para cada uno.
Pueden ser maestros o esclavos. El dispositivo maestro inicia la transferencia de datos y además genera la señal de reloj, pero no es necesario que el maestro sea siempre el mismo dispositivo, esta característica se la pueden ir pasando los dispositivos que tengan esa capacidad.
Esta característica hace que al bus I²C se le denomine bus multimaestro.
Ahora voy a hablar sobre las partes diferentes del I2C respecto a SPI, ya que coinciden en el teclado matricial, el conversor DAC, el bus de expansión que lo une con el microcontrolador y la referencia a alimentación. Diferenciándose en los siguientes elementos:
Reloj calendario:
El principal componente es el chip PCF8583, que se trata de un reloj y calendario basado en un CMOS de 2 MB de RAM estáticos. Para mayor curiosidad, adjunto pdf con datasheet (en ingles): PINCHA AQUI
Como puedes ver este chip tiene las patillas SCL y SDA, que anteriormente he descrito como las lineas que transmiten la información de reloj y de datos respectivamente.
Junto al chip, tenemos un cristal de 32.768 KHz y una batería que nos servirá para poder mantener la temporización correcta así como la RAM, ya que en caso de perderlo, se perdería la información también.
Debugger I2C:
Este debugger sirve para poder depurar todos los posibles problemas que nos puedan surgir.
Condensadores de desacoplo:
La razón por la cual se ponen estos condensadores (que muchas veces se ponen de serie sin tener la menor idea) es debido a que dada la alta velocidad de estos circuitos, se producen conmutaciones rápidas que generan la necesidad de mucha intensidad en poco tiempo, y dadas las pistas y cableados del circuito, suele existir un retardo en el suministro de la intensidad que vamos a solucionar con la inclusión de condensadores.
Y esto es to, esto es to, esto es to, esto es todo amigos!!!!
No hay comentarios:
Publicar un comentario