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