Está en la página 1de 7

ITSS- Modulos I2C y DCI MODULOS I2C y DCI

Paola Lizzet Esparza Godoy e-mail: paoesparzagodoy@hotmail.com

Resumen: Este capitulo trata de las caractersticas, estructura y 2 funcionamiento de los mdulos I C y DCI para las comunicaciones sncronas de tipo serie. Para la comunicacin del modulo I2C se utiliza seis registros de 16 bits, y existen dos actuadores llamados maestro y esclavo.

para sincronizacin serie de reloj Operaciones en sistemas multi-maestro. Puede detectar colisiones de bus y controlar el arbitraje de acceso al mismo Control del Slew Rate para velocidades del bus de 100 KHz y 400 KHz

1. INTRODUCCIN AL MODULO I2C


El modulo I2C se utiliza en las comunicaciones sncronas de tipo serie bien sea con microcontroladores o perifricos, tales como memorias EEPROM serie, convertidores A/D, displays, registros de desplazamiento, etc Este modulo puede funcionar de diversas formas: Interfaz I2C para comunicacin maestro-esclavo Modo esclavo I2C direcciones 7 a 10 bits Modo maestro II2C direcciones 7 a 10 bits con

2. CARACTERSTICAS FUNCIONAMIENTO

DE

El hardware implementa todas las funciones del maestro y del esclavo as como el direccionamiento de 7 y 10 bits. De esta forma, un modulo I2C puede funcionar como esclavo o maestro en un mismo bus. I2C Hay tres tipos de operacin I2C: 1. Operacin de esclavo con direccionamiento de 7 bits 2. Operaciones de esclavo con direccionamiento de 10 bits 3. Operaciones de maestro con direccionamiento de 7 o 10 bits Para el control de la comunicacin I2C se utiliza seis registros de 16 bits, de los cuales algunos no tienen funcin alguna.

con

Puerto I2C bidireccional para sistemas maestro-esclavo Control de la comunicacin serie mediante el puerto I2C

ITSS- Modulos I2C y DCI


I2CCON e I2CSTART son los registros de control y estado respectivamente. el registro I2CCON es leible y escribible El registro I2CRCV es el registro de recepcin. I2CTRN es el registro del buffer de salida en el cual se escriben los bytes durante ala operacin de transmisin El registro I2CADD contiene la direccin del esclavo. El bit ADD10 indica el modo direccionamiento (7 o 10 bits). El I2CBRG acta como el valor de la recarga del generador baudios. Para las operaciones de recepcin de datos, I2CRSR e I2CRCV forman juntos un buffer receptor doble. Cundo I2CRSR recibe un byte completo, se transfiere a I2CRCV y se genera una interrupcin. Durante la transmisin, el I2CTRN acta como un buffer normal.
I 2 C T R N I 2 C B R G I 2 C C O N I 2 C S T A T I 2 C A D D 0 2 0 2 -

0 2 0 4

0 2 0 6

I 2 C E N

I 2 C S I D L T R S T A T -

S C L R E L -

I P M E I N

A 1 0 M

0 2 0 8

A C K S T A T

B C L

N o m b r e S F R I 2 C R C V

D i r e c .

B i t 1 5

B i t 1 4

B i t 1 3

B i t 1 2

B i t 1 1

B i t 1 0

0 2 0 A

0 2 0 0

N o m b r e S F R

D i r e c .

B i t 9

B i t 8

B i t 7

B i t 6

B B B i i i t t t 4 3 5

B B B i i i t t t 2 1 0

ITSS- Modulos I2C y DCI


I 2 C R C V I 2 C T R N I 2 C B R G I 2 C C O N I 2 C S T A T I 2 C A D D 0 2 0 0 Registro de recepcin

Si el bit de A10M (I2CCON<10>) es 0 la direccin ser interpretada por el modulo como una direccin de 7 bits. Cuando se recibe una direccin se compara a los 7 bits menos significativos del registro I2CADD. Si el bit A10M es 1 la direccin ser de 10 bits y al recibirla, se la comparara con el binario 11110A9A8 (los bits A9 yA8 son los dos mas significativos de I2CADD)

0 2 0 2

Registro de transmisin

0 2 0 4

Generador de baudios

4. FUNCIONAMIENTO EN MODO ESCLAVO CON DIRECCIONAMIENTO DE 7 BITS


Una vez configurado el modulo para trabajar en modo esclavo (I2CEN=1), permanecer sin hacer nada hasta que le llegue un bit de inicio, mientras tanto, el modulo del I2C esta <<espera>> o Idle Una vez detectado el bit de inicio se carga los siguientes 8 bits en I2CRSR y se comparan con el registro I2CADD. En modo 7-bit(A1oM=0), los bits I2CADD se comparan con los de I2CRSR y el ultimo bit, I2CRSR, es el bit de R_W(lectura_escritura). Todos los bits que recibe el esclavo se muestra en el flanco de subida de la seal SCL. 4.1 TRANSMISION ESCLAVO EN MODO

