🛠 Concevoir le séquenceur d'alimentation d'une carte porteuse CM3

Raspberry Pi Compute Module 3 (CM3 / CM3L) · avance · Schéma : carte porteuse custom avec les six rails d'alimentation obligatoires du CM3 — VBAT (2,5-5,0 V), 3V3, 1V8, VDAC, VREF bank0, VREF bank1 — et l'ordre de rampe du plus haut voltage vers le plus bas pour éviter le latch-up.

Objectifs

Le CM3 exige six tensions, toutes obligatoires même inutilisées : VBAT (entrée SMPS cœur, 2,5-5,0 V, capacité minimale 3500 mW), 3V3 (au moins 250 mA), 1V8 (au moins 250 mA), VDAC (2,5-3,3 V ; du 2,5-2,8 V propre uniquement si TV-out, sinon relié à 3V3), GPIO0-27 VREF et GPIO28-45 VREF (1,8-3,3 V, au moins 50 mA). Les alimentations doivent monter en tension du plus haut au plus bas (ou simultanément sans croisement) : sinon les diodes internes du SoC se polarisent en direct et peuvent déclencher un latch-up destructeur (datasheet RP-008161-DS §7). Ce tutoriel valide un design de carte porteuse au multimètre puis sous logiciel.

Matériel

Code complet

# 1. Avant d'insérer le module : vérifier chaque rail au connecteur SODIMM
#    (multimètre, broches VBAT / 3V3 / 1V8 / VDAC / VREF0 / VREF1).
#    Attendu : VBAT 4,75-5,25 V ; 3V3 dans ±5 % ; 1V8 dans ±5 % ;
#    VDAC = 3V3 (pas de TV-out) ; VREF0/VREF1 = niveau logique choisi.

# 2. Observer l'ordre de rampe à l'oscilloscope : aucune tension basse ne
#    doit dépasser une tension haute pendant la montée (risque de latch-up).

# 3. Une fois le module démarré, vérifier l'absence de sous-tension :
sudo vcgencmd get_throttled     # attendu : throttled=0x0
sudo vcgencmd measure_volts core

# 4. Test de charge : le SMPS VBAT ne doit pas décrocher sous 4 threads
sudo apt install -y stress-ng
stress-ng --cpu 4 --timeout 60s &
watch -n 1 vcgencmd get_throttled

Vérification attendue

vcgencmd get_throttled renvoie throttled=0x0 au repos comme en charge : aucun bit de sous-tension (0x1) ni de bridage thermique (0x4/0x8) n'est levé. À l'oscilloscope, les rampes montent sans croisement descendant. Le module enchaîne 100 cycles marche/arrêt sans non-démarrage.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels