MICROCONTROLADORES PIC

Documentos relacionados
EL BUS I2C CARACTERISTICAS. Fernando Remiro

COMUNICACIÓN I2C (Bus de circuito inter-integrado)

Curso de. Módulo 10 MSSP: I2C. Ricardo Gómez González Andrés Prieto-Moreno Torres

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

Ventajas del BUS I2C

Bus I 2 C. Introducción

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Comunicación Serie IIC: Inter-Integrated Circuit

TEMA EL BUS I 2 C (Inter Integrated Circuit Bus) I2C EN C

Comunicaciones Digitales: Protocolos seriales (uc)

Memoria 24LC256 I. I NTRODUCCIÓN

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

COMUNICACIÓN I2C PROTOTIPO BRAZO ROBÓTICO BM001

INTRODUCCIÓN. Comunicación Serial.

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE

COMUNICACIÓN I2C (INTER-INTEGRATED CIRCUIT)

4. Tarjeta de control

Curso sobre Microcontroladores Familia HC9S08 de Freescale

ARQUITECTURA DE COMPUTADORES DESCRIPCIÓN BUS PCI (Tema 1: Conexión Externa de Procesadores. Buses)

Comunicación Serial: Conceptos Generales

Introducción. Modo monitor. Cuaderno técnico 4: Grabación de microcontroladores PIC

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

TERMÓMETRO DIGITAL DS1624

Desarrollo de Herramientas de Programación de Alto Nivel y Aplicaciones de Conectividad y Almacenamiento para el Microcontrolador MSP430

MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255

SISTEMAS ELECTRÓNICOS DIGITALES

Periféricos Interfaces y Buses

Elección de un microcontrolador

Tópicos Especiales de Mecatrónica

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

MICROCONTROLADORES PIC USART

Prueba del Driver ModBus

Memoria y Entrada/Salida Tecnología Organización - Expansión

ITT-327-T Microprocesadores

I2C. Ing. Pablo Martín Gomez

2. PANTALLA ALFANUMÉRICA DE LCD (HITACHI HD44780U)

Controlador de Floppy Disk - DMA

Curso sobre Microcontroladores Familia HC9S08 de Freescale

MODBus RTU en los registradores CAMRegis

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

INFORME PROYECTO FINAL ELECTRONICA DIGITAL II DISPOSITIVO DE ALMACENAMIENTO DIGITAL CON REGISTRO DE TIEMPO Y TEMPERATURA

Figura 2. Formato de un dato serie síncrono.

Microprocesadores, Tema 8:

CAPÍTULO 2. ARQUITECTURA Y COMPONENTES.

Hoja de Datos NoMADA Advance [DAT001A NoMADA Advance 02/16]

EVOLUCIÓN HISTÓRICA DE LOS µp

Alcalde #1822 Col. Miraflores C.P Guadalajara, Jal. Mexico MX 01 (33) y USA 001 (619)

Los PIC 16F88X:Módulo de comunicaciones serie síncrona: MSSP SPI

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Diseño de Microcontroladores

ALMACENAMIENTO Y OTROS ASPECTOS DE LA ENTRADA/SALIDA. Ancho de banda máximo posible: una palabra por ciclo de reloj de manera sostenida, es decir:

Transmisión serie. RS232, I2C y SPI

Control de un módulo LCD a través del bus I2C

El comienzo del protocolo CAN (CONTROLLER AREA NETWORK) Laboratorio de Automatización II. UNQ PROTOCOLO CAN 1

MODBus RTU en los registradores CAMRegis

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Tema 4 Microprocesador MCF5282: Hardware

Estructura general de una Computadora Arquitectura Estructura Von Neumann

COMUNICACIÓN SERIE (RS232)

V 1.0. Ing. Juan C. Guarnizo B.

PIC 18F45XX CARACTERÍSTICAS GENERALES

PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719

Microprocesadores, Tema 8:

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

USB232. Hoja de datos

CURSO DE MCUs PIC ANUAL

Práctica 9. Organización del Computador 1 2do. Cuatrimestre de 2005

ARQUITECTURA DE LOS SUBSISTEMAS DE BUSES Y ENTRADA/SALIDA

Microcontroladores. Sistemas embebidos para tiempo real

CURSO: MICROCONTROLADORES UNIDAD 4: COMUNICACIÓN SERIE- ARDUINO PROFESOR: JORGE ANTONIO POLANÍA

Facultad de Ingeniería Eléctrica. Departamento de Telecomunicaciones y Electrónica TRABAJO DE DIPLOMA

DISEÑO DE PROCESADORES DEDICADOS. Práctica 6 LCD de Propósito General

MODBUS CONTENIDO. Protocolo de Comunicaciones MODBUS. Introducción Estructura de la Red MODBUS Características del Protocolo Aplicaciones Referencias

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE MECANICA ELECTRICA LABORATORIO DE ELECTRONICA PENSUM ELECTRONICA 6

Microcontroladores ( C)

Conceptos básicos de comunicación de datos

Diseño y desarrollo de un módulo de conexión a CANopen de un sensor comercial fuerza/par

Medidas de Distancia mediante Rayos Infrarrojos

Tema 0. Introducción a los computadores

Estructura de Microprocesadores

2.5-1 USART Introducción.

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

Puerto Paralelo Bidireccional.

GESTION DE ENTRADA Y SALIDA

Unidad III. Interfaces de comunicación Series, USB, CAN, Field Bus, Etc.

HARDWARE USB/RS232 (28 servos)

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

TARJETA DE ENTRADAS Y CONTADORES RÁPIDOS (MTC-3052)

ESPino - Especificaciones

CAPÍTULO 3. PROTOCOLOS Y COMANDOS.

Laboratorio 06. Diseño e implementación de un sistema digital para la captura de caracteres desde teclado

BUS I2C. IES Los Viveros Sevilla Dpto. Electrónica. 1

Transcripción:

MICROCONTROLADORES PIC Bienvenidos - Clase 8 Protocolo de Comunicación I 2 C. Semestre I de 2010 Adaptado Por: Lewin Andrés López

Preámbulo Protocolo entre periféricos: conjunto de reglas o normas para el intercambio de información. Para desarrollar software: Detalles del Protocolo. Hardware y software relacionado. Funcionamiento del mismo. Protocolos Serial UART, SPI (Interfaz de periféricos serie), USB, I 2 C, I 2 S,

Preámbulo La idea radica en: Si el MPU/MCU/DSP no cuenta con un módulo que maneje el protocolo desarrollar módulo de software que lo supla. Emplear metodología de eventos, interrupciones Objetivo principal de la clase Conocer un protocolo común. Distinguir sus principales características. Desarrollar el software necesario para manipular el protocolo.

Qué veremos hoy? Introducción al Protocolo I 2 C. Hardware y Términos. Funcionamiento del Protocolo. Memoria EEPROM I 2 C. Ejemplos en uc PIC.

Cómo aprendo más? Jonathan Valvano, Developing Embedded Software in C Using ICC11/ICC12/Hiware. Foros sobre Microcontroladores PIC. C for Embedded Systems. Academia Freescale Semiconductor para Profesores 2004. Documentación sobre los diferentes periféricos: LCDs, Serial, I2C, TIMERs. En el taller No. 4. Memorias Seriales EEPROM.

Y Ahora? I 2 C Agenda Protocolo I 2 C Protocolo I 2 C Hardware y términos Funcionamiento I 2 C

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).

Inter-Integrated Circuit I 2 C Aplicaciones Memorias EEPROM. Reloj de tiempo real. Sensores. Controladores de LCD. Microcontroladores. Otros. También se utiliza dentro de Sistemas Embebidos para comunicar periféricos.

Inter-Integrated Circuit I 2 C Líneas de Comunicación. : Línea de reloj para sincronización. : Línea por donde van los datos. Línea de referencia. P1 MCU, MPU, DSP o señal de Reloj o señal de Datos P2 MCU, MPU, LCD, MEM, RTC

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.

Inter-Integrated Circuit I 2 C Varios periféricos conectados al BUS. Algunos pueden ser Maestro/Esclavo, otros solo son esclavos. P1 P2 P3 P4 MAESTRO SOLO EAVO EAVO MAESTRO EAVO SOLO EAVO

Inter-Integrated Circuit I 2 C 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. P1 P2 P3 P4 P1 P3 P4 MAESTRO MAESTRO SOLO SOLO EAVO EAVO EAVO EAVO EAVO EAVO EAVO

Inter-Integrated Circuit I 2 C El periférico P2 (Maestro) establece comunicación con P4 (Esclavo) enviando n tramas. P1 P2 P3 P4 P1 P3 P4 MAESTRO MAESTRO SOLO SOLO EAVO EAVO EAVO EAVO EAVO EAVO EAVO

