Expo diseno

15
UNIVERSIDAD FERMIN TORO UNIVERSIDAD FERMIN TORO VCE – RECTORADO ACADEMICO VCE – RECTORADO ACADEMICO FACULTAD DE INGENIERIA FACULTAD DE INGENIERIA ESCUELA DE TELECOMUNICACIONES ESCUELA DE TELECOMUNICACIONES I²C I²C

Transcript of Expo diseno

UNIVERSIDAD FERMIN TOROUNIVERSIDAD FERMIN TOROVCE – RECTORADO ACADEMICOVCE – RECTORADO ACADEMICO

FACULTAD DE INGENIERIA FACULTAD DE INGENIERIA ESCUELA DE TELECOMUNICACIONESESCUELA DE TELECOMUNICACIONES

I²CI²C

GLOSARIO DE TERMINOS GLOSARIO DE TERMINOS

1) SCL (System Clock) es la línea de los 1) SCL (System Clock) es la línea de los pulsos de reloj que sincronizan el sistema. pulsos de reloj que sincronizan el sistema.

2) SDA (System Data) es la línea por la que 2) SDA (System Data) es la línea por la que se mueven los datos entre los dispositivos. se mueven los datos entre los dispositivos.

3) GND (Masa) común de la interconección 3) GND (Masa) común de la interconección entre todos los dispositivos "enganchados" entre todos los dispositivos "enganchados" al bus. al bus.

4) Maestro (Master): Dispositivo que determina los 4) Maestro (Master): Dispositivo que determina los tiempos y la dirección del tráfico en el bus. Es el único tiempos y la dirección del tráfico en el bus. Es el único que aplica los pulsos de reloj en la línea SCL. Cuando se que aplica los pulsos de reloj en la línea SCL. Cuando se conectan varios dispositivos maestros a un mismo bus conectan varios dispositivos maestros a un mismo bus la configuración obtenida se denomina "multi-maestro". la configuración obtenida se denomina "multi-maestro".

5) Esclavo (Slave): Todo dispositivo conectado al bus que 5) Esclavo (Slave): Todo dispositivo conectado al bus que no tiene la capacidad de generar pulsos de reloj. Los no tiene la capacidad de generar pulsos de reloj. Los dispositivos esclavos reciben señales de comando y de dispositivos esclavos reciben señales de comando y de reloj generados desde el maestroreloj generados desde el maestro

44

Historia del Bus Historia del Bus I²CI²C

El bus I2C fue El bus I2C fue desarrollado a desarrollado a principios de 1980 principios de 1980 por Philips Su por Philips Su propósito original era propósito original era proporcionar una proporcionar una manera fácil de manera fácil de conectar un CPU a conectar un CPU a los chips de los chips de periféricos en un set periféricos en un set de televisiónde televisión. .

Que es Que es I²C ?I²C ?

Tiene

versión 1.0 data del año 1992

versión 2.1 del año 2000

Funcionamiento del bus Funcionamiento del bus

I²C I²C

Como dijimos, las líneas Como dijimos, las líneas SDA y SCL transportan SDA y SCL transportan información entre los información entre los dispositivos conectados dispositivos conectados al bus (ver: Figura 1).al bus (ver: Figura 1).

Cada dispositivo es Cada dispositivo es reconocido por su código reconocido por su código (dirección) y puede (dirección) y puede operar como transmisor operar como transmisor o receptor de datos.o receptor de datos.Además, cada dispositivo Además, cada dispositivo puede ser considerado puede ser considerado como Master o Slave.como Master o Slave.

Conexiones del Conexiones del Circuito Circuito USBI2C USBI2C

CARACTERISTICACARACTERISTICAS S I²CI²C

Se necesitan solamente dos líneas, la de datos (SDA) y la de Se necesitan solamente dos líneas, la de datos (SDA) y la de reloj (SCL). reloj (SCL).

Cada dispositivo conectado al bus tiene un código de Cada dispositivo conectado al bus tiene un código de dirección seleccionable mediante software. Habiendo dirección seleccionable mediante software. Habiendo permanentemente una relación Master/ Slave entre el micro permanentemente una relación Master/ Slave entre el micro y los dispositivos conectados y los dispositivos conectados

El bus permite la conexión de varios Masters, ya que incluye El bus permite la conexión de varios Masters, ya que incluye un detector de colisiones. un detector de colisiones.

El protocolo de transferencia de datos y direcciones posibilita El protocolo de transferencia de datos y direcciones posibilita diseñar sistemas completamente definidos por software. diseñar sistemas completamente definidos por software.

Los datos y direcciones se transmiten con palabras de 8 bits. Los datos y direcciones se transmiten con palabras de 8 bits.

AplicacionesAplicaciones Se utilizan profusamente en Se utilizan profusamente en

los reproductores de discos los reproductores de discos compactos, en los compactos, en los reproductores de sonido y de reproductores de sonido y de cintas de vídeo digitales, y en cintas de vídeo digitales, y en los equipos de procesamiento los equipos de procesamiento de señales digitales de sonido de señales digitales de sonido y vídeo.y vídeo.

En la actualidad se utiliza en En la actualidad se utiliza en muchos dispositivos, en muchos dispositivos, en especial en equipos de vídeo especial en equipos de vídeo como monitores de como monitores de computadora, televisores y computadora, televisores y videocaseterasvideocaseteras

Protocolo de Protocolo de programación para el programación para el

