Las Subrutinas - IES Antonio Machado

Anuncio
TEMA 20.6
EL BUS
2
IC
PERIFÉRICOS
DS1621/DS1624 de DALLAS
En este tema comenzamos a estudiar un periférico I2C, el
Termómetro y termostato DS1621 de DALLAS.
El pdf que nos facilita el fabricante, y que se puede obtener desde
Proteus es:
CCFF DPE MÓDULO DE PROYECTOS
2
PIN 3: TOUT salida de termostato.
Activa cuando la temperatura excede
TH; se restablecerá cuando la
temperatura cae por debajo de TL
PIN 8: VDD es el pin de entrada de alimentación la tensión de
alimentación puede estar comprendida entre 2.7V y 5.5V
CCFF DPE MÓDULO DE PROYECTOS
3
DESCRIPCIÓN
El IC DS1621 es un termómetro y termostato digital.
Este dispositivo facilita lecturas de la temperatura en formato de
9-bits, además posee una salida de alarma térmica, TOUT (pin
3), que se activa cuando la temperatura medida por el dispositivo
supera un valor definido por el usuario (TH) temperatura.
La salida se mantiene activa hasta que la temperatura es menor
que un valor definido por el usuario (TL). Con lo cual queda
definido el ancho de histéresis.
Estos valores son programados por el usuario, pero el IC los
almacena en memoria no volátil.
La comunicación con el dispositivo, tanto las lecturas como las
escrituras se realizan mediante el protocolo I2C.
CCFF DPE MÓDULO DE PROYECTOS
4
Diagrama de bloques:
CCFF DPE MÓDULO DE PROYECTOS
5
Medición de la temperatura:
La temperatura medida por el sensor es convertida mediante un
conversor analógico digital a 2 bytes, en Complemento a 2.
El byte alto es un entero con resolución de 1 ºC, mientras que el
segundo es un valor decimal con resolución de 0,5 ºC
El rango de las temperaturas que pueden ser medidas por este
dispositivo va desde -55ºC a 125ºC,
Relación entre temperaturas y valores facilitados por el IC
CCFF DPE MÓDULO DE PROYECTOS
6
Termostato de control
El modo de funcionamiento como termostato programable con
histéresis, se muestra en la figura.
Las actualizaciones de la salida termostato se efectúan cuando se
completa una conversión de temperatura.
Cuando la temperatura del DS1621 iguala o excede el valor
almacenado en el registro TH, la salida se activa y se mantendrá
activo hasta que la temperatura caiga por debajo de la
temperatura almacenada en el registro de temperatura de disparo
(TL).
CCFF DPE MÓDULO DE PROYECTOS
7
El estado activo para la salida es programable por el usuario,
pudiendo ser "1" (VDD) ó "0" (0 V).
Esto se hace programando el bit POL del registro de control.
EL REGISTRO DE CONTROL
El registro de control del DS162, fija el modo de funcionamiento,
y nos informa del estado de la conversión.
Los bits que componen este registro son:
CCFF DPE MÓDULO DE PROYECTOS
8
Donde:
DONE = bit de conversión, si DONE = “1” Conversion completa
y si DONE “0” = Conversion en progreso.
THF = Flag de temperatura alta del termostato. Este bit se pone a
"1“ cuando la temperatura es mayor o igual al
valor de TH. Seguirá siendo "1" hasta que se restablezca
mediante software a "0“ o se elimine la alimentación al
dispositivo. Esta característica proporciona un método de
determinar si el DS1621 se ha encontrado en temperaturas por
encima de TH.
THl = Flag de temperatura baja del termostato. Este bit se pone a
"1“ cuando la temperatura es menor o igual al
valor de TL. Seguirá siendo "1" hasta que se restablezca
mediante software a "0“ o se elimine la alimentación al
dispositivo. Esta característica proporciona un método de
determinar si el DS1621 se ha encontrado en temperaturas por
debajo de TL.
CCFF DPE MÓDULO DE PROYECTOS
9
Donde:
NVB = Flag busy de la memoria no volátil (eeprom)
Si NVB = “1” se está escribiendo en la memoria.
Si NVB = “0” se puede escribir en la memoria.
La escritura en memoria puede tardar hasta 10 ms.
POL = Bit de selección de la polaridad en el terminal de salida
Tout (del termostato), este bit no es volátil.
Si POL = “1” señal activa a nivel alto
Si POL = “0” señal activo a nivel bajo
1SHOT = Modo de conversión, este bit no es volátil.
Si 1SOHT = “1” se realizará una conversión cuando se reciba el
comando de conversión.
Si 1SOHT = “0” el DS1621 realizará conversiones contínuas una
vez que reciba el comando de inicio de conversión.
CCFF DPE MÓDULO DE PROYECTOS
10
X = Reservados.
Para la operación típica en modo termostato, el DS1621 se deberá
programar en modo conversión contínua, sin embargo para
aplicaciones donde solo se necesita saber la temperatura en
ciertos instantes, se puede utilizar el modo disparo único, lo que
conlleva un ahorro de energía.
En el modo de disparo único, el valor de Tout se mantiene hasta
que no se obtiene una nueva temperatura válida por finalización
del ciclo de conversión.
CCFF DPE MÓDULO DE PROYECTOS
11
Dirección del esclavo DS1621:
La dirección que tiene asignado de fábrica este dispositivo es
1001, para los 4 bits de mayor peso, debiendo configurar
mediante hardware los 3 bits de menor peso.
Como cualquier otro dispositivo el modo de funcionamiento del
DS1621, debe ser programado por el usuario, y de acuerdo a una
serie de comandos, seguidamente damos los mas importantes:
SUMARIO DE COMANDOS
Leer la temperatura [AAH]
Este comando lee el resultado de la última conversión de
temperatura.
El DS1621 enviará 2 bytes, en el formato que
se ha descrito anteriormente
(Ca2), que es el contenido de este12
CCFF DPE MÓDULO DE PROYECTOS
registro.
Acceso TH [A1h]
Si R/W es "0" de este comando escribe en el registro TH
(Temperatura Alta).
Después de emitir este comando, los dos próximos bytes que
reciba el DS1621 se escribirán en el registro TH, se deben enviar
en el formato descrito anteriormente.
Si R / W es "1“, se procederá a la lectura del valor almacenado
en este registro.
Recuerde que este registro se debe inicializar si se desea que el
dispositivo funcione como termostato
Acceso TL [A2h]
Idéntico al acceso a TH, pero referido al registro TL
CCFF DPE MÓDULO DE PROYECTOS
13
El acceso al registro de configuración [AC]
Si R/W es "0“ se escribe en el registro de configuración.
Después de emitir este comando, el siguiente byte de datos
enviado es el valor que se escribirá en el registro de
configuración.
Si R/W es "1" el dato que se leerá es el valor almacenado en el
registro de configuración
Inicio de conversión de Temperatura [EEH]
Este comando inicia una conversión de temperatura.
En modo disparo, la conversión de temperatura se
llevará a cabo y luego el DS1621 se mantendrá inactivo.
En el modo ”conversión continua”, este comando iniciará
las conversiones.
CCFF DPE MÓDULO DE PROYECTOS
14
Parar la conversión de Temperatura [22h]
Este comando para la conversión de temperatura.
Este comando puede ser utilizado para detener el DS1621 en el
modo de conversión continua.
Después de emitir este comando, la conversión en curso se
completará y el DS1621 permanecerá inactivo hasta que reciba
un comando de start conversión, pasando otra vez a modo
conversión continua.
CCFF DPE MÓDULO DE PROYECTOS
15
Protocolo de Comunicación I2C del DS1621
CCFF DPE MÓDULO DE PROYECTOS
16
CCFF DPE MÓDULO DE PROYECTOS
17
CCFF DPE MÓDULO DE PROYECTOS
18
CCFF DPE MÓDULO DE PROYECTOS
19
CCFF DPE MÓDULO DE PROYECTOS
20
CCFF DPE MÓDULO DE PROYECTOS
21
CCFF DPE MÓDULO DE PROYECTOS
22
Descargar