Power integrity di PCB: DC PI della PDN della STM32MP215F-DK (MB2059) con due analizzatori di potenza
KiPI e FYPA sono due analizzatori di power integrity open source, entrambi molto validi. KiPI, mantenuto da Drew Maatman (github.com/drewsum/KiPI), è orientato a KiCad e legge anche l’ODB++, quindi è diventato la base per il debug e la validazione del flusso di Tomachie verso questi strumenti. FYPA, mantenuto da anarthrous-eda (github.com/anarthrous-eda/FYPA), è orientato ad Altium.
Abbiamo usato il PCB MB2059 di STMicroelectronics perché è disponibile sia con un .PcbDoc di Altium sia con un output ODB++. Abbiamo dato l’ODB++ a KiPI insieme al pdn.json di Tomachie, mentre FYPA ha usato il .PcbDoc con lo stesso pdn.json di Tomachie.
Lo scopo dell’esercizio non era stabilire se uno sia migliore dell’altro, ma ottenere una validazione e trovare errori nei due strumenti e anche in Tomachie. Il risultato è che abbiamo contribuito correzioni upstream a entrambi: sei pull request accettate in KiPI e una in FYPA, e condividiamo qui i risultati. Pur usando solver diversi e dati PCB diversi (ODB++ e .PcbDoc), ora i due concordano entro 0,2 mV su ogni rail.
Tomachie ha letto lo schema della MB2059 e i suoi datasheet e ha scritto un unico file di albero di alimentazione: ogni rail, il suo regolatore, la tolleranza di uscita del regolatore, i pin e la corrente massima di ogni carico e la tensione di alimentazione minima ammessa dal datasheet di ogni carico. KiPI e FYPA hanno poi risolto quello stesso file sul rame della scheda stessa.
Caso peggiore ovunque: ogni regolatore all’estremo inferiore della sua banda di uscita da datasheet, ogni carico alla corrente massima, l’ingresso USB al suo minimo. La domanda, rail per rail, è se la tensione ai pin del carico resta sopra il minimo del suo datasheet.
Report completo dell'STM32MP215F-DK (MB2059)
Risultati DC PI, rail per rail
| Rail | Nominale (V) | Minimo del regolatore (V) | Carico più critico | Minimo del carico (V) | KiPI (V) | FYPA (V) | KiPI − FYPA (mV) | Margine (mV) | Esito |
|---|---|---|---|---|---|---|---|---|---|
| VDDCORE | 0.82 | 0.8077 | U7 STM32MP215 | 0.792 | 0.8034 | 0.8034 | 0.0 | +11.4 | PASS |
| VDDCPU | 0.80 | 0.7880 | U7 STM32MP215 | 0.768 | 0.7861 | 0.7861 | 0.0 | +18.1 | PASS |
| VDD2_DDR | 1.10 | 1.0835 | U7 STM32MP215 | 1.060 | 1.0793 | 1.0795 | −0.2 | +19.3 | PASS |
| VDD1_DDR | 1.80 | 1.7280 | U8 LPDDR4 | 1.700 | 1.7273 | 1.7271 | +0.2 | +27.1 | PASS |
| VDDA1V8 | 1.80 | 1.7280 | U7 STM32MP215 | 1.710 | 1.7262 | 1.7260 | +0.2 | +16.0 | PASS FYPA: margine basso |
| VDDA1V8_AON | 1.80 | 1.7280 | U7 STM32MP215 | 1.710 | 1.7272 | 1.7271 | +0.1 | +17.1 | PASS FYPA: margine basso |
| VDDIO | 3.30 | 3.2300 | U7 STM32MP215 | 2.700 | 3.2282 | 3.2281 | +0.1 | +528.1 | PASS |
| 3V3 | 3.30 | 3.1530 | U15 LAN8742A | 3.000 | 3.1043 | 3.1042 | +0.1 | +104.2 | PASS |
Margine = la più bassa delle due tensioni calcolate meno il minimo da datasheet del carico. FYPA segnala un carico il cui margine è inferiore all’1 % del valore nominale del rail (la sua impostazione predefinita); KiPI riporta tensione e margine senza banda di avviso.
Minimi dei carichi: STM32MP215 tabella 17 p. 87; Micron MT53E LPDDR4 VDD1 / VDD2; LAN8742A funzionamento a 3,3 V. Bande dei regolatori: precisione di uscita dello STPMIC2 (±1,5 % buck, ±4 % LDO1, ±2 % LDO2 / 5 / 6), ST1S31 per 3V3.
Cosa mostra la tabella
I due analizzatori di potenza concordano entro 0,2 mV su ogni rail. Non condividono codice di calcolo; la concordanza deriva dal fatto che entrambi leggono lo stesso albero di alimentazione e lo stesso rame.
Gran parte di ogni margine è consumata dalla tolleranza del regolatore, non dal rame. L’LDO da 1,8 V è specificato al ±4 %, quindi il suo estremo inferiore (1,728 V) è solo 18 mV sopra il minimo di 1,71 V dello STM32MP215 prima di qualsiasi rame. Il rame della scheda ne prende circa 2 mV (0,5 mV nel ritorno di massa) e lascia 16–17 mV: sotto la soglia dell’1 % di FYPA, una segnalazione corretta sulla scelta del regolatore. VDDCORE ha il margine più piccolo in millivolt (11,4 mV) e passa con entrambi, perché è l’1,4 % dei suoi 0,82 V.
La caduta più grande nel rame della scheda è su 3V3: il PHY Ethernet LAN8742A assorbe 139 mA nel suo punto di lavoro peggiore (10BASE-T con traffico, corrente di trasmissione attraverso il trasformatore Ethernet, datasheet tabella 5-5 p. 105), di cui 93 mA passano per la ferrite L4 verso i suoi pin di alimentazione analogica. Quel percorso perde 48 mV e lascia 3,104 V su U15 contro un minimo di 3,0 V. Ogni carico su 3V3 ha una corrente da datasheet: 213,6 mA in totale.
Prima la DC PI, poi la AC PI
Questa è la DC PI: la caduta di tensione alla corrente del caso peggiore, che ogni rail deve superare per prima. La AC PI guarda l’impedenza della PDN in frequenza rispetto a un’impedenza target, per i gradini di carico e il disaccoppiamento. KiPI può anche eseguire lo sweep dell’impedenza della PDN; la AC PI di questa scheda è il passo successivo.
Report
- Report KiPI, corrente massima · 36 MB, HTML autonomo
- Report KiPI, corrente tipica · 36 MB
- Report FYPA, corrente massima · 1,7 MB
- Report FYPA, corrente tipica · 1,7 MB
- Tutti e quattro i report · zip, 32 MB
KiPI, mantenuto da Drew Maatman: l’analizzatore open source di power integrity per KiCad
FYPA, mantenuto da anarthrous-eda: lo strumento open source di power integrity DC per Altium