Integridade de potência de PCB: DC PI da PDN da STM32MP215F-DK (MB2059) com dois analisadores de potência
KiPI e FYPA são dois analisadores de integridade de potência open source, e ambos são muito bons. O KiPI, mantido por Drew Maatman (github.com/drewsum/KiPI), é voltado para o KiCad e também lê ODB++, por isso se tornou a base para depurar e validar o fluxo do Tomachie para essas ferramentas. O FYPA, mantido por anarthrous-eda (github.com/anarthrous-eda/FYPA), é voltado para o Altium.
Usamos a PCB MB2059 da STMicroelectronics porque ela vem com um .PcbDoc do Altium e com saída ODB++. Alimentamos o KiPI com o ODB++ e o pdn.json do Tomachie, e o FYPA usou o .PcbDoc com o mesmo pdn.json do Tomachie.
O objetivo do exercício não era determinar se um é melhor que o outro, mas obter validação e encontrar erros nas duas ferramentas e também no Tomachie. Como resultado, contribuímos correções upstream para ambos: seis pull requests aceitos no KiPI e um no FYPA, e compartilhamos os resultados aqui. Apesar de usarem solvers diferentes e dados de PCB diferentes (ODB++ e .PcbDoc), os dois agora concordam dentro de 0,2 mV em cada trilho.
O Tomachie leu o esquemático da MB2059 e suas folhas de dados e escreveu um único arquivo de árvore de alimentação: cada trilho, seu regulador, a tolerância de saída do regulador, os pinos e a corrente máxima de cada carga e a tensão mínima de alimentação que a folha de dados de cada carga permite. Em seguida, KiPI e FYPA resolveram esse mesmo arquivo no cobre da própria placa.
Pior caso em tudo: cada regulador no extremo inferior da sua faixa de saída segundo a folha de dados, cada carga na corrente máxima, a entrada USB no seu mínimo. A pergunta, trilho a trilho, é se a tensão nos pinos da carga fica acima do mínimo da sua folha de dados.
Relatório completo do STM32MP215F-DK (MB2059)
Resultados de DC PI, trilho a trilho
| Trilho | Nominal (V) | Mínimo do regulador (V) | Carga mais crítica | Mínimo da carga (V) | KiPI (V) | FYPA (V) | KiPI − FYPA (mV) | Margem (mV) | Resultado |
|---|---|---|---|---|---|---|---|---|---|
| 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: margem baixa |
| VDDA1V8_AON | 1.80 | 1.7280 | U7 STM32MP215 | 1.710 | 1.7272 | 1.7271 | +0.1 | +17.1 | PASS FYPA: margem baixa |
| 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 |
Margem = a menor das duas tensões calculadas menos o mínimo da folha de dados da carga. O FYPA sinaliza uma carga cuja margem é inferior a 1 % do valor nominal do trilho (seu padrão); o KiPI informa a tensão e a folga sem faixa de alerta.
Mínimos das cargas: STM32MP215 tabela 17 p. 87; Micron MT53E LPDDR4 VDD1 / VDD2; LAN8742A operação em 3,3 V. Faixas dos reguladores: precisão de saída do STPMIC2 (±1,5 % buck, ±4 % LDO1, ±2 % LDO2 / 5 / 6), ST1S31 para 3V3.
O que a tabela mostra
Os dois analisadores de potência concordam dentro de 0,2 mV em cada trilho. Eles não compartilham código de cálculo; a concordância vem de ambos lerem a mesma árvore de alimentação e o mesmo cobre.
A maior parte de cada margem é consumida pela tolerância do regulador, não pelo cobre. O LDO de 1,8 V é especificado em ±4 %, então seu extremo inferior (1,728 V) fica apenas 18 mV acima do mínimo de 1,71 V do STM32MP215 antes de qualquer cobre. O cobre da placa consome cerca de 2 mV disso (0,5 mV no retorno de terra), deixando 16–17 mV: abaixo da linha de 1 % do FYPA, um alerta correto sobre a escolha do regulador. VDDCORE tem a menor margem em milivolts (11,4 mV) e passa em ambos, porque isso é 1,4 % dos seus 0,82 V.
A maior queda no cobre da placa está em 3V3: o PHY Ethernet LAN8742A consome 139 mA no seu pior ponto de operação (10BASE-T com tráfego, corrente de transmissão pelo transformador Ethernet, folha de dados tabela 5-5 p. 105), dos quais 93 mA passam pela ferrite L4 até seus pinos de alimentação analógica. Esse caminho cai 48 mV, deixando 3,104 V em U15 contra o mínimo de 3,0 V. Toda carga em 3V3 tem uma corrente de folha de dados: 213,6 mA no total.
Primeiro DC PI, depois AC PI
Isto é DC PI: a queda de tensão na corrente do pior caso, que todo trilho precisa passar primeiro. A AC PI analisa a impedância da PDN em frequência em relação a uma impedância alvo, para degraus de carga e desacoplamento. O KiPI também pode varrer a impedância da PDN; a AC PI desta placa é o próximo passo.
Relatórios
- Relatório KiPI, corrente máxima · 36 MB, HTML autossuficiente
- Relatório KiPI, corrente típica · 36 MB
- Relatório FYPA, corrente máxima · 1,7 MB
- Relatório FYPA, corrente típica · 1,7 MB
- Os quatro relatórios · zip, 32 MB
KiPI, mantido por Drew Maatman: o analisador open source de integridade de potência para KiCad
FYPA, mantido por anarthrous-eda: a ferramenta open source de integridade de potência DC para Altium