Microprocesadores, Tema 8:



Documentos relacionados
Comunicación Serie IIC: Inter-Integrated Circuit

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

I2C. Ing. Pablo Martín Gomez

Curso sobre Microcontroladores Familia HC9S08 de Freescale

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

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

Capítulo 1. Práctica: Comunicación SPI Enunciado Especificaciones

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

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

Memoria 24LC256 I. I NTRODUCCIÓN

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

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

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Microprocesadores, Tema 6:

El Protocolo SPI. IES Juan de la Cierva. Aprendizaje de la Electrónica a través de la Robótica. Fernando Remiro Domínguez

Curso sobre Microcontroladores Familia HC9S08 de Freescale

COMUNICACIÓN I2C PROTOTIPO BRAZO ROBÓTICO BM001

SPI. Teoría y Aplicaciones. INGENIERIA EN MICROCONTROLADORES Protocolo SPI( Serial Peripherical Interface) Protocolo

Slicetex Ladder Designer Studio NOTA DE APLICACIÓN. AN028 Bus de Comunicaciones I2C

COMUNICACIÓN SERIAL FAMILIA DSP56800: Síncronas y Asíncronas CAPÍTULO VII

Detección de Presencia Serie para la Identificación de Módulos de Memoria. MSc. Guillermo Alvarez Bestard * Tec. Miguel A.

Practica de Control y Programación de Robots ROBOT HERMES. Curso

AUTOMATIZACIÓN - CURSO: Práctica 4: Sistema de Monitorización de tiempo mediante Arduino

Implementación de interfaz I 2 C con microcontroladores PIC para sensores

Comunicaciones Digitales: Protocolos seriales (uc)

Comunicación serial por Aircable Lessly Marlene Sabido Calzada. Seminario del Proyecto de Investigación en robótica Humanoide

Transmisión serie. RS232, I2C y SPI

Microprocesadores, Tema 4:

INGENIERIA EN MICROCONTROLADORES. Protocolo RS-485. Introducción

28/09/2009. Modelo ISO OSI. TDII - Conexión serie con el mundo. 1. Vínculo Físico UTP. TDII - Conexión serie con el mundo. 2

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

Reloj de Tiempo Real DS1307

CAPITULO 5 IMPLEMENTACIÓN PRÁCTICA DEL NODO CAN, COMO

Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA

Tema 2: Sistemas Empotrados basados en Microcontroladores (Sesión 8)

Enlaces Seriales UART, I2C, SPI

Instituto Tecnológico de Costa Rica. Sistema de comunicación inalámbrico para consola Vantage Pro2 TM

V.- V.-El El manejo de de las las Interrupciones

COMUNICACIÓN I2C (INTER-INTEGRATED CIRCUIT)

TRABAJO FINAL TECNICAS DIGITALES II

Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y

Detección de Presencia Serie para la Identificación de Módulos de Memoria

Modelo ISO OSI. Vínculo Físico

Discrete Automation and Motion Drives y PLC Plataforma de automatización escalable AC500 Modbus RTU

Test I2C Documentación Proyecto SISEM 2012 IIE - FING

DISEÑO Y CONSTRUCCIÓN DE UN PROGRAMADOR DE MICROCONTROLADORES PIC Y ATMEL MEDIANTE EL PUERTO USB DEL PC

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

Estructura de Microprocesadores

Entradas y Salidas. Componentes básicos de una PC

Descripción General de un Microcontrolador (Módulos de Comunicación)

Problema (1h 30 min, 3,75 puntos)

Capítulo 5: PROTOCOLO ICCP

Plataforma Robótica Controlada de Forma Remota Mediante una Red I2C de Microcontroladores

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Fecha: Página 1 / 14

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

4. PLATAFORMA DE COMUNICACIÓN SISTEMA PLC5 DE ALLEN- BRADLEY

MICROCONTROLADORES PIC

RFID Elementos de un sistema

TRABAJO PRÁCTICO Nº 6: PUERTO SERIE

Interfaces UART. Comunicaciones en un bus serie. Curso Intensivo de Sistemas Embebidos Febrero 2011 Ing. Pablo Martín Gomez

Introducción a Arduino

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

PROTOTIPO DE CONTROL UNIVERSAL INALÁMBRICO DE APARATOS ELÉCTRICOS Y ELECTRÓNICOS PARA DISCAPACITADOS

