🛠 Chaîne d'alimentation VDD_IO : tension par banque, eMMC en 1,8 V et rampe
Objectifs
Concevoir l'alimentation d'une carte porteuse pour CM1. Chaque banque de GPIO possède sa broche VDD_IO qui fixe sa logique : 1,8 V, 2,7 V ou 3,3 V, choisie par banque — on peut donc interface du 1,8 V sur une banque et du 3,3 V sur l'autre. Attention : l'interface eMMC est fixée en 1,8 V en interne, indépendamment des VDD_IO. L'entrée VBAT doit fournir au moins 2 W à la carte. Enfin, la séquence de montée des rails doit suivre un ordre décroissant (les tensions les plus hautes montent en premier) ; une rampe en ordre croissant expose le SoC au latch-up. Ce tutoriel documente la chaîne complète et sa vérification à l'oscilloscope.
Matériel
- Un Compute Module 1 sur carte porteuse ou IO Board modifié
- Alimentations de laboratoire pilotables (rails 1,8 / 2,7 / 3,3 V) pour la caractérisation
- Oscilloscope multi-canaux pour la séquence de rampe
Code complet
# Chaîne type (carte maison)
VBUS 5V -> régulateur 3.3V (VDD_CORE + VDD_IO banque B)
-> régulateur 1.8V (VDD_IO banque C + exigences eMMC internes)
VBAT >= 2W en entrée principale (5V selon conception)
# Règles de conception
- VDD_IO : 1.8V / 2.7V / 3.3V PAR BANQUE (broches dédiées par banque)
- eMMC : fixée en interne à 1.8V -> ne jamais y appliquer 3.3V
- Rampe d'ordre DÉCROISSANT : 3.3V puis 2.7V puis 1.8V
(une rampe croissante risque le latch-up)
# Vérification scope : mesurer t(3.3V stable) < t(1.8V stable)
Vérification attendue
À l'oscilloscope, le rail 3,3 V atteint son palier avant que le 1,8 V ne commence à monter (ordre décroissant respecté). Chaque banque de GPIO présente les niveaux logiques de son VDD_IO (mesure des niveaux hauts sur un oscilloscope : ~1,8 V ou ~3,3 V selon la banque testée). L'eMMC est lue/écrite normalement puisque son interface reste en 1,8 V interne. Le module tire sa puissance dans l'enveloppe des 2 W minimum de VBAT sans effondrement au pic CPU.
Erreurs fréquentes
- Appliquer 3,3 V sur une ligne de la banque eMMC en pensant que VDD_IO la pilote : l'interface eMMC est fixée en 1,8 V, on aggressive le module.
- Ramper les rails en ordre croissant (1,8 V d'abord) : scénario latch-up documenté, le SoC peut être détruit à la mise sous tension.
- Négliger les 2 W de VBAT : brownout dès que le CPU et l'eMMC travaillent ensemble, redémarrages fantômes.
- Mélanger des périphériques 1,8 V sur une banque alimentée en 3,3 V sans level-shifter : entrée hors absolute maximum du composant externe.
- Oublier que chaque banque a son propre VDD_IO : tirer une tension unique partout limite le design et masque les erreurs de niveau.
Autres tutoriels pour cette carte
- Flasher l'eMMC du CM1 avec rpiboot et le jumper J4
- Premier boot : Bullseye legacy, rails 3,3 V et ordre des alimentations
- Première LED sur GPIO17 : banques, courants et broches réservées
- Servo moteur sur PWM0 (GPIO18) : 50 Hz et 2,5 à 12,5 %
- BME280 sur I2C0 (GPIO2/3) : activer i2c_arm et lire l'ID 0x60
- Caméra officielle sur le connecteur FPC CSI du CM1
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash