Целостность питания печатной платы: DC PI сети PDN STM32MP215F-DK (MB2059) двумя анализаторами питания
KiPI и FYPA — два анализатора целостности питания с открытым исходным кодом, и оба очень хороши. KiPI, который поддерживает Drew Maatman (github.com/drewsum/KiPI), ориентирован на KiCad и также читает ODB++, поэтому он стал основой для отладки и проверки маршрута Tomachie в эти инструменты. FYPA, который поддерживает anarthrous-eda (github.com/anarthrous-eda/FYPA), ориентирован на Altium.
Мы взяли плату MB2059 от STMicroelectronics, потому что для неё есть и Altium .PcbDoc, и выгрузка ODB++. ODB++ мы подали в KiPI вместе с pdn.json от Tomachie, а FYPA использовал .PcbDoc с тем же pdn.json от Tomachie.
Цель упражнения была не в том, чтобы выяснить, какой инструмент лучше, а в том, чтобы получить проверку и найти ошибки в обоих инструментах, а также в Tomachie. В результате мы передали исправления в оба проекта: шесть принятых pull request в KiPI и один в FYPA, а результаты публикуем здесь. Несмотря на разные решатели и разные данные платы (ODB++ и .PcbDoc), оба теперь совпадают в пределах 0,2 мВ на каждой шине.
Tomachie прочитал схему MB2059 и даташиты и записал один файл дерева питания: каждую шину, её регулятор, допуск выходного напряжения регулятора, выводы и максимальный ток каждой нагрузки и минимальное напряжение питания, которое допускает даташит каждой нагрузки. Затем KiPI и FYPA рассчитали этот же файл на меди самой платы.
Везде худший случай: каждый регулятор на нижней границе выходного диапазона по даташиту, каждая нагрузка на максимальном токе, вход USB на минимуме. Вопрос для каждой шины: остаётся ли напряжение на выводах нагрузки выше минимума из её даташита.
Полный отчёт по STM32MP215F-DK (MB2059)
Результаты DC PI по шинам
| Шина | Номинал (В) | Нижняя граница регулятора (В) | Самая критичная нагрузка | Минимум нагрузки (В) | KiPI (V) | FYPA (V) | KiPI − FYPA (мВ) | Запас (мВ) | Результат |
|---|---|---|---|---|---|---|---|---|---|
| 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: малый запас |
| VDDA1V8_AON | 1.80 | 1.7280 | U7 STM32MP215 | 1.710 | 1.7272 | 1.7271 | +0.1 | +17.1 | PASS FYPA: малый запас |
| 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 |
Запас = меньшее из двух рассчитанных напряжений минус минимум из даташита нагрузки. FYPA отмечает нагрузку, запас которой меньше 1 % номинала шины (его настройка по умолчанию); KiPI сообщает напряжение и запас без полосы предупреждения.
Минимумы нагрузок: STM32MP215 таблица 17 с. 87; Micron MT53E LPDDR4 VDD1 / VDD2; LAN8742A работа от 3,3 В. Диапазоны регуляторов: точность выхода STPMIC2 (±1,5 % понижающие преобразователи, ±4 % LDO1, ±2 % LDO2 / 5 / 6), ST1S31 для 3V3.
Что показывает таблица
Два анализатора питания совпадают в пределах 0,2 мВ на каждой шине. У них нет общего кода расчёта; совпадение получается потому, что оба читают одно и то же дерево питания и одну и ту же медь.
Большую часть каждого запаса съедает допуск регулятора, а не медь. LDO на 1,8 В имеет допуск ±4 %, поэтому его нижняя граница (1,728 В) лишь на 18 мВ выше минимума 1,71 В у STM32MP215 ещё до учёта меди. Медь платы забирает из этого около 2 мВ (0,5 мВ из них в обратном пути по земле) и оставляет 16–17 мВ: ниже линии 1 % у FYPA, то есть верное предупреждение о выборе регулятора. У VDDCORE самый малый запас в милливольтах (11,4 мВ), и она проходит в обоих, потому что это 1,4 % от её 0,82 В.
Наибольшее падение на меди платы — на 3V3: Ethernet PHY LAN8742A потребляет 139 мА в худшей рабочей точке (10BASE-T с трафиком, ток передачи через Ethernet-трансформатор, даташит таблица 5-5 с. 105), из которых 93 мА идут через ферритовую бусину L4 к его аналоговым выводам питания. Этот путь теряет 48 мВ, и на U15 остаётся 3,104 В при минимуме 3,0 В. У каждой нагрузки на 3V3 задан ток из даташита: всего 213,6 мА.
Сначала DC PI, затем AC PI
Это DC PI: падение напряжения при токе худшего случая, которое каждая шина должна пройти первым. AC PI рассматривает импеданс PDN по частоте относительно целевого импеданса, для скачков нагрузки и развязки. KiPI также умеет снимать частотную характеристику импеданса PDN; AC PI этой платы — следующий шаг.