Clase 13: Protocolo de Comunicación I 2 C. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos.

Slides:



Advertisements
Presentaciones similares
MEJOR COMUNICACIÓN, ALTA EFICIENCIA, MEJOR DISTRIBUCIÓN DE LOS DATOS
Advertisements

Procesador El sistema computador se centra en un procesador Aparece la Entrada /Salida Pero un procesador es una piedra si no se comunica con el exterior.
Microprocesadores Componentes básicos..
Puerto Serie: La norma RS-232C
INTRODUCCION A MIDI Mensajes MIDI
Fernando Escribano Pro 1º de Bachillerato
Hardware.
Red de computadoras  Una red de computadoras, también llamada red de ordenadores o red informática, es un conjunto de equipos informáticos conectados.
Diagrama de Bloques del Sistema de Adquisición.
COMUNICACIÓN SERIAL Javier Garcia Ramos.
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Transmisión Asíncrona
Programación básica de la interfase RS232 C
SD card en modo SPI Pablo Irrera Condines Ayudante de TP
El Sistema de Memoria. Contenido Arquitectura del sistema Arquitectura del DIMM Descripción del reloj Arquitectura del chip RAM Latencia de Memoria Detección.
INTRODUCCIÓN A LAS COMUNICACIONES DE DATOS José Estay A.
Arquitectura del Computador
Diana Katherine Mosquera Vente María Elizabeth Angulo.
Vista General del Funcionamiento del Computador y sus Interconexiones
Tipos de Conectores de PC
EL BUS INTER-INTEGRATED CIRCUITS I2C
Transmisión de datos.
Tema 3: Lógica Combinacional (II): Ruta de Datos.
BUSES.
1 Universidad Surcolombiana Tecnologia en desarrollo de software Introduccion a la tecnologia “ BUS Y PUERTO” Por : Holman Alexis Robayo Garcia.
Bus I2C Bus serie síncrono. (+-) SDA: datos SLC: reloj kbits/s (pero también kbits/s y 3.4Mbits/s)
Disco Rígido Instalación y reemplazo de componentes Internos.
Ing. Enrique Fernández Salazar
Arquitectura/Estructura de Computadoras Puertas Paralelas.
INTRODUCCIÓN A LAS COMUNICACIONES DE DATOS José Estay A.
MICROCONTROLADORES NOCIONES BÁSICAS. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Hanna y Dima. Definición Funciones Básicas -La unidad CENTRAL (CPU. Central Proceising Unit) -La memoria principal -Dispositivos de Entrada y Salida Tratamiento.
El Bus I 2 C. Introducción 1980: Philips desarrolla el Bus de 2 alambres I 2 C para la comunicación de circuitos integrados. Se han otorgado licencias.
Organización del Computador Entradas / Salidas. Modelo de I/O.
I2C (Inter-Integrated Circuit) (Modo Maestro-Esclavo )
Guía de Implementación
¿Qué unidades conforman el procesador?
Chips Controladores Pequeño circuito electrónico utilizado para realizar una función electrónica especifica. El chips es el que hace posible que la placa.
PUERTOS DE ENTRADA Y SALIDA
 En computación es un conjunto de líneas de señal que el microprocesador o CPU utilizan para intercambiar datos con otros componentes como teclados,
Módulo LCD Controlador HD44780.
Sistemas de E/S, Programada por Interrupciones su Gestión
Redes de Area Local, LAN Una red de área local es una red de datos de alta velocidad que cubre un área geográfica relativamente pequeña. Típicamente conecta.
Modelos de Referencia para Redes.
Comunicaciones asíncronas locales RS 232. mayo de 2005Cesar Guisado Introducción Debido a que los computadores son dispositivos digitales, utilizan.
TARJETAS DE RED.
Estructura de los Sistemas Operativos
Clase 14: Memoria EEPROM.
EL BUS INTER-INTEGRATED CIRCUITS I2C
Trabajo de Informática
Sesión 6: Repaso LCD - Keyboard. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo.
Sesión 07: Interrupciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad.
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Clase 12: Comunicación Serial Asíncrona UART-RS232.
SANTIAGO MORA BERMÚDEZ
Puertos externos.
I.- COMPONENTES BÁSICOS DE UNA MICROCOMPUTADORA
INTEGRANTES: ONEIDA OSORIO VILLA, JUAN CAMILO SÁNCHEZ BAENA, JOANNA SÁNCHEZ, LUISA VILLA, JIMMY MORALES, BRIAM ZAMBRANO.
Dispositivos que componen una red.
GLOSARIO DIGITALES BIT: es la mínima unidad de almacenamiento y se representa por un “0” o un “1” lógico.  “0” es ausencia de señal  “1” es presencia.
Protocolo de comunicación: serie de normas que deben aportar determinadas funciones ALGUNAS FUNCIONES LOCALIZAR un ordenador de forma INEQUIVOCA. INTERCAMBIAR.
Driver o controlador para la pc.
IDENTIFICACION DE ELEMETOS DE UNA VLAN(Red de área local virtual)
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
BUSES DE DATOS.
Presentado por : Grisales Ramírez Jhonier las capas del modelo osi.
Arquitectura de Computadores Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
BUS I2C Ing. Mecatronica. Para simplificar la interconexión de dispositivos al microprocesador, Philips desarrolló un sencillo bus bidireccional basado.
Transcripción de la presentación:

Clase 13: Protocolo de Comunicación I 2 C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Antes de Comenzar  Protocolo entre periféricos: conjunto de reglas o normas para el intercambio de información.  Protocolos  Serial UART, SPI (Interfaz de periféricos serie), USB, I 2 C, I 2 S, …  Objetivo de la Clase: Conocer un protocolo común y hacer el diseño del software encargado de gestionarlo.  Al finalizar el tema: Usted estará en capacidad de emplear el protocolo mediante el software, para comunicarse con periféricos que lo soporten.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Agenda para la clase 11 Introducción al Protocolo I 2 C Conocer las características del protocolo 22 Hardware y Términos Consideraciones sobre el protocolo 33 Funcionamiento del Protocolo Entender como opera el protocolo para desarrollar el SW 44 Manipulación del I2C Escritura y lectura datos mediante este módulo

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás ¿Puedo ser autodidacta?  Bibliografía para la clase  Jonathan Valvano, Developing Embedded Software in C Using ICC11/ICC12/Hiware.  C for Embedded Systems. Academia Freescale Semiconductor para Profesores  Documentación sobre los diferentes periféricos: LCDs, Serial, I2C, TIMERs.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás A continuación… Funcionamiento del Protocolo Hardware y Términos Protocolo I 2 C Introducción al Protocolo I2C Manipulación del I2C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Inter-Integrated Circuit I 2 C  Protocolo diseñado para comunicar diferentes circuitos que trabajan a velocidades relativamente bajas.  Desarrollado por Phillips originalmente para la comunicación entre diferentes dispositivos dentro de los TV.  Es un bus de solo dos líneas, donde los dispositivos se comunican de manera serial y sincronizada (Bus Síncrono).

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Inter-Integrated Circuit I 2 C  Líneas de Comunicación.  SCL: Línea de reloj para sincronización.  SDA: Línea por donde van los datos.  Línea de referencia. P1 MCU, MPU, DSP … P2 MCU, MPU, LCD, MEM, RTC … SCL o señal de Reloj SDA o señal de Datos

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Inter-Integrated Circuit I 2 C  Dispositivos  El bus permite tener varios dispositivos conectados.  Configuración Maestro/Esclavo.  Maestro Genera señal de sincronismo. Transferencia de datos: hacia/desde esclavo.  Esclavo Comandado por el Maestro. Envía o recibe datos cuando el Maestro lo solicita. P1 MAESTRO P1 MAESTRO P2 ESCLAVO P2 ESCLAVO SCL o señal de Reloj SDA o señal de Datos Señal generada por el Maestro… Dirección de los datos dada por el Maestro

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás P2 MAESTRO ESCLAVO P2 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P3 SOLO ESCLAVO P3 SOLO ESCLAVO P4 SOLO ESCLAVO P4 SOLO ESCLAVO Varios periféricos conectados al BUS. Algunos pueden ser Maestro/Esclavo, otros solo son esclavos. SCL SDA Bus inactivo, ambas líneas a 5V Inter-Integrated Circuit I 2 C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás P2 MAESTRO ESCLAVO P2 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P3 SOLO ESCLAVO P3 SOLO ESCLAVO P4 SOLO ESCLAVO P4 SOLO ESCLAVO El periférico P2 (Maestro) se apodera del Bus, desde ahora él es quien genera la señal de reloj. Los demás son Esclavos. SCL SDA P2 MAESTRO ESCLAVO P2 MAESTRO ESCLAVO P1 ESCLAVO P1 ESCLAVO P3 ESCLAVO P3 ESCLAVO P4 ESCLAVO P4 ESCLAVO Inter-Integrated Circuit I 2 C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás P2 MAESTRO ESCLAVO P2 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P3 SOLO ESCLAVO P3 SOLO ESCLAVO P4 SOLO ESCLAVO P4 SOLO ESCLAVO Caso 1: El periférico P2 (Maestro) establece comunicación con P4 (Esclavo) enviando n tramas. SCL SDA P2 MAESTRO ESCLAVO P2 MAESTRO ESCLAVO P1 ESCLAVO P1 ESCLAVO P3 ESCLAVO P3 ESCLAVO P4 ESCLAVO P4 ESCLAVO P4 ESCLAVO P4 ESCLAVO Inter-Integrated Circuit I 2 C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás P2 MAESTRO ESCLAVO P2 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P3 SOLO ESCLAVO P3 SOLO ESCLAVO P4 SOLO ESCLAVO P4 SOLO ESCLAVO Caso 2: El periférico P2 (Maestro) establece comunicación con P4 (Esclavo) recibiendo n tramas. SCL SDA P2 MAESTRO ESCLAVO P2 MAESTRO ESCLAVO P1 ESCLAVO P1 ESCLAVO P3 ESCLAVO P3 ESCLAVO P4 ESCLAVO P4 ESCLAVO P4 ESCLAVO P4 ESCLAVO Inter-Integrated Circuit I 2 C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás P2 MAESTRO ESCLAVO P2 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P1 MAESTRO ESCLAVO P3 SOLO ESCLAVO P3 SOLO ESCLAVO P4 SOLO ESCLAVO P4 SOLO ESCLAVO P2 Libera el Bus. P1 vuelve a ser un Maestro potencial. P3 y P4 esperan a que P1 o P2 los seleccionen. SCL SDA P2 MAESTRO ESCLAVO P2 MAESTRO ESCLAVO P1 ESCLAVO P1 ESCLAVO P3 ESCLAVO P3 ESCLAVO P4 ESCLAVO P4 ESCLAVO Inter-Integrated Circuit I 2 C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Inter-Integrated Circuit I 2 C  Detección de Errores.  El protocolo ofrece una forma sencilla de determinar errores. Bit de Acknowledgment o Reconocimiento.  Otras especificaciones del protocolo.  Velocidad de Transmisión:  Modo Estándar: 100khz ó 100kbps.  Modo Rápido: 400khz ó 400kbps.  Modo de Alta Velocidad: 3.4MHz ó 3.4Mbps.  Consideraciones!!! Todos los dispositivos deben cumplir esta velocidad.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás ¿Zona de Preguntas?  ¿Un maestro puede llegar a convertirse en un esclavo?  ¿Un dispositivo que actúa en determinado momento como esclavo jamás puede convertirse en maestro?  ¿Todos los periféricos I 2 C pueden trabajar en el modo rápido?  ¿Cómo se llaman las líneas del I 2 C?  ¿Que ventajas y desventajas puede tener el hecho de que solo se utilicen dos líneas?

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás A continuación… Funcionamiento del Protocolo Hardware y Términos Protocolo I 2 C Introducción al Protocolo I2C Hardware y Términos Protocolo I2C Manipulación del I2C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Hardware y Términos  Las líneas SDA y SCL son del tipo drenador abierto (Open-Drain).  Equivalente a Colector Abierto (Open- Colector).  Es necesario conectar sus Drenadores al voltaje positivo de la fuente.  Se requiere de resistencias de Pull-Up (10k) para garantizar nivel alto. Para poner 5V, el transistor no conduce??? Para poner 0V, el transistor conduce... Los 5V son dados por la fuente Vcc, siempre que todos los Trans. estén en corte…

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Periférico 1 SCL_RX SDA_RX SCL_TX SDA_TX SCL SDA VDD Hardware y Términos  Nadie hace uso del bus:  Los suiches permanece abiertos.  Si nadie usa el bus, cada línea tendrá voltaje VDD.  P1 toma el Bus y pone SDA en 0V. Observe el Suiche.  Lo mismo para SCL.  Ahora, P1 pondrá 5V en SCL. Observe el suiche.  Si otro periférico pone 0V en SCL, no hay corto. Si los pines no son Open Drain, es bueno colocar una pequeña resistencia en serie…

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Hardware y Términos  Conexión de Periféricos DEVICE 1 DEVICE 2 DEVICE n … VDD SCL SDA 10k-47k

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Hardware y Términos  Maestro (Master)  Establece la señal de reloj SCL.  Establece la dirección de los datos.  Controla a los esclavos.  Esclavo (Slave)  Incapaz de generar la señal de SCL.  Recibe instrucciones y reloj del maestro.  Bus Desocupado (Bus Free)  Las líneas SDA y SCL están inactivas (nivel alto).

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Hardware y Términos  Dato Válido (Valid Data)  El dato puesto en SDA debe ser estable mientras SCL está en nivel lógico alto.  Comienzo (Start)  Ocupación del bus por parte del maestro, haciendo uso de SDA y SCL.  Parada (Stop)  Liberación del bus por parte del maestro que lo está utilizando.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Hardware y Términos  Formato de Datos (Data Format)  Relacionado con la forma de enviar datos de maestro a esclavo y viceversa.  Dirección (Address)  Relacionado con la forma en que el maestro puede dirigirse a un esclavo.  Lectura/Escritura (Bit de R/W)  Es un bit dentro de la dirección usado para indicarle al esclavo que el maestro va a escribir/leer datos en/de él.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás ¿Zona de Preguntas?  Explique que ocurre si un dispositivo I 2 C trata de establecer un ‘1’ en la línea SCL mientras otro está estableciendo un ‘0’ en la misma  El bus I 2 C está desocupado siempre que …  ¿Qué ocurre si la línea SDA cambia de estado mientras SCL está a ‘1’ lógico?

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás A continuación… Funcionamiento del Protocolo Hardware y Términos Protocolo I 2 C Introducción al Protocolo I2C Funcionamiento del Protocolo Manipulación del I2C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  Se utilizan las dos líneas SDA y SCL.  Por SDA van los datos.  Por SCL va el reloj de sincronización.  La transmisión se hace en tramas de 8 Bits con 1 Bit adicional para el reconocimiento o Acknowledgment.  El protocolo define la forma en que el maestro inicia y finaliza la transmisión.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  Formato de Transmisión  Trama de 8 bits para datos con un noveno bit de ACK. El ACK lo hace el Esclavo si el Maestro escribe los 8 bits. El ACK lo hace el Maestro si el Esclavo escribe los 8 bits.  Dicha trama va sobre la línea SDA y podrá tenerse una transición siempre que SCL esté en ‘0’ lógico. D7D6D5D4D3D2D1D0ACK SDA SCL MSBLSB

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  Condiciones de START y STOP  Propiamente son violaciones a la condición de Dato Válido. El START se hace en el momento en que el Maestro selecciona un Esclavo. El STOP se lleva a cabo cuando el Maestro va a liberar el Bus. SCL SDA Condición de START SCL SDA Condición de STOP

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  Seleccionando un periférico:  Cada periférico tiene una dirección de 7 ó 10 bits.  Estando el bus libre, el maestro genera un START.  A continuación envía la dirección junto con el bit R/W. R/W = 0, Maestro va a escribir datos en Esclavo. R/W = 1, Maestro va a leer datos desde el Esclavo. A6A5A4A3A2A1A0R/WACK SDA SCL MSBLSB

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  Seleccionando un periférico:  Si el periférico está en el bus debe responder con un ACK en ‘0’.  Causas de no respuesta:  El periférico no está en el Bus.  El periférico está ocupado (EEPROM escribiendo).  El periférico tiene problemas.  Si no hay respuesta, el Maestro finaliza con condición de STOP.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  Si el Esclavo respondió con ACK = ‘0’ y el Maestro va a escribir en el Esclavo (R/W = ‘0’)  Se escriben n tramas de 8 bits, esperando en cada una, reconocimiento del esclavo ACK = ‘0’.  Cuando se quiera finalizar, el Maestro envía condición de STOP.  El Maestro puede generar una nueva condición de START sin condición de STOP: Escoger otro periférico. Cambiar R/W sobre el periférico.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  Selección y Escritura (Un solo dato) SDA SCL A6A5A4A3A2A1A00ACK Generado por Esclavo MSBLSB Generado por Maestro SDA SCL D7D6D5D4D3D2D1D0ACK START STOP Generado por Esclavo MSBLSB Generado por Maestro Si el esclavo envía ACK = ‘0’, entonces pueden enviarse n tramas de 8 bits…

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  Si el Esclavo respondió con ACK = ‘0’ y el Maestro va a leer desde el Esclavo (R/W = ‘1’)  Se leen n tramas de 8 bits, generando en cada una el bit de reconocimiento ACK = ‘0’.  Cuando se quiera finalizar, el Maestro envía condición de STOP con el ACK previo en ‘1’.  El Maestro puede generar una nueva condición de START sin condición de STOP: Escoger otro periférico. Cambiar R/W sobre el periférico.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  Selección y Lectura (Un solo dato) SDA SCL A6A5A4A3A2A1A01ACK Generado por Esclavo MSBLSB Generado por Maestro SDA SCL D7D6D5D4D3D2D1D0ACK START STOP Generado por Maestro MSBLSB Generado por Esclavo Si el esclavo envía ACK = ‘0’, entonces pueden leerse n tramas de 8 bits…

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Funcionamiento del I 2 C  ¿Cómo se realiza la escritura de múltiples datos?  ¿Cómo se realiza la lectura de múltiples datos?  ¿Cómo se pasa de escritura a lectura sin condición de STOP?  ¿Cómo se selecciona otro periférico desde el mismo Maestro sin utilizar STOP?

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás ¿Zona de Preguntas?  ¿Cómo se genera la condición de START y de STOP?  Una comunicación entre periféricos: P1, P2 y P3. P2 envía condición de START junto con la trama de datos $A1. P1 tiene la dirección $50 y P3 la dirección $73.  ¿Con quién se comunica P2?  ¿La transmisión es para escritura o para lectura de datos?

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás A continuación… Funcionamiento del Protocolo Hardware y Términos Protocolo I 2 C Introducción al Protocolo I2C Manipulación del I2C

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Módulo I2C de un PIC  El nombre genérico de los pines de E/S es:  SDA (Línea de Datos).  SCL (Línea de Reloj).  Las líneas de E/S están compartidas con pines de los puertos:  RC3/SCL (PIC16F887)  RC4/SDA (PIC16F887)  Al habilitar la Tx/Rx, los pines TxD/RxD se convierten en pines del módulo I2C.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Manipulación del I 2 C  Configuración genérica del I2C: #USE I2C (opciones)  Esta directiva permite configurar varios parámetros del I2C:  Modo  Pines utilizados  Dirección  Velocidad

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Manipulación del I 2 C  Ejemplos:  #use I2C (master, scl=PIN_C3, sda=PIN_C4)  #use I2C (slave, scl=PIN_C3, sda=PIN_C4, address=0xA0)  #use I2C (master, scl=PIN_C3, sda=PIN_C4, fast=450000) OPCIÓNDESCRIPCIÓN MULTI_MASTEREstablece modo Multimaestro MASTEREstablece modo maestro SLAVEEstablece modo esclavo RESTART_WDTBorra el WDT mientras espera lectura SCL = pinEspecifica el pin SCL SDA = pinEspecifica el pin SDA ADDRESS = nEspecifica la dirección en modo esclavo FASTUtiliza velocidad alta SLOWUtiliza velocidad baja

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Establecimiento  Las funciones asociadas al comienzo y finalización de la comunicación I2C:  I2C_START(); En modo master, esta función inicializa la transmisión. El reloj es puesto a nivel bajo hasta que se escribe.  I2C_STOP(); Finaliza la transmisión

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Escritura  Escritura de datos Master↔Slave I2C_WRITE (dato);  dato es un entero de 8 bits que envía por el bus.  Modo maestro: genera la señal de reloj que marca la velocidad de transmisión del dato.  Modo esclavo: espera la señal de reloj del maestro.  ACK: Devuelve el bit de reconocimiento (0 indica ACK, 1 indica un NO ACK y 2 indica una colisión en modo multimaster)  LSB: El bit de menor peso del primer dato transmitido tras un START indica el sentido de la comunicación.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Lectura  Lectura de datos Master ↔ Slave dato=I2C_READ(ACK);  dato es un entero de 8 bits leído del bus.  Modo maestro: genera la señal de reloj que marca la velocidad de transmisión del dato.  Modo esclavo: espera la señal de reloj del maestro.  ACK: Elemento opcional de reconocimiento (1 indica ACK 1 y 0 indica NO ACK)

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Dirección  Dirección del dispositivo modo Slave I2C_SlaveAddr();  Función que especifica la dirección del dispositivo cuando se ha configurado como esclavo.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Ejemplos  Desarrollar un programa que:  Guardar y leer datos en las 10 primeras posiciones de memoria de un EEPROM  Siguiente clase: se darán más detalles.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III Sistemas Digitales II Universidad Santo Tomás Fin de la Clase!!!  Lecturas propuestas próxima clase  Lectura sobre memorias EEPROM. Motivación para la próxima clase.  Conocer como trabaja un protocolo de datos y emplearlo para establecer comunicación entre CPU y periféricos.  ¿Preguntas por parte de ustedes?

Fin de la clase 13