Inter-Integrated Circuit I 2 C El periférico P2 (Maestro) establece comunicación con P4 (Esclavo) recibiendo n tramas. P1 P2 P3 P4 P1 P3 P4 MAESTRO MAESTRO SOLO SOLO EAVO EAVO EAVO EAVO EAVO EAVO EAVO

Inter-Integrated Circuit I 2 C P2 Libera el Bus. P1 vuelve a ser un Maestro potencial. P3 y P4 esperan a que P1 o P2 los seleccionen. P1 P2 P3 P4 P1 P3 P4 MAESTRO MAESTRO SOLO SOLO EAVO EAVO EAVO EAVO EAVO EAVO EAVO

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!!!

Y Ahora? Agenda I 2 C Protocolo Hardware y I 2 C términos Hardware y términos Funcionamiento I 2 C

Hardware y términos Las líneas y 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 (4.7k - 10k) para garantizar nivel alto.

Hardware y términos

Hardware y términos P1 no hace uso del bus: Periférico 1 VDD El suiche permanece abierto. Si nadie usa el bus, cada línea tendrá voltaje VDD. P1 toma el Bus y pone en 0V. Observe el Suiche. Lo mismo para. Ahora, P1 pondrá 5V en. Observe el suiche. Si otro periférico pone 0V en, no hay corto. _RX _TX _RX _TX

Hardware y términos

Hardware y términos Conexión de Periféricos 10k-4,7k VDD DEVICE 1 DEVICE 2 DEVICE n

Hardware y términos Maestro (Master) Establece la señal de reloj. Establece la dirección de los datos. Controla a los esclavos. Esclavo (Slave) Incapaz de generar la señal de. Recibe instrucciones y reloj del maestro. Bus Desocupado (Bus Free) Las líneas y están inactivas (nivel alto).

Hardware y términos Dato Válido (Valid Data) El dato puesto en debe ser estable mientras está en nivel lógico alto. Comienzo (Start) Ocupación del bus por parte del maestro, haciendo uso de y. Parada (Stop) Liberación del bus por parte del maestro que lo está utilizando.

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.

Y Ahora? Agenda HW Protocolo I 2 C Hardware Funcionamiento y términos I 2 C Funcionamiento I 2 C

Funcionamiento I 2 C Se utilizan las dos líneas y. Por van los datos. Por 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.

Funcionamiento 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 y podrá tenerse una transición siempre que esté en 0 lógico. D7 D6 D5 D4 D3 D2 D1 D0 ACK MSB LSB

Funcionamiento 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. Condición de START Condición de STOP

Funcionamiento 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. A6 A5 A4 A3 A2 A1 A0 R/W ACK MSB LSB

Funcionamiento 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.

Funcionamiento 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.

Funcionamiento I 2 C Selección y Escritura (Un solo dato) A6 A5 A4 A3 A2 A1 A0 0 ACK START MSB LSB Generado por Maestro D7 D6 D5 D4 D3 D2 D1 D0 ACK MSB Generado por Maestro LSB Generado por Esclavo Generado por Esclavo STOP

Funcionamiento 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.

Funcionamiento I 2 C Selección y Lectura (Un solo dato) A6 A5 A4 A3 A2 A1 A0 1 ACK START MSB LSB Generado por Maestro D7 D6 D5 D4 D3 D2 D1 D0 ACK MSB Generado por Esclavo LSB Generado por Maestro Generado por Esclavo STOP

Funcionamiento 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?

Resumiendo un poco Protocolo I 2 C P1 P1 MAESTRO EAVO EAVO P2 MAESTRO EAVO P3 P3 SOLO EAVO EAVO P4 P4 SOLO EAVO EAVO

Resumiendo un poco Protocolo I 2 C 10k-47k VDD DEVICE 1 DEVICE 2 DEVICE n

Resumiendo un poco Protocolo I 2 C D7 D6 D5 D4 D3 D2 D1 D0 ACK MSB LSB Condición de START Condición de STOP

Terminando de resumir A6 A5 A4 A3 A2 A1 A0 R/W ACK START MSB LSB Generado por M/S D7 D6 D5 D4 D3 D2 D1 D0 ACK MSB Generado por M/S LSB Generado por S/M Generado por S/M STOP

Memoria EEPROM I 2 C Se tienen varias referencias: 24LC02 ó 24LC02B 24LC16 ó 24LC16B 24LC128 ó 24LC128B 24LC256 y muchas más. Las anteriores son memorias EEPROM de 2k, 16k, 128k y 256k bits. El tamaño en bytes será de 256 bytes, 2kbytes, 16kbytes y 32kbytes respectivamente.

Memoria EEPROM I 2 C Direccionando la Memoria (Periférico). START Cada memoria tiene una dirección de 7 bits. Se envía después de la condición de START o RE- START. DA = Device Address. R/W: Indica de donde a donde se dirige la próxima trama. M>S o S>M. DA6 DA5 DA4 DA3 DA2 DA1 DA0 R/W ACK MSB Generado por Maestro LSB Generado por Esclavo

Memoria EEPROM I 2 C Direccionando la Memoria (Periférico). Normalmente, se compone de 4 bits de ID y 3 bits para: Selección de memoria física (1 0 1 0 A2 A1 A0). Selección de bloque en de la memoria (1 0 1 0 B2 B1 B0). A0/NC A1/NC A2/NC GND 24LCXX VDD WP $000 $0FF $100 $1FF $200 $2FF $300 $3FF Bloque 0 256 BYTES Bloque 1 256 BYTES Bloque 2 256 BYTES Bloque 3 256 BYTES $400 $4FF $500 $5FF $600 $6FF $700 $7FF Bloque 4 256 BYTES Bloque 5 256 BYTES Bloque 6 256 BYTES Bloque 7 256 BYTES

Memoria EEPROM I 2 C Selección de un registro de la memoria. Para memorias de 256 bytes. Después de enviar dirección de periférico se envía dirección del registro donde se va a escribir. Previamente R/W debe haberse enviado como 0. El valor A7..A0 escoge uno de los MSB 256 registros. A7 A6 A5 A4 A3 A2 A1 A0 ACK Generado por Maestro Byte 00 Byte 01 Byte 02 LSB Byte FE Byte FF Generado por Esclavo

Memoria EEPROM I 2 C Selección de un registro de la memoria. Para memorias con más de 256 bytes. Conformación por bloques de memoria de 256 bytes. El bloque se selecciona usando otra trama de dirección. Trama de 8 bits, para seleccionar entre 1 y 256 bloques. Utilizar parte de la dirección del dispositivo para selección del bloque: A6 A5 A4 A3 B2 B1 B0 R/W. Para el anterior entre 1 y 8 bloques.

Memoria EEPROM I 2 C Selección de un registro de la memoria. Memoria 24LC08: 8 kbits = 1024 bytes. 4 Bloques. START + 1 0 1 0 X 0 1 R/W: Bloque 1. Dirección a escribir en el bloque 1: $20. Bloque 0 256 BYTES $1E $1F $20 256 $21 BYTES Bloque 1 Bloque 2 256 BYTES Bloque 3 256 BYTES Bloque 1: 256 Bytes

Memoria EEPROM I 2 C Selección de un registro de la memoria. 24LC02, memoria de 256 Bytes. Trama 1 0 1 0 A2 A1 A0. Luego se envía Dir. Registro. 1 0 1 0 1 1 0. Luego se envía trama con dir. $00 a $FF. 1 0 1 0 0 1 0. Luego se envía trama con dir. $00 a $FF 0V A0 VDD 0V A0 VDD 5V 0V A1 A2 24LC02 WP 5V 5V A1 A2 24LC02 WP GND GND

Memoria EEPROM I 2 C Selección de un registro de la memoria. 24LC04, memoria de 512 Bytes. Trama 1 0 1 0 A2 A1 B0. Luego se envía Dir. Registro. 1 0 1 0 1 1 0. Luego se envía trama con dir. $00 a $FF. 1 0 1 0 0 1 1. Luego se envía trama con dir. $00 a $FF 5V 0V NC A1 A2 GND VDD Bloque 0 256 BYTESWP 24LC04 Bloque 1 256 BYTES NC 5V A1 24LC04 5V A2 Bloque 1 GND VDD Bloque 0 256 BYTESWP 256 BYTES

Memoria EEPROM I 2 C Selección de un registro de la memoria. 24LC16, memoria de 2048 Bytes. Trama 1 0 1 0 B2 B1 B0. Luego se envía Dir. Registro. Dir: $10E. 1 0 1 0 0 0 1. Luego se envía trama $0E. Dir: $620. 1 0 1 0 1 1 0. Luego se envía trama $20. NCBloque 0 256 BYTES NC Bloque 1 256 BYTES NC Bloque 2 256 BYTES Bloque 3 GND 256 BYTES 24LC16 Bloque VDD 4 256 BYTES Bloque WP 5 256 BYTES Bloque 6 256 BYTES Bloque 7 256 BYTES

Memoria EEPROM I 2 C Escribir un Byte. Enviar trama de 8 bits de datos. Finalizar con condición de STOP. Múltiples datos. Tramas sucesivas de 8 bits, en la última se envía STOP. D7 D6 D5 D4 D3 D2 D1 D0 ACK MSB Generado por Maestro LSB Generado por Esclavo STOP

Memoria EEPROM I 2 C Múltiples datos. La memoria se divide en páginas de 8, 16 o más bytes. Para la escritura, la memoria incluye un buffer de acuerdo al tamaño de la página. 24LC04. 4kbits = 512 Bytes = 32 Pages/16 Bytes. Page 0 Page 1 Page 2 Page 3 Page 4 Page 5 Page 31 Byte 32Byte 33 Byte 46Byte 47

Memoria EEPROM I 2 C Múltiples datos: Cuidado con las páginas!!! Suponer una memoria de 256 bytes con 32 páginas de 8 bytes. Página 1. Buffer y Flash. Write $08. $03, $A3, $13, $FE Stop. Write $14. $AB, $12, $07. Stop. Buf $03 $070 Buf $A31 Buf $132 Buf $FE3 Buf 4 Buf 5 Buf $AB6 Buf $127 Buffer RAM Byte $03 $078 Byte $A39 Byte $1310 Byte $FE11 Byte 12 Byte 13 Byte $AB14 Byte $1215 Memoria Flash

Memoria EEPROM I 2 C Escritura de $45 (24LC02 = 1 0 1 0 A2 A1 A0) en $3E 1 0 1 0 A2 A1 A0 0 ACK START 0 0 1 1 1 1 1 0 ACK 0 1 0 0 0 1 0 1 ACK STOP

Memoria EEPROM I 2 C Escritura de $72 (24LC16 = 1 0 1 0 B2 B1 B0) en $23A 1 0 1 0 0 1 0 0 ACK START 0 0 1 1 1 0 1 0 ACK 0 1 1 1 0 0 1 0 ACK STOP

Memoria EEPROM I 2 C Escribir en $A12 (24LC32 = 1 0 1 0 A2 A1 A0) 1 0 1 0 A2 A1 A0 0 ACK START 0 0 0 0 1 0 1 0 ACK 0 0 0 1 0 0 1 0 ACK

Memoria EEPROM I 2 C Para lectura. Se inicia un proceso de escritura, enviando solamente la dirección de memoria. De acuerdo a los casos anteriores. Cuando se reciba el ACK de la dirección, se genera un Re-Start con R/W en 1 y se empiezan a leer tramas. Las tramas serán enviadas mientras el maestro genere ACK. Para el último dato, no se genera ACK.

Driver I 2 C Es un archivo que contiene todas las funciones necesarias para manejar el módulo I 2 C. Se encarga de: Generar y controlar la señal de Reloj. Generar condiciones de Start y Stop. La escritura de tramas. La lectura de tramas. Manejar memorias y periféricos en general que soporten el protocolo.

Driver I 2 C Archivo de Cabecera: #use i2c (options) //Configuración I2C para el PIC Maestro #use i2c(master, =PIN_C4, =PIN_C3,FAST,FORCE_HW) //Configuración I2C para el PIC Esclavo #use I2C(SLAVE, =PIN_C4,=PIN_C3, address=0xa0,force_hw) Funciones más comunes: i2c_start(); I2c_write(); I2c_read(); I2c_stop();

Driver I 2 C Otras Funciones disponibles: i2c_isr_state( ) ; i2c_poll( ) ; i2c_slaveaddr( ) ; i2c_speed( ) ;

Fin de Clase Motivación para la próxima clase. El primer parcial no incluye I 2 C. Preguntas por parte de ustedes? El opcional si lo incluye Qué falta por hacer? Pensar el laboratorio 2 y realizar su montaje. Estudiar MUCHO! Agradecimientos a Luis Germán García Morales por el material.