🛠 Surveillance thermique et fréquence : DVFS, seuils et bridage

Raspberry Pi 4 Model B (2019) — Ficha de placa · avance · Schéma : IMG-model-4b-avance-2-model4b-surveillance-thermique.svg — Jauge de température du SoC avec seuils 80 et 85 °C, paliers DVFS 1500/1000/750/600 MHz et dissipateur sur le Pi 4B

Objetivos

Comprender la gestión térmica del Pi 4B: límite de hardware a 85 grados C, extrañamente ARM entre 80 y 85, ningún límite de software (a diferencia del 3B+), motor DVFS con escalones de 1500/1000/750/600 MHz. Construirás un monitor que registra la temperatura, la frecuencia y los bits de estrangulamiento (throttling).

Material

Código completo

#!/usr/bin/env bash
# thermal-log.sh - journalise temperature, frequence DVFS et etat de bridage
while true; do
  T=$(vcgencmd measure_temp | cut -d= -f2)
  F=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq)
  TH=$(vcgencmd get_throttled | cut -d= -f2)
  V=$(vcgencmd pmic_read_adc | grep EXT5V_V | awk '{print $NF}')
  echo "$(date +%T) temp=$T freq=${F}Hz throttled=$TH 5V=${V}"
  sleep 1
done
# Dans un autre terminal, monter en charge :
sudo stress-ng --cpu 4 --timeout 120s
# Decoder get_throttled : bit0 sous-tension, bit2 bridage thermique,
# bit3 frequence sous le max, bit16 sous-tension passee, bit20 bridage passe.

Verificación esperada

Bajo stress-ng, la frecuencia cae por escalones (1500 y luego 1000 MHz) cuando la temperatura se acerca a 80 grados, get_throttled pasa a ser 0x50005 (estrangulamiento térmico + frecuencia limitada), y luego vuelve a 0x0 al enfriarse. EXT5V_V debe permanecer cerca de 5.0 V.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales