🛠 Surveiller la température et l'alimentation du TDA4VM
Objectifs
Apprendre à lire les capteurs de température on-die du SoC TDA4VM, comprendre les ordres de grandeur de consommation mesurés dans le System Reference Manual (idle U-Boot 210 mA, pic de boot kernel 460 mA, idle kernel 350 mA soit environ 1,75 W sous 5 V) et dimensionner alimentation et dissipateur avant de charger la carte.
Matériel
- 1 BeagleBone AI-64 avec dissipateur (la carte pèse 192 g dissipateur monté — il est là pour une raison)
- 1 alimentation 5 V / 3 A de qualité (le SRM l'exige explicitement)
- Optionnel : wattmètre USB, boîtier ventilé pour comparer
Code complet
# Identité et capteurs thermiques (les capteurs sont on-die uniquement)
cat /proc/device-tree/model
for z in /sys/class/thermal/thermal_zone*; do
echo "$z type=$(cat $z/type) temp=$(cat $z/temp) (milli-°C)"
done
# Montée en charge contrôlée : 5 minutes de stress sur les 2 Cortex-A72
sudo apt install stress-ng
sudo stress-ng --cpu 2 --timeout 300 &
watch -n 2 'cat /sys/class/thermal/thermal_zone*/temp'
# Journal thermique : throttling ou seuils atteints ?
sudo dmesg | grep -iE "thermal|trip|throttl"
Vérification attendue
Les températures montent progressivement pendant le stress puis se stabilisent (plateau) avec le dissipateur en place ; les valeurs sont exprimées en millièmes de degré (45000 = 45 °C). Aucun message de throttling dans dmesg en usage normal. À l'arrêt du stress, la température redescend lentement.
Erreurs fréquentes
- Lire « 45000 » et paniquer : c'est la unité milli-°C, pas des millivolts.
- Faire tourner la carte sans dissipateur ou dans un boîtier fermé : le TDA4VM n'a ni ventilateur ni capteur externe, seulement les capteurs on-die.
- Alimentation PC via USB simple : le pic de boot dépasse déjà 460 mA avant toute charge applicative ; les brownouts se manifestent par des lockups aléatoires au boot (cf. issue #43 sur le bring-up LPDDR4).
- Croire à un seuil commercial publié : le SRM ne donne pas de plage de température commerciale ; pour du déploiement industriel, se reporter à la fiche TI TDA4VM.
- Confondre les zones thermiques : plusieurs thermal_zone existent (A72, DSP...), repérer le bon avec le champ type.
Autres tutoriels pour cette carte
- Flasher l'image officielle et démarrer la BeagleBone AI-64
- Faire clignoter une LED sur la broche P8_03 avec libgpiod
- Réseau : Ethernet Gigabit unique et module Wi-Fi en M.2 E-key
- Caméra MIPI CSI et encodage H.264 matériel via GStreamer
- Remoteproc : inventorier et démarrer les co-processeurs R5F et C66x
- Inférence de réseau de neurones sur le C7x+MMA avec edgeai-tidl-tools
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash