190 likes | 315 Views
Guilherme Heck, Leonardo Nunes Alegre e Manoel Ferreira de Oliveira Programação de Periféricos Professor Eduardo Augusto Bezerra Faculdade de Informática Pontifícia Universidade Católica do Rio Grande do Sul. Sensor de Temperatura Digital TMP75. Características:. 8 endereços;
E N D
Guilherme Heck, Leonardo Nunes Alegre e Manoel Ferreira de OliveiraProgramação de PeriféricosProfessor Eduardo Augusto BezerraFaculdade de InformáticaPontifícia Universidade Católica do Rio Grande do Sul Sensor de Temperatura Digital TMP75
Características: • 8 endereços; • Saída Digital: Interface Serial; • Resolução: 9- a 12-bits, selecionados pelo usuário; • Precisão: 1,5°C (máx.) de –25°C a 85°C 2,0°C (máx.) de –40°C a 125°C • Baixa corrente quiescente: 50μA, 0,1μA em modo “Standby” • Ampla alimentação: 2,7V a 5,5V
Descrição: O TMP75 é um sensor de temperatura com saída serial, que não requer componentes externos e é capaz de uma ler temperaturas com uma resolução de 0,0625°C. Ele permite a conexão de até oito dispositivos no mesmo barramento e ainda possui um pino de alerta. O TMP75 é ideal para uma extensa medição de temperatura em aplicações ambientais, computacionais, industriais, instrumentais e pessoais. O TMP75 está especificado para uma operação inferior a –40°C e superior a +125°C.
“Pointer Register” A figura ao lado mostra a estrutura interna do TMP75. O “pointer register” é um registrador de 8-bits responsável pelo endereçamento de dados dos dispositivos. Esse usa dois LSBs para identificar qual registrador de dados deve responder a um comando de leitura ou escrita. A tabela 1 identifica os bits do “pointer register” e a tabela 2 descreve os endereços para acessar os registradores.
Tabela 1. Byte do “Pointer Register” Tabela 2. Endereços dos Registradores do TMP75
Registrador de Temperatura O Registrador de temperatura é um registrador de 12-bits unicamente de leitura que armazena a mais recente conversão. Dois bytes devem ser lidos para obter dados e são descritos nas tabelas 3 e 4. Os 12 primeiros bits são usados para indicar temperatura, com os 4 bits restantes iguais a zero. Tabela 3. Byte 1 do Registrador de Temperatura Tabela 4. Byte 2 do Registrador de Temperatura
Logo após o sensor ser conectado à alimentação, o sensor de temperatura irá ler 0°C até a primeira conversão ser completada. O formato de dados das temperaturas são resumidas na tabela 5. Tabela 5. Formato de Dados das Temperaturas
Registrador de Configuração O registrador de configuração é um registrador de 8-bits de leitura/escrita, usado para armazenar bits que controlam os modos operacionais do sensor de temperatura. Operações de leitura/escrita são realizadas por MSB. O formato do registrador de configuração é mostrado na tabela 6. O valor do registrador quando recém ligado à alimentação ou resetado possui todos os bits iguais a zero. Tabela 6. Formato do Registrador de Configuração
“Shutdown Mode” (SD) Este bit permite ao usuário economizar o máximo de energia, desligando todos os circuitos além da interface serial, o que reduz o consumo de corrente para aproximadamente menos que 0,1μA. O “Shutdown Mode” está habilitado quando o bit SD está setado em 1, sendo que o dispositivo irá desligar assim que a conversão for completada, e desabilitando quando setado em 0, com o dispositivo mantendo um estado contínuo de conversão. “Thermostat Mode” (TM) Este bit indica ao dispositivo se este deve funcionar no modo de comparação (TM = 0) ou no modo de interrupção (TM = 1).
Modo de Comparação (TM = 0) Quando neste modo, o pino de alerta fica ativo quando a temperatura iguala ou excede o valor contido no registrador de temperatura máxima e gera faltas de acordo com os bits de falta F1 e F0. O pino de alerta permanece ativo até que a temperatura caia abaixo da máxima e do número de faltas. Modo de Interrupção (TM = 1) Neste modo, o pino de alerta fica ativo quando a temperatura iguala ou excede o valor máximo para um número consecutivo de condições de falta. O pino de alerta permanece ativo até que a leitura de alguma operação em qualquer registrador ocorra ou que o dispositivo responda com sucesso ao endereço de resposta de alerta (“SMBus Alert Response Address”). O pino de alerta também será desativado se o dispositivo estiver em “Shutdown Mode”. Logo após, somente ficará ativo quando a temperatura for inferior à mínima, sedo isso análogo ao caso da temperatura máxima. Logo após o ciclo recomeçará.
Polaridade (POL) O Bit de polaridade do TMP75 permite ao usuário o ajuste de polaridade do pino de alerta. • POL = 0 pino de alerta em ativo baixo; • POL = 1 pino de alerta em ativo alto. Fila de Faltas (F1/F0) Uma condição de falta é definida quando a temperatura excede quaisquer dos limites definidos pelo usuário nos registradores próprios. Estes valores vão para uma pilha para serem usados pelo pino de alerta. O contador é inicializado e resetado em 0. A tabela 7 demonstra o número de faltas que podem ser programadas para ativar o pino de alerta. Tabela 7. Configuração de Faltas
Resolução de Conversão (R1/R0) Esses bits controlam a resolução do conversor Analógico-Digital (A/D) interno. Isso permite ao usuário maximizar a eficiência ao optar por uma maior resolução ou mais rápida conversão. A tabela 8 mostra os bits de resolução, assim como a relação entre resolução e tempo de conversão. Tabela 8. Resolução do TMP75
“One-Shot” (OS) Quando o dispositivo está em “Shutdown Mode”, escrever ‘1’ no bit de OS irá desencadear em uma única conversão de temperatura. O dispositivo irá retornar ao estado de desligamento (“shutdown”) ao completar a conversão. Esta característica do TMP75 torna-se útil para reduzir o consumo de energia, quando uma monitoração contínua da temperatura não é necessária.. Quando o registrador de configuração está no modo de leitura, o OS será sempre zero.
Registradores de Temperaturas Máxima e Mínima O formato dos dados nos registradores é o mesmo usado para o registrador de temperatura. Isso está explicitado nas tabelas 9 e 10. Tabela 9. Bytes 1 e 2 para o Registrador de Temperatura Máxima Tabela 10. Bytes 1 e 2 para o Registrador de Temperatura Mínima Os 12-bits são usados para os registradores de temperatura, máxima e mínima, e são todos usados nas comparações da função de alerta, mesmo quando a saída está configurada com a resolução de 9-bits.
Interface Serial O TMP75 opera somente como um dispositivo “slave” usando barramentos de fio duplo e SMBus. AS conexões com o barramento são feitas através de linhas de I/O com SDA e SCL. Os pinos de SDA e SCL caracterizam-se por filtros e Schmitt triggers para minimizar ruídos e outros efeitos elétricos. O TMP75 suporta um protocolo de transmissão em modo rápido (1kHz a 400kHz) ou muito rápido (1kHz a 3,4MHz). Todos os bytes de dados são transmitidos inicialmente por MSB.
Barramento de Endereçamento Serial Para uma comunicação com o TMP75, o dispositivo “master” deve primeiro endereçar dispositivos “slave” via um byte de endereçamento próprio. Este byte de endereçamento consiste em sete bits de endereços e um bit de direção indicando leitura ou escrita. O TMP75 possui três pinos de endereço (A0, A1 e A2) capazes de endereçar até 8 dispositivos. A tabela 11 descreve os endereços para conectar tais dispositivos. Nela, ‘1’ indica que o pino está conectado à alimentação (VCC) e ‘0’ indica conexão ao terra (GND).
Tabela 11. Pinos de endereço e Endereços “slave” para o TMP75
Implementação TMP75SETAD(A): Inicializa o ponteiro de endereços da EEPROM. • A=00H -> Temperatura atual. • A=01H -> Registrador de configuração. • A=02H -> Registrador temperatura mínima. • A=03H -> Registrador temperatura máxima. TMP75WR(A,B): Escreve no endereço corrente o valor armazenado em A no primeiro byte e B no segundo. TMP75ERROR: Rotina genérica de tratamento de erro. TMP75RD: Lê dois bytes no endereço corrente da EEPROM.