You are on page 1of 11
oma 2810256, ‘ oo? CAPITULO 23 DS1624, TERMOMETRO EN BUS I2C Una necesidad tipica de muchos proyectos es la medida de temperatura. A continuacién se explica un procedimiento para realizarla con un simple chip de & pines. En el capitulo 28 se explicari otro dispositive com la misma funcién, 23.1 EL SENSOR DE TEMPERATURA DS1624 Fl DS1624 es un sensor de temperatura que transmite el valor digital de la temperatura leida en el lugar donde se encuentre el dispositive. Sus caracteristicas principales son: soa [i] [a] veo FM Fuente 66 fimenteaon 9 ono Masa set [2] Q [7] a0 ‘SDA. Linea de datos de bus 2c xB] faa [SCL Linoa de reloj del bus 12C x [A2, ATY AD | Lineas de dieccion eno [4 [5] a2 Figura 23-1 Patillaje del sensor de temperatura DS1624 Fabricade por Dallas Semiconductors (www dalserizcom) en encapsulado de ‘ocho pines como se muestra en fa figura 23-1 + Es un dispositivo conectable a bus I2C, es decir, los datos se escriben y leen en sefie a través de los pines SCL y SDA. ‘No requiere de componentes extermos para realizar la medida de 1a temperatura. Ls temperatura es leida como un valor digital de 2 bytes que incluye el signo. 26)_MICROCONTROLADOR PICI SPH, DESARROLLO DE PROVECTOS + Fl rango de temperatura que puede medir varia desde -55°C hasta +125°C con variaciones de 0,0625 °C. Realiza la conversién de temperatura cn un tiempo maximo de un segundo. Posee 256 bytes de memoria FEPROM para almacenar datos. Se puede alimentar con un voltaje de entre 2,7 a 5,5 V, siendo su valor tipico SV. Las entradas de diteccién A2, Al y AO permiten conectar varios DS1624 en el ‘mismo circuito, variando la direocién de cada uno de ellos. 23.2, DIRECCIONAMIENTO COMO ESCLAVO Como cualquier dispositive compatible con bus 12C, el DS1624 se activa cuando recibe la direccién valida indicada en la figura 23-2. Esta direccién consta de wna parte fija y otra programable. La parte programable In define el conexionado de las pines A2, Aly AO. Pate Parte Fj Programabio MgB se. 3 Tepes eae ena Lpirecoiin det esciava (Slave Address) Figura 23-2 Direoeién del DS1624 como eselavo en un bus 12C Asi por ejemplo, si A2, Aly AQ se conectan a masa, la direecién es b'10010001° en [ectura y b°10010000" en escritura, Esta programacién mediate tres hilos de direccionamiento hardware permite conectar hasta ocho sensores de temperatura Dsi62. 23.3 LECTURA DE LA TEMPERATURA £51 DS1624 realiza Ia lectura de la temperatura mediante dos bytes en complemento ‘a 2, Este dato es transmitido por el bus 12C, siendo primero el bit MSB en formato deserito en el ejemplo de la figura 23-3. MSB LsB 019]9]*] 110] 01] [oJo[o] t]o[ejojo 25,0625°C, Figura 23-3 Formato de lectura de la temperatura La tabla 23-1 muestra algunos ejemplos que relacionan ta femperatura y el contenido de estos dos registros. Se deduce que: © Latempers © Se akmacer parte decin © La temper: byte de los igual aI + Los cuto + La parte é que son: ( ejemptos d Table . BJEMPLO 8'00010110 101104 Sotucién: Hit % Bytede = 128x H +2 valor tipico SV. 36 DS1624 en el se activa cuando wsta de una parte ne tes b'10010001° ve tres hilos de de_ temperatura en complemento 48B en formato amperatura yell ene [CAPITULO 23: DS1624, TERMOMETROEN BUS C36) La temperatura viene expresads en grados centigrados con cuatro decimates. Se aimacena en 2 bytes donde el byte superior es la parte entera y el inferior la parte decimal, ‘+ La temperatura est expresada en complemento a 2, por tanto, el bit mis alto del byte de los enteros indica el signo, siendo igual a “0” para temperaturas positivas ¢ igual a"1” para temperaturas negativas, Los cuatro bits mis bajos del byte de Ia parte decimal estin siempre a cero. La parte decimal se obtiene sumando et valor posicional de las 4 bits més alto que son: 0,5 °C, 0,25 °C, 0,125 SC y 0,0625 °C, tal como se calcula en los ejemplos de la tabla 23-1. +125.0000°C 01111101 99000000 +55.0000°C 0110111 00000000 +25.5000°C 0011901 10000000 + 25.0625 °C (00011001 00010000 + 25,0000°C 90011001 00000000 +0.9375°C 00900000 11110000 +0.7500°C 0000000 11000000 +0.6250°C 00000000 109100000 + 0.5625 °C 00000000 10010000 +0,5000°C 00000000 10000000 ++0.2500°C 60000000 0100000 +0.1250°C 00000000 00100000 +0.0625°C. ‘99000000 00010000 + 0.0000°C ‘60000000 99000000 = 0.5000°C. 1111111 10000000 ~25,0000°C 11100110 90000000 + 25.0625°C 11100110 11110000 = $5.0000°C 11001001 00000000 Tabla 23-1 Ejemplo de lectura de temperaruras en el DS1624 EFEMPLO 1: Un DS{624 proporciona el siguiente valor en sus dos bytes: b°00010110 101 10000", {cual es ¢1 valor de la temperatura medida? ‘Solucién: Hay que diferenciar los dos bytes: *. Byte daparte-entera: b’00010110"= 128 x 0+ 64x0432x04 16x 148x044 14 2xt+120= +22°C

You might also like