Der Stress des Einschaltens Hot-Swap-Controller in programmierbare Logik implementieren

Können Sie sich noch an Filme aus der Stummfilmzeit erinnern, bei denen beim Einschalten von monströsen Maschinen in ganzen Stadtteilen das Licht ausging? Genau dieses Phänomen kann man in modernen Systemen heute wiederfinden, wenn einzelne Systemkomponenten beim Einschalten zuviel Leistung aufnehmen. Lösung verspricht hier der Einsatz von Hot-Swap-Controllern, die neben anderen Board-Management-Aufgaben auch in programmierbare Mixed-Signal-Bausteine implementiert werden können und die Belastung der Systeme minimieren.

Betrachtet man das Ersatzschildbild einer Einsteckkarte, dabei ist es egal ob diese aus einem komplexen Telecom-System stammt oder nur eine einfache PCI-Express-Karte ist, so findet man Kapazitäten, die die zu treibende Last darstellen. Diese Kapazitäten können beim Einschalten einen großen Stress verursachen, da der Ladestrom, wenn er nicht gebremst wird, einen nadelhaften Verlauf nimmt.

Diese Überhöhung am Anfang kommt daher, dass der Strom sich aus der Ableitung der Spannung bestimmt (IC= C × dU/dt) und die Spannung exponentiell nach oben läuft (beim Einschalten eine Steigung von unendlich). Geht man nun ins Detail, wird man in vielen Systemen tatsächlich zwei Kapazitäten finden - die eigentliche Last, die aus der Kapazität der angeschlossenen Bausteine und Leitungen besteht, und die Hold-off-Kapazität. Bei der Hold-off-Kapazität handelt es sich um eine Schutzeinrichtung für den Fall, das andere Karten beim Einschalten des Systems unkontrolliert viel Strom ziehen und dadurch die Spannung auf der Backplane einbricht. In diesem Fall kann die Hold-off-Kapazität die eigentliche Last stützen und für einen reibungslosen Betrieb sorgen.

Diese Ladevorgänge beim Einschalten können also das komplette System negativ belasten und sogar zum Fehlverhalten führen. Daher gibt es immer wieder in der Spezifikation der Systemarchitektur Vorschriften, welches Leistungs-Budget pro Teilnehmer zur Verfügung steht. Prominentes Beispiel ist die PCI- bzw. PCI-Express-Spezifikation, die genau definiert, wie viel Leistung bzw. Strom eine Karte aufnehmen und auch nicht beim Einschalten überschreiten darf.

Damit dies nicht geschieht, benötigt man auf der Karte Hot-Swap-Controller (Bild 1), die das Einschalten überwachen und steuern. Natürlich gibt es hier eine Vielzahl diskreter Lösungen, aber programmierbare Lösungen bieten hier wesentliche Vorteile. So kann der gleiche Baustein auf verschiedenen Boards mit unterschiedlichen Anforderungen eingesetzt werden und zudem noch andere Aufgaben übernehmen.

Je nach System gibt es Fälle, bei denen mit positiven oder negativen Spannungen gearbeitet wird. Im Folgenden geht es um den einfachen Fall eines Hot-Swap-Controllers, der eine 5-V-Spannung sanft einschaltet, um eine Hold-off-Kapazität von 680 µF und eine Systemlast mit einer Stromaufnahme von 3 A zu versorgen.

Würde man dieses System ohne Controller einschalten, würde man eine Stromspitze von 20 A und einen Einbruch der 5-V-Spannung auf 4,2 V sehen. Eine Stromaufnahme von 20 A stellt eine extreme Belastung des Gesamtsystems dar. Der Einbruch der Spannung auf 4,2 V kann dazu führen, das andere Karten Brown-Out-Effekte aufweisen.

Die in Bild 2 gezeigte Hot-Swap-Controller-Applikation misst mittels einer externen Beschaltung und des internen Komperators den Strom durch den Widerstand R71, der von der 5-V-Versorgung geliefert wird. Der PLD-Block in der Mitte steuert nun basierend auf dem Stromverlauf die High-Side-Treiber an. Der High-Side-Treiber liefert die Spannung und den dazugehörigen Strom, der je nach gelieferter Ladungsmenge das Gate des n-Kanal-MOSFETs unterschiedlich stark aufsteuert. Damit kann die Kapazität der Last und des Hold-off-Kondensators mit der Menge Strom gefüllt werden, die das Gesamtsystem erlaubt. Wird zuviel Strom aufgenommen, wird die Zufuhr des Stromes wieder gedrosselt.

Flexibler Ansatz für Regelalgorithmen

Der Reiz der programmierbaren Lösung im PLD-Kern liegt natürlich auch in der Flexibilität. Hier können je nach Anwendungsfall die verschiedensten Regelalgorithmen implementiert oder auch mit Hysteresefunktionen gearbeitet werden. Mit diesem Ansatz wird der Spannungseinbruch auf 200 mV und die Stromspitze auf 7 A begrenzt.

Somit werden für die Implementierung des Hot-Swap-Controllers ein Komperatoreingang zur Strommessung und ein High-Side-Treiber benötigt. In vielen Fällen ist es natürlich auch interessant, zu überwachen, ob sich die Spannung in gewissen Bereichen bewegt. Daher sind mehrere Komperatoreingänge von Vorteil. Genau diese Bestandteile finden sich in Bausteinen der Power-Manager- und Platform-Manager-Familien.

Gerade die Komperatoreingänge dieser beiden Familien bringen eine große Flexibilität mit sich. Zum einen erlauben sie die Überwachung eines Eingangs mit einer Fensterfunktion, zum anderen sind die Schwellen beliebig einstellbar, d.h., es spielt keine Rolle, welchen Bereich man zwischen 0,6 V und 5,8 V ohne externe Beschaltung überwachen möchte. Die Schwellen sind hier in 368 Schritten einstellbar, und man kann zusätzlich sogar auf 75 mV überwachen, also, ob eine Powerplane komplett entladen ist. Die dabei generierten internen Signale können noch über Glitch-Filter geführt werden, um Störungen auszufiltern. Ein weiteres wichtiges Thema ist das Messen an sich. Gerade auf großen Boards muss mit Schwankungen innerhalb der GND-Plane gerechnet werden. Aus diesem Grund bietet der Platform-Manager die Möglichkeit, differenziell zu messen, d.h., es wird neben dem eigentlichen Signal auch die zugehörige Masse mit betrachtet.

Beiden Familien gemein sind auch die High-Side-Treiber. In Bild 3 sieht man die implementierten High-Side-Treiber. Im Wesentlichen verbergen sich dahinter eine steuerbare Stromquelle und Stromsenke, mit denen die Ladung im Gate des externen n-Kanal-MOSFETs gesteuert wird. Durch die Kontrolle der Ladungsmenge hat man Einfluss, wie stark das Gate geöffnet ist und mit welcher Geschwindigkeit es geöffnet wird. Über den letzten Punkt kann man die Einschaltzeit der Spannung beeinflussen, da diese bei vielen Bausteinen auch spezifiziert ist. Werden die High-Side-Treiber nicht benötigt, stehen die Ausgänge als digitale Ausgänge zur Verfügung.

Des Weiteren stehen z.B. auch in Bausteinen Timer zur Verfügung, um Zeitkonstanten zu realisieren, oder Trimm-Zellen (D/A-Wandler), um damit in die Rückkoppelfade von DC/DC-Wandlern eingreifen zu können. Dadurch kann z.B. die Genauigkeit dieser DC/DC-Wandler erhöht werden.

Die Plattform-Manager-Familie (Bild 4) hat den Wunsch vieler Anwender aufgegriffen, auch mehr Bausteine aus dem digitalen Board-Management mit zu integrieren. So steht neben den schon bekannten Mixed-Signal-Komponenten auch noch ein digitaler Teil mit 640 LUT-4 zur Verfügung. Damit diese Bausteine schnell mit Funktionen gefüllt werden, stehen für den analogen, aber auch für den digitalen Anteil viele kostenfreie Referenzdesigns zu Verfügung.

Auch die zur Implementierung benötigte Software ist kostenfrei. Alle Bausteine der Power-Manager-Familie können mit der PAC-Designer-Software entwickelt werden. Die Mixed-Signal-Komponenten werden dort über die GUI konfiguriert, und der digitale Teil kann mit wenigen, sehr einfachen Befehlen programmiert werden. Bei den mächtigeren Platform-Managern ist auch der PAC-Designer für den Mixed-Signal-Anteil zuständig. Für den digitalen Teil kann man die ebenfalls kostenfreie FPGA-Design-Software ispLever/LatticeDiamond verwenden.

Die Mixed-Signal-Bausteine aus der Power-Manager- und Platform-Manager-Familie haben somit einen großen Vorteil beim Einschalten und Überwachen von Systemen. Hier können der Strom gemessen und die Zufuhr entsprechend der Vorgaben geregelt werden, wie man es von klassischen Hot-Swap-Controllern kennt. Einen großen Vorteil hat hier aber auch die Programmierbarkeit der Bausteine. Man muss nicht bei Änderungen der Spezifikation oder bei einem neuen Board einen neuen Baustein anlegen, sondern kann den bereits erprobten Baustein wieder mit abgeänderter Konfigura-tion einsetzen. Zudem bieten die Bausteine die Möglichkeit, noch weitere Funktionen, die bisher auf den Boards als diskrete Bausteine implementiert waren, ebenfalls zu integrieren. Somit hat man einen Baustein, der Bereiche wie Power-Oring, Reset-Generierung, Spannungsüberwachung, Erzeugung von Einschaltsequenzen, Watchdog und ähnliches abdeckt.

Literatur

Chandra, S.: Power 2 You - A Guide to Power Supply Management and Control. 2. Auflage, September 2010, Lattice Semiconductor GmbH.

Der Autor:

 Dipl.-Ing. (FH) Helmut Demel
studierte an der FH Landshut Elektrotechnik mit Schwerpunkt Mikroelektronik. Seit mehr als 13 Jahren ist er nun im Bereich programmierbarer Logik tätig. Seit zehn Jahren ist er bei Lattice Semiconductor beschäftigt und kümmert sich als Staff Field Application Engineer um Anfragen von Kunden zu Produkten oder System-Lösungen.
helmut.demel@latticesemi.com