Anda di halaman 1dari 4

Comunicación I2C en el microcontrolador 18F4550.

I2C en pic es un modo de trabajo del módulo SSP (puerto serial síncrono del microcontrolador)

La comunicación I2C es una comunicación bidireccional half dúplex por lo que se permite enviar
y recibir datos por los mismos hilos, pero no simultáneamente

El bus I2C consta físicamente de dos líneas SDA y SCL. La línea SDA transmite los datos y las
líneas SCL transfieren la señal del reloj. Las líneas SDA y SCL son líneas bidireccionales de
drenaje abierto, por lo que deben estar unidas a Vcc mediante resistencias pull-up.

En la comunicación I2C, habrá un dispositivo maestro que inicia la transferencia de datos. El


dispositivo maestro proporciona un reloj para la comunicación. La red de comunicación puede
tener múltiples maestros conectados con múltiples esclavos en el mismo bus.

Todos los dispositivos en el bus I2C tendrán una dirección única. El dispositivo maestro en el bus
accederá al dispositivo esclavo con esta dirección.
Los maestros en el bus son generalmente microcontroladores que generan el reloj de acuerdo
con los valores de registro de configuración asociados con el módulo I2C. El reloj generado
estará disponible para el dispositivo esclavo a través de la línea SCL.
Tanto el maestro como el esclavo se comunican en sincronía con este reloj. El dispositivo
maestro inicia cada proceso de comunicación.
La comunicación en un bus I2C comienza con una señal de inicio generada por el maestro. La
señal de inicio actúa como una señal de alarma para todos los esclavos indicando que una
comunicación va a comenzar, seguido de la condición de inicio, el maestro transmitirá la dirección
del esclavo con el que necesita comunicarse. Todos los esclavos conectados al autobús recibirán
la dirección y se compararán con su propia dirección. El que coincida su dirección con la dirección
recibida enviará una señal de confirmación al maestro. El LSB de la dirección será un bit de
escritura / lectura, si 0 se accede al esclavo en el modo de escritura y si se accede al esclavo 1
en el modo de lectura.
Inicialmente.

La velocidad de comunicación puede ser de hasta 100 kbps en modo normal o standard, aunque
puede llegar a 400 kbps en modo rápido y en alta velocidad hasta 3Mbps, esto dependerá de los
dispositivos utilizados.

Conexiones para la comunicación I2C y descripción de las señales.

La disposición de pines para la comunicación I2C en el microcontrolador pic18f4550 es la


siguiente:

SDA en RB0

SCL en RB1
Conexiones master-slave

Señales de Start y stop

Inicialmente, cuando no hay comunicación y el bus I2C está libre, ambas líneas son altas para
iniciar la comunicación se produce una transición de 1 a en la línea SDA cuando SCL se mantiene
en 1. En este caso se considera señal como de INICIO. La comunicación en un bus I2C finaliza
con una condición de parada. Una transición de 0 a 1 a en la línea SDA cuando SCL se mantiene
alta se denomina condición STOP.
Los datos se transmiten en paquetes de 8 bits siendo El LSB el bit que indica si la operación será
de de escritura o lectura, si 0 se accede al esclavo en el modo de escritura y si se accede al
esclavo 1 en el modo de lectura.

Al darse inicio a la comunicación mediante Start se envía por SDA un paquete de 8 bits el cual
representa la dirección del esclavo con el que se desea realizar la comunicación, el ultimo bit
indica si se realizara una acción de lectura o escritura, los siguientes 8 bits son los datos que
serán transmitidos de un microcontrolador al otro

Anda mungkin juga menyukai