Sei sulla pagina 1di 5

MODULOS

C y DCI

Xavier Aldemar Jumbo Sarango e-mail: xavieraldemarjumbo@hotmail.com

1 INTRODUCCIN AL MODULO

funcionar como esclavo o maestro en un mismo bus. Hay tres tipos de operacin C:

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 C para comunicacin maestro-esclavo Modo esclavo C con direcciones 7 a 10 bits Modo maestro I C con direcciones 7 a 10 bits Puerto C bidireccional para sistemas maestro-esclavo Control de la comunicacin serie mediante el puerto C para sincronizacin serie de reloj Operaciones en sistemas multimaestro. 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 DE

Operacin de esclavo con direccionamiento de 7 bits Operaciones de esclavo con direccionamiento de 10 bits Operaciones de maestro con direccionamiento de 7 o 10 bits

Para el control de la comunicacin C se utiliza seis registros de 16 bits, de los cuales algunos no tienen funcin alguna. 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 CBRG 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.

1.2 CARACTERSTICAS FUNCIONAMIENTO

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

Non bre SFR I2C RC V I2C TR N I2C BR G I2C CO N I2C STA T I2C AD D

Dir ec . 02 00 02 02 02 04 02 06 02 08 02 0A

Bit 15 -

Bit 14 -

Bit 13 -

Bit 12 -

Bit 11 -

Bit 10 -

A D D

0 A

Fig Mapa de registros del modulo

1.3 LAS DIRECCIONES DEL MODULO

El registro contiene las direcciones del modulo esclavo. 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)

I2CE N ACK STA T TR ST AT

I2C SID L -

SC LR EL -

IP ME IN -

A1 0 M B C L

N o m br e S F R I2 C R C V I2 C T R N I2 C B R G I2 C C O N I2 C S T A T I2 C

D ir e c .

Bi t 9

B it 8

B it 7

B it 6

B it 5

B it 4

B it 3

B it 2

B it 1

B it 0

1.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 C 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.

0 2 0 0 0 2 0 2 0 2 0 4 0 2 0 6 0 2 0 8

Registro de recepcin

Registro de transmisin

Generador de baudios

DI S S L W G C S T A T

S M E N A D D 1 0

G C E N I W C O L

S T R E N I2 C O V

A C K D T D _ A

A C K E N P

R C E N S

P E N

R S E N

S E N

1.4.1 TRANSMISION EN MODO 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 SCLREL y entonces ya que se puede enviar el primer byte. Los bits de datos dejan de ser validos

R R _ B W F

T B F

0 2

Registro de direcciones

en el flanco de bajada de SCL, de tal forma que SDA es valida mientras SCL esta a nivel alto. 1.4.2 RECEPCION EN MODO ESCALVO 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. 1.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. 1.6 INTERRUPCIONES El modulo C dispone de dos flags de interrupcin, MI2CIF (flag de interrupcin principal del C) y SI2CIF(flag de interrupciones auxiliar. El flag MI2CIF se activa un mensaje del maestro. El flag SI2CFI se activa en la direccin de un mensaje dirigido al esclavo). 1.7 SOPORTE DEL MAESTRO Cuando se utiliza la direccin de llamada general, todos los dispositivos deben. En teora, responder con reconocimiento. Es una comprobacin general.

La direccin de llamada general es una de las 8 direcciones reservadas para los propsitos especficos del protocolo C. Consiste en todo con R_W= 0. Se reconoce la direccin de llamada general cuando se cativa el bit GCEN (general call enable ) que sE encuentra en uno de los registros de control (I2CCON=1). Tras la deteccin del bit de comienzo se vuelca un byte en I2CRSR ya al direccin se compara con I2CADD, pero adems tambin se compara con la direccin de llamada general 1.8 SOPORTE DEL MAESTRO Cuando una C y el dispositivo funciona como maestro soporta seis operaciones Una condicin de inicio o strart en SDA y SCL Una condicin del RESTART en SDA y SCL Escribir al registro de CTRN que indica la transmisin de datos/direccin. Una condicin el puerto C para recibir datos. 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 esta a 1 y en la lnea SDA hay un flanco descendente. 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 del modo la informacin se enva en serie por la lnea SDA, mientras que SCL lleva la seal de reloj. En el bit R_W ser igual a 1. En la recepcin del maestro, el primer byte transmitido contiene del esclavo (7bits) y el

bit de la direccin de los datos. El bit R_W ser igual a 0. La informacin se recibe en grupo de 8 bits va SDA. 1.8.1 TRANSMISIN EN MODO MAESTRO El envi ya sea de un byte de datos, de una direccin 7 bits, o dela segunda mitad de una direccin 10 bits, se lleva a cabo escribiendo en el registro CTRN. El usuario solo podr acceder al CTRN cuando el modulo se encuentra en estado Idle. Esta accin activara el flag TBR (buffer de Transmisin completo) y permitir l comienzo de la siguiente transmisin.

entra en modo Sleep, la comunicacin termina y la informacin no es valida. Cuando el sistema funciona en modo Idle el bit de CSIDL selecciona si el modulo C continua o no en marcha lenta

1.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. Transferencia de trama de serie sncrona(de uno o varios canales) Interfaz de sonido Inter-IC( S) Modo AC (modo de link conforme).

Direccin del esclavo

R_W=0

Dato

Dato

Escritura

Datos transferidos (n bytes +ACK)

Fig Ejemplo de trasmisin de datos 1.8.2 RECEPCION EN MODO MAESTRO Se activa al poner el bit ( CCON) a . El modulo del C debe estar en estado de espera (Idle) antes de fijar este bit. La informacin pasara entonces al registro CRSR y en cada octavo flanco de la SCL se activara el bit de reconocimiento ACK
S Direccin del esclavo R_W=1 A Dato A Dato A P

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 S (Inter IC sound) y AC97. Soporta hasta 16 ranuras de tiempo para un tamao mximo de la trama de 256 bits. 1.11 FUNCIONAMIENTO DEL MODULO DCI 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. 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

Lectura

Datos transferidos (n bytes +ACK)

Fig Ejemplo de recepcin de datos 1.9 FUNCIONAMIENTO DURANTE MODO SLLEP Y EL MODO IDLE EL

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

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 se determina por la siguiente formula:
Long.de Trama = Long.de palabra*FSG valor1

1.12 OPERACIN EL LOS MODOS SLEEP E ILDE El modulo de DCI tiene la capacidad de funcionar en modo SLEEP. El 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.

2. CONCLUSIONES: Para el control, de la comunicacin se utiliza seis registros de 16 bits I2CCON e I2CSTART son los registros de control El registro I2CADD contiene la direccin del esclavo

3. BIBLIOGRAFIA:

Microcontroladores avanzados dsPIC, controladores digitales de seales arquitectura programacin y aplicaciones, capitulo 24, Mdulos y DCI

Potrebbero piacerti anche