Partager via


Exemples, conditions requises et diagnostics

Cette rubrique présente des exemples de problèmes de gestion thermique, et aborde également les exigences et les méthodes de diagnostic.

Exemples

Les exemples suivants expliquent comment résoudre des problèmes de gestion thermique classiques.

Capteurs de température de peau

La surveillance de la température de peau est essentielle pour s’assurer que l’utilisateur est protégé à tout moment. Si la température sur la peau est trop élevée, le système doit prendre des mesures immédiates afin de s’arrêter. Ces capteurs de température peuvent également fournir une entrée aux zones thermiques afin de limiter les périphériques qui contribuent à sa valeur.

Le diagramme de blocs suivant montre un exemple de disposition système qui a trois périphériques et deux zones thermiques.

disposition de carte système avec plusieurs capteurs et zones thermiques

Dans cet exemple, le capteur de température 1 (TS1) et le capteur de température 2 (TS2) sont placés stratégiquement à des emplacements où les périphériques apportent le plus de chaleur à la peau. Les périphériques 1, 2 et 3 peuvent avoir un capteur de température individuel sur chaque périphérique. Ces capteurs de périphérique sont destinés à limiter chaque périphérique individuellement. En règle générale, l’objectif du capteur de peau est de détecter la température sur la surface du périphérique en tant qu’agrégat de plusieurs périphériques sur le système. Bien que chaque périphérique puisse produire davantage de chaleur que ce qui peut être détecté au niveau de ces capteurs de température, la production de chaleur combinée de ces périphériques a tendance à s’accumuler à ces emplacements de capteur.

TS1 est placé à mi-chemin entre le périphérique 2 et le périphérique 3. Ainsi, la zone thermique qui prend TS1 comme entrée contrôle le périphérique 2 et le périphérique 3. Lorsque TS1 devient chaud, la zone thermique limite les périphériques 2 et 3. De même, lorsque TS2 devient chaud, la zone thermique limite les trois périphériques.

Dans cet exemple, les capteurs sont placés à distance égale des périphériques qu’ils surveillent. TS1 est placé à mi-chemin entre le périphérique 2 et le périphérique 3, et TS2 est placé à distance égale des périphériques 1, 2 et 3. Si chaque périphérique dissipe la chaleur radialement de la même façon, la chaleur de chaque périphérique contribue de manière égale à la valeur de température indiquée sur son capteur.

Limitation thermique progressive

Compte tenu d’un ensemble de constantes thermiques (_TC1 et _TC2), le pourcentage de limitation passive d’une zone thermique présente certaines caractéristiques : la vitesse à laquelle la courbe change et l’agressivité avec laquelle la zone se limite afin de demeurer loin du point de déclenchement. Dans certaines circonstances, le comportement de la zone thermique peut devoir changer. Par exemple, lorsque la température est faible, le pourcentage de limitation peut se permettre d’être moins agressif. Mais lorsque la température est plus proche du point de déclenchement, il faudra peut-être que le comportement de limitation soit beaucoup plus agressif. Si c’est le cas, la limitation thermique progressive peut être utilisée pour appliquer différents comportements de limitation à un ensemble de périphériques. Il existe deux façons d’implémenter une limitation thermique progressive :

  • Modifier dynamiquement les constantes d’une zone thermique pendant l’exécution, ou
  • Utiliser deux zones thermiques avec des constantes et des points de déclenchement différents

Mise à jour des constantes pour les zones

Pour toute zone thermique, Notify(thermal_zone, 0x81) peut être utilisé pour mettre à jour les constantes thermiques à tout moment.

Zones avec des points de déclenchement différents

Il ne peut pas y avoir plus d’un capteur thermique dans une zone thermique. Toutefois, plusieurs zones thermiques partageant le même capteur de température sont fréquemment utilisées pour implémenter un comportement de limitation thermique progressive. Une zone thermique commence à limiter modérément les performances à basse température, tandis que l’autre zone thermique commence à limiter les performances de manière agressive à des températures élevées.

Dans le diagramme de blocs suivant, deux zones thermiques qui gèrent les mêmes périphériques utilisent le même capteur de température pour obtenir une limitation thermique progressive. Dans cet exemple, le capteur de température est placé près du chargeur de batterie et du rétroéclairage du moniteur, afin qu’il puisse fournir des entrées aux zones thermiques qui contrôlent ces deux périphériques.

plusieurs zones thermiques qui gèrent les mêmes périphériques

Les deux zones thermiques indiquées dans le diagramme précédent peuvent être définies comme suit :