0 2 0 6

D I S S L W G C S T A T

S M E N

G C E N

S T R E N I 2 C O V

A C K D T

A C K E N

R P C E E N N

R S S E E N N

0 2 0 8

A D D 1 0

I W C O L

D P S _ A

R R T _ B B W F F

0 Registro de direcciones 2 0 A

Fig. Mapa de registros del modulo I2C

3. LAS DIRECCIONES MODULO I2C

DEL

El registro contiene las direcciones del modulo esclavo.

Para transmitir datos se comienza poniendo el bit R_W a 1. Se enva el reconocimiento ACK en el nombre flanco y despus se mantiene la lnea SCL inactiva hasta que la CPU responda escribiendo I2CTRN. Se enva la seal SCL activando el bit

ITSS- Modulos I2C y DCI


SCLREL y entonces ya que se puede enviar el primer byte. Los bits de datos dejan de ser validos en el flanco de bajada de SCL, de tal forma que SDA es valida mientras SCL esta a nivel alto. 4.2 RECEPCION ESCALVO EN MODO El flag MI2CIF se activa al completar un mensaje del maestro. El flag SI2CIF se activa en la deteccin de un mensaje dirigido al esclavo.

7. SOPORTE DIRECCIONAMIENTO LLAMADA GENERAL

DE DE

Para recibir el bit de R_W se pone a 0. Lo bits entrantes en el flanco ascendente de CSCKL. Se reciben los primeros 8 bits y si I2CRCV no esta lleno I2COV no se activa, I2CRSR se transfiere a I2CRCV. La seal de reconocimiento ACK se enva en el noveno flanco de reloj.

Cuando se utiliza la direccin de llamada general, todos los dispositivos deben, en teora responder con un reconocimiento. Es una comprobacin general. La direccin de llamada general es una de las ocho direcciones reservadas para los propsitos especficos de los protocolos I2C. Consiste en todo ceros con R_W=0. Se reconoce la direccin de llamada general cuando se activa el bit GCEN que se encuentran en uno de los registros de control (I2CCON<15>=1). Tras la deteccin del bit de comienzo se vuelca un byte en I2CrSr y la direccin se compara con I2CADD, pero adems se compara con la direccin de llamada general, el I2CRSr se transfiere al I2CRCV despus del octavo flanco de reloj, se activa el flag del RBF, y en el noveno flanco (bit del ACK) se activa el flag de interrupcin principal (MI2CIF). Cuando se mantiene la interrupcin la causa se puede ver reflejada en el contenido del I2CRCV, pudiendo determinar si la direccin es de un dispositivo especfico o una direccin de llamada general.

5. FUNCIONAMIENTO EN MODO ESCLAVO CON DIRECCIONAMIENTO DE 10 BITS


El funcionamiento bsico en este tipo de direccionamiento es el mismo que en el de 7 bits. Sin embargo, los criterios para la comparacin de la direccin son mas complejas. El bit A10m es el encargado de especificar que la direccin en I2CAD es de 10 bits. Un esclavo necesita dos bytes para determinar su direccin en modo de escritura. El primer byte de la direccin es idntico para los mensajes de 7 bits y de 10 bits y de 10 bits, pero lo0s bits que se comparan son diferentes.
6.

INTERRUPCIONES

El mdulo I2C dispone de dos flags de interrupcin, MI2CIF (flag de interrupcin principal del I2C) y SI2CIF (flag de interrupcin auxiliar).

8. SOPORTE DEL MAESTRO

ITSS- Modulos I2C y DCI


Cuando se usa I2C y el dispositivo funciona como maestro soporta seis operaciones. 1. Una condicin de inicio o start en SDA y SCL. 2. Una condicin de RESTART en SDA y SCL. 3. Escribir al registro de I2CTRN que inicia la transmisin de datos/direccin 4. Una condicin de parada o stop en SDA y SCL 5. Configurar el puerto I2C para recibir datos 6. Una condicin de reconocimiento ACK al final del byte recibido Toda comunicacin comienza cuando el maestro enva la condicin de inicio. Se reconoce porque la lnea SCL est a 1 y en la lnea SDA hay un flanco descendente. El final de una transferencia se produce cuando el maestro genera la condicin deparada, consiste en que SCL sea igual al SDA soporte un flanco ascendente. El maestro se ocupa en toda comunicacin de generar los pulsos de reloj y las condiciones de inicio y parada. Una transferencia se termina con una condicin de parada o con una condicin de comienzo repetida. En la transmisin de modo maestro la informacin se enva en serie por la lnea SDA, mientras que SCL lleva la seal de reloj. El primer byte transmitido contiene la direccin del esclavo (7 bits) y el bit de direccin de los datos. En el bit R_W ser igual a 0. La informacin se transmite en grupos de 8 bits. Por cada byte enviado se recibir de reconocimiento ACK. En la recepcin del maestro, el primer byte transmitido contiene la direccin del esclavo (7 bits) y del bit de la direccin de los datos. El bit R_W ser igual a 1. La informacin se recibe en grupos de 8 bits va SDA, mientras q SCL funciona como salida del reloj. Despus de la recepcin de cada byte, se transmite un bit de reconocimiento ACK. Las acciones de inicio y de parada indican el principio y el final de la transmisin. 8.1 TRANSMISIN MAESTRO
S Direccin del esclavo R_W=0 A

EN
Dat o A

MODO
Dat o A P

l envi ya sea de un byte de datos, de una direccin 7 bits, o de la segunda mitad de una direccin 10 bits, se lleva a cabo escribiendo en el registro I2CTRN. El usuario solo podr acceder al I2CTRN cuando el mdulo se encuentre en estado Idle. Esta accin activara el flag TBF y permitir el comienzo de la siguiente transmisin. El flag del estado de transmisin TRSTAT, indica que el maestro esta enviando datos.

Escritura

Datos transferidos (n bytes +ACK)

ITSS- Modulos I2C y DCI


Fig. Ejemplo de trasmisin de datos

8.2 RECEPCIN MAESTRO


S Direccin del esclavo R_W=1 A

EN
Dat o A

MODO
Dat o A P

selecciona si el modulo I2C continua o no en marcha lenta

10. MODULO DE LA INTERFAS DEL CONVERTIDOR DE DATOS (DCI)


El modulo de la interfaz del convertidor de datos (DCI) permite la interconexin sencilla de dispositivos como codificadores/decodificadores de audio, de convertidores A/D y D/A.

Se activa al poner el primer bit RCEN (I2CCON) a 1. El mdulo del I2C deben estar en estado de espera (Idle) antes de fijar este bit. La informacin pasara entonces al registro I2CRSR y en cada octavo flanco de la SCL se activara el bit de reconocimiento ACK

Transferencia de trama de serie sncrona(de uno o varios canales) Interfaz de sonido Inter-IC(I2S) Modo AC (modo de link conforme).

Escritura

Datos transferidos (n bytes +ACK)

Fig Ejemplo de recepcin de datos

9. FUNCIONAMIENTO DURANTE EL MODO SLLEP Y EL MODO IDLE

Cuando el dispositivo entra en modo sleep todas las fuentes del reloj se detiene. Si el modulo se encuentra en medio de una operacin de trasmisin o de recepcin y entra en modo Sleep, la comunicacin termina y la informacin no es valida.

El modulo DCI se fundamenta como interfaz de alta calidad de aplicaciones de voz y sonido comprendidas entre 8 y 48KHz y con palabras de 13 a 24 bits para codificadores. Es muy til para telefona y modem, efectos musicales de instrumentacin, reconocimiento de voz, compresin de voz y audio, elimina del eco o de otras perturbaciones sonoras. Soporta los protocolos I2S (Inter IC sound) y AC97. Soporta hasta 16 ranuras de tiempo para un tamao mximo de la trama de 256 bits.

11. FUNCIONAMIENTO MODULO DCI

DEL

Cuando el sistema modo Idle el bit

funciona en de I2CSIDL

El bit DCIEN de control habilita este modo de operacin. Al poner este bit en 0 se representa el modulo y se pasa a funcionar en DCI.

ITSS- Modulos I2C y DCI


El DCI controla la direccin de los datos por las cuatro patitas de E/S asociada al modulo; de los registros de los puertos, LAT y TRIS para esta patita, se deshabilitan cuando se activa el bit de DCIEN. Los bits WS<3:0> del registro DCICON2 determinan el numero de bits en cada palabra de datos de DCI. Puede ser seleccionada cualquier longitud de los datos hasta 16 bits. El generador de trama sncrona (COFSG) es un contador de 4 bits que determinan la longitud de la trama en palabra de datos. El periodo se selecciona escribiendo en los bits del control de COSFG en el DCICON2 SFR. El periodo de COFSG en ciclos de reloj. modulo DCI genera una interrupcin asncrona cuando la transferencia del buffer intermedio de DCI haya terminado y la CPU este en modo SLEEP. El bit de control DCI esta a cero, el modulo DCI continuar funcionando normalmente en modo IDLE, y si se activa el bit DCISIDL, el modulo parar durante el modulo IDLE.

13. BIBLIOGRAFIA:
Microcontroladores avanzados dsPIC, controladores digitales de seales arquitectura programacin y aplicaciones.

12. OPERACIN EL MODOS SLEEP E ILDE

LOS

El modulo de DCI tiene la capacidad de funcionar en modo SLEEP. El

También podría gustarte