Meu post recente no blog sobre gerenciamento de redes de energia atraiu um grande número de comentários muito interessantes e informativos. Tem sido reconfortante, para mim, ver tantas pessoas se envolvendo na discussão. Todas essas contribuições me ajudaram a apreciar o quão vasto e intrincado pode ser o domínio do gerenciamento de energia.
Meu post recente no blog sobre gerenciamento de redes de energia atraiu um grande número de comentários muito interessantes e informativos. Tem sido reconfortante, para mim, ver tantas pessoas se envolvendo na discussão. Todas essas contribuições me ajudaram a apreciar o quão vasto e intrincado pode ser o domínio do gerenciamento de energia. É também, obviamente, uma área de grande importância para todos vocês, independentemente dos tipos de design que fazem.
Muitos desses comentários oferecem ótimas sugestões e ideias. Gostaria de tentar reunir tudo isso de uma maneira coerente e organizada, que espero indique um caminho visível e útil para seguir em frente.
Gostaria de abordar isso definindo e classificando melhor os problemas que precisam ser resolvidos para tornar a gestão de energia menos "consumidora de energia" (desculpe o trocadilho) para você. Então, para cada problema ou classe de problemas, tentarei propor algumas abordagens possíveis para soluções, enquanto tento estimar o esforço de desenvolvimento envolvido para implementá-las.
Os primeiros tipos de problemas são elementares.
Cada rede de energia (o conjunto de redes envolvidas em fornecer energia para os componentes) deve, em última análise, estar conectada a alguma fonte externa de energia. Qualquer fonte externa de energia também deve entregar energia em algum lugar. Em uma determinada rede de energia, restrições orçamentárias básicas devem ser respeitadas (a energia produzida deve ser maior ou igual à energia consumida, as faixas de tensão operacional dos dispositivos conectados a uma rede comum devem ser compatíveis). Além disso, onde as redes de energia interagem com sinais (refiro-me a pull-ups e pull-downs), nenhum erro espúrio deve ser gerado, obscurecendo os erros reais.
Então, surgem problemas de natureza mais complexa.
Cada orçamento de rede de energia deve ser gerenciado com precisão para garantir que o que é fornecido seja apropriadamente distribuído (para que as várias partes funcionem corretamente) e, finalmente, coletado, sob todas as circunstâncias operacionais possíveis. A preocupação é a quantidade de corrente fornecida sob qual tensão (para o lado de fornecimento), e como ela é coletada e retornada.
Finalmente, há questões mais avançadas.
Ultimamente, a PCB precisa ser projetada de uma maneira que satisfaça fisicamente os requisitos de energia das partes usadas. Para evitar trabalho repetitivo e erros, essas restrições de design devem ser calculadas automaticamente a partir das informações do esquemático. Então, para verificar se o resultado é adequado, o design final da PCB deve ser simulado. Essas áreas de preocupação incluem design de planos de energia e divisão, gerenciamento de rotas, gerenciamento de calor, estresse das partes, e assim por diante.
Para o primeiro grupo de problemas elementares, acho que, dado os meios de definir uma rede de energia, seus nós e suas características básicas, deveria ser relativamente fácil realizar verificações elementares e focar a atenção do projetista em questões potenciais.
As verificações elementares que estou pensando são:
A questão importante é: qual seria uma maneira prática de implementar isso?
Primeiro, vamos considerar a maneira de 'construir' uma rede de energia. Uma rede de energia é simplesmente um conjunto de redes envolvidas em fornecer energia às partes que precisam dela.
Eu acho que ver partes através de transparências é um bom mecanismo para alcançar o propósito de definir isso.
Entendo que a representação gráfica proposta no post anterior não é adequada, e eu totalmente vejo os pontos feitos - como anteriormente retratado, eles podem ser confusos, enganosos e encher o espaço de design desnecessariamente.
Seu propósito chave é comunicar que para uma certa intenção (aqui, definição de rede de energia) duas redes devem ser consideradas unidas. No caso da gestão de energia, elas agem meramente como fios, e portanto devem ser colocadas em partes que não afetam a tensão de forma significativa.
Isso deve ser refletido pelo seu comportamento e sua representação gráfica. Na tela, eles devem ser visíveis apenas de maneira explícita - quando o mouse passa sobre um pino envolvido, por exemplo, e/ou de acordo com alguma preferência ou configuração. Exatamente como eles pareceriam (quando e se visíveis), ainda não determinei. Certamente deve ser possível excluí-los de impressões e saídas. Além disso, eles permitirão relações de um-para-muitos. Será possível colocá-los tanto em uma biblioteca quanto em um contexto de design.
Então, vamos ver o que seria necessário para definir características elétricas básicas em uma rede de energia. Entendo que substituir o tipo de pino ‘Power’ por dois tipos ‘Power Supply’ e ‘Power Sink’, enquanto se incorporam características elétricas nos parâmetros do pino, é uma ideia popular. No entanto, isso me deixa desconfortável por várias razões.
Em primeiro lugar, levanta-se a questão da atualização de dados, tanto em um contexto de biblioteca quanto de design. Dado um pino de alimentação 'antigo', uma escolha judiciosa teria que ser feita ao entrar no novo software (era para ser uma fonte ou um sumidouro?). Dada a situação real de hoje, parece que não há respostas fáceis. O mesmo problema existe para a compatibilidade retroativa e dados que vão e vêm entre várias versões do software.
Em segundo lugar, as opiniões parecem divergir em relação à nomeação e aos conceitos subjacentes a esses tipos (fonte de alimentação/sumidouro, fonte de corrente/sumidouro, referência Positiva/Negativa...). Alguma confusão também pode ser introduzida em relação às fontes de alimentação negativas.
Há também a questão das características das peças que variam dependendo da maneira como são usadas em vários designs. Isso vai desde reguladores ajustáveis até a potência fornecida por conectores genéricos. Modificar os próprios pinos das peças no design é sempre uma possibilidade, mas essa é uma abordagem repleta de perigos quando se trata de gerenciamento rigoroso de dados (por exemplo, ao usar Atualização de Bibliotecas ou o Gerenciador de Itens de Design).
Eu acho que o que é necessário aqui para avançar é um sistema mais flexível que permita que as características dos pinos de conexão sejam declaradas de uma maneira simples.
Nesta perspectiva, gosto da ideia de "Etiquetagem" proposta por Ian. Uma "Etiqueta de Potência" é simplesmente uma descrição de conexão. É definida por um tipo (Produtor ou Consumidor), uma classificação de potência, uma faixa de tensão e uma descrição em texto livre. Quando colocada em um pino, declara as características elétricas do pino. Pode ser colocada tanto em um contexto de biblioteca quanto em um contexto de design.
Então, dado uma rede de energia, as verificações básicas podem ser facilmente realizadas:
As imagens a seguir ilustram a abordagem geral descrita acima. Neste exemplo, duas redes de energia são definidas: 5V0 e 3V3.
Um conector de alimentação fornece 5V0 para toda a rede. Diretamente no esquemático (já que esta situação é específica do design) uma Etiqueta de Potência descreve as características de potência do pino do conector de alimentação que está conectado ao trilho 5V0.
Um interruptor permite ligar e desligar a energia. Como as redes +B e 5V0 fazem parte da mesma rede de energia, e efetivamente estão na mesma tensão, dois see-throughs são adicionados para ligar os pinos 1 e 3, e os pinos 3 e 2. Um interruptor é sempre 'transparente', então esses see-throughs poderiam ter sido adicionados ao próprio símbolo sch, em uma biblioteca esquemática.
Então, um regulador reduz a tensão da linha 5V0 para 3V3.
5V0 é entregue a um amplificador de potência de áudio. Tags de potência colocadas nos pinos descrevem suas características. O valor do consumo de potência descreve o pior cenário. Isso pode ser feito tanto em um ambiente de biblioteca esquemática quanto no próprio esquemático.
3V3 é entregue a um controlador de tela sensível ao toque, cujas características dos pinos são descritas por Tags de Potência apropriadas.
Então, verificações simples de potência podem ser realizadas em 5V0:
Produtores em 5V0
Pino |
Potência produzida (W) |
J19-1 |
5 |
Total |
5 |
Consumidores em 5V0
Pino |
Potência Consumida (W) |
U1-1 |
1 |
U26-2 |
1.3 |
U26-10 |
1.3 |
U26-15 |
1.3 |
Total |
4.9 |
Também nesta rede, todos os intervalos de tensão correspondem (J19-1 fornece 5V0, enquanto U1-1 precisa de 2V7~6V0, e U26-2, 10 e 15 precisam de 4V5~5V0).
Em 3V3, as mesmas verificações podem ser realizadas:
Produtores em 3V3
Pin |
Potência produzida (W) |
U1-5 |
480 x 10-3 |
Total |
480 x 10-3 |
Consumidores em 3V3
Pin |
Potência consumida (W) |
U48-10 |
80 x 10-6 |
U48-1 |
750 x 10-6 |
U48-9 |
10 x 10-9 |
Total |
830.01 x 10-6 |
Também na rede 3V3, os intervalos de tensões operacionais correspondem (3.2V~3.4V, 1.2V~ 3.4V, 2.7V~3.6V, 2.7V~3.6V)
Com base nesta abordagem revisada, começo a ver um caminho claro para a implementação de uma solução eficaz que aborde essas questões elementares, dentro de alguns meses.
Também deveria ser possível destacar redes de energia inteiras sob demanda, com alguma indicação de sua correção.
Igualmente, um mecanismo simples de agrupar produtores juntos, usando um índice de grupo na Etiqueta de Energia, nos permitirá indicar quais produtores estarão ativos ao mesmo tempo (e, portanto, devem ser somados), para sistemas de energia redundantes, por exemplo. O sistema pode levar isso em consideração ao realizar as verificações.
Também gostaria de abordar o problema mais complexo do gerenciamento assistido do orçamento de energia.
Entendo que uma ferramenta muito útil seria aquela que, dados as características elétricas completas dos componentes envolvidos e a maneira como estão conectados, pudesse fazer todos os cálculos e relatar se todas as restrições declaradas são satisfeitas, a todo momento. Concordo com essa visão.
Para implementar isso de qualquer maneira satisfatória, o motor de simulação Spice teria que ser trazido, o que é obviamente possível.
Além do peso de adicionar os modelos de simulação adequados às bibliotecas e designs, ainda não tenho certeza se todos os casos possíveis podem ser cobertos de forma confiável. O consumo de energia de muitos dispositivos depende da maneira como eles operam de fato no campo. Para acomodar isso, o motor de simulação Spice teria que ser equipado com meios para levar em conta a maneira como os dispositivos são programados, e como esses dispositivos programados interagem com seu ambiente.
Isso parece um projeto muito empolgante, mas que se encaixa em uma perspectiva de longo prazo. Para mim, parece algo que vale a pena refletir mais, investigar e discutir - possivelmente em um futuro post no blog!
Finalmente, os tópicos avançados de geração automática de regras e simulação final do design parecem igualmente úteis se pudessem ser efetivamente abordados. No entanto, o caminho para a implementação final parece ainda mais incerto.
Em termos de geração automática de regras, uma série de problemas arquitetônicos teria que ser resolvida no software, como a capacidade de definir regra binária no nível esquemático, por exemplo. Então, as diretrizes para a geração automática de regras teriam que ser claramente investigadas e definidas, com possivelmente, novas regras introduzidas no nível do PCB.
Além disso, no mundo da simulação do resultado final, alguma tecnologia completamente nova teria que ser desenvolvida ou adquirida. Uma série de passos estratégicos teriam que ser dados primeiro para abordar esses aspectos de forma eficaz.
Este foi um post bastante longo, mas acho que o interesse expresso neste assunto exigiu uma análise cuidadosa, e uma resposta igualmente detalhada e honesta. Meu objetivo é delinear claramente um caminho para uma solução útil que possa ser efetivamente implementada em questão de alguns meses.
Mesmo para a solução elementar que propus, algum input seria muito útil.
Por exemplo, continuo falando sobre ‘Rede de Energia’, mas acho o termo ambíguo na melhor das hipóteses. Aqui, jogamos com o termo ‘Linha de Energia’. O que vocês acham?
Além disso, a representação gráfica de parte translúcida e as Etiquetas de Energia certamente requererão uma consideração muito cuidadosa. O que está desenhado na ilustração acima é apenas um rascunho. Suas sugestões serão mais do que bem-vindas.
Como sempre, gostaria muito de ler seus pensamentos e ideias aqui.
Por favor, postem-nos na seção de comentários abaixo.