Thermal Zone 1 {     _PSV = 80C  Thermal Throttling  Devices:    Monitor Driver  Battery Driver } Thermal Zone 2 {   _PSV = 90C  Thermal Throttling  Devices:    Monitor Driver  Battery Driver }

Limitation dépendante du courant

Si le pilote de batterie nécessite une limitation en fonction de la température et du courant électrique, l’algorithme ACPI dans le gestionnaire thermique n’est plus adéquat, car il ne peut pas prendre en compte le courant. Pour remplacer cet algorithme, vous devez fournir un pilote de stratégie qui contient un algorithme personnalisé, et charger ce pilote par-dessus la pile de pilotes pour la zone thermique. Ce pilote de stratégie traite à la fois le capteur de température et le capteur de courant comme des entrées, et parvient à une stratégie thermique basée sur l’algorithme personnalisé. Notez que cette stratégie thermique doit opérer dans les limites de capacité du matériel de zone thermique. La stratégie est envoyée au gestionnaire thermique, qui met à jour les journaux et la zone thermique. La zone thermique envoie ensuite les requêtes au pilote de batterie via l’interface de refroidissement thermique.

Le diagramme de blocs suivant montre un pilote de stratégie qui contrôle à la fois la température et le courant d’un périphérique de batterie. Le pilote de stratégie implémente un algorithme personnalisé au lieu de l’algorithme du gestionnaire thermique. Contrairement à l’algorithme du gestionnaire thermique, l’algorithme personnalisé prend en compte la température et le courant.

un pilote de stratégie remplace l’algorithme du gestionnaire thermique

Exigences de gestion thermique

Configuration matérielle requise

Les points suivants sont requis pour une bonne conception du matériel thermique :

  • Tous les systèmes répondent aux normes industrielles applicables (par exemple IEC 62368) en matière de sécurité de l’électronique grand public.

  • Le matériel doit avoir un point de déclenchement de température de sécurité qui arrête le système ou empêche le démarrage.

  • Le matériel du capteur doit être précis à +/- 2oC.

  • Le matériel du capteur ne doit pas nécessiter d’interrogation logicielle pour déterminer qu’une température seuil a été dépassée.

  • Pendant son fonctionnement, la luminosité de l’affichage du système n’est jamais limitée thermiquement à moins de 100 nits.

  • La charge de la batterie n’est pas limitée pendant que :

    • Le système est inactif et dans la plage de température ambiante inférieure à 35oC, ou
    • La température ambiante est inférieure à 25oC dans toutes les conditions.

Exigences de test HCK pour les PC Veille moderne

Tous les PC Veille moderne doivent répondre à certaines exigences thermiques, quels que soient l’architecture du processeur et le facteur de forme. Ces exigences sont testées dans le HCK :

  • Tous les PC Veille moderne doivent avoir au moins une zone thermique.
  • Chaque zone thermique doit signaler la température réelle sur le capteur.
  • Au moins une zone thermique doit avoir une température d’arrêt critique définie. Une exception est faite pour le framework DPTF (Dynamic Platform and Thermal Framework) Intel.
  • Tous les PC Veille moderne avec ventilateur doivent exposer l’activité du ventilateur au système d’exploitation.
  • Le ventilateur doit informer le système d’exploitation de son activité à tout moment, y compris pendant la résilience de l’inactivité en veille moderne. Actuellement, ces notifications n’engendrent aucune action de la part du système d’exploitation. Les principaux objectifs de ces notifications sont le diagnostic et la télémétrie. La notification du ventilateur peut être intégrée aux outils de suivi existants, notamment Windows Performance Analyzer. Les concepteurs de systèmes peuvent utiliser ces outils pour régler la conception de la plateforme.
  • Tous les PC Veille moderne avec ventilateur doivent laisser le ventilateur éteint lorsqu’ils sont en veille moderne, l’état « veille » du système.
  • Le test HCK exécute ici une charge de travail de veille moderne réaliste qui ne doit pas provoquer l’activation du ventilateur. Pendant la transition vers la veille moderne, le ventilateur est autorisé à rester allumé jusqu’à 30 secondes à partir du moment où l’affichage s’éteint.

Pour plus d’informations sur les tests HCK, consultez Vérifier les zones thermiques.

Pour exécuter les tests HCK, effectuez ces étapes :

  • Tout d’abord, entrez cette commande pour installer le pilote de bouton :

    >>Button.exe -i

  • Pour exécuter tous les tests thermiques pour un PC avec un ventilateur, entrez cette commande :

    >>RunCheckTz.cmd all

  • Pour exécuter tous les tests thermiques pour un PC sans ventilateur, entrez cette commande :

    >>RunCheckTz.cmd nofan all

Solutions de gestion thermique

Le framework thermique Windows basé sur ACPI est la solution de gestion thermique recommandée pour tous les systèmes. Les principaux avantages incluent la possibilité de diagnostiquer facilement les problèmes thermiques avec les outils de boîte de réception, et la capacité à collecter une télémétrie précieuse sur le terrain.

Toutefois, des solutions alternatives au framework thermique Windows sont acceptables si les exigences ci-dessus sont satisfaites. Les fournisseurs SoC et de silicium peuvent avoir leurs propres solutions thermiques propriétaires qui sont compatibles et prises en charge par Windows, par exemple des implémentations basées sur la plateforme DPTF Intel pour les processeurs x86 et les implémentations PEP sur Arm.

Diagnostics

Pour aider les concepteurs de systèmes à diagnostiquer et à évaluer le comportement thermique du système, Windows fournit les outils de boîte de réception et autonomes suivants.

Journaux d’événements

Windows enregistre des informations thermiques importantes dans les journaux des événements. Ces informations peuvent être utilisées pour trier rapidement les conditions thermiques sur n’importe quel PC exécutant Windows 8 ou version ultérieure sans avoir besoin d’outils ou de traçage supplémentaires. Le tableau suivant contient la liste complète.

Canal Source id Description de l'événement
Journaux Windows\Système Alimentation du noyau 125 Zone thermique ACPI énumérée.

Windows journalise cet événement pendant le démarrage pour chaque zone thermique.

Windows Logs\Systèmes Alimentation du noyau 86 Le système a été arrêté en raison d’un événement thermique critique.

Après un arrêt critique, Windows journalise cet événement. Cet événement peut être utilisé pour diagnostiquer si un arrêt critique thermique s’est produit, et pour identifier la zone thermique à l’origine de l’arrêt.

Journaux des applications et des services\Microsoft\Windows\Noyau-Alimentation\Thermique-Opérationnel Alimentation du noyau 114 Une zone thermique a engagé ou désengagé le refroidissement passif.

Windows journalise cet événement lorsque la limitation thermique est engagée et désengagée. Cet événement peut être utilisé pour vérifier si une limitation thermique s’est produite, et pour quelles zones. Cela est utile lors du tri des problèmes de performances.

Notification d’événement critique

En cas d’arrêt critique ou de mise en veille prolongée causée par des conditions thermiques, le système d’exploitation doit être averti de l’événement afin qu’il puisse être enregistré dans le journal des événements système. Il existe deux façons d’avertir le système d’exploitation lorsque cela se produit :

  • Utilisez la méthode _CRT ou _HOT de zone thermique ACPI pour journaliser automatiquement et correctement l’événement thermique critique. Aucun travail supplémentaire n’est nécessaire, autre que de définir une valeur _CRT ou _HOT.

  • Pour toutes les autres solutions thermiques, le pilote peut utiliser l’interface d’événement thermique suivante, qui est définie dans le fichier d’en-tête 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 routine PowerReportThermalEvent informe le système d’exploitation qu’un événement thermique s’est produit, afin que l’événement puisse être enregistré dans le journal des événements système. Avant d’appeler PowerReportThermalEvent, le pilote affecte aux membres de la structure THERMAL_EVENT les valeurs suivantes.

    Version

    THERMAL_EVENT_VERSION

    Taille

    sizeof(THERMAL_EVENT)

    Type

    L’une des valeurs THERMAL_EVENT_XXX de Ntpoapi.h.

    Température

    Température, en dixièmes de degré Kelvin, à laquelle le capteur était après avoir franchi le point de déclenchement (ou zéro si inconnue).

    TripPointTemperature

    Température, en dixièmes de degré Kelvin, du point de déclenchement (ou zéro si inconnue).

    Initiator

    Pointeur vers une chaîne de caractères larges terminée par NULL qui identifie le capteur dont le seuil a été franchi.

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.

Compteurs de performances

Les compteurs de performances offrent des informations en temps réel sur le comportement thermique du système. Les trois données suivantes sont interrogées pour chaque zone thermique.

Informations sur la zone thermique
  • % de la limite passive : pourcentage limité. 100 % signifie que la zone n’est pas limitée.
  • Température : température de la zone thermique en degrés Kelvin.
  • Raison de la limitation : raison pour laquelle une zone est limitée :

    • 0x0 : la zone n’est pas limitée
    • 0x1 : la zone est limitée pour des raisons thermiques
    • 0x2 : la zone est limitée afin de limiter le courant électrique.

Ces informations sont interrogées uniquement lorsqu’elles sont demandées, par exemple par l’Analyseur de performances Windows ou par l’outil en ligne de commande typeperf.

Pour plus d’informations sur les compteurs de performance, consultez Compteurs de performance.

Analyseur de performances

L’Analyseur de performances est une application intégrée pour l’interrogation et la visualisation des informations. L’Analyseur de performances peut être un outil très puissant en vue de comparer les conditions thermiques pour les conceptions thermiques du système. Les deux exemples de capture d’écran suivants montrent l’Analyseur de performances en action lorsque la démonstration fishbowl est exécutée dans Internet Explorer. Dans la première capture d’écran, l’Analyseur de performances montre l’augmentation de la température de trois zones thermiques au fil du temps.

un graphique d’analyseur de performances qui montre la température de trois zones thermiques au fil du temps

Dans la deuxième capture d’écran, l’Analyseur de performances indique le pourcentage de limitation actuel, la température et la raison de la limitation.

l’analyseur de performances signale le pourcentage de limitation actuel, la température et la raison de la limitation

Pour plus d'informations, consultez Utilisation de l'Analyseur de performances.

Windows Performance Analyzer (WPA)

Dans le cadre de l’ADK, Windows fournit WPT (Windows Performance Toolkit) pour le suivi et l’analyse des logiciels. Dans WPT, les concepteurs de systèmes peuvent utiliser WPA (Windows Performance Analyzer) pour visualiser les traces logicielles et analyser le comportement thermique. Pour plus d’informations sur l’installation et l’utilisation de WPA, consultez Windows Performance Analyzer (WPA).

Fournisseurs

Incluez « Microsoft-Windows-Kernel-ACPI » afin de journaliser les événements de température, d’activité de la zone thermique et d’activité du ventilateur.

Incluez « Microsoft-Windows-Thermal-Polling » pour permettre l’interrogation de la température sur chaque zone thermique. Si cela n’est pas inclus, les températures ne sont signalées que lorsqu’elles dépassent les points de déclenchement passifs et/ou actifs. La période d’interrogation peut être contrôlée en spécifiant un indicateur au fournisseur.

Indicateur Période d’interrogation
None 1 seconde
0x1 1 seconde
0x2 5 secondes
0x4 30 secondes
0x8 5 minutes
0x10 30 minutes

Rendement du processeur

Avant d’explorer les données de limitation thermique, il est judicieux de vérifier les informations de rendement du processeur afin de vous assurer que le modèle de rendement du processeur est cohérent avec ce que doit être la charge de travail. Pour vérifier que la charge de travail est correctement configurée, effectuez ces étapes :

  1. Ouvrez le fichier ETL avec l’outil WPA.
  2. Dans Graph Explorer, sélectionnez Power, puis Processor Utility.
  3. Comme Graph Type, sélectionnez Stacked Lines.

La capture d’écran suivante montre le graphe Processor Utility.

graphe de rendement du processeur

Pourcentage de limitation de zone thermique

Lorsqu’une zone thermique est en limitation, le fichier de suivi logiciel a journalisé tous les changements de pourcentage de limitation thermique, les changements de température et les changements de stratégie de refroidissement. Pour afficher les informations dans le fichier de suivi, effectuez ces étapes :

  1. Ouvrez le fichier ETL à l’aide de l’outil WPA.
  2. Dans Graph Explorer, sélectionnez Power, puis ThermalZone Device Throttle.
  3. Vous pouvez sélectionner des périphériques intéressants en appliquant des filtres.

La capture d’écran suivante montre le graphe ThermalZone Device Throttle et les options de filtrage.

graphe de limitation du périphérique de zone thermique et les options de filtrage

Température de zone thermique

À l’aide des informations des compteurs de performance, la température du système peut également être supervisée pendant qu’aucune limitation n’est engagée. Procédez comme suit :

  1. Activez les fournisseurs souhaités tout en capturant une trace.
  2. Vérifiez que les compteurs de performance sont toujours en cours d’interrogation (l’Analyseur de performances est toujours en cours d’exécution). Pour plus d’informations, consultez Compteurs de performances.
  3. Ouvrez le fichier ETL à l’aide de l’outil WPA.
  4. Dans Graph Explorer, sélectionnez Power, puis Temperature (K) by ThermalZone.
  5. Vous devez voir la température au fil du temps pour chaque zone thermique.

La capture d’écran suivante montre un graphe de la température au fil du temps pour cinq zones thermiques.

graphe de la température au fil du temps pour cinq zones thermiques