Sensor de temperatura inteligente TMPl01 basado en interfaz de bus 12C
1 Descripción general TMPl01 es un sensor de temperatura inteligente de alta precisión y bajo consumo basado en la interfaz de bus serie I2C producida por TI. Integra un sensor de temperatura, un convertidor A/D y una interfaz de bus serie I2C. esperar. El amplio rango de medición de temperatura y la alta resolución lo hacen ampliamente utilizado en sistemas de medición de temperatura en muchos campos, sistemas de control y medición de temperatura multicanal y varios dispositivos de control de temperatura constante. TMPl01 tiene las siguientes características de rendimiento:
1) Tiene un bus I2C y se comunica con el microcontrolador a través de la interfaz serial (SDA, SCI) Se pueden conectar tres dispositivos TMPl01 a su bus I2C para formar un multi. -Sistema de control y medición de temperatura de punto.
2) El rango de medición de temperatura es -55%~125℃, precisión de conversión A/D de 9~12 bits, la resolución de conversión A/D de 12 bits alcanza 0,0625~C. El valor de temperatura medido se emite en serie en un formato digital de 16 bits con signo extendido.
3) El rango de voltaje de la fuente de alimentación es amplio (+2,7 V ~ +5,5 V) y la corriente de reposo es pequeña (solo O,1 μA en modo de espera).
4) Tiene registros de límite de temperatura superior e inferior programables y funciones de salida de alarma (interrupción) La función de cola de fallas internas puede evitar activaciones falsas causadas por interferencias de ruido, mejorando así la confiabilidad del sistema de control de temperatura. . Función de pin 2TMPl01 y estructura interna Función de pin 2.1TMPl01 La conexión del hardware TMPl01 es simple, además de SDA y SCI durante la operación. No se requieren componentes externos excepto la resistencia pull-up en la línea ALERT. TMPl01 está empaquetado en SOT23-6. La disposición de los pines se muestra en la Figura 1. Las funciones de los pines son las siguientes: SCL: entrada de reloj en serie; GND: tierra; ALERTA: salida de alarma de bus (interrupción), salida de drenaje abierto; Terminal de alimentación; ADD0: Terminal de selección de dirección del bus I2C; SDA: Terminal de entrada/salida de datos en serie. Hay un condensador de acoplamiento de 0,1 μF conectado entre la fuente de alimentación y el terminal de tierra. 2.2 Estructura interna de TMPl01 El diagrama de bloques de la estructura interna de TMP101 se muestra en la Figura 2. TMP101 contiene un sensor de temperatura de diodo, un convertidor A/D Δ-Σ, un oscilador de reloj, lógica de control, un registro de configuración, un registro de temperatura y un registro de fallas. contador de colas. TMP101 primero genera una señal de voltaje proporcional a la temperatura medida a través del sensor de temperatura interno, y luego convierte la señal de voltaje en una cantidad digital proporcional a la temperatura Celsius a través de un convertidor A/D tipo Δ-Σ de 12 bits y almacena la temperatura interna. en el registro. El dispositivo determina si se activa la salida de alarma a través del comparador de ventana de temperatura en función del MUSLO y TLOW establecidos por el usuario en los registros de límite de temperatura superior e inferior. Después de encender el sistema, el dispositivo está en el estado predeterminado y su umbral de alarma de temperatura predeterminado es: temperatura límite superior MUSLO = 80 °C, temperatura TLOW = 75 °C. Principio de funcionamiento de 3TMP101 La línea de interfaz de datos serie SDA del bus I2C y la línea de interfaz de reloj serie SDA de TMPl01 están controladas por el controlador principal. El controlador principal actúa como host y el TMP101 actúa como esclavo y admite los comandos de operación de lectura/escritura del protocolo de bus 12C. Primero configure la dirección a través del controlador principal. Deje que el controlador principal realice el reconocimiento de direcciones en el TMP1O1 conectado al bus. Para obtener correctamente los datos del valor de temperatura en el registro de temperatura interno de TMP101, es necesario escribir los datos correspondientes en los registros internos relevantes de TMP101 a través del bus I2C y configurar la resolución del resultado de la conversión de temperatura, el tiempo de conversión, los valores de temperatura límite superior e inferior de la salida de alarma y el método de trabajo, etc. Esto es para inicializar el registro de configuración, el registro de temperatura de límite superior y el registro de temperatura de límite inferior dentro de TMPl01. 3.1 Configuración de dirección de TMP1O1 De acuerdo con la especificación del bus serie 12C, TMP1O1 tiene un código de dirección de dispositivo esclavo de 7 bits, su bit efectivo es "10010" y los dos bits restantes se configuran en "" según si el pin ADD0 está conectado a tierra , flotante o conectado a la fuente de alimentación 00", "01", "10". Se pueden conectar tres dispositivos TMPl01 a un bus I2C. 3.2Registro interno TMP101 La implementación de funciones y el modo de trabajo de TMP101 están determinados principalmente por cinco registros internos, como se muestra en la Figura 3. Estos registros son el registro de puntero de dirección, el registro de temperatura, el registro de configuración, el registro de temperatura de límite superior (TL) y el registro de límite inferior. registro de temperatura (TH). Los últimos cuatro registros son todos registros de datos.
El registro de puntero de dirección es un registro de lectura/escritura de 8 bits que almacena internamente las direcciones de los cuatro registros de datos restantes para leer y escribir durante las operaciones de lectura y escritura. Determine el registro al que se accederá configurando el contenido del registro del puntero de dirección. En el byte de datos de 8 bits, los primeros 6 bits se establecen en 0 y los últimos 2 bits se utilizan para seleccionar el registro. La relación entre los valores de los últimos 2 bits P0 y P1 y el registro seleccionado es. como se enumera en la Tabla 1. El registro de temperatura es un registro legible de 16 bits. El registro de temperatura almacena los datos de temperatura de 12 bits después de la conversión A/D, y los últimos 4 bits se llenan con O para formar un registro legible de 2 bytes. También puede obtener resultados de conversión diferentes de 9, 10, ll y 12 bits configurando el contenido del registro de configuración. El registro de configuración es un registro de lectura/escritura de 8 bits y el formato de datos se enumera en la Tabla 2. El modo de funcionamiento del dispositivo se establece a través del registro de configuración. Rl/R0 es el bit de configuración de resolución de conversión del sensor de temperatura, que se puede configurar internamente. La resolución y el tiempo de conversión del convertidor A/D: F1/F0 es el bit de configuración para el número de colas de fallas. Cuando la temperatura medida excede n veces continuamente (al configurar el bit Fl/F0), habrá una salida de alarma. POL es la polaridad de ALERTA, a través de la configuración de POL, la polaridad del controlador y la salida de ALERTA pueden ser consistentes: SD se usa para configurar si el dispositivo funciona en modo apagado: en modo apagado, escribiendo l en el sistema operativo/. El bit de ALERTA puede habilitar una conversión de temperatura. En el modo de comparación de temperatura, este bit de datos proporciona el estado del modo de comparación. 4 Interfaz con el microcontrolador PICl8F458 TMP101 se usa ampliamente en varios sistemas de medición de temperatura, sistemas de administración de energía, dispositivos de monitoreo de temperatura y dispositivos de control termostático con sus resultados de medición de alta precisión y su paquete de parches ultrapequeños a través de su línea de interfaz de datos serial SDA y The serial. La línea de interfaz de reloj SCL se puede conectar fácilmente al microcontrolador para formar un sistema de medición de temperatura. La Figura 4 muestra el circuito de aplicación de conexión entre el microcontrolador PIC18F458 y TMP101. 4.1 Introducción a PICl8F458 PICl8F458 es una microcomputadora de un solo chip producida por Microchip Company de Estados Unidos. El chip integra convertidor A/D, memoria EEPROM, salida de comparación, entrada de captura, salida PWM, interfaz I2C y SPI, circuito de interfaz de comunicación serial asíncrona (USART), circuito de interfaz de bus CAN, memoria de programa Flash, etc. Tiene funciones potentes. El circuito diseñado es simple y confiable. 4.2 Configuración de inicialización de TMP101 Para obtener los datos del valor de temperatura en TMP101, el registro de configuración, el registro de temperatura de límite superior y el registro de temperatura de límite inferior dentro de TMP101 deben inicializarse primero a través del microcontrolador PICl8F458. El proceso es: el microcontrolador PICl8F458 escribe la dirección en TMP101, luego escribe la dirección del registro de configuración en el registro de puntero y finalmente escribe los datos en el registro de configuración. El tiempo de la operación de escritura del microcontrolador PICl8F458 en el registro de configuración TMP101 se muestra en la Figura 5. El tiempo de escritura de los registros de temperatura límite superior e inferior es el mismo que el tiempo de escritura del registro de configuración. 4.3 Datos de lectura de TMP101 El proceso de lectura del valor actual del registro de temperatura interno TMP101 es: primero escriba el TMP101 para leer, luego escriba el registro de temperatura interno TMP101 para leer, envíe una "señal de reinicio" al bus I2C y enviar el TMP101 El byte de dirección también se retransmite, cambiando la dirección de transmisión de datos, para que el registro de temperatura se pueda leer nuevamente. La secuencia de tiempo de la operación de lectura del registro de temperatura TMPl01 por parte del microcontrolador se muestra en la Figura 6. La Figura 6 se puede explicar como: con la cooperación de sincronización de la línea de datos en serie SDA y la línea de reloj en serie SCL, el bit de habilitación de inicio SEN del microcontrolador PIC18F458 se configura para establecer la sincronización de la señal de inicio y luego el microcontrolador escribe la dirección TMP101. byte que se leerá en el búfer y transferirá el byte al pin SDA a través del registro de desplazamiento interno del microcontrolador. Los primeros 7 bits del byte de dirección de 8 bits son la dirección controlada de TMP101, y el último bit es. el bit de control de lectura/escritura (es "O" indica una operación de escritura). Después de completar la escritura del byte de dirección, en el noveno ciclo de pulso de reloj, el microcontrolador libera SDA para que TMP101 pueda retroalimentar una señal de respuesta efectiva para que el microcontrolador la detecte y reciba después de que la dirección coincida. Después del noveno pulso de reloj, el pin SCL permanece bajo y el nivel del pin SDA permanece sin cambios hasta que se envía el siguiente byte de datos al búfer. Luego escriba el byte de dirección del registro de temperatura interno TMP101 para leer. El proceso es el mismo que la operación de escritura del byte de dirección TMP101.
Al enviar una "señal de reinicio" al bus, se cambia la dirección de transmisión de datos. En este momento, el byte de direccionamiento debe retransmitirse, pero el byte de dirección de TMP101 se ha convertido en una operación de lectura y luego el registro de temperatura interno de TMP101. Se lee el byte de dirección y finalmente se lee el byte de datos del valor de temperatura en el registro de temperatura interno de TMP101, y el valor de temperatura medido se emite en serie como una cantidad digital de 16 bits con signo extendido. Cada vez que el microcontrolador recibe un byte, debe enviar una señal de respuesta. En este momento, debe tenerse en cuenta que la señal de respuesta enviada por el microcontrolador es diferente de la señal de respuesta enviada por TMP101. Finalmente, al configurar la habilitación de parada. bit, se envía una señal de parada al bus, lo que indica que esta comunicación ha finalizado. 5 La conclusión presenta el rendimiento, la estructura y el principio de funcionamiento del sensor de temperatura digital inteligente TMP101 basado en la interfaz de bus serie I2C, así como su aplicación práctica con el microcontrolador PIC18F458, y lo aplicó con éxito al "sistema de control de aula inteligente basado en el microcontrolador". Este sistema puede mostrar el valor de temperatura real detectado en el aula y transmitirlo a la computadora host para su visualización en tiempo real a través de la línea de datos de comunicación RS-485. Los resultados de la medición son altamente precisos y el sistema funciona de manera estable.