Protocolo i2c
Porrini Hernán Roberto FIO – UniCen Junio 2009
Introducción
•
• •
El i2c es un protocolo de comunicación entre CI s, diseñado en los 80 por Philips Semiconductor. Actualmente se convirtió en un estándar mundial, aplicable a mas de 1000 CI s También forma la base fundamental de arquitecturas de control: SMBus: System ManagementBus PMBus: Power Management Bus IPMI: Intelligent Platform Management Interface ATCA: Advanced Telecom Computing Architecture
En la actualidad todo los equipos electrónicos (consumo, telecomunicaciones, industria) tienen la necesidad común de integrar circuitos y periféricos. • Microprocesadores • Puertos I/O digitales Displays LCD • Memorias PHILIPS logro interconectar • IC s audio digitaltodos los circuitos por medio de • IC svideo digital un bus de 2 lineas SDA y SCL • Convertidores A/D y D/A • Relojes de tiempo real • Driver s LED • Display s BCD
La metodología de comunicación de datos del bus I2C es en serie, sincrónica y bidireccional, que interconecta a todos los circuitos en forma paralela por medio de 2 hilos. Una de las señales del bus marca el tiempo (pulsos dereloj) y la otra se utiliza para intercambiar datos. Todos los circuitos o dispositivos interconectados al bus deben poder interpretar el protocolo. Cada uno tiene una identificación de 7 bit propia “ADDRESS” , que los distingue de los demás. Existe un único dispositivo “MASTER” quien ordena, organiza y controla toda la información que circula por el BUS. Los demás son circuitos “SLAVE”.Características generales
• • No hay limite en la cantidad de dispositivos que estén conectados al BUS siempre que las líneas permanezcan por debajo de 400 pF Velocidades de transferencia:
SM: FM: FM+: HSM: Standard mode Fast mode Fast mode plus High speed mode 100kbit/s 400kbit/s 1Mbit/s 3.4Mbit/s
•
Tecnología de compuerta CMOS
Bajo consumo de corriente Alta inmunidad al ruido Amplio rango devoltaje de alimentación Amplio rango de temperaturas de trabajo
Descripcion de las Señales
SCL (System Clock) es la línea de los pulsos de reloj de sincronizacion. SDA (System Data) es la línea por la que se mueven los datos. GND (Masa) común de la interconección entre todos los dispositivos.
Las líneas SDA y SCL son del tipo drenaje abierto, similar al de colector abierto, pero asociadas aun transistor de efecto de campo (o FET). Se deben polarizar en estado alto (conectando a la alimentación por medio de resistores "pull-up") lo que define una estructura de bus que permite conectar en paralelo múltiples entradas y salidas.
Se colocan resistencias entre los dispositivos y el bus, a modo de proteccion de picos de tension provenientes de espurias electricas inducidas sobre laslineas SDA y SCL
Se interpretan “0” y “1” según dos criterios: la especificacion tradicional. VIL=1.5V VIH=3.0V Nuevas especificaciones utilizando a VDD como tensión de referencia LOW≤30%VDD HIGH≥70%VDD
Protocolo: definiciones
•
•
•
Solo dos conductores son necesarios para realizar la comunicación SDA y SCL Todos los dispositivos se clasifican en MASTER s o SLAVE s, según lafuncion que cumplen no importa el tipo dispositivo (LCD, EEPROM, uP, A/D, D/A, etc.…) Existen SLAVE s receptores y/o transmisores.
TRANSMISOR RECEPTOR MASTER SLAVE MULTI MASTER ARBITRAJE Dispositivo que envia datos hacia el bus Dispositivo que recibe datos desde el bus Dispositivo que controla el uso del bus Dispositivo direccionado por el master Modo en el que hay mas de un master conectado en elmismo bus Procedimiento utilizado para impedir la colisión de datos por multi master. El arbitraje puede ser por software o por hardware por medio de una linea exclusiva “Wired-AND” Sincronización de datos entre multi master
SINCRONIZACION
La condición inicial, de bus libre, es cuando ambas señales están en estado lógico alto. En este estado cualquier dispositivo maestro puede ocuparlo,...
Regístrate para leer el documento completo.