Ejemplos, requisitos y diagnósticos
En este tema se presentan ejemplos de problemas de administración térmica y también se describen los requisitos y métodos de diagnóstico.
Ejemplos
En los ejemplos siguientes se explica cómo abordar problemas típicos de administración térmica.
Sensor de temperatura de la piel
Supervisar la temperatura de la piel es fundamental para asegurarse de que el usuario está protegido en todo momento. Si la temperatura en la piel es demasiado alta para soportarla de forma segura, el sistema debe tomar medidas inmediatas para apagarse. Estos sensores de temperatura también pueden proporcionar entrada a las zonas térmicas para limitar los dispositivos que contribuyen a su lectura.
En el diagrama de bloques siguiente se muestra un diseño de sistema de ejemplo que tiene tres dispositivos y dos zonas térmicas.
En este ejemplo, el sensor de temperatura 1 (TS1) y el sensor de temperatura 2 (TS2) se colocan estratégicamente en ubicaciones donde los dispositivos proporcionan más calor a la piel. Los dispositivos 1, 2 y 3 pueden tener un sensor de temperatura individual encima de cada dispositivo. Estos sensores de dispositivo están orientados a la limitación de cada dispositivo de forma individual. Normalmente, el propósito del sensor de piel es detectar la temperatura en la superficie del dispositivo como un agregado de varios dispositivos en el sistema. Aunque cada dispositivo puede producir más calor de lo que se puede detectar en estos sensores de temperatura, la producción de calor combinada de estos dispositivos tiende a acumularse en estas ubicaciones del sensor.
TS1 se coloca a medio camino entre el dispositivo 2 y el dispositivo 3. Por lo tanto, la zona térmica que toma TS1 como entrada controla los dispositivo 2 y 3. Cuando TS1 se calienta, la zona térmica limita los dispositivos 2 y 3. Del mismo modo, cuando TS2 se activa, la zona térmica limita los tres dispositivos.
En este ejemplo, los sensores se colocan de forma equidistante de los dispositivos que supervisan. TS1 se coloca a medio camino entre el dispositivo 2 y el 3, y TS2 se coloca equidistante de los dispositivos 1, 2 y 3. Si cada dispositivo disipa el calor radialmente de la misma manera, el calor de cada dispositivo contribuye igualmente a la lectura de temperatura en su sensor.
Limitación térmica gradual
Dado un conjunto de constantes térmicas (_TC1 y _TC2), el porcentaje de limitación pasiva de una zona térmica tiene ciertas características: la rapidez con la que cambia la curva y la agresividad de las limitaciones de zona para permanecer lejos del punto de intervalo. En algunas circunstancias, es posible que el comportamiento de la zona térmica tenga que cambiar. Por ejemplo, cuando la temperatura es baja, el porcentaje de limitación puede permitirse ser menos agresivo. Pero cuando la temperatura está más cerca del punto de intervalo, es posible que el comportamiento de limitación necesite ser mucho más agresivo. Si es así, se puede usar la limitación térmica gradual para aplicar diferentes comportamientos de limitación a un conjunto de dispositivos. Hay dos maneras de implementar la limitación térmica gradual:
- Cambiar dinámicamente las constantes de una zona térmica durante el tiempo de ejecución, o
- Usar dos zonas térmicas con diferentes constantes y puntos de intervalo.
Actualización de constantes para zonas
Para cualquier zona térmica, se puede usar Notify(thermal_zone, 0x81)
para actualizar las constantes térmicas en cualquier momento.
Zonas con diferentes puntos de intervalo
No puede haber más de un sensor térmico en una zona térmica. Pero varias zonas térmicas que comparten el mismo sensor de temperatura se usan con frecuencia para implementar un comportamiento gradual de limitación térmica. Una zona térmica comienza a limitar el rendimiento moderadamente a bajas temperaturas, mientras que la otra zona térmica comienza a limitar el rendimiento agresivamente a altas temperaturas.
En el diagrama de bloques siguiente, dos zonas térmicas que administran los mismos dispositivos usan el mismo sensor de temperatura para lograr una limitación térmica gradual. En este ejemplo, el sensor de temperatura se coloca cerca del cargador de batería y de las luces de fondo del monitor para que pueda proporcionar entradas a las zonas térmicas que controlan estos dos dispositivos.
Las dos zonas térmicas que se muestran en el diagrama anterior podrían definirse de la siguiente manera:
Thermal Zone 1 { _PSV = 80C Thermal Throttling Devices: Monitor Driver Battery Driver } Thermal Zone 2 { _PSV = 90C Thermal Throttling Devices: Monitor Driver Battery Driver }
Limitación dependiente actual
Si el conductor de la batería requiere limitación en función de la temperatura y la corriente eléctrica, el algoritmo ACPI en el administrador térmico ya no es adecuado porque no puede tener en cuenta la corriente. Para reemplazar este algoritmo, debe proporcionar un controlador de directiva que contenga un algoritmo personalizado y cargar este controlador sobre la pila de controladores para la zona térmica. Este controlador de directiva trata el sensor de temperatura y el sensor actual como entradas y llega a una directiva térmica basada en el algoritmo personalizado. Tenga en cuenta que esta directiva térmica debe funcionar dentro de las capacidades del hardware de zona térmica. La directiva se envía al administrador térmico, que actualiza los registros y la zona térmica. Después, la zona térmica envía solicitudes al controlador de batería mediante la interfaz de refrigeración térmica.
En el diagrama de bloques siguiente se muestra un controlador de directiva que controla la temperatura y la corriente de un dispositivo de batería. El controlador de directivas implementa un algoritmo personalizado en lugar del algoritmo del administrador térmico. A diferencia del algoritmo del administrador térmico, el algoritmo personalizado tiene en cuenta la temperatura y la corriente.
Requisitos de administración térmica
Requisitos de hardware
Los puntos siguientes son necesarios para un buen diseño térmico de hardware:
Todos los sistemas cumplen los estándares aplicables del sector (por ejemplo, IEC 62368) para la seguridad electrónica de consumo.
El hardware debe tener un punto de intervalo de temperatura seguro para errores que apague el sistema o impida el arranque.
El hardware del sensor debe ser preciso para +/- 2oC.
El hardware del sensor no debe requerir sondeo de software para determinar que se ha superado una temperatura de umbral.
Mientras esté en funcionamiento, el brillo de la pantalla del sistema nunca se limita térmicamente a menos de 100 nits.
La carga de la batería no está limitada mientras se cumpla lo siguiente:
- El sistema esté inactivo y dentro del intervalo de temperatura ambiente por debajo de 35oC, o
- La temperatura ambiente sea inferior a 25oC en cualquier condición.
Requisitos de prueba de HCK para equipos en modo de espera moderno
Todos los equipos en modo de espera moderno deben cumplir ciertos requisitos térmicos independientemente de la arquitectura del procesador y el factor de forma. Estos requisitos se prueban en HCK:
- Todos los equipos en modo de espera moderno deben tener al menos una zona térmica.
- Cada zona térmica debe notificar la temperatura real en el sensor.
- Al menos una zona térmica debe tener definida la temperatura de apagado crítica. Se produce una excepción para Intel Dynamic Platform and Thermal Framework (DPTF).
- Todos los equipos en modo de espera moderno con ventiladores deben exponer la actividad del ventilador al sistema operativo.
- El ventilador debe notificar al sistema operativo su actividad en todo momento, incluida la resistencia inactiva en el modo de espera moderno. Actualmente, estas notificaciones no provocan ninguna acción del sistema operativo. Los principales propósitos de estas notificaciones son la capacidad de diagnóstico y la telemetría. La notificación de ventilador se puede integrar con las herramientas de seguimiento existentes, incluido el Analizador de rendimiento de Windows. Los diseñadores del sistema pueden usar estas herramientas para ajustar el diseño de la plataforma.
- Todos los equipos en modo de espera moderno con ventiladores deben mantener el ventilador apagado mientras se encuentra en modo de espera moderno, el estado de "suspensión" del sistema.
- Aquí, la prueba HCK ejecuta una carga de trabajo modo de espera moderno y realista que no debe hacer que el ventilador se active. Durante la transición al modo de espera moderno, el ventilador puede permanecer encendido durante un máximo de 30 segundos a partir del momento en que se apaga la pantalla.
Para obtener más información sobre las pruebas HCK, consulte Comprobación de zonas térmicas.
Para ejecutar la prueba de HCK, haga lo siguiente:
Primero, escriba este comando para instalar el controlador de botón:
>>Button.exe -i
Para ejecutar todas las pruebas térmicas de un equipo con ventilador, escriba este comando:
>>RunCheckTz.cmd all
Para ejecutar todas las pruebas térmicas de un equipo sin ventilador, escriba este comando:
>>RunCheckTz.cmd nofan all
Soluciones de administración térmica
El marco térmico de Windows basado en ACPI es la solución de gestión térmica recomendada para todos los sistemas. Las principales ventajas incluyen la capacidad de diagnosticar fácilmente problemas térmicos con herramientas de bandeja de entrada y de recopilar datos de telemetría valiosos en el área.
Pero las soluciones alternativas al marco térmico de Windows son aceptables si se cumplen los requisitos anteriores. Los proveedores principales de Silicon y SoC pueden tener sus propias soluciones térmicas compatibles con Windows, por ejemplo, implementaciones basadas en Intel Dynamic Platform and Thermal Framework (DPTF) para procesadores x86 e implementaciones PEP en Arm.
Diagnóstico
Para ayudar a los diseñadores del sistema a diagnosticar y evaluar el comportamiento térmico del este, Windows proporciona las herramientas de bandeja de entrada e independientes siguientes.
Registros de eventos
Windows registra información térmica importante en los registros de eventos. Esta información se puede usar para evaluar rápidamente las condiciones térmicas en cualquier equipo que ejecute Windows 8 o posterior sin necesidad de seguimiento o herramientas adicionales. La tabla siguiente contiene la lista completa.
Canal | Source | ID | Descripción del evento |
---|---|---|---|
Windows Logs\System | Potencia del kernel | 125 |
Se enumera una zona térmica de ACPI.
Windows registra este evento durante el arranque para cada zona térmica. |
Windows Logs\Systems | Potencia del kernel | 86 |
El sistema se cerró debido a un evento térmico crítico.
Después de un apagado crítico, Windows registra este evento. Este evento se puede usar para diagnosticar si se ha producido un apagado crítico térmico e identificar la zona térmica que lo ha provocado. |
Applications and Services Logs\Microsoft\Windows\Kernel-Power\Thermal-Operational | Potencia del kernel | 114 |
Una zona térmica ha activado o desactivado la refrigeración pasiva.
Windows registra este evento cuando la limitación térmica se activa y desactiva. Este evento se puede usar para confirmar si se ha producido una limitación térmica y para qué zonas. Esto resulta útil al evaluar los problemas de rendimiento. |
Notificación de eventos críticos
En caso de un apagado crítico o hibernación causado por condiciones térmicas, el sistema operativo debe recibir una notificación del evento para que se pueda añadir al registro de eventos del sistema. Hay dos maneras de notificar al sistema operativo cuando esto ocurre:
Uso del método _CRT o _HOT de la zona térmica ACPI para registrar el evento térmico crítico de forma automática y correcta. No se necesita ningún trabajo adicional que no sea para definir un valor _CRT o _HOT.
Para todas las demás soluciones térmicas, el controlador puede usar la interfaz de eventos térmicos siguiente, que se define en el archivo de encabezado Procpowr.h:
#define THERMAL_EVENT_VERSION 1 typedef struct _THERMAL_EVENT { ULONG Version; ULONG Size; ULONG Type; ULONG Temperature; ULONG TripPointTemperature; LPWSTR Initiator; } THERMAL_EVENT, *PTHERMAL_EVENT; #if (NTDDI_VERSION >= NTDDI_WINBLUE) DWORD PowerReportThermalEvent ( _In_ PTHERMAL_EVENT Event ); #endif
La rutina PowerReportThermalEvent notifica al sistema operativo de un evento térmico para que este se pueda añadir al registro de eventos del sistema. Antes de llamar a PowerReportThermalEvent, el controlador establece los miembros de la estructura THERMAL_EVENT en los valores siguientes.
- Versión
THERMAL_EVENT_VERSION
- Tamaño
sizeof(THERMAL_EVENT)
- Tipo
Uno de los valores THERMAL_EVENT_XXX de Ntpoapi.h.
- Temperatura
La temperatura, en décimas de un grado Kelvin, en la que el sensor estaba después de cruzar el punto de intervalo (o cero si se desconoce).
- TripPointTemperature
La temperatura, en décimas de un grado Kelvin, del punto de intervalo (o cero si se desconoce).
- Iniciador
Puntero a una cadena de caracteres anchos terminada en NULL que identifica el sensor cuyo umbral se cruzó.
The following thermal event types are defined in the Ntpoapi.h header file:
```
// // Thermal event types // #define THERMAL_EVENT_SHUTDOWN 0 #define THERMAL_EVENT_HIBERNATE 1 #define THERMAL_EVENT_UNSPECIFIED 0xffffffff
```
Hardware platforms should use the thermal event interface only if thermal solutions other than Windows thermal management framework are used. This interface allows the operating system to gather information when a critical shutdown occurs due to thermal reasons.
Contadores de rendimiento
Los contadores de rendimiento ofrecen información en tiempo real sobre el comportamiento térmico del sistema. Se sondean los tres fragmentos de datos siguientes para cada zona térmica.
Información de zona térmica |
---|
|
Esta información solo se sondea cuando se solicita, por ejemplo, por el Monitor de rendimiento de Windows o la herramienta de línea de comandos typeperf.
Para más información sobre los contadores de rendimiento en general, consulte Contadores de rendimiento.
Supervisión de rendimiento
Monitor de rendimiento es una aplicación integrada para el sondeo y visualización de información. Monitor de rendimiento puede ser una herramienta muy potente para comparar las condiciones térmicas de los diseños térmicos del sistema. En las dos capturas de pantalla de ejemplo siguientes se muestra Monitor de rendimiento en acción cuando se ejecuta la demostración de pecera en Internet Explorer. En la primera captura de pantalla, Monitor de rendimiento muestra el aumento de la temperatura en tres zonas térmicas a lo largo del tiempo.
En la segunda captura de pantalla, Monitor de rendimiento informa del porcentaje de limitación actual, la temperatura y el motivo de la limitación.
Para obtener más información, vea Usar el Monitor de rendimiento.
Analizador de rendimiento de Windows (WPA)
Como parte de ADK, Windows proporciona Windows Performance Toolkit (WPT) para el seguimiento y el análisis de software. Dentro de WPT, los diseñadores del sistema pueden usar el Analizador de rendimiento de Windows (WPA) para visualizar los seguimientos de software y analizar el comportamiento térmico. Para más información sobre cómo instalar y usar WPA, consulte Analizador de rendimiento de Windows (WPA).
Proveedores
Incluya "Microsoft-Windows-Kernel-ACPI" para registrar eventos de temperatura, actividad de zona térmica y actividad de ventilador.
Incluya "Microsoft-Windows-Thermal-Polling" para habilitar el sondeo de la temperatura en cada zona térmica. Si no se incluye, las temperaturas solo se notificarán cuando suban por encima de los puntos de intervalo pasivos o activos. El período de sondeo se puede controlar especificando una marca al proveedor.
Marca | Período de sondeo |
---|---|
None | 1 segundo |
0x1 | 1 segundo |
0x2 | 5 segundos |
0x4 | 30 segundos |
0x8 | 5 minutos |
0x10 | 30 minutos |
Utilidad de procesador
Antes de profundizar en los datos de limitación térmica, es una buena idea comprobar la información de la utilidad del procesador para asegurarse de que el patrón de utilidad del procesador es coherente con lo que debe ser la carga de trabajo. Para confirmar que la carga de trabajo está configurada correctamente, siga estos pasos:
- Abra el archivo ETL con la herramienta WPA.
- En Graph Explorer (Explorador de gráficos), seleccione Energía y, después, Processor Utility (Utilidad de procesador).
- Cambie el Tipo de gráfico a Stacked Lines (Líneas apiladas).
En la captura de pantalla siguiente se muestra el gráfico Utilidad de procesador.
Porcentaje de limitación de zona térmica
Cuando se limita una zona térmica, el archivo de seguimiento de software registra todos los cambios de porcentaje de limitación térmica, de temperatura y de directiva de refrigeración. Para ver la información en el archivo de seguimiento, siga estos pasos:
- Abra el archivo ETL con la herramienta WPA.
- En Explorador de gráficos, seleccione Energía y, después, ThermalZone Device Throttle (Limitación de dispositivo de zona térmica).
- Puede seleccionar dispositivos interesantes con Applying Filtering (Aplicación de filtros).
En la captura de pantalla siguiente se muestra el gráfico Limitación de dispositivo de zona térmica y las opciones de filtrado.
Temperatura de la zona térmica
Con la información del contador de rendimiento, la temperatura del sistema también se puede supervisar mientras no haya ninguna limitación activa. Siga estos pasos:
- Habilite los proveedores deseados mientras realiza un seguimiento paso a paso.
- Asegúrese de que se están sondeando los contadores de rendimiento (Monitor de rendimiento sigue en ejecución). Para obtener más información, vea Contadores de rendimiento.
- Abra el archivo ETL con la herramienta WPA.
- En el Explorador de grafos, seleccione Energía y, después, Temperature (K) by ThermalZone (Temperatura (K) por zona térmica).
- Debería ver la temperatura a lo largo del tiempo para cada zona térmica.
En la captura de pantalla siguiente se muestra un gráfico de temperatura a lo largo del tiempo para cinco zonas térmicas.