bus bus I²C I²C

Lo primero que ocurre en un bus I2C es que el Lo primero que ocurre en un bus I2C es que el dispositivo maestro envía una secuencia de inicio. dispositivo maestro envía una secuencia de inicio. Esto alerta a los dispositivos esclavos, Esto alerta a los dispositivos esclavos, poniéndolos a la espera de una transacción. Éstos poniéndolos a la espera de una transacción. Éstos quedan atentos para ver si se trata de una quedan atentos para ver si se trata de una solicitud para ellos. A continuación el dispositivo solicitud para ellos. A continuación el dispositivo maestro envía la dirección de dispositivo.maestro envía la dirección de dispositivo.

El dispositivo esclavo que posee esa dirección El dispositivo esclavo que posee esa dirección continuará con la transacción, y los otros continuará con la transacción, y los otros ignorarán el resto de los intercambios, esperando ignorarán el resto de los intercambios, esperando la próxima secuencia de inicio. la próxima secuencia de inicio.

Un ejemplo Un ejemplo esquemático esquemático

La conversión La conversión analógica-digitalanalógica-digital (ADC) consiste en la (ADC) consiste en la transcripción de señales analógicas en señales digitales, transcripción de señales analógicas en señales digitales, con el propósito de facilitar su procesamiento (codificación, con el propósito de facilitar su procesamiento (codificación, compresión, etc.) y hacer la señal resultante (la digital) compresión, etc.) y hacer la señal resultante (la digital) más inmune al ruido y otras interferencias a las que son más inmune al ruido y otras interferencias a las que son más sensibles las señales analógicas.más sensibles las señales analógicas.

Un conversor Un conversor digital-analógicodigital-analógico o DAC ( o DAC (digital to analogue digital to analogue converterconverter) es un dispositivo para convertir datos digitales ) es un dispositivo para convertir datos digitales en señales de corriente o de tensión analógica.en señales de corriente o de tensión analógica.

Funcionamiento del Funcionamiento del MaestroMaestro

Cuando el dispositivo maestro quiere Cuando el dispositivo maestro quiere comunicarse con un esclavo: comunicarse con un esclavo:

Secuencia de inicio SECUENCIASSecuencia de inicio SECUENCIAS

ESPECIALESESPECIALES

Secuencia de paradaSecuencia de parada

Cuando se están transmitiendo datos, la línea SDA debe Cuando se están transmitiendo datos, la línea SDA debe permanecer estable, y jamás cambiar, mientras la línea SCL permanecer estable, y jamás cambiar, mientras la línea SCL está alta. está alta.

Las secuencias de inicio y de parada señalan el comienzo y Las secuencias de inicio y de parada señalan el comienzo y el final de una transacción con los dispositivos esclavosel final de una transacción con los dispositivos esclavos

Funcionamiento de Funcionamiento de un Esclavoun Esclavo

Esta operación es mas complicada.Esta operación es mas complicada.

Antes de leer datos desde el dispositivo esclavo, primero se le debe informar Antes de leer datos desde el dispositivo esclavo, primero se le debe informar desde cuál de sus direcciones internas se va a leer. desde cuál de sus direcciones internas se va a leer.

NOTA: Es igual a cuando NOTA: Es igual a cuando se desea escribir en élse desea escribir en él

De manera que una lectura desde un dispositivo esclavo en De manera que una lectura desde un dispositivo esclavo en realidad comienza con una operación de escritura en elrealidad comienza con una operación de escritura en el

Escritura en un Escritura en un dispositivo esclavo dispositivo esclavo

1. Enviar una secuencia de inicio 1. Enviar una secuencia de inicio

2. Enviar la dirección de dispositivo con el bit 2. Enviar la dirección de dispositivo con el bit de lectura/escritura en bajo de lectura/escritura en bajo

3. Enviar el número de registro interno en el 3. Enviar el número de registro interno en el que se desea escribir que se desea escribir

4. Enviar el byte de dato 4. Enviar el byte de dato

5. [Opcionalmente, enviar más bytes de dato] 5. [Opcionalmente, enviar más bytes de dato]

6. Enviar la secuencia de parada6. Enviar la secuencia de parada

EJEMPLOEJEMPLO

Como ejemplo, veamos un SRF08, Como ejemplo, veamos un SRF08, que tiene una dirección de bus que tiene una dirección de bus fijada en fábrica de 0xE0. Para fijada en fábrica de 0xE0. Para comenzar una medición de comenzar una medición de distancia con el SRF08 se debe distancia con el SRF08 se debe escribir 0x51 en el registro de escribir 0x51 en el registro de comando, ubicado en la dirección comando, ubicado en la dirección interna 0x00. interna 0x00. La secuencia es la La secuencia es la que sigue:que sigue:

1. Enviar una secuencia de inicio 1. Enviar una secuencia de inicio

2. Enviar 0xE0 (La dirección de 2. Enviar 0xE0 (La dirección de dispositivo del SRF08 con el bit de dispositivo del SRF08 con el bit de lectura/escritura en bajo) lectura/escritura en bajo)

3. Enviar 0x00 (dirección interna del 3. Enviar 0x00 (dirección interna del registro de comando) registro de comando)

4. Enviar 0x51 (el comando para 4. Enviar 0x51 (el comando para comenzar la medición del SRF08) comenzar la medición del SRF08)

5. Enviar la secuencia de parada5. Enviar la secuencia de parada