Mein kürzlicher Blogbeitrag über das Management von Stromnetzen hat eine große Anzahl sehr interessanter und informativer Kommentare angezogen. Es war für mich herzerwärmend zu sehen, wie viele Menschen sich an der Diskussion beteiligt haben. All diese Beiträge haben mir geholfen zu schätzen, wie umfangreich und komplex der Bereich des Energiemanagements sein kann.
Mein kürzlicher Blogbeitrag über Management von Stromnetzen hat eine große Anzahl sehr interessanter und informativer Kommentare angezogen. Es war für mich herzerwärmend zu sehen, wie viele Menschen sich an der Diskussion beteiligt haben. All diese Beiträge haben mir geholfen zu schätzen, wie umfangreich und komplex der Bereich des Energiemanagements sein kann. Es ist auch offensichtlich ein Bereich von großer Bedeutung für euch alle, unabhängig von den Arten von Design, die ihr macht.
Viele dieser Kommentare bieten großartige Vorschläge und Ideen. Ich möchte versuchen, all dies auf eine kohärente und organisierte Weise zusammenzuführen, die hoffentlich einen sichtbaren und nützlichen Weg nach vorne aufzeigt.
Ich möchte dies angehen, indem ich zunächst die Probleme besser definiere und klassifiziere, die angegangen werden müssen, um das Energiemanagement weniger „energieverbrauchend“ zu gestalten (Entschuldigung für das Wortspiel). Dann werde ich für jedes Problem oder jede Klasse von Problemen versuchen, einige mögliche Lösungsansätze vorzuschlagen, während ich versuche, den Entwicklungsbedarf abzuschätzen, der zur Implementierung dieser erforderlich ist.
Die ersten Arten von Problemen sind elementar.
Jedes Stromnetzwerk (die Menge der Netze, die an der Stromversorgung von Komponenten beteiligt sind) sollte letztendlich mit einer externen Stromquelle verbunden sein. Jede externe Stromquelle sollte auch irgendwo Strom liefern. In einem gegebenen Stromnetzwerk sollten grundlegende Budgetbeschränkungen respektiert werden (die erzeugte Leistung sollte größer oder gleich der verbrauchten Leistung sein, die Betriebsspannungsbereiche von Geräten, die an ein gemeinsames Netz angeschlossen sind, sollten übereinstimmen). Außerdem sollten, wo Stromnetzwerke mit Signalen interagieren (ich beziehe mich auf Pull-ups und Pull-downs), keine falschen Fehler erzeugt werden, die die echten Fehler verschleiern.
Dann kommen Probleme komplexerer Natur.
Jedes Stromnetzbudget sollte präzise verwaltet werden, um sicherzustellen, dass das Gelieferte angemessen verteilt wird (damit die verschiedenen Teile ordnungsgemäß funktionieren) und letztendlich unter allen möglichen Betriebsbedingungen gesammelt wird. Von Interesse ist die Menge des Stroms, der unter welcher Spannung bereitgestellt wird (für die Versorgungsseite), und wie er gesammelt und zurückgeführt wird.
Schließlich gibt es die fortgeschritteneren Probleme.
Letztendlich muss die PCB so entworfen werden, dass sie die Leistungsanforderungen der verwendeten Teile physisch erfüllt. Um wiederholte Arbeit und Fehler zu vermeiden, sollten diese Entwurfsbeschränkungen automatisch aus den Schaltplaninformationen berechnet werden. Dann, um zu überprüfen, ob das Ergebnis angemessen ist, sollte das endgültige PCB-Design simuliert werden. Diese betreffen Bereiche wie Leistungs- und Split-Plane-Design, Routenmanagement, Wärmemanagement, Teilebelastung und so weiter.
Für die erste Gruppe von elementaren Problemen denke ich, dass es relativ einfach sein sollte, elementare Überprüfungen durchzuführen und die Aufmerksamkeit des Designers auf potenzielle Probleme zu lenken, wenn die Mittel zur Definition eines Stromnetzwerks, seiner Knoten und deren grundlegende Eigenschaften gegeben sind.
Die elementaren Überprüfungen, an die ich denke, sind:
Die wichtige Frage ist: Was wäre ein praktischer Weg, dies umzusetzen?
Zuerst sollten wir überlegen, wie man ein Stromnetz ‘aufbaut’. Ein Stromnetz ist lediglich eine Menge von Netzen, die dazu dienen, den Teilen, die es benötigen, Strom zu liefern.
Ich finde, Teildurchsichten sind ein guter Mechanismus, um den Zweck der Definition dessen zu erreichen.
Ich verstehe, dass die im vorherigen Beitrag vorgeschlagene grafische Darstellung nicht angemessen ist, und ich sehe vollkommen die gemachten Punkte - wie zuvor dargestellt, können sie verwirrend sein, in die Irre führen und den Entwurfsraum unnötig überladen.
Ihr Hauptzweck ist es zu kommunizieren, dass für eine bestimmte Absicht (hier, Definition des Stromnetzes) zwei Netze als verbunden betrachtet werden sollten. Im Fall des Energiemanagements wirken sie lediglich als Drähte und sollten daher auf Teilen platziert werden, die die Spannung nicht wesentlich beeinflussen.
Dies sollte sich in ihrem Verhalten und ihrer grafischen Darstellung widerspiegeln. Auf dem Bildschirm sollten sie nur auf explizite Weise sichtbar sein - beispielsweise, wenn die Maus über einen beteiligten Pin schwebt und/oder gemäß einer bestimmten Präferenz oder Einstellung. Wie genau sie aussehen würden (wenn überhaupt sichtbar), habe ich noch nicht festgelegt. Es sollte definitiv möglich sein, sie von Ausdrucken und Ausgaben auszuschließen. Außerdem werden sie Eins-zu-viele-Beziehungen ermöglichen. Es wird möglich sein, sie entweder in einer Bibliothek oder in einem Designkontext zu platzieren.
Dann schauen wir uns an, was erforderlich wäre, um grundlegende elektrische Eigenschaften in einem Stromnetzwerk zu definieren. Ich verstehe, dass die Ersetzung des Pin-Typs ‚Power‘ durch zwei Typen ‚Power Supply‘ und ‚Power Sink‘, während elektrische Eigenschaften in Pin-Parametern eingebettet werden, eine beliebte Idee ist. Es bereitet mir jedoch aus einer Reihe von Gründen Unbehagen.
Zunächst wirft es die Frage der Datenaktualisierung auf, sowohl im Bibliotheks- als auch im Designkontext. Angesichts eines "alten" Power-Pins müsste eine kluge Entscheidung getroffen werden, wenn man in die neue Software wechselt (sollte er als Versorgung oder als Senke gedacht sein?). Angesichts der heutigen realen Situation scheint es keine einfachen Antworten zu geben. Das gleiche Problem besteht auch bei der Rückwärtskompatibilität und Daten, die zwischen verschiedenen Versionen der Software hin und her gehen.
Zweitens scheinen die Meinungen hinsichtlich der Benennung und der zugrundeliegenden Konzepte dieser Typen (Stromversorgung/Senke, Stromlieferung/Senke, Positive/Negative Referenz...) auseinanderzugehen. Einige Verwirrung könnte auch in Bezug auf negative Stromversorgungen eingeführt werden.
Es gibt auch das Problem der Teileigenschaften, die je nach Verwendung in verschiedenen Designs variieren. Dies reicht von einstellbaren Reglern bis zur Leistung, die von generischen Steckverbindern geliefert wird. Das Modifizieren der Teilepins selbst im Design ist immer eine Möglichkeit, aber dies ist ein Ansatz, der mit Gefahren verbunden ist, wenn es um rigoroses Datenmanagement geht (zum Beispiel bei der Verwendung von Update from Libraries oder dem Design Item Manager).
Ich denke, was hier benötigt wird, um voranzukommen, ist ein flexibleres System, das es ermöglicht, die Eigenschaften der Verbindungspins auf einfache Weise zu deklarieren.
Aus dieser Perspektive gefällt mir die Idee des „Taggings“, die Ian vorgeschlagen hat. Ein „Power Tag“ ist einfach eine Verbindungsbeschreibung. Er wird durch einen Typ (Produzent oder Verbraucher), eine Leistungsbewertung, einen Spannungsbereich und eine freie Textbeschreibung definiert. Wenn er an einem Pin platziert wird, gibt er die elektrischen Eigenschaften des Pins an. Er kann entweder im Bibliothekskontext oder im Designkontext platziert werden.
Dann können, gegeben ein Stromnetzwerk, die grundlegenden Überprüfungen leicht durchgeführt werden:
Die folgenden Bilder veranschaulichen den oben beschriebenen Gesamtansatz. In diesem Beispiel sind zwei Stromnetzwerke definiert: 5V0 und 3V3.
Ein Stromanschluss liefert 5V0 an das gesamte Netzwerk. Direkt im Schaltplan (da diese Situation designspezifisch ist) beschreibt ein Power Tag die Leistungsmerkmale des mit der 5V0-Schiene verbundenen Stromanschluss-Pins.
Ein Schalter ermöglicht das Ein- und Ausschalten der Stromversorgung. Da die Netze +B und 5V0 Teil desselben Stromnetzwerks sind und effektiv die gleiche Spannung haben, werden zwei Durchkontaktierungen hinzugefügt, um die Pins 1 und 3 sowie die Pins 3 und 2 zu verbinden. Ein Schalter ist immer „transparent“, daher hätten diese Durchkontaktierungen auch direkt zum Sch-Symbol in einer Schaltplanbibliothek hinzugefügt werden können.
Dann reduziert ein Regler die 5V0-Schiene auf 3V3.
5V0 wird an einen Audio-Leistungsverstärker geliefert. Power Tags, die an Pins platziert werden, beschreiben deren Eigenschaften. Der Wert des verbrauchten Stroms beschreibt das Worst-Case-Szenario. Dies kann entweder in einer Schaltplanbibliothek oder direkt im Schaltplan erfolgen.
3V3 wird an einen Touchscreen-Controller geliefert, dessen Pin-Eigenschaften durch entsprechende Power Tags beschrieben werden.
Dann können einfache Leistungsprüfungen an 5V0 durchgeführt werden:
Erzeuger an 5V0
Pin |
Erzeugte Leistung (W) |
J19-1 |
5 |
Gesamt |
5 |
Verbraucher an 5V0
Pin |
Verbrauchte Leistung (W) |
U1-1 |
1 |
U26-2 |
1.3 |
U26-10 |
1.3 |
U26-15 |
1.3 |
Gesamt |
4.9 |
Auch in diesem Netzwerk stimmen alle Spannungsbereiche überein (J19-1 liefert 5V0, während U1-1 2V7~6V0 benötigt und U26-2, 10 und 15 4V5~5V0 benötigen).
Auf 3V3 können die gleichen Überprüfungen durchgeführt werden:
Erzeuger auf 3V3
Pin |
Erzeugte Leistung (W) |
U1-5 |
480 x 10-3 |
Gesamt |
480 x 10-3 |
Verbraucher auf 3V3
Pin |
Verbrauchte Leistung (W) |
U48-10 |
80 x 10-6 |
U48-1 |
750 x 10-6 |
U48-9 |
10 x 10-9 |
Gesamt |
830.01 x 10-6 |
Auch im 3V3-Netz stimmen die Betriebsspannungsbereiche überein (3.2V~3.4V, 1.2V~ 3.4V, 2.7V~3.6V, 2.7V~3.6V)
Basierend auf diesem überarbeiteten Ansatz beginne ich, einen klaren Weg vorwärts zur Implementierung einer effektiven Lösung zu sehen, die diese grundlegenden Probleme innerhalb weniger Monate angeht.
Es sollte auch möglich sein, ganze Stromnetze auf Anfrage hervorzuheben, mit einer gewissen Anzeige ihrer Korrektheit.
Ebenso wird ein einfacher Mechanismus zum Gruppieren von Produzenten mithilfe eines Gruppenindex im Power Tag es uns ermöglichen, anzugeben, welche Produzenten gleichzeitig aktiv sein werden (und daher summiert werden sollten), zum Beispiel für redundante Stromsysteme. Das System kann dies bei der Durchführung der Überprüfungen berücksichtigen.
Ich möchte auch das komplexere Problem des assistierten Energiebudgetmanagements ansprechen.
Ich verstehe, dass ein sehr nützliches Werkzeug eines wäre, das, gegeben die vollständigen elektrischen Eigenschaften der beteiligten Komponenten und die Art und Weise, wie sie miteinander verbunden sind, alle Berechnungen durchführen und berichten könnte, ob alle deklarierten Einschränkungen jederzeit erfüllt sind. Ich stimme dieser Ansicht zu.
Um das auf irgendeine zufriedenstellende Weise zu implementieren, müsste der Spice-Simulationsmotor herangezogen werden, was offensichtlich möglich ist.
Neben dem Gewicht, das durch das Hinzufügen der angemessenen Simulationsmodelle zu Bibliotheken und Entwürfen entsteht, bin ich mir noch nicht sicher, ob alle möglichen Fälle zuverlässig abgedeckt werden können. Der Energieverbrauch vieler Geräte hängt von der Art und Weise ab, wie sie tatsächlich im Feld operieren. Um dies zu berücksichtigen, müsste die Spice-Simulationsengine mit Mitteln ausgestattet werden, die berücksichtigen, wie Geräte programmiert sind und wie diese programmierten Geräte mit ihrer Umgebung interagieren.
Dies klingt nach einem sehr spannenden Projekt, aber einem, das in eine langfristige Perspektive passt. Es fühlt sich für mich an wie etwas, das weiteres Nachdenken, Untersuchen und Besprechen wert ist - möglicherweise in einem zukünftigen Blogpost!
Schließlich erscheinen die fortgeschrittenen Themen der automatischen Regelerzeugung und der abschließenden Designsimulation gleichermaßen nützlich, wenn sie effektiv angegangen werden könnten. Der Weg zu ihrer endgültigen Implementierung scheint jedoch noch unklarer.
Im Hinblick auf die automatische Regelerzeugung müssten eine Reihe von architektonischen Problemen in der Software gelöst werden, wie zum Beispiel die Fähigkeit, binäre Regeln auf der schematischen Ebene zu definieren. Dann müssten die Richtlinien für die automatische Regelerzeugung klar untersucht und definiert werden, mit möglicherweise neuen Regeln, die auf der PCB-Ebene eingeführt werden.
Auch in der Welt der Simulation des Endergebnisses müsste entweder eine brandneue Technologie entwickelt oder erworben werden. Eine Reihe strategischer Schritte müsste zunächst unternommen werden, um diese Aspekte effektiv anzugehen.
Dies war ein ziemlich langer Beitrag, aber ich denke, das Interesse an diesem Thema erforderte eine sorgfältige Analyse und eine ebenso detaillierte und ehrliche Antwort. Mein Ziel ist es, einen Weg zu einer nützlichen Lösung klar zu skizzieren, die innerhalb von ein paar Monaten effektiv eingesetzt werden kann.
Selbst für die elementare Lösung, die ich vorgeschlagen habe, wäre einiges an Input sehr hilfreich.
Zum Beispiel spreche ich immer wieder von „Stromnetz“, finde den Begriff aber bestenfalls mehrdeutig. Hier haben wir den Begriff „Stromleitung“ diskutiert. Was denken Sie?
Auch die grafische Darstellung von teilweise Durchsichtigkeit und Power Tags wird sicherlich sehr sorgfältig überlegt werden müssen. Was in der obigen Illustration gezeichnet ist, ist lediglich ein Entwurf. Ihre Vorschläge sind mehr als willkommen.
Wie immer würde ich sehr gerne hier Ihre Gedanken und Ideen lesen.
Bitte posten Sie sie im Kommentarbereich unten.