La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Bus I2C Bus serie síncrono. (+-) SDA: datos SLC: reloj 0..100kbits/s (pero también 0..400kbits/s y 3.4Mbits/s)

Presentaciones similares


Presentación del tema: "Bus I2C Bus serie síncrono. (+-) SDA: datos SLC: reloj 0..100kbits/s (pero también 0..400kbits/s y 3.4Mbits/s)"— Transcripción de la presentación:

1 Bus I2C Bus serie síncrono. (+-) SDA: datos SLC: reloj 0..100kbits/s (pero también 0..400kbits/s y 3.4Mbits/s)

2

3 AMBAS: conectadas a Vcc con resistencia (pull-up) Estado inactivo (1) Combinación de entradas AND

4 MAESTRO: iniciador de transacción (transmisor/receptor) admite múltiples maestros ESCLAVO: (transmisor/receptor) obviamente. PAQUETE: 8 bits (MSB primero) cada bit durante el semiperiodo alto del reloj (SLC) (cambios en el semiperiodo bajo) ACK: 1 bit, reconocimiento del receptor. (0, reconocido. 1 no reconocido - implica final de transacción-) (wait): se induce un estado wait manteniendo SLC a cero el tiempo necesario.

5 Establecimiento y cierre de una transacción. START: situación especial. Flanco de bajada durante el semiperiodo alto de SLC. Inicio de transacción STOP: situación especial. Flanco de subida durante el semiperiodo alto de SLC. Final de transacción

6 Condiciones de transmisión. Dato válido durante la fase activa del reloj (SCL) Cambio de SDA durante la fase inactiva de (SCL) Reconocimientos: 0 Dato reconocido 1 Dato no reconocido

7 TRANSACCIÓN.

8 DETALLE

9 SINCRONIZACIÓN.

10 ARBITRAJE SCL es resultado de un AND de las señales de reloj de los maestros. Sincronizar: empezar a contar a partir de la detección de un flanco de bajada. SDA es igualmente resultado de un AND de las líneas de datos de los maestros Competición. Vence el que active un "0" frente al que active un "1"

11 Arbitraje 1º El bus está libre porque la línea SCL está a 1 de forma permanente 2º Casualmente dos maestros generan un START en instantes lo suficientemente próximos para que no se percaten de ello. Comienza el proceso de arbitraje. 3º Cada uno va depositando en la línea SDA sus datos y comprobando que se mantienen allí. 4º Si en algún momento detectan que el dato leído no se corresponde con el que ellos depositaron se consideran perdedores y abandonan el uso del bus. Nota: Esta competición debería resolverse antes de que uno de los contendientes generara un STOP o repitiera un START pues es imposible resolver un conflicto entre un bit de datos y una de estas "situaciones especiales".

12 ARBITRAJE

13 Formato de la transacción: 1-Señal de START 2-Un paquete que contiene la dirección del dispositivo esclavo invocado. 7 bits 3-Un bit de dirección R/W# 4-Un bit de reconocimiento 5-Un paquete de datos (8 bits) 6-Un bit de reconocimiento.... N- Señal de STOP

14

15 Transmisión simple. En un solo sentido

16 Transmisión que implica ambos sentidos: Lectura seguida de escritura o escritura seguida de lectura

17 Situaciones de finalización de una transacción: Lectura El maestro genera un STOP como reconocimiento (en lugar de) del último paquete recibido El maestro reconoce el último paquete y genera un STOP EL maestro reconoce o no el ultimo paquete y genera un nuevo START Escritura El esclavo no reconoce el último paquete. El maestro genera un STOP (Transacción errónea) El maestro genera un STOP o un START tras el último reconocimiento

18 Direccionamiento. Direcciones de dispositivo de 7 bits.

19 Direcciones reservadas: 0000xxx 1111xxx Llamada general: 00000000AXXXXXXXBA Todos los dispositivos esclavos habilitados para ello responderán a esta llamada. Servirá obligarlos a realizar alguna función de inicialización START BYTE (00000001A) Se trata de una dirección inútil a la que no pueden responder ningún dispositivo colgado al bus, así que es el propio maestro quién activa el bit de reconocimiento.

20 Secuencia de iniciación recomendada con los microcontroladores que no disponen de hardware I2C START (S) START BYTE (00000001) ACK START(Sr) el objetivo es propiciar que el microcontrolador pueda realizar un polling ralentizado hasta que detecte el START BYTE momento en el cual aceleraría la exploración para detectar el START ¿con objeto de sincronizarse?

21 Convertidor digital/analógico y analógico/digital. PCF 8591 Dispositivo convertidos digital analógico y viceversa con interfaz I2C. -Conversión digital a analógico de 8 bits mediante un divisor de tensión resistivo (a partir de una tensión de referencia proporcionada externamente). -Conversión analógica a digital: (cuatro entradas analógicas que pueden combinarse mediante programación como entradas diferenciales). Conversión mediante el método de aproximaciones sucesivas, utilizando el convertidor Digital/Analógico (y por lo tanto las mismas tensiones de referencia).

22 Interfaz Bus I2C. -La dirección del dispositivo tiene cuatro bit (los más significativos) fijos (1001) -Los tres bits menos significativos programables. (Su valor se fija activando convenientemente tres de las patillas del dispositivo (A0,A1, A2).) Control. -El dispositivo es programado por medio de un registro de control. *Selección de la entrada analógica de la cual se desea obtener la señal *Ccómo se quiere combinar estas señales (directas o combinadas con otras entradas para dar una señal diferencial). *Activación/des de la salida analógica (al utilizarse el conversor D/A en la conversión A/D esta salida puede estar dando valores no deseados). *Permite la opción de cambiar de entrada analógica tras cada conversión.

23 Proceso. Conversion D/A. Formato del mensaje: )Dirección del dispositivo )Contenido del registro de control )(y siguientes) valores a convertir en señal analógica (El valor analógico permanece estable hasta la siguiente conversión.) Conversión A/D. -Se procede a leer directamente del dispositivo. El primer valor leído es resultado de una conversión previa (si el dispositivo acaba de ser reseteado el valor devuelto es 80h). El acto de la lectura genera una nueva conversión cuyo resultado se obtendrá en el siguiente byte leído.

24


Descargar ppt "Bus I2C Bus serie síncrono. (+-) SDA: datos SLC: reloj 0..100kbits/s (pero también 0..400kbits/s y 3.4Mbits/s)"

Presentaciones similares


Anuncios Google