Sistema de Adquisición de Datos
Enviado por Ricardohdzz • 21 de Agosto de 2013 • 3.345 Palabras (14 Páginas) • 729 Visitas
INSTITUTO TECNOLÓGICO DE CHIHUAUA
Sistema de Adquisición de Datos
〖Protocolos de Comunicación I〗^2 C y SPI
Profesor: Doc. José Rivera Mejía
Ricardo Hernández Zubia 10060204
Marzo de 2013
Contenido
Objetivo 2
Introducción 2
I. Protocolo I2C(Inter-Integrated Circuit). 2
a) Investigue el funcionamiento del protocolo de comunicación I2C. 2
b) Investigue los periféricos disponibles con comunicación I2C. 5
El reloj en tiempo real DS1307 de DALLAS 6
El Termómetro y termostato DS1621 de DALLAS. 7
c) Proponga una arquitectura de un sistema de adquisición de datos con este protocolo de investigación. 8
II. Protocolo SPI (Serial Peripheral Interface Bus). 9
a) Investigue el funcionamiento del protocolo de comunicación SPI. 9
Especificaciones del Bus 9
Modos del Reloj 10
Ventajas 12
Desventajas 12
b) Investigue los periféricos disponibles con comunicación SPI 13
c) Proponga una arquitectura de un sistema de adquisición de datos con este protocolo de investigación. 14
Conclusiones 15
Referencias 15
Objetivo
Comprender los protocolos de comunicación I^2 C y SPI, y los periféricos disponibles como memorias y convertidores analógicos a digitales.
Introducción
Se pretende comprender los protocolos especificados, sus principios de comunicación así como los diferentes aparatos que cuentas con estos protocolos, además de adentrarse en las diferentes comunicaciones más utilizadas.
Protocolo I^2 C(Inter-Integrated Circuit).
Investigue el funcionamiento del protocolo de comunicación I^2 C.
El bus I2C, es un protocolo de comunicación serie. Su estructura de conexión es muy simple ya que con tan solo dos cables podemos conectar multitud de sensores, controladores o actuadores (en función de la red que queramos construir) hasta llegar al límite de 400pF.
El bus tiene las siguientes características:
Requiere dos líneas de comunicación, por un lado SDA (Signal Data) y por otro lado SCL (Signal Clock). Las dos líneas son bidireccionales.
Ambas líneas de comunicación deben tener conectadas una resistencia pull-up de 10KΩ. Éstas se conectan para provocar que en el momento que no exista comunicación alguna entre los dispositivos que conformen la red, las líneas se encuentren a nivel alto (5V).
Ambas líneas de comunicación son las que transportan la información a los dispositivos que conforman la red, estos datos están formados por palabras de 8 bits.
El protocolo de comunicación es Master‐Slave.
Está permitida la conexión de varios masters.
Todos los dispositivos conectados pueden ser Master o Slave.
Cada uno de los dispositivos conectados disponen de un código propio para ser reconocido por el resto de dispositivos, por lo que en el momento de iniciar la comunicación, el dispositivo que quiera comunicarse con otro, deberá hacerlo mediante la dirección del dispositivo destinatario.
Los dispositivos de un bus I2C tienen una dirección única para cada uno, y pueden clasificarse como maestros o como esclavos.
El maestro es el que inicia la trasferencia de datos y genera la señal de reloj.
El esclavo espera a que un maestro e comunique con él para generar la trasferencia.
El bus I2C es multimaestro, lo que quiere decir que puede haber más de un maestro conectado y controlando el bus.
Existen mecanismos para evitar que dos maestros comiencen una trasferencia de información al mismo tiempo.
La transmisión bidireccional serie se puede realizar a dos velocidades, el modo más común de funcionamiento es el estándar de 100kbit/s. Esta velocidad también puede llegar a 400Kbit/s en modo rápido o 3.4Mbit/s para aplicaciones industriales.
Una vez montada la red tendrá una apariencia como la de la figura 1. En esta imagen podemos observar ambas resistencias de pull‐up en las dos líneas de comunicación y la conexión de los diversos dispositivos.
Figura 1
Esquema de comunicación I^2 C.
Dicha figura, muestra un momento dónde el µC de la derecha está funcionando como Master, es decir, estaría enviando un mensaje a uno de los otros dispositivos. El Master, tal y como se ha comentado anteriormente, es el dispositivo emisor, es decir, es el que decide a “quien” y el “que” enviará. Cuando el Master inicia la transferencia de información hacia el Slave, genera la señal de Clock, es decir, enviaremos la información y unos µs después generamos la señal de Clock (SCL).
El protocolo se puede estudiar por medio de bloques funcionales:
Condición de arranque
Condición de arranque (Start Condition).
Condición de parada (Stop Condition).
Condición de re-arranque (Restart Condition).
Trasmisión de datos (Data Transfer).
Condición de Acknoledge (Ack/NackCondition).
Escritura de un dato.
Lectura de un dato.
Condición de arranque
La genera un maestro y con ella ocupa el bus e indica que va a comenzar una trasmisión de datos.
Los esclavos la detectan y se ponen a la escucha.
SDA se pone a nivel bajo cuando SCL está a nivel alto.
Condición de parada.
La genera el maestro y con ella libera el bus e indica que se ha finalizado la trasmisión de datos.
SDA se pone a nivel alto cuando SCL está a nivel alto.
Condición de re-arranque.
La genera un maestro y con ello reinicia el bus.
Se compone de una condición de parada seguida de una condición de arranque.
Transferencia de información
Todos los datos están formados por 8 bits y la trasmisión comienza con el bit de más peso.
Todo byte debe ir acompañado de un bit de reconocimiento ACK.
El dato es válido cuando la señal SCL está a nivel alto
Entre un byte y el siguiente puede haber un tiempo „t‟ de espera para que uno de los dispositivo realice las operaciones que corresponda.
Validación.
Es obligatorio, valida la trasferencia de un byte
...