Modulador-Demodulador ASK con codificación Manchester implementado en un microcontrolador PIC

Redes de Computadores. Capa Física. 1

64 x 8 Serial Real Time Clock

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Diseño con Microcontroladores

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación

DESCRIPCION DEL SITEMA MASTER.

Trabajo 3. PROTOCOLOS DE COMUNICACIÓN SERIAL INDUSTRIALES Edwin Gilberto Carreño Lozano, Código:

DFRduino Romeo, todo en un controlador (RoMeo V1.0) Por favor, lea atentamente este manual antes de encender el dispositivo.

Programación del Timer1 para la captura de flancos

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

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

Tema 3: Expansión de recursos

UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA

Tópicos Especiales de Mecatrónica

PROCESO DE SIMULACIÓN EN PROTEUS

Interfaces de Comunicación. Interfaces de comunicación. Interfaces de comunicación

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso Jerarquía de buses

Router Teldat. Protocolo ARP e InARP

Especificaciones técnicas. Power, Inputs and Outputs. Operating Voltage Input Voltage (recommended) Input Voltage (limits) Analog Input Pins

EL PUERTO PARALELO. Puertos de Entrada / Salida (E/S) Aspectos generales

Allen-Bradley Logix para interfaz Profibus PA MANUAL DEL USUARIO

Ventajas del BUS I2C

LCD. Las pantallas de cristal líquido o módulos LCD, como. Módulo. con interface serial

Desarrollo de una cámara térmica de bajo costo implementada mediante un arduino.

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA EVOLUPIC Bootloader 16F88 BOOTLOADER: AN1310 DE MICROCHIP INDICE

GRUPO SEMILLERO DE BIONANOELECTRÓNICA ING. LEWIN LÓPEZ JULIO 2009

Bus I 2 C. Introducción

HARDWARE DE SISTEMA AUTOMÁTICO DE RASTREO DE VEHÍCULOS MEDIANTE TECNOLOGÍAS GPRS Y GPS

Microprocesadores, Tema 8:

Solución de Control de Accesos de bajo coste! Transmisor SKA UniScan FlexiScan Remoto 4 canales Receptor RF

Técnicas de Control de Flujo LAN/WAN

-PRODUCTO DESCATALOGADO- Relojes controlados por satélite Arbiter Systems, Inc.

GUIA RÁPIDA. Cofiguraciones de DeviceNet para el módulo CJ1W-DRM21

Práctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente

Transcripción:

Microprocesadores, Tema 8: Periféricos de Comunicación Síncronos Guillermo Carpintero Marta Ruiz Universidad Carlos III de Madrid

Standard de Comunicación Protocolos Standard de Comunicación Serie Síncrona Interfase Formato Num. Dispositivos Separación max. Velocidad de Tx (bits/seg) SPI Serie Sinc. 8 3 m 2.1M I2C Serie Sinc. 40 5.5 m 400k

Características Básicas Desarrollado por Philips Semiconductor, Version 1.0 1992 Standard (100-Kbps), Fast (400-Kbps) Version 2.0 1998 High Speed (3.4-Mbps) Orientado a comunicación de distintos integrados en una placa de circuito impreso Características Serie Síncrono 2 hilos (SDA, SCL) Maestro-Esclavo Bidireccional float high, driven low

Esquema de Conexión Interfase Serie Síncrono dos hilos SCL (Serial CLock) SDA (Serial DAta) Maestro Esclavos (Cada uno se identifica por su dirección) SCL SDA 1 2 3 n Dos papeles distintos para los dispositivos en el Bus Maestro / Esclavo Emisor / Receptor

Definiciones básicas Figura de The I2C-bus specification Phillips Semiconductor 2002

Conexión a nivel físico Bidireccional SDA (Serial DAta) es una línea bidireccional (SEMIDUPLEX) Líneas en colector abierto float high, driven low 2,2KΩ - 1KΩ Fast/HighSpeed 4,7KΩ Standard Figura de The I2C-bus specification Phillips Semiconductor 2002

Conexión a nivel lógico TRANSFERENCIAS INICIO / FIN START (S) STOP (P) Figura de The I2C-bus specification Phillips Semiconductor 2002

Conexión a nivel lógico TRANSFERENCIAS Nivel de Bit Figura de The I2C-bus specification Phillips Semiconductor 2002

Conexión a nivel lógico TRANSFERENCIAS Nivel de Byte Unidad mínima de información transferida: BYTE Que representa Dirección (del Esclavo) Datos (intercambio información) Código de Control (ordenar acción al esclavo) BYTE DATA TRANSFER

Conexión a nivel lógico TRANSFERENCIAS Acknowledge A cada transferencia de 8 bits, se le añade un último bit (bit 9) de ACK BYTE DATA TRANSFER ACK

Formato de los mensajes

Direccionamiento de los Esclavos Direcciones de 8 bits SLAVE ADDRESS Byte SLAVE ADDRESS set by Hardware

Direccionamiento de los Esclavos Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP Direcciones de 10 bits Figura de The I2C-bus specification Phillips Semiconductor 2002

Dispositivo de Interfase I2C en el PIC18 Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP Implementa las funciones de Maestro y Esclavo Genera interrupciónes ante condiciones S y P en la línea Da soporte a direccionamiento en 7 y 10 bits Los pines deben configurarse como ENTRADA Registros del Dispositivo:

Dispositivo de Interfase I2C en el PIC18 Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP DATA INPUT OUTPUT ADDRESS

Dispositivo de Interfase I2C en el PIC18 Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP SSPCON1 Error Bits Control Bits Master Slave

Dispositivo de Interfase I2C en el PIC18 Slave Mode MSSP module enabled waits for a Start condition Following Start, the 8 bits are shifted into the SSPSR register SSPSR<7:1> is compared to the value of the SSPADD register If the addresses match: 1. The SSPSR register value is loaded into the SSPBUF register. 2. The Buffer Full bit, BF, is set. 3. An ACK pulse is generated. 4. MSSP Interrupt Flag bit, SSPIF (PIR1<3>), is set (interrupt is generated, if enabled) on the falling edge of the ninth SCL pulse.

Dispositivo de Interfase I2C en el PIC18 Master Mode Transmit sequence would go as follows: S Addr Data P 1. The user generates a Start condition by setting the Start Enable bit, SEN (SSPCON2<0>). 2. SSPIF is set. Wait the required start time before any other operation takes place. 3. The user loads the SSPBUF with the slave address to transmit. 4. Address is shifted out the SDA pin until all 8 bits are transmitted. 5. The MSSP module shifts in the ACK bit from the slave device and writes its value into the SSPCON2 register. 6. The MSSP module generates an interrupt at the end of the ninth clock cycle by setting the SSPIF bit. 7. The user loads the SSPBUF with eight bits of data. 8. Data is shifted out the SDA pin until all 8 bits are transmitted. 9. The MSSP module shifts in the ACK bit from the slave device and writes its value into the SSPCON2 register. 10. The MSSP module generates an interrupt at the end of the ninth clock cycle by setting the SSPIF bit. 11. The user generates a Stop condition by setting the Stop Enable bit, PEN (SSPCON2<2>). 12. Interrupt is generated once the Stop condition is complete.

Dispositivo de Interfase I2C en el PIC18 Master Mode Events that cause the SSP Interrupt Flag bit, SSPIF, to be set (SSP interrupt, if enabled): Start condition Stop condition Data transfer byte transmitted/received Acknowledge transmit Repeated Start

Dispositivo de Interfase I2C en el PIC18 Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP SSPCON2 Start Stop

Dispositivo de Interfase I2C en el PIC18 Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP SSPSTAT

Conexión a nivel lógico Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP CKP bit Clock Streching 0x18 = 0d24 10MHz/24 = 416KHz

Conexión a nivel lógico Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP Clock Synch

Funciones en la Librería de C18 Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP

Rutinas básicas Generar condición S, SSPCON2bits.SEN = 1; while(sspcon2bits.sen); Generar condición P, SSPCON2bits.PEN = 1; while(sspcon2bits.pen); Antes de transmitir (Is port Idle?) void i2c_idle(void) { while( (SSPCON2 & 0x1F) (SSPSTATbits.R_W) ); } Buscar qué función de la librería realiza cada una de estas funciones

Conexión a nivel lógico Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP CKP bit Clock Streching Synchronization Acknowledge

Conexión a nivel lógico Figura del PIC18F2525/2620/4525/4620 Data Sheet Con permiso de MICROCHIP Bus Arbitration