Jour 1, c'était la théorie — choix du SoC, architecture du backplane, le MUX TS3V340. Jour 2, c'est la pratique. PROJECT MUTANT a commencé à exister pour de vrai, avec des symboles, des bus et des labels dans KiCad.
Un RK3328 en BGA-395, c'est 395 boules à connecter une par une. Alimentation, horloge, mémoire, USB, HDMI, Ethernet, debug — chaque bloc a été câblé. Voilà comment ça s'est passé.
🔌 Périphériques embarqués 08:30 — 09:00
Avant de plonger dans le BGA, j'ai ajouté quelques composants qui ne compliquent pas trop le routage.
L'EEPROM I²C, c'est le même principe que sur les Raspberry Pi Compute Module : la carte hôte peut lire la version et les capacités de la lame avant même que le CPU ait booté. Pas besoin de jumpers.
Le bouton Recovery, c'est la bouée de sauvetage. Le RK3328 a un mode Mask ROM qui s'active sur une broche au reset. Indispensable pour flasher des prototypes.
⚡ Power Management & Horloges 09:00 — 12:30
L'alimentation d'abord. Sans rails propres, rien ne marche. Et un BGA avec USB 3.0, HDMI et DDR3 ne pardonne pas.
Le RK3328 bosse avec le PMIC RK805. Ce circuit gère tout le séquençage des tensions au démarrage. Le SoC communique avec le PMIC via I2C1 — on peut configurer les tensions et les seuils par logiciel.
Chaque rail a reçu un Global Label dans KiCad — comme ça, le routage PCB sera plus simple. Les PHYs haute vitesse (USB, HDMI) ont leurs alimentations dédiées, avec des capas de découplage au plus près des broches.
Le PMIC RK805 est câblé sur sa propre feuille (Feuille 01). Chaque régulateur et seuil de tension est connecté au bus I2C1.
Le quartz 24 MHz est câblé avec ses capas de charge (18 pF), ainsi que la ligne de Reset globale. Les résistances de calibration des PHYs sont en place, prêtes pour le tuning d'impédance.
🎴 Interface de Boot & Stockage 13:00 — 14:30
Comme décidé au Jour 1 : pas d'eMMC. Boot et stockage sur MicroSD seulement. Plus simple, plus réparable.
Le bus SDMMC0 du RK3328 est câblé vers un connecteur MicroSD push-push. Les signaux :
| Signal | Fonction | Notes |
|---|---|---|
SDMMC0_CLK | Horloge | Jusqu'à 50 MHz en SDR104 |
SDMMC0_CMD | Ligne de commande | Bidirectionnelle, pull-up |
SDMMC0_D0–D3 | Bus données 4-bit | Parallèle, jusqu'à 200 Mbps |
SDMMC0_DET | Détection de carte | Interrupteur mécanique |
Le connecteur push-push, c'est le classique "clique pour insérer, clique
pour éjecter". Pas besoin d'outil pour changer de carte. La ligne
SD_DET est sur une GPIO — détection de carte et événement
noyau, pratique pour du headless.
Les lignes données ont des résistances série de 22 Ω pour limiter les réflexions. Au routage, il faudra garder D0–D3 à longueur égale pour éviter le skew.
🧠 Bus Mémoire RAM 32-bit DDR3 14:30 — 18:00
Le morceau le plus chaud de la journée. Le RK3328 a un contrôleur mémoire 32-bit qui gère DDR3 ou DDR3L. J'ai tout cartographié sur le schéma.
Le bus données est divisé en 4 byte-lanes de 8 bits,
DQ0 à DQ31. Chaque lane a son masque (DM0–DM3) et son
strobe différentiel (DQS0_P/N–DQS3_P/N). Les strobes sont
critiques — ils cadrent l'échantillonnage en haute fréquence.
Les signaux de contrôle sont câblés : CS_L (chip select),
CKE (clock enable), ODT (on-die termination),
RST_L (reset), et l'horloge différentielle
CLK_P/N.
Prêts à connecter à la puce RAM physique — étape prévue au
Jour 3. Les noms de nets suivent tous la convention
DRAM_* pour éviter la confusion au routage.
La DDR3 tourne à 1.5V et se trouve encore facilement d'occasion. Le RK3328 supporte aussi la DDR3L (1.35V) pour économiser un peu d'énergie.
🔌 Connectivité & Haute Vitesse 18:00 — 21:00
Dernier bloc : les interfaces. USB, HDMI, Ethernet — tout ce qui relie la carte au monde.
Le RK3328 a un port USB 2.0 OTG + un port Host, plus les paires SuperSpeed USB 3.0 (jusqu'à 5 Gbps). L'OTG fait double job : alimentation en mode Pi, données en mode Rack via le MUX.
Côté vidéo, le HDMI 2.0 est câblé : trois canaux
TMDS, l'horloge, le DDC via I2C3, le CEC et le
Hot Plug Detect.
Pour le réseau, le FEPHY intégré sort via
ETH_TX_P/N et ETH_RX_P/N.
Direction le magnétique et le RJ45.
Enfin, la console debug UART2 est câblée
(DEBUG_TX/DEBUG_RX).
Les logs U-Boot et noyau passeront par là — indispensable pour
les premiers tests.
📋 Statut du projet — Fin du J2 21:00
| Tâche | Statut |
|---|---|
| RK3328 BGA entièrement câblé (alim + I/O) | ✅ Fait |
| MicroSD câblée | ✅ Fait |
| Bus RAM 32-bit étiqueté | ✅ Fait |
| Schéma PMIC terminé (Feuille 01) | ✅ Fait |