🛠 Gérer le bridage thermique à 80 °C d'un CM3+

Raspberry Pi Compute Module 3+ (CM3+ / CM3+ Lite) · intermediaire · Schéma : un module CM3+ sur carte CMIO3 avec un dissipateur posé sur le SoC BCM2837B0, un graphique température/fréquence montrant le recul DVFS au franchissement du seuil de 80 °C.

Objectifs

Le datasheet RP-008163-DS §10 est explicite : « le bloc quad ARM du BCM2837 peut générer une chaleur significative en charge », et le bridage DVFS s'enclenche dès 80 °C sur le capteur de la puce — soit 5 °C plus tôt que sur le CM3 original. Ce tutoriel mesure le comportement réel du module en charge, puis configure un seuil logiciel plus conservateur (temp_soft_limit) pour les boîtiers scellés, et valide l'efficacité d'un dissipateur.

Matériel

Code complet

# 1. Outillage de mesure
sudo apt install -y stress-ng

# 2. Test de charge : température + indicateur de bridage toutes les 2 s
stress-ng --cpu 4 --timeout 300s &
while sleep 2; do
  printf '%s °C  %s  %s MHz\n' "$(vcgencmd measure_temp | cut -d= -f2)" "$(vcgencmd get_throttled)" "$(( $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq) / 1000 ))"
done

# 3. Abaisser le seuil logiciel à 70 °C (config.txt, après reboot)
sudo tee -a /boot/firmware/config.txt <<'EOF'
temp_soft_limit=70
EOF
sudo reboot

# 4. Rejouer le test avec le dissipateur posé, comparer la fréquence tenue

Vérification attendue

Sans dissipateur, la température franchit 80 °C en quelques minutes de stress-ng sur 4 cœurs, get_throttled lève le bit de bridage (0x4/0x8) et la fréquence mesurée chute sous 1,2 GHz. Avec dissipateur, la fréquence reste plaquée à 1200 MHz. Avec temp_soft_limit=70, le recul s'enclenche plus tôt mais le module ne dépasse jamais 70-72 °C — compromis débit/température pour boîtier scellé.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels