Mustergültig Codesign-Muster für die fortschrittliche Regelung mit AC 800PEC Ernst Johansen Die Leistungselektronik hat in den letzten Jahrzehnten große Fortschritte gemacht – nicht nur im Hinblick auf die Leistungsfähigkeit und Geschwindigkeit, sondern auch im Hinblick auf die Bandbreite der Anwendungen. Stromrichter sollen immer schneller, günstiger, leichter und flexibler werden und dürfen gleichzeitig immer weniger Platz, Installations- und Wartungszeit in Anspruch nehmen. Die Implementierung der entsprechenden Leitsysteme ist mit einer Vielzahl von Herausforderungen verbunden. Dazu gehört auch die Spanne der erforderlichen Regelzeiten, die von wenigen Nanosekunden bis zu mehreren Sekunden reicht. Die Kosten und Risiken der Entwicklung lassen sich durch die Nutzung einer Regelungsplattform deutlich reduzieren. So können auf der Basis erprobter und geprüfter Komponententechnologien sehr schnell individuelle Systeme von hoher Qualität und Leistungsfähigkeit entwickelt werden. Eine solche Plattform ist die AC 800PEC von ABB. L eittechnikplattformen helfen dabei, Zeit und Kosten für das Engineering zu sparen. Gleichzeitig stellt eine solche Plattform einen kritischen Ausfallpunkt und somit ein potenzielles Risiko für das gesamte Unternehmen dar. Eine erfolgreiche Plattformentwicklung erfordert also die richtige Balance zwischen optimaler Wiederverwendbarkeit (und Senkung der Kosten) und optimaler Leistungsfähigkeit (auf Kosten der Wiederverwendbarkeit und somit möglicherweise auch der Qualität). Das Geheimnis des Erfolgs der Leittechnikplattform AC 800PEC ist eine Reihe von Designmustern, die sich durch eine hervorragende Testbarkeit auszeichnen – ein wichtiges Merkmal für eine hohe Qualität und eine kurze Entwicklungszeit bis zur Marktreife. Das Simulationskonzept Das Konzept des PEC (Power Electronic Controller) basiert auf einem Entwicklungsworkflow, bei dem Simulationsmodelle direkt in Code für den Zielcontroller ungewandelt werden 1 , wobei kein manuelles Nachcodieren erforderlich ist. Auf diese Weise wird eine bedeutende Fehlerquelle eliminiert und ein hohes Maß an Vertrauen in das Verhalten der simulierten und realen Systeme gewährleistet. Die PEC-Architektur Die Zeitspanne für die Regelung von leistungselektronischen Bauteilen reicht von wenigen Nanosekunden in den Schaltmustern bis zu mehreren Sekunden bei den Einschaltsequenzen. Die PEC-Architektur zeichnet sich dadurch aus, dass sie neun Größenordnungen (Nanosekunden bis Sekunden) ohne Abstriche in puncto Einfachheit oder Flexibilität abdeckt. 62 ABB Technik 2/2006 Mustergültig Technologien mit eingebetteten Systemen Module miteinander verbunden werden. Wie werden eine schnelle Regelung und E/A-Verbindungen dann realisiert? Das Regelungsprogramm kann in zwei Hauptaufgaben unterteilt werden: langsame Regelung (Millisekundenbereich und langsamer) und schnelle Regelung. In einem klassischen Design kämen für diese Aufgaben zwei verschiedene physikalische Komponenten zum Einsatz – eine CPU für die langsame Regelung und ein DSP für die schnelle Regelung. Die Untersuchung verschiedener Anwendungsfälle hat ergeben, dass die Lastverteilung zwischen schneller (typischerweise 100 µs) und langsamer (typischerweise 10 ms) Regelung stark anwendungsspezifisch ist. In Ermangelung einer universellen Regel für die Lastverteilung beschlossen die Entwickler, eine einzige leistungsstarke CPU für die schnelle und langsame Regelung einzusetzen. Mit dieser Architektur konnte nicht nur das Problem der Lastverteilung gelöst, sondern auch die automatische Codegenerierung erheblich vereinfacht werden. Das Konzept der automatischen Generierung von Echtzeitcode aus Simulationsmodellen lässt sich nicht umsetzen, wenn das Simulationstool keine Autocode-Funktionalität besitzt. ABB entschied sich dafür, die Systemsimulation Mathworks® Matlab/SimulinkTM einzusetzen. Dieses Tool bietet eine leistungsstarke Real-Time-WorkshopTM (RTW) Erweiterung zur Generierung des Zielcodes. Die Architektur ist so konzipiert, dass sie sowohl kostengünstige kleine Systeme mit lokalen E/As 2c als auch sehr große Systeme mit dezentralen E/As 2d und Glasfaserverbindungen unterstützt. Diese beiden Systemtypen erfordern ein komplett unterschiedliches Design der E/A-Schaltungen im Controller. Um sicher- Um die direkte Umwandlung von Simulationsmodellen zu unterstützen, weist die Architektur 2 zwei bedeutende Unterschiede im Vergleich zu klassischen Leitsystemen auf: Es gibt keinen dedizierten digitalen Signalprozessor (DSP) für eine schnelle Regelung und kein mechanisches Gestell, in dem E/ADas simulierte Modell wird automatisch in ausführbaren Code für die Echtzeitumgebung umgewandelt. 1 Simulator Control Model Real-Time PEC System Model Real System Ein einziges Modell kann flexibel an verschiedene Regelzeitanforderungen angepasst werden. 2 a b c d Hauptsächlich schnelle Regelung Hauptsächlich langsame Regelung Lokale E/A Dezentrale E/A mit Glasfaserverbindung s CPU ms a ms b μs FPGA ns FO IO IO c IO IO 3 d Mit ML/SL (Matlab/SimulinkTM) und VHDL-Modellen definierte Codesign-Muster 4 zustellen, dass die Lösung sämtliche Anwendungsfälle abdeckt, wurde ein FPGA (Field-Programmable Gate Array) auf Systemebene verwendet. Dies ist eine Hardwarekomponente, bei der der Schaltkreis selbst frei programmierbar ist. Solche FPGAs werden sowohl im PEC-Controller als auch in den dezentralen E/A-Knoten verwendet. Der FPGA löst nicht nur das Flexibilitätsproblem, sondern bietet den zusätzlichen Vorteil, dass er durch einen ausgereiften Designund Simulationsworkflow unterstützt wird. Wie der Workflow für die Entwicklung des Controllercodes auf der Basis von Matlab/SimulinkTM basiert auch der Implementierungsworkflow für den FPGA auf einem Simulator und einem Compiler. Auch wenn es Compiler gibt, die in der Lage sind, einige Matlab/SimulinkTMModelle in VHDL-Code umzusetzen, entschloss sich ABB, kein solches Tool im PEC-Workflow zu verwenden. Der Grund hierfür liegt in der Tatsache, dass die meisten FPGA-Komponenten in der PEC-Bibliothek in der Matlab/SimulinkTM-Sprache weder effizient modelliert noch verifiziert sind. Stattdessen wurde für die digitalen Schaltkreise ein VHDL-basierter Workflow verwendet. Dieser wurde ursprünglich für das Design von anwendungsspezifischen integrieren Schaltungen (ASICs) entwickelt, bei dem ein hoher First Pass Yield1) erforderlich ist. Darüber hinaus bietet der Workflow hervorragende Modellierungsund Verifizierungsfunktionalitäten. Als die Architektur feststand, zeichnete sich jedoch ein entscheidender Nachteil ab: die Kosten der Hochleistungs-CPU und des FPGA auf Systemebene waren relativ hoch. Auf die Lösung dieses Problems wird später in diesem Artikel eingegangen. Systemmodelle werden zur schnelleren Verifizierung durch Ausführung auf PEC-Hardware in die Echtzeitumgebung konvertiert. s CPU FPGA Simulator ML/SL Control Model Real-Time Controller Real-Time PEC System Model Real-Time System Model Real-Time PEC VHDL ns IO Accelerator IO ABB Technik 2/2006 63 Mustergültig Technologien mit eingebetteten Systemen ist die Simulation eines Leitsystems, das neun Größenordnungen für die Regelzeit abdeckt, extrem langsam. Die Simulation eines kompletten PEC CodesignSystems auf einem PC-Arbeitsplatz würde Tage oder Wochen dauern, was mit den Anforderungen einer schnellen Markteinführungszeit nicht vereinbar ist. Das PEC-Konzept weist aber ein spezielles Merkmal auf, mit dessen Hilfe sich dieses knifflige Problem elegant lösen lässt: Es bietet einen Workflow, bei dem Simulationsmodelle direkt in Code für den Zielcontroller umgewandelt werden. Dieses Prinzip lässt sich nicht nur auf das Regelungsmodell, sondern auch auf das verwendete Modell der Simulationsumgebung anwenden. Durch parallele Ausführung des Regelungs- und Systemsmodells auf dem PEC-Controller 4 kann die Verifizierung von CodesignMustern in der Echtzeitumgebung erheblich beschleunigt werden. Designmuster für die Regelung und Verifizierung Ein Designmuster ist eine vorprojektierte Lösungsvorlage für ein bestimmtes Problem. Solche Designmuster werden bereits seit geraumer Zeit von Softwareingenieuren verwendet. Im Bereich des Hardware/Software-Codesigns ist die Definition von generischen Mustern jedoch schwieriger [1]. Beim Leitsystem AC 800PEC kommen Designmuster für verschiedene Designaspekte im Zusammenhang mit leistungselektronischen Anwendungen zum Einsatz. Dank einer Reihe von wiederverwendbaren Designmustern sind Entwicklungsingenieure in der Lage, in kurzer Zeit neue Systeme mit hoher Komplexität zu definieren. So kann sich ein Systemingenieur auf die Lösung eines spezifischen Problems konzentrieren und für die Einzelheiten der Implementierung auf vorprojektierte Muster vertrauen. PEC-Systeme unterscheiden sich insofern von den meisten anderen Systemen, als dass es sich bei den Designmustern im PEC-System um keine reinen Softwaremuster, sondern um wiederverwendbare Codesign-Muster handelt 3 . Der Grund für die Verwendung von Codesign-Mustern liegt in der Abdeckung von neun Größenordnungen für die Regelzeit (ns bis s), was mit einer einzigen Technologie (z. B. Software) nicht möglich ist. Codesign stellt jedoch eine große Herausforderung für die Systemverifizierung dar. So 5 Codesign – eine echte Herausforderung Ein Signalfilter kann mithilfe analoger elektronischer Schaltkreise, einem digitalen Filter in einem FPGA oder als Software implementiert werden, die auf einer CPU läuft. Alle Lösungen bieten dieselbe Funktionalität, unterscheiden sich aber völlig im Hinblick auf die Kosten und Bedienbarkeit. Beim Codesign geht es darum, die richtigen Entscheidungen für die Übertragung einer Lösung auf verschiedene Technologien zu treffen. Codesign-Topologien für die Analog-Digital-Umwandlung, wobei verschiedene Teile der Aufgabe durch analoge Schaltungen, im FPGA und in der CPU erledigt werden. a b c d ML/SL Durch die Entwicklung von FPGA-Komponenten auf Systemebene bleibt die Programmierbarkeit nicht mehr auf die Software beschränkt, wodurch neue Designmuster für das Hardware- und Systemdesign ermöglicht werden. Systemsimulation zur Untersuchung optimaler Designmuster Auf der Suche nach den optimalen Algorithmen und Strukturen wird die Systemsimulation zur Bewertung und zum Vergleich verschiedener Designs herangezogen. Als Beispiel für den Codesign-Prozess soll im Folgenden der Schaltkreis zur Analog-Digital-Umwandlung (ADC) beschrieben werden. Da die Entwickler gezwungen waren, das bestehende ADC-Designmuster im Hinblick auf die Kosten und Qualität (Signal-Rausch-Verhältnis) zu verbessern, wählten sie verschiedene Topologien 5 , die zur PEC-Architektur passten. Die Topologien wurden in der Matlab/ SimulinkTM-Simulationsumgebung simuliert und in Bezug auf ihre Komplexität und Qualität verglichen. Die Entwickler kamen zu dem Schluss, dass das beste Signal-Rausch-Verhältnis theoretisch durch eine Kombination aus Überabtasten (Oversampling) und digitalen Filtern 5a (aufgrund der rauschformenden Eigenschaften digitaler Filter [2]) erzielen werden konnte. Das Überabtasten 5b-d kommt zwar mit einem viel kostengünstigeren ADC-Schaltkreis aus als diese Lösung, erfordert aber einen zusätzlichen digitalen Hochgeschwindigkeitsfilter, der mit 25-facher Geschwindigkeit arbeitet. Wäre die Implementierung des Filters machbar? Sollten die Filterberechnungen in der CPU oder im FPGA ausgeführt werden? Würde es sich lohnen, die Nutzlast der digitalen Verarbeitung zu erhöhen? Direkte Codeerzeugung VHDL 1x ADC 14-bit 25x ADC 12-bit N + 25x ADC 12-bit N + 25x ADC 12-bit N + N ML/SL = Matlab/Simulink 64 Die Fähigkeit zur automatischen Umwandlung von Simulationsmodellen in Echtzeit-Regelungsanwendungen machte die Erstellung des Zielcodes für die verschiedenen Topologien sehr einfach. Da der PEC über eine integrierte Lastüberwachung verfügt, konnte die CPULast (Nutzlast) für alle Topologien problemlos gemessen werden 6 . Die Realisierung des schnellen Filters 6b in Software erwies sich als nicht machbar, da dies mit einer zu hohen CPU-Last verbunden wäre. ABB Technik 2/2006 Mustergültig Technologien mit eingebetteten Systemen Dank der umfassenden Bibliotheken von Matlab/SimulinkTM brauchte kein neuer Code für das Design des CPUFilters entwickelt werden. lation des Rauschens unzuverlässig. Daher ist eine Überprüfung in der Realität noch immer wichtig, um die Qualität des Produkts garantieren zu können 8 . Echtzeit-Überprüfung einer 12-bit / 1MSps ADC (gelb) und eines FPGA-Filters mit Rauschformung (pink) 8 Optimierte VHDL-Komponenten Für die FPGA-Filter wurde Matlab/SimulinkTM zur Bewertung der Filtertopologie und -charakteristik sowie zur Berechnung der entsprechenden Koeffizienten eingesetzt. Die Implementierung und Simulation der Filter erfolgte in der VHDL-Umgebung. In einem FPGA-Schaltkreis wird die Nutzlast in Schaltkreisfläche gemessen. Im Vergleich zu einem auf der CPU implementierten digitalen Filter bietet das FPGA-Filterdesign viel mehr Möglichkeiten. Die Präzision (Anzahl der Bits), die Taktfrequenz, die Filterarchitektur, der Durchsatz (Abtastungen pro Sekunde), die Anzahl der MACOperationen (Multiply-Accumulate) pro Filter und die Anzahl der Kanäle pro Filter sind allesamt programmierbar, woraus sich eine riesige Auswahl von Designalternativen mit unterschiedlichen Nutzlasten ergibt. Die Topologie 5c mit einem im 6 Kosten und Leistung – ein bewegliches Ziel FPGA implementierten schnellen Filter erwies sich als die kostengünstigste Codesign-Lösung und wurde als bevorzugtes Designmuster für die ADC-Umwandlung gewählt 7 . Überprüfung in der Realität Während des Codesign-Prozesses wurde das reale System einschließlich des erwarteten Signalrauschens modelliert. In vielen Systemen ist das Rauschen unberechenbar und die Simu- Evaluierung der Ziellast für verschiedene Varianten b c 5b-d d ML/SL RTW Compiler Target CPU Load Monitor Als die PEC-Architektur 1999 definiert wurde, waren die Nachteile der Architektur die hohen Kosten der CPU und des FPGA auf Systemebene. Da diese Komponenten seinerzeit sehr teuer waren, wurden sie in erster Linie in Highend-Anwendungen wie Flugsimulatoren und Systemen zur Erstellung von Prototypen für die Entwicklung von anwendungsspezifischen integrierten Schaltungen eingesetzt. Mit fortschreitender Verbesserung der Prozesstechnik für digitale Schaltungen gingen auch die Herstellungskosten von CPUs und FPGAs drastisch zurück (in einem Zeitraum von fünf Jahren fielen die Kosten für diese digitalen Schaltungen um mehr als 90 %). Mit dem Aufkommen dieser kostengünstigeren Komponenten machte sich ein weiterer Vorteil der Architektur bezahlt: ihre hervorragende Übertragbarkeit auf verschiedene Anwendungen. Heute bietet ABB AC 800PEC Controller auf Basis der kostengünstigen 90 nm-SiliziumProzesstechnologie, die sich durch eine hervorragende Produktqualität zu einem äußerst attraktiven Preis auszeichnen. Ernst Johansen ABB Schweiz AG Turgi, Schweiz [email protected] 7 Optimales VHDL-Filtermuster (Variante 5c ) Literaturhinweise [1] F. F. Mayer-Lindenberg: «Dedicated Digital Procesc sors: Methods in Hardware/Software Co-Design», 35-bit Simulator IIR VHDL Testbench 8 Ch John Wiley & Sons (Februar 2004), ISBN 0–470844-44–2 ML/SL [2] Walt Kester: «Analog-Digital Conversion», Analog Devices Inc. (März 2004), ISBN 0-916550–27–3, 2.37–2.41 VHDL 1x MAC Fußnote 80 MHz 1) First Pass Yield ist das Verhältnis der «guten» Einheiten (ohne erforderliche Nachbearbeitung) zur ML/SL = Matlab/Simulink ABB Technik 2/2006 gesamten produzierten Stückzahl. 65