Tomachie

Eine fundierte KI-gestützte PCB-Designprüfung

Einreichen Beispiele Funktionsweise Datenschutz Über uns Statistiken Bewertungen Blog
← Zurück zum Blog

PCB-Power-Integrity: DC PI des PDN auf dem STM32MP215F-DK (MB2059) mit zwei Power-Analyzern

KiPI und FYPA sind zwei Open-Source-Analyzer für Power Integrity, und beide sind sehr gut. KiPI, gepflegt von Drew Maatman (github.com/drewsum/KiPI), ist auf KiCad ausgerichtet und liest auch ODB++; so wurde es zur Grundlage, um den Tomachie-Flow in diese Tools zu debuggen und zu validieren. FYPA, gepflegt von anarthrous-eda (github.com/anarthrous-eda/FYPA), ist auf Altium ausgerichtet.

Wir haben das MB2059-PCB von STMicroelectronics verwendet, weil es sowohl ein Altium-.PcbDoc als auch eine ODB++-Ausgabe mitbringt. Die ODB++-Daten gingen zusammen mit der Tomachie-pdn.json in KiPI; FYPA nutzte das .PcbDoc mit derselben Tomachie-pdn.json.

Ziel der Übung war nicht, herauszufinden, ob eines der Tools besser ist, sondern eine Validierung zu bekommen und Fehler in beiden Tools sowie in Tomachie zu finden. Im Ergebnis haben wir Korrekturen upstream zu beiden beigetragen: sechs gemergte Pull Requests für KiPI und einen für FYPA, und wir teilen die Ergebnisse hier. Obwohl sie unterschiedliche Solver und unterschiedliche PCB-Daten (ODB++ und .PcbDoc) verwenden, stimmen beide jetzt auf jeder Schiene auf 0,2 mV überein.

Tomachie hat den Schaltplan des MB2059 und seine Datenblätter gelesen und eine Power-Tree-Datei geschrieben: jede Schiene, ihr Regler, die Ausgangstoleranz des Reglers, die Pins und der Maximalstrom jeder Last und die Mindestversorgungsspannung, die das Datenblatt jeder Last zulässt. KiPI und FYPA haben dann genau diese Datei auf dem Kupfer des Boards gelöst.

Durchgehend Worst Case: jeder Regler am unteren Ende seines Ausgangsbands laut Datenblatt, jede Last bei Maximalstrom, der USB-Eingang auf seinem Minimum. Die Frage pro Schiene lautet, ob die Spannung an den Pins der Last über dem Minimum aus deren Datenblatt bleibt.

DC-PI-Ergebnisse, Schiene für Schiene

SchieneSoll (V)Unteres Ende Regler (V)Kritischste LastMinimum Last (V)KiPI (V)FYPA (V)KiPI − FYPA (mV)Reserve (mV)Ergebnis
VDDCORE0.820.8077U7 STM32MP2150.7920.80340.80340.0+11.4PASS
VDDCPU0.800.7880U7 STM32MP2150.7680.78610.78610.0+18.1PASS
VDD2_DDR1.101.0835U7 STM32MP2151.0601.07931.0795−0.2+19.3PASS
VDD1_DDR1.801.7280U8 LPDDR41.7001.72731.7271+0.2+27.1PASS
VDDA1V81.801.7280U7 STM32MP2151.7101.72621.7260+0.2+16.0PASS FYPA: geringe Reserve
VDDA1V8_AON1.801.7280U7 STM32MP2151.7101.72721.7271+0.1+17.1PASS FYPA: geringe Reserve
VDDIO3.303.2300U7 STM32MP2152.7003.22823.2281+0.1+528.1PASS
3V33.303.1530U15 LAN8742A3.0003.10433.1042+0.1+104.2PASS

Reserve = die niedrigere der beiden berechneten Spannungen minus das Minimum aus dem Datenblatt der Last. FYPA markiert eine Last, deren Reserve unter 1 % des Nennwerts der Schiene liegt (seine Voreinstellung); KiPI gibt Spannung und Spielraum ohne Warnband aus.

Mindestwerte der Lasten: STM32MP215 Tabelle 17 S. 87; Micron MT53E LPDDR4 VDD1 / VDD2; LAN8742A Betrieb mit 3,3 V. Reglerbänder: STPMIC2 Ausgangsgenauigkeit (±1,5 % Buck-Wandler, ±4 % LDO1, ±2 % LDO2 / 5 / 6), ST1S31 für 3V3.

Was die Tabelle zeigt

Die beiden Power-Analyzer stimmen auf jeder Schiene auf 0,2 mV überein. Sie teilen keinen Solver-Code; die Übereinstimmung kommt daher, dass beide denselben Power-Tree und dasselbe Kupfer lesen.

Den größten Teil jeder Reserve verbraucht die Reglertoleranz, nicht das Kupfer. Der 1,8-V-LDO ist mit ±4 % spezifiziert, sein unteres Ende (1,728 V) liegt also schon vor jedem Kupfer nur 18 mV über dem Minimum von 1,71 V des STM32MP215. Das Kupfer des Boards nimmt davon etwa 2 mV (0,5 mV davon im Masserückweg) und lässt 16–17 mV übrig: unter der 1-%-Linie von FYPA, ein berechtigter Hinweis auf die Reglerwahl. VDDCORE hat die kleinste Reserve in Millivolt (11,4 mV) und besteht bei beiden, denn das sind 1,4 % seiner 0,82 V.

Der größte Kupferabfall auf dem Board liegt auf 3V3: der Ethernet-PHY LAN8742A zieht in seinem ungünstigsten Betriebspunkt 139 mA (10BASE-T mit Datenverkehr, Sendestrom durch den Übertrager, Datenblatt Tabelle 5-5 S. 105), davon fließen 93 mA durch den Ferrit L4 zu seinen analogen Versorgungspins. Dieser Pfad verliert 48 mV, an U15 bleiben 3,104 V gegenüber dem Minimum von 3,0 V. Jede Last an 3V3 hat einen Strom aus dem Datenblatt: zusammen 213,6 mA.

Erst DC PI, dann AC PI

Dies ist DC PI: der Spannungsabfall bei Worst-Case-Strom, den jede Schiene zuerst bestehen muss. AC PI betrachtet die Impedanz des PDN über der Frequenz im Vergleich zu einer Zielimpedanz, für Lastsprünge und Entkopplung. KiPI kann auch die PDN-Impedanz sweepen; AC PI auf diesem Board ist der nächste Schritt.

Berichte

KiPI, gepflegt von Drew Maatman: der Open-Source-Power-Integrity-Analyzer für KiCad

FYPA, gepflegt von anarthrous-eda: das Open-Source-Tool für DC Power Integrity in Altium