Erstellung einer VHDL-AMS Modellbibliothek für die Simulation von
Transcrição
Erstellung einer VHDL-AMS Modellbibliothek für die Simulation von
F O R S C HU N GSV E R E I N I G U N G A U T O M O B I L T E C H N I K E . V . FAT-SC HRIFTENREIHE FAT 207 Erstellung einer VHDL-AMS Modellbibliothek für die Simulation von Kfz-Systemen VDA Verband der Automobilindustrie Erstellung einer VHDL-AMS Modellbibliothek für die Simulation von Kfz-Systemen Auftraggeber: Forschungsvereinigung Automobiltechnik e.V. (FAT) Westendstraße 61 60325 Frankfurt am Main Auftragnehmer: Fraunhofer-Institut für Integrierte Schaltungen Außenstelle Entwurfsautomatisierung (EAS] Prof. Dr. Günter Eist Verfasser: Dr. Peter Schwarz Dr. Joachim Haase © 2006 Postanschrift: Postfach 17 05 63 - 60079 Frankfurt/M. Telefon (069) 9 75 07 - 0 Internet: http://www.vda.de Vervielfältigungen, auch auszugsweise, nur mit ausdrücklicher Genehmigung der FAT. Vorwort Vorwort Seit seiner Gründung im Jahre 2003 ist es Ziel des AK30, die Zusammenarbeit von Automobilherstellern und deren Zulieferern beim Einsatz der Simulation und beim Austausch von Simulationsmodellen zu verbessern. Dazu fördert der Arbeitskreis den Einsatz der werkzeugneutralen Modellierungssprache VHDL-AMS (IEEE 1076.1). Im Arbeitskreis, der sich regelmäßig in Würzburg trifft, sind neben den FAT-Mitgliedern auch einige Ing.-Büros und Hochschul-Institute sowie auch Vertreter der Werkzeughersteller als beratende Gastmitglieder vertreten. In Unterarbeitskreisen werden zeitlich begrenzt konkrete Einzelthemen bearbeitet, wie z.B. Hybrid-Fahrzeug oder Bleibatterie. Mit dem Projekt „Erstellung einer VHDL-AMS-Modellbibliothek für die Simulation von KfzSystemen" wurde das erste größere Projekt erfolgreich abgeschlossen. Die Anwendbarkeit der Modelle in der Praxis wurde von den Mitgliedern durch gemeinsam erstellte offene Referenz-Modelle nachgewiesen. Der Dank des Arbeitskreises geht an die FAT für die Bereitstellung der Fördermittel sowie an die Auftragnehmer der Teilprojekte, Herrn Dr. Thomas Barucki, Fa. Adapted Solution, Herrn Dr. Dietmar Warning, Fa. Danalyse, und Herrn Stefan Braun, Fa. Smart CAE, für ihre fachlich fundierte Arbeit. Ein ganz besonderer Dank aber geht an Herrn Dr. Joachim Haase vom Fraunhofer-Institut für integrierte Schaltungen in Dresden für die gute Projektkoordinierung, die Erstellung und Pflege der Modellbibliotheken, die Aufbereitung der Präsentation im Internet sowie die sorgfältige Ausarbeitung aller Dokumente einschließlich des hier vorliegenden Abschlussberichtes. Herr Dr. Haase hat die Vorstellungen des Arbeitskreises immer wieder durch praxisgerechte eigene Vorschläge ergänzt und sie in hervorragender Weise in die Praxis umgesetzt. Frankfurt am Main, im Dezember 2006 FORSCHUNGSVEREINIGUNG AUTOMOBILTECHNIK E.V. -1 - FAT FAT -2- FAT Inhaltsverzeichnis Inhaltsverzeichnis Vorwort Inhaltsverzeichnis Kurzbericht Einleitung 1 - 1 3 5 9 Anforderungen an Simulation und Modellierung elektrisch-nichtelektrischer Systeme im Automobilbau 1.1 Entwicklung elektrisch-nichtelektrischer Systeme 1.2 Modelle für Komponenten elektrisch-nichtelektrischer Systeme 1.3 Auswahl von VHDL-AMS als Modellierungssprache -11 -11 -13 -15 2 Grundprinzipien von VHDL-AMS 2.1 Unterstützte Modellierungsansätze 2.2 Grundlegende Sprachkonzepte 2.3 Strukturbeschreibungen 2.4 Nutzung von Packages - 17 -17 - 20 - 30 - 35 3 Aufbau der Modellbibliotheken 3.1 Übersicht über die Inhalte der Modellbibliotheken 3.2 Modellierungsrichtlinien -37 - 37 - 43 4 Beschreibung ausgewählter Modelle 4.1 Sicherungsmodell 4.2 Leitungsmodell 4.3 EMV-Prüfimpulse 4.4 Generatormodell -48 • -49 - 53 -58 - 64 5 Spezielle Funktionen zur Modellerstellung 5.1 Tabellenfunktionen 5.2 Parameterbeschreibung für die Monte-Carlo-Simulation - 68 - 68 - 77 6 Nutzung der Modelle 6.1 Simulatorabhängige Änderungen von Packages 6.2 Übersetzen der Modelle 6.3 Beispielabhängige Änderungen von Packages 6.4 Kontext-Klauseln - 79 - 79 - 79 - 80 - 80 7 Beispiele 7.1 Einfaches elektrisches Netz (Generator, Batterie, Last) 7.2 EPS-System 7.3 DC/DC-Wandler -82 - 82 - 84 - 85 8 Beziehungen zu anderen Simulationsansätzen 8.1 Beschreibungssprachen 8.2 Gemeinsame Verwendung verschiedener Beschreibungsmittel -87 -87 - 88 Literatur -89 Anhang A 1 : Tabellarische Übersicht zu den Modellen Anhang A2: Übersicht zu Unteraufträgen Anhang A3: Mitglieder des begleitenden Arbeitskreises 30 -3- - 91 -103 - 104 • FAT -4- Kurzbericht Kurzbericht Vorhaben: Begleitender Arbeitskreis: Forschende Stelle: Berichtszeitraum: Erstellung einer VHDL-AMS-Modellbibliothek für die Simulation von Kfz-Systemen AK 30 (siehe Anhang A3) Fraunhofer-IIS/Außenstelle EAS Dresden 1. Juli 2004 bis 30. Juni 2006 Sachstand Die Komplexität der Kfz-Elektronik und mechatronischer Kfz-Systeme stellt aus Sicht der Fahrzeughersteller eine Herausforderung für die Systemintegration dar. Viele Subsysteme von Zulieferern müssen im Gesamtfahrzeug integriert werden. Bei der Entwicklung mechatronischer Systeme erlangt deshalb die Computer-Simulation eine immer größere Bedeutung. Durch die Verwendung standardisierter offener Hardwarebeschreibungssprachen werden Modellerstellung und -austausch wesentlich vereinfacht. VHDL-AMS (Hardware Description Language for Analog and Mixed-Signal Systems) ist eine derartige Sprache, die sich besonders für den Einsatz bei der Modellierung und Simulation mechatronischer KfzSysteme eignet. Die Sprache wird von einer Reihe kommerzieller Simulatoren unterstützt. Im Rahmen des Projektes wurden Modelle für VHDL-AMS-Modellbibliotheken mit Grundelementen für den Einsatz in der Fahrzeugindustrie, insbesondere für die Bordnetzsimulation, erarbeitet. Modellierungsrichtlinien und Modellierungsprinzipien für typische KfzKomponenten wurden erstellt, präzisiert und erprobt. Die Bibliotheken wurden so strukturiert und aufgebaut, dass sie in einfacher Weise um firmenspezifische Modelle erweitert werden können. Die Verwendbarkeit der erstellten Modelle wurde anhand typischer Aufgabenstellungen nachgewiesen. Bei der Parametrisierung der Modelle vorhandener Systemkomponenten wurde weitestgehend von Datenblattangaben ausgegangen werden. Die erstellten Modelle sind nach Freigabe des Abschlußberichtes über folgende Adresse im Internet zugänglich http://fat-ak30.eas.iis.fraunhofer.de Voraussetzung für das Zusammenwirken der Modelle war die Einigung auf Modellierungsrichtlinien. Diese betreffen unter anderem Festlegungen zu den Maßeinheiten in den Modellen, Zählrichtungen in nichtelektrischen Netzwerken und Anforderungen an die Kommentierung der Modelle, die eine automatisierte Erstellung von Dokumentationen erleichtern. Außerdem sind Vereinbarungen für eine gleichzeitige und abgestimmte Modellentwicklung bei unterschiedlichen Partnern getroffen worden. Dazu wurde ein SVN-Server (SubversionServer) eingerichtet. Die erstellen Modelle können beispielsweise in einem frühen Stadium der Produktentwicklung für die Abstimmung zwischen Kraftfahrzeugherstellern, Zulieferern und Halbleiterherstellern genutzt werden. Eine ausführlichere Beschreibung ist dem abschließenden Sachbericht zu entnehmen. Verfügbar sind folgende Bibliotheken: • FUNDAMENTALS_VDA Bestandteile dieser Bibliothek sind grundlegende Modelle zur Beschreibung von Signalquellen, zur Konvertierung zwischen physikalischen Bereichen, nichtelektrische Grundelemente und ähnliche Modelle. Zu dieser Bibliothek gehören u. a. Modelle für o elektrische Netzwerkelemente SWITCHJ P2T, SWITCHJ PNC usw., o thermische Netzwerkelemente wie CTH und RTH, o mechanische Netzwerkelemente wie SPRING, DAMPER usw. o einfache Signalflussblöcke wie Q_ADD, Q_FIRSTORDER, Q_PID usw., o durch Kennlinien und Kennlinienfelder beschriebene Signalflussblöcke wie TLLMD, TLU_1D_FILE, TLU_2D und TLU_2D_FILE, o einfache Signalflussquellen wie QDC, QSINE, QPWL (mit Spice-ähnlichen Argumenten), Q_TRPF (mit Lesen der Verläufe aus einer Datei) usw., -5- FAT FAT o o o o o o • digitale Grundgatter wie AND, NAND, NOR usw., digitale Signalgeneratoren wie CLOCK und RANDOM_DATA_STREAM, Konverter zwischen Netzwerken, die unterschiedliche Netzwerkanalogien verwenden, wie IDEALGEAR_R2T, Konverter zwischen nichtkonservativen Signalflussblöcken und konservativen Netwerken wie Q2ANGLE, Q2FORCE, Q2HEAT_LOW usw., Konverter zwischen konservativen Netzwerken und nichtkonservativen Signalflussblöcken wie HEAT_FLOW2Q_SENSOR, VELOCITY2Q_SENSOR, TORQUE_MR2QSENSOR usw. , von Netzwerken, von Ausgängen von Signalflussblöcken und von digitalen Signalen gesteuerte Widerstände wie THERMAL2R_PWL, Q2R, STD_LOGIC2R, S2R, Q2R usw. AUTOMOTIVE_VDA In diese Bibliothek werden Modelle typischer kraftfahrzeugspezifischer Systembestandteile wie Leitungen, Sicherungen, Generatoren, Batterien, typische Lasten im Bordnetz, Sensoren und Aktoren aufgenommen. Das Niveau dieser Modelle liegt im Rahmen der SAE-Klassifikation des Standards J 2546 „Model Specification Process Standard" auf mittlerer Abstraktionsebene. Es sind in der Regel allgemeine Modelle und für ausgewählte Typen parametrisierte Modelle verfügbar. Zu dieser Bibliothek gehören Modelle für o o o o o o o o o o Sicherungen wie FUSE und FUSE_GENERAL, Leitungen wie WIRE und WIRE_GENERAL, Lampen wie BULBJF, BULB_2F, BULB_1F_GENERAL und BULB_2F_GENERAL, Schrittmotoren STEPPER_MOTOR, EMV-lmpulsewielSO_7637_PULSE1_12V, ISO_7637_PULSE1_24V usw. Generatormodell GENERATOR_BHV_GENERAL auf der Basis von Kennlinienfeldem, Blei-Säure-Batterie BATTERY, Einen speziellen DC/DC-Konverter DCDC, Sensoren wie HALL (Hall-Sensor) und FIELDPLATTE (Feldplatte), allgemeine resistive, kapazitive und induktive Wandler wie N2R_NTC, T2R_PTC, ANGLE_MR2C_SENSOR, ANGULAR_VELOCITY_MR2L_SENSORusw. • MEGMA In der Bibliothek sind typische zeitdiskrete digitale Modelle für regelungstechnische Blöcke zusammengestellt. Die Modelle basieren auf Beschreibungen, die im MSRArbeitskreis (MSR - Manufacturer Supplier Relationship) erarbeitet worden sind. • SPICE2VHD Modelle mit einem Spice-ähnlichen Parametersatz sind Bestandteil dieser Bibliothek. Dabei werden einerseits Randbeschreibungen für derartige Modelle definiert und andererseits VHDL-AMS-Implementierungen für eine Reihe von Basismodellen bereitgestellt. . SPICE2VHD_DEVICES In dieser Bibliothek sind die Modelle ausgewählter parametrisierter Halbleiterbauelemente zusammengefasst. Basis für die Parametrisierung der Modelle bildet dabei die Information aus den Spice-Modellkarten. Modelle einer Bibliothek greifen in einigen Fällen auf Modelle derselben oder einer anderen Bibliothek zurück. Die Modelldokumentationen werden aus den VHDL-AMS-Beschreibungen unter Auswertung des Modellcodes und zusätzlicher Kommentare generiert. Zur Demonstration der Nutzungsmöglichkeiten sind für alle Modelle außerdem Testschaltungen erstellt und einschließlich der Simulationsergebnisse dokumentiert worden. -6- Kurzbericht Neben ausgearbeiteten Modellen werden auch Hilfsmittel für die Modellierung zur Verfügung gestellt. Ein typische Aufgabe besteht dabei in der einfachen Beschreibung von Funktionen. Häufig können eindimensionale reellwertige Funktionen durch Wertepaare der Form (x1, f(x1), (x2, f(x2)), ..., (xn, f(xn)) charakterisiert werden. Im Package TLU_VDA werden entsprechende Funktionen zur stückweise linearen Interpolation bei gegebenen Stützstellen bereitgestellt. Zur Beschreibung von Kennlinienfeldern wurden Funktionen mit bis zu vier unabhängigen Argumenten vorbereitet. Die Kennlinienfelder können durch n-Tupel beschrieben werden. Ein Einlesen der Datenpunktwerte für die Funktionen zur Beschreibung von Kennlinienfeldern aus Dateien ist möglich. Parametervariationen elektrischer, elektronischer und mechatronischer Komponenten und Teilsysteme können durch Angabe von Wahrscheinlichkeitsdichte oder Wahrscheinlichkeitsverteilungsfunktionen beschrieben werden. Funktionen für Gleich-, Normal-, und BemoulliVerteilung sowie stückweise linear beschriebene Verteilungsfunktionen sind in VHDL-AMSPackages in Übereinstimmung mit dem SAE Standard J2748 „VHDL-AMS Statistical Analysis Packages" zusammengefasst und können u. a. für die Monte-Carlo-Simulation genutzt werden. Die erstellten Modelle sind bei der Simulation typischer Beispielanordnungen erprobt worden (einfaches elektrisches Bordnetz, EPS-System, Bordnetz mit DC/DC-Wandler). Beispielabhängig sind neben den in den Bibliotheken verfügbaren Modellen zusätzliche Modelle erstellt worden. Diese beispielspezifischen Modelle sind jeweils in gesonderte VHDL-AMSBibliotheken übersetzt worden. Die vollständigen Modellbeschreibungen sind unter der eingangs erwähnten Adresse nach Freigabe des Abschlußberichtes abrufbar. Die Ergebnisse des Vorhabens sind in einem ausführlichen Sachbericht zusammengefasst. Der Bericht beginnt mit einer Übersicht zu einigen Anforderungen an Simulation und Modellierung elektrisch-nichtelektrischer Komponenten im Automobilbau. Die Gründe für die Auswahl von VHDL-AMS als Modellierungssprache werden kurz erläutert. Zum besseren Verständnis der folgenden Abschnitte schließt sich eine Erläuterung der grundlegenden Prinzipien und Sprachkonstrukte von VHDL-AMS an. Im 3. Abschnitt wird ein Überblick zu den Inhalten der Modellbibliotheken und deren Aufbau gegeben. Die bei der Modellierung angewandten Verfahren werden an Hand typischer Beispiele im nächsten Abschnitt erläutert. Es schließt sich im 5. Abschnitt eine Vorstellung von Funktionen für Handhabung von Tabellendaten und zur Initialisierung von Parameterwerten für die Monte-Carlo-Simulation an. Rechentechnische Besonderheiten, die beim Übersetzen der Modelle zu beachten, folgen im 6. Abschnitt. Anschließend werden einige typische Beispiele diskutiert, bei denen die Modelle angewendet werden. Eine tabellarische Übersicht aller vorhandenen Modelle ist im Anhang A1 zu finden. Die im Rahmen des Projektes bearbeiteten Unteraufträge können Anhang A2 entnommen werden. Die Mitglieder des Arbeitskreise AK30 „Simulation gemischter Systeme mit VHDL-AMS", der das Vorhaben begleitet hat, sind im Anhang A3 aufgeführt. Finanzierung Hauptauftragnehmer im Forschungsvorhaben war das Fraunhofer-Institut für Integrierte Schaltungen/Außenstelle Entwurfsautomatisierung (EAS) Dresden. Unteraufträge wurden in Abstimmung mit dem begleitenden Arbeitskreis vergeben. Unterauftragnehmer waren die Firmen DAnalyse GmbH Berlin, Adapted Solutions Chemnitz und SmartCAE München. Der Finanzierungsplan zum Forschungsvorhaben wurde eingehalten. Der finanztechnische Abschluss erfolgte nach Vorlage des Abschlußberichtes durch die forschende Stelle. -7- FAT FAT -8- FAT Einleitung Einleitung Die Komplexität der Kfz-Elektronik und mechatronischer Kfz-Systeme stellt aus Sicht der Fahrzeughersteller eine Herausforderung für die Systemintegration dar. Viele Subsysteme von Zulieferern müssen im Gesamtfahrzeug integriert werden. Bei der Entwicklung mechatronischer Systeme erlangt deshalb die Computer-Simulation eine immer größere Bedeutung. Voraussetzung für eine erfolgreiche Simulation des Gesamtsystems ist die Verfügbarkeit geeigneter Modelle der Teilsysteme. Durch die Verwendung standardisierter offener Hardwarebeschreibungssprachen werden Modellerstellung und -austausch wesentlich vereinfacht. VHDL-AMS (Hardware Description Language for Analog and Mixed-Signal Systems) ist eine derartige Sprache [1, 4, 12], die sich besonders für den Einsatz bei der Modellierung und Simulation mechatronischer Kfz-Systeme eignet. Elektrische und nichtelektrische Komponenten, digitale, analoge und gemischt analog-digital arbeitende Teilsysteme können mit dieser Sprache beschrieben werden. Eine Reihe stabil arbeitender und in der reinen Elektronikentwicklung bewährter Simulationsprogramme, die VHDL-AMS unterstützen, sind kommerziell verfügbar. Im Rahmen des Projektes sollte deshalb eine VHDL-AMS-Modellbibliothek mit Grundelementen für den Einsatz in der Fahrzeugindustrie, insbesondere für die Bordnetzsimulation, geschaffen werden. Modellierungsrichtlinien und Modellierungsprinzipien für typische KfzKomponenten sollten dabei erarbeitet und erprobt werden. Die Bibliothek sollte so strukturiert und aufgebaut werden, dass sie in einfacher Weise nach Abschluss des Vorhabens um firmenspezifische Modelle erweitert werden kann. Die Verwendbarkeit der erstellten Modelle sollte anhand typischer Aufgabenstellungen nachgewiesen werden. Neben der Berücksichtigung der Belange der Bordnetzsimulation sollten die Modelle auch Anforderungen im Rahmen der Simulation der Spezifikation einzelner Systemkomponenten berücksichtigen. Bei der Parametrisierung der Modelle vorhandener Systemkomponenten sollte weitestgehend von Datenblattangaben ausgegangen werden. Im Folgenden werden die gegenwärtig verfügbaren Modellbibliotheken vorgestellt. Ziel der Darstellung ist es, neben einem Bericht über die Ergebnisse des Projektes auch eine Entscheidungshilfe für den Einsatz von VHDL-AMS im Rahmen der Systemsimulation zu geben. Der Bericht beginnt mit einer Übersicht zu einigen Anforderungen an Simulation und Modellierung elektrisch-nichtelektrischer Komponenten im Automobilbau. Die Gründe für die Auswahl von VHDL-AMS als Modellierungssprache werden kurz erläutert. Zum besseren Verständnis der folgenden Abschnitte schließt sich eine Erläuterung der grundlegenden Prinzipien und Sprachkonstrukte von VHDL-AMS an. Im 3. Abschnitt wird ein Überblick zu den Inhalten der Modellbibliotheken und deren Aufbau gegeben. Die bei der Modellierung angewandten Verfahren werden an Hand typischer Beispiele im nächsten Abschnitt erläutert. Es schließt sich im 5. Abschnitt eine Vorstellung von Funktionen für Handhabung von Tabellendaten und zur Initialisierung von Parameterwerten für die Monte-Carlo-Simulation an. Rechentechnische Besonderheiten, die beim Übersetzen der Modelle zu beachten, folgen im 6. Abschnitt. Anschließend werden einige typische Beispiele diskutiert, bei denen die Modelle angewendet werden. Eine tabellarische Übersicht aller vorhandenen Modelle ist im Anhang A1 zu finden. Die im Rahmen des Projektes bearbeiteten Unteraufträge können Anhang A2 entnommen werden. Die Mitglieder des Arbeitskreise AK30 „Simulation gemischter Systeme mit VHDL-AMS", der das Vorhaben begleitet hat, sind im Anhang A3 aufgeführt. Die erstellten Modelle werden über folgende Adresse im Internet zugänglich gemacht http://fat-ak30.eas.iis.fraunhofer.de -9- FAT Im vorliegenden Bericht werden teilweise englische Begriffe verwendet, wenn es auf Grund von Bezügen zur Sprache VHDL-AMS zweckmäßig erscheint (z. B. architecture anstelle von Architektur beim Hinweis auf Anweisungen in einer bestimmten Verhaltensbeschreibung). Das Vorhaben wurde von Juli 2004 bis Juni 2006 durchgeführt. Auftragnehmer für das Vorhaben war das Fraunhofer-Institut Integrierte Schaltungen/Außenstelle Entwurfsautomatisierung Dresden. Unteraufträge wurden von den Firmen DAnalyse GmbH Berlin, SmartCAE München und Adapted Solutions Chemnitz. Das Vorhaben wurde vom Arbeitskreis AK30 begleitet. Die Bearbeiter des Projektes danken allen Mitgliedern des Arbeitskreises und insbesondere seinem Sprecher, Herrn Ewald Hessel, für die vielen Diskussionen, Anregungen und die Bereitstellung von Unterlagen in Zusammenhang mit der Projektbearbeitung. Anfragen zu Ergebnissen können gerichtet werden an den Sprecher des Arbeitskreises: Ewald Hessel Hella KGaA Hueck& Co. BeckumerStr. 130 D-59552 Lippstadt -10- FAT Anforderungen an Simulation und Modellierung elektrisch-nichtelektrischer Systeme im Automobilbau 1 Anforderungen an Simulation und Modellierung elektrisch-nichtelektrischer Systeme im Automobilbau 1.1 Entwicklung elektrisch-nichtelektrischer Systeme Moderne Systemlösungen werden durch das Zusammenwirken unterschiedlicher Partner möglich. Das trifft auch für die Entwicklung und Anwendung elektrisch-nichtelektrischer Systeme im Automobilbau zu. Beteiligt sind Fahrzeughersteller, Zulieferer und Komponentenhersteller. In der Phase der Spezifikation und Konzeption der elektrisch-nichtelektrischen Systeme sind unterschiedliche Varianten zu untersuchen und zu bewerten, Anforderungen an Systemkomponenten zu definieren und dabei auch mögliche Wechselwirkungen zwischen den einzelnen Systemteilen zu berücksichtigen [11]. Die Vorgaben müssen zu einem späteren Zeitpunkt mit den erreichten Eigenschaften der realisierten Komponenten verglichen werden. Einige typische Beispiele sollen zur Veranschaulichung der dabei auftretenden Probleme dienen. Beispiel Elektrisches Bordnetz In den elektrischen Bordnetzen von Kraftfahrzeugen sind Verbraucher mit unterschiedlichem Leistungsbedarf in Abhängigkeit von ihren Nutzungsprofilen, bestimmt beispielsweise durch die Fahrzeuggeschwindigkeit und Umgebungstemperatur, zu berücksichtigen. Zu berücksichtigen ist dabei z. B. der Leistungsverbrauch von Lampen, Heizungskomponenten, aber auch von elektrisch-mechanischen Komponenten wie Fensterhebern. Batterien und Generatoren in den Bordnetzen sind so auszulegen, dass die Funktionssicherheit bei den unterschiedlichen Betriebszuständen gewährleistet ist. Die einzelnen Komponenten des Bordnetzes bezieht der Fahrzeughersteller von unterschiedlichen Zulieferern. Er nimmt die Integration dieser Komponenten im Bordnetz vor. Die Kenntnis über die Funktion und die charakteristischen Eigenschaften der einzelnen Systemkomponenten liegt bei den Zulieferern. Beispiel Electric Power Steering Als ein typisches Beispiel für ein elektrisch-nichtelektrisches Systeme kann eine elektrische Lenkhilfe (EPS - Electric Power Steering) angesehen werden. Durch einen Elektromotor wird ein Drehmoment aufgebracht, das den Fahrer bei der Lenkung unterstützt. Das vom Fahrer aufgebrachte Lenkmoment wird dabei gemessen und in Abhängigkeit von Lenkwinkel und Fahrzeuggeschwindigkeit wird durch einen Elektromotor ein unterstützendes Drehmoment zur Verfügung gestellt, mit dem die Lenkbewegung des Fahrers unterstützt wird. In Abhängigkeit davon, wo dieses unterstützende Moment angreift, werden unterschiedliche Varianten elektrischer Lenkhilfen unterschieden. Auch hier liegt beim Fahrzeughersteller das für die Integration der einzelnen Systemteile benötigte Wissen. Der Zulieferer kennt die genaue Funktion seiner Funktionsblöcke. Dabei muss er eventuell auch auf Beschreibungen von Herstellern spezieller Komponenten, z. B. von Drehmomentsensoren, zurückgreifen. Beispiel Komponentenentwicklung DC/DC-Wandler dienen zur Transformation einer elektrischen Spannung in eine andere und können zur Bereitstellung unterschiedlicher Spannungen im elektrischen Bordnetz verwendet werden. Auch bei einem Wechsel der elektrischen Belastung durch Hinzunahme oder Wegschalten einzelner Verbraucher ist dabei eine konstante Spannung an den Verbrauchern sicherzustellen. Anforderungen an die Auslegung der DC/DC-Wandler ergeben sich aus den möglichen auftretenden Verbraucherprofilen. -11 - FAT Abschnitt 1 Wie bei den genannten Beispielen liegt eine ähnliche Situation bei Variantenuntersuchungen bei der Konzeption von Hybridfahrzeugen und den sich ergebenden Anforderungen an die Verbrennungs- und Elektroantriebe vor. Komponentenhersteller Zulieferer Technologie Funktion OEM Bild 1-1: Beziehungen zwischen Fahrzeugherstellern (OEM), Zulieferern und Komponentenherstellern Diese Beispiele sind typisch für die Probleme und Fragestellungen, die im vorliegenden Bericht behandelt werden sollen. Spezielle elektrisch-nichtelektrische Systeme sind die mechatronischen Systeme. Hier spielt die Wechselwirkung zwischen elektrischem und mechanischem Verhalten unter Berücksichtigung von analoger und digitaler Regelung und Steuerung eine entscheidende Rolle (siehe auch [2, 3, 8, 15]). Die folgenden Merkmale zeichnen die betrachteten Systeme aus. • • • Die Systeme setzen sich aus elektrischen und nichtelektrischen Teilsystemen zusammen. Wechselwirkungen zwischen den elektrischen und nichtelektrischen Teilsystemen sind zu berücksichtigen. Bedingt durch die Funktionsweise ist dabei sowohl das digitale zeitdiskrete, als auch das analoge zeitkontinuierliche Verhalten einzelner Teilsysteme zu berücksichtigen. Die Komponenten stammen in der Regel von unterschiedlichen Zulieferern und Komponentenherstellern. Die Integration erfolgt durch die Fahrzeughersteller. Bild 1-1 stellt das Zusammenwirken der Beteiligten und ihre speziellen Kompetenzen in diesem Zusammenhang dar. Die Komplexität der Entwicklung der genannten Systeme ist heute ohne Simulation nicht mehr zu beherrschen. Da die Entwicklung der zugehörigen Modelle relativ hohen Aufwand sowie Spezialwissen über die jeweilige Komponente erfordert, fordern Fahrzeughersteller von ihren Zulieferern Modelle, die sie dann in das Gesamtsystemmodell einbinden. Aufgrund des hohen Kostendrucks ist das jedoch nur mit einer einheitlichen Modellierungssprache möglich, die die Wieder- und Weiterverwendbarkeit von Modellen in unterschiedlichen Simulationsumgebungen unterstützt. Die Einbindung externer Modelle stellt eine neue Stufe bei der Vernetzung von Herstellern und Zulieferern in der Fahrzeugentwicklung dar. -12- Anforderungen an Simulation und Modellierung elektrisch-nichtelektrischer Systeme im Automobilbau 1.2 Modelle für Komponenten elektrisch-nichtelektrischer Systeme Simulation und Modellierung spielen im Automobilbau in vielen Bereichen eine Rolle. Unterschiedliche Ansätze werden dabei verfolgt. Ausgangspunkt ist üblicherweise ein mathematisches Modell des zu untersuchenden Objektes, das bei verschiedenen Eingangsgrößen untersucht wird. «tetringpinionl \ \ | tOOttl systwn j thiusli Motorsteuerung und Energieversorgung Batterie Controller Steering spindle Motor Steering rod Getriebe Rollwiderstand MSTEERING EPS PINION Anschlaa Tabelle V DAT Bild 1-2: Übergang zur Modellbeschreibung für EPS-System Die elektrisch-nichtelektrischen Systeme, die im Folgenden betrachtet werden sollen, können durch Zusammenschalten der Modelle für die Komponenten beschrieben werden. Bild 1-2 illustriert diesen Übergang für die Modellierung der elektrischen Lenkhilfe. Aufgabe der Modellierung ist es, das Verhalten der Teilkomponenten an den Rändern, an denen sie mit anderen Blöcken zusammengeschaltet werden können, zu beschreiben. Dabei muss das Verhalten so beschreiben werden, dass es nicht von dem konkreten Gesamtsystem abhängig ist. Für das Beispiel bedeutet das beispielsweise, das Batteriemodell soll nicht nur für die Modellierung des EPS-Systems in Bild 1-1 verwendet werden können, sondern auch für andere Bordnetzmodelle. -13- FAT FAT Abschnitt 1 Bild 1-2 stellt die grafische Struktur der Zusammenschaltung der Modelle für die Teilsysteme dar. Wenn man nicht nur auf vorgefertigte Modelle zurückgreifen will, ist es erforderlich, auch einen Zugriff auf die Beschreibungen der einzelnen Blöcke zu haben. Dazu müssen die Modellbeschreibungen in einer geeigneten Form vorliegen. In den letzten Jahren haben sich Verhaltensbeschreibungssprachen für diese Aufgabe bewährt. Die textuellen Modellbeschreibungen können gleichzeitig Bestandteil der Spezifikation und Dokumentation der zu realisierenden Teilsysteme sein. Folgende Forderungen ergeben sich für die Modellierung der Teilsysteme: • • • • • • Die Modellbeschreibungen sollen in Textform vorliegen. Das ermöglicht ein besseres Verständnis der Modellierungsansätze. Änderungen und Erweiterungen der Modelle können leicht vorgenommen werden. Die Verhaltensbeschreibungssprache, die für die Modellierung genutzt wird, soll über Sprachelemente zur Beschreibung typischer Modellierungsaufgaben verfügen. Das sind beispielsweise Sprachkonstruktionen, die die Beschreibung der Klemmen des Modells und allgemeiner Modellparameter unterstützen. Eine Charakterisierung der Klemmen eines Teilssystems muss möglich sein. Analoge Klemmen, an den zeitkontinuierliche Verläufe zu berücksichtigen sind, und digitale Klemmen, an denen zeitdiskrete Verläufe auftreten können, müssen beschrieben werden können. Bei den analogen Klemmen ist weiterhin eine Unterscheidung in Klemmen von Netzwerkbeschreibungen und Signalflussklemmen regelungstechnischer Blöcke zu treffen. Bei den Netzwerkklemmen wird im Weiteren auch von konservativen Klemmen und bei den Signalflussklemmen von nichtkonservativen Klemmen gesprochen. Bei den Signalflussklemmen sind nur analoge Potentialverläufe zu berücksichtigen. Typisches Beispiel für eine Signalflussklemme ist der Anschluss eines regelungstechnischen Blocks. Bei den konservativen Klemmen ist zwischen elektrischen und nichtelektrischen Klemmen zu unterscheiden. Bei einer Zusammenschaltung sind die Beziehungen für Fluss- und Differenzgrößen zu berücksichtigen. Im Fall elektrischer Netzwerke sind Flussgrößen Ströme und Differenzgrößen Spannungen. Bei der Zusammenschaltung muss die Summe der Ströme an einem Knoten, der Klemmen von Teilmodellen verbindet, gleich Null sein (Kirchhoffscher Knotenpunktsatz). Die Summe der Spannungsabfälle in jeder Masche muss ebenfalls Null sein (Kirchhoffscher Machensatz). Bei einem Block müssen verschiedene Klemmenarten verwendet werden können. Für die Beschreibung des analogen Verhaltens werden letztlich von den eingesetzten Simulationsprogrammen differential-algebraische Systeme aufgestellt. Modellierungs- und Simulationsaufgaben, die beispielsweise auf finite Elemente-Beschreibungen wie bei der CrashSimulation führen, sollen in diesem Zusammenhang erst einmal nicht betrachtet werden. Durch die Simulation auf der Modellebene werden Aussagen u. a. zu folgenden Problemen erwartet: • • • Nachweis der Funktionsfähigkeit des elektrisch-nichtelektrischen Gesamtsystems unter Berücksichtigung der Charakteristiken der Teilsysteme im Zeitbereich Konsistente Spezifikation der Teilsysteme hinsichtlich ihrer Klemmen, Parameter und ihres Verhaltens Auswirkungen von Parametervariationen auf das Verhalten der Teilsysteme und des Gesamtsystems Mit der Modellierung und Simulation kann auf diese Weise ein Beitrag zur virtuellen Produktentwicklung geleistet werden. -14- Anforderungen an Simulation und Modellierung elektrisch-nichtelektrischer Systeme im Automobilbau 1.3 Auswahl von VHDL-AMS als Modellierungssprache Die Nutzung der Vorteile von Modellierung und Simulation erfordert einerseits den Aufwand bei der Modellierung in Grenzen zu halten und andererseits über geeignete Simulationswerkzeuge zu verfügen, in denen die erstellten Modelle eingesetzt werden können. Bei der Abschätzung des Modellierungsaufwandes spielen unterschiedliche Aspekte eine Rolle. Die Modellierungssprache muss geeignete Ausdrucksmittel für die Beschreibung typischer Modellierungsaufgaben zur Verfügung stellen. Einige typische Aufgaben, die sich bei der Modellierung elektrisch-nichtelektrischer Systeme stellen, sind im Abschnitt 1.2 diskutiert worden. Werden Modelle zwischen unterschiedlichen Partnern ausgetauscht, ist die Verwendung einer gemeinsamen Modellierungssprache wünschenswert. Andernfalls müssen Modellbeschreibungen aus einer Sprache in eine andere transformiert werden. Neben dem dafür erforderlichen zusätzlichen Aufwand sind mögliche Fehler bei der Modelltransformation und Inkonsistenzen zwischen unterschiedlichen Modellen in diesem Zusammenhang zu berücksichtigen. Die Verwendung einer einheitlichen Verhaltensbeschreibungssprache ist also möglichst anzustreben. Um die Bindung an einen speziellen Simulatorhersteller zu vermeiden, ist die Verwendung einer firmenunabhängigen standardisierten Sprache, die von einer Reihe von Simulationswerkzeugen unterstützt wird, wünschenswert. Neben der Reduzierung der Abhängigkeit von einem Simulatorhersteller besteht hierbei auch die Erwartung, dass Modelle über einen längeren Zeitraum genutzt werden können. Auch die Erstellung von Modellen stellt einen nicht zu unterschätzenden Aufwand dar. Die Sicherung des dabei erforderlichen Aufwands ist neben den rein technischen Aspekten ein wichtiges Kriterium für die Auswahl einer Modellierungssprache. Zu berücksichtigen ist in diesem Zusammenhang auch der Aufwand für die Qualifizierung von Mitarbeitern. Auch hier liegen Vorteile einer „langlebigen" Sprache auf der Hand. Unter den genannten Gesichtspunkten hat sich der VDA/FAT-Arbeitskreis 30 für VHDL-AMS [1, 4, 12] als Verhaltensbeschreibungssprache für die Modellierung elektrischnichtelektrischer Systeme entschieden. VHDL-AMS ist eine von der IEEE standardisierte Verhaltensbeschreibungssprache. Die Abkürzung steht für Very High Speed Integrated Circuit Hardware Description Language - Analog and Mixed-Signal. Bei der Sprache handelt es sich um eine Erweiterung von VHDL zur Beschreibung rein digitaler Systeme um Sprachkonstrukte für die Beschreibung analogen Verhaltens. Die Sprache wurde 1999 standardisiert und wird inzwischen von einer Reihe kommerzieller Simulatoren unterstützt (siehe Tabelle 1-1). Tabelle 1-1: Kommerzielle Simulatoren, die VHDL-AMS unterstützen Simulator Hersteller Homepage ADVance MS Mentor Graphics http://www.mentor.com AMS Designer Cadence Design Systems http://www.cadence.com SaberHDL Synopsys http://www.synopsys.com SMASH DOLPHIN Integration http://www.dolphin.fr Simplorer Ansoft http://www.ansoft.com SystemVision Mentor Graphics http://www.mentor.com Die Simulatoren können in unterschiedlichen Betriebssystemen genutzt werden, wie Windows, Linux, Solaris und HP-UX. Welche Betriebssysteme bei einem konkreten Simulator unterstützt werden, ergibt sich aus den Angaben der Hersteller. -15- FAT FAT Abschnitt 1 Simulatorherstellerspezifisch wird eine Reihe von Modellen zur Verfügung gestellt, die oft aber nur in übersetzter Form vorliegen. Die übersetzten Modelle verschließen sich der Weiterverwendung in einem anderen Simulator. Anders sieht die Situation bei nutzereigenen Modellen aus, die in textueller Form vorliegen. Diese können in unterschiedlichen Simulatoren verwendet werden. Um einen breiten Einsatz von VHDL-AMS in der Fahrzeugindustrie zu ermöglichen und die Vorteile einer allgemeinen standardisierten Sprache nutzen zu können, wurde deshalb durch den VDA/FATArbeitskreis 30 „Simulation gemischter Systeme mit VHDL-AMS" der Aufbau von VHDL-AMS Bibliotheken mit aufeinander abgestimmten Basismodellen für die Anwendung in der Automobilindustrie initiiert. Diese Modelle sind in verschiedenen Bibliotheken zusammengefasst • FUNDAMENTALS_VDA In dieser Bibliothek sind Basismodelle für regelungstechnische Blöcke (P-Regler, PlRegler, PID-Regler, ...), digitale Bauelemente wie beispielsweise unterschiedliche Gatter, nichtelektrische Grundelemente (Masse, Feder, Dämpfungselement, ...) und Konverterzwischen unterschiedlichen physikalischen Bereichen zusammengefasst. • AUTOMOTIVE_VDA Modelle für automobiltypische Komponenten können in dieser Bibliothek gefunden werden. Das sind beispielsweise Modelle für Sicherungen, Leitungen, Lampen, Batterien und Generatoren. Dabei wurden neben allgemein zu parametrisierenden Modellen auch Modelle erstellt, bei denen auf Grund von Typbezeichnungen die Parametrisierung erfolgt. • MEGMA MEGMA ist eine Bibliothek mit zeitdiskreten regelungstechnischen Grundelementen. • SPICE2VHD Modelle für elektrische Grundelemente auf dem Niveau von Spice-Elementen werden in dieser Bibliothek zur Verfügung gestellt [29, 31]. Das sind z. B. Modelle für Widerstand, Kapazität, Induktivität, unabhängige Strom- und Spannungsquellen sowie einfache Bipolar- und MOS-Transistormodelle. Spiee ist ein bei der Simulation elektrischer Netzwerk weit verbreitetes Programm. Die Schnittestellen der VHDL-AMSModelle orientieren sich an der Implementierung Spiee 3F5 [17]. • SPICE2VHD_DEVICES In dieser Bibliothek sind die Modelle ausgewählter parametrisierter Halbleiterbauelemente zusammengefasst [32]. Basis für die Parametrisierung der Modelle bildet dabei die Information aus den Spice-Modellkarten. Die Modelle können in den unterschiedlichen VHDL-AMS-Simulatoren genutzt werden. Teilweise werden durch die Simulatorhersteller auch Symbole für die simulatorspezifischen grafischen Eingabewerkzeuge zur Verfügung gestellt. -16- Grundprinzipien von VHDL-AMS 2 Grundprinzipien von VHDL-AMS Ein Überblick zu einigen grundlegenden Prinzipien von VHDL-AMS soll im Weiteren gegeben werden (siehe auch [1, 4, 12]). Eine intensivere Beschäftigung mit der Sprache kann diese kurze Übersicht nicht ersetzen. Sie soll aber das Verständnis für die verwendeten Modellierungsansätze wecken und auch bei einer Entscheidung helfen, für welche Aufgaben die Sprache VHDL-AMS und die erstellten Modellbibliotheken eingesetzt werden können. 2.1 Unterstützte Modellierungsansätze Ausgangspunkt für die Modellerstellung ist die Beschreibung der mathematischen Zusammenhänge zwischen den Modellgrößen. Eine Verhaltensbeschreibungssprache erlaubt es jetzt, diese Beschreibungen in eine dem Simulationsprogramm verständliche Form zu übertragen. Mathematische Beschreibungen H H 1 1 * t: J 1 Konservative Netzwerke (Kichhoffsche Netzwerke) H H Nichtkonservative Systeme (Signalflussdiagramme) H 1L 1 & y - H -1 1 Digitale Systeme (zeitdiskret) Mögliche Kombinationen von Beschreibungen: • analog-digital • elektrisch - nichtelektrisch • konservativ - nichtkonservativ Implementierung der Modelle VHDL-AMS-Modelle Bild 2-1: Durch VHDL-AMS unterstützte Modellierungsansätze Typische konservative Netzwerke sind elektrische Netzwerke, aufgebaut aus Widerständen, Kapazitäten, unabhängigen und gesteuerten Quellen und ähnlichen Elementen. An den Klemmen dieser Elemente und ihrer Zusammenschaltung werden Ströme und Spannungen oder allgemein gesprochen Fluss- und Differenzgrößen berücksichtigt. Von der Lösung des Simulationsproblems sind die Kirchhoffschen Gesetze zu erfüllen. Über Analogiebetrachtungen können auch nichtelektrische Systeme mit diesem Ansatz modelliert werden. Bei thermischen Netzwerken kann typischerweise der der abzuführenden Wärmeleistung entsprechende Wärmestrom als Flussgröße und die Temperatur als Differenzgröße verwendet werden. Einem elektrischen Widerstand entspricht dann der Wärmewiderstand, der beispielsweise zur Charakterisierung von Kühlkörpern verwendet wird. Bei der Zusammenschaltung nichtkonservativer Systeme sind an den Klemmen nur analoge Signalverläufe zu berücksichtigen. Nichtkonservative Systeme sind analoge regelungstechnische Komponenten wie beispielsweise Pl- und PID-Regler. Nichtkonservative Komponenten können aber auch zur Beschrei- -17- FAT FAT Abschnitt 2 bung allgemeiner funktionaler Zusammenhänge verwendet werden. Bei nichtkonservativen Systemen kann, anders als bei konservativen Netzwerkmodellen, eine Unterscheidung der Klemmen in Eingangs- und Ausgangsklemmen erfolgen. Logische Funktionen und endliche Zustandsautomaten können als digitale Systeme beschrieben werden. An den Klemmen werden zeitdiskrete Verläufe ausgewertet. Die Signale an den Klemmen sind Eingangs- oder Ausgangssignale, können aber auch bidirektional gerichtet sein. Typisch für die elektrisch-nichtelektrische Systeme, die im Automobilbau betrachtet werden, ist die gleichzeitige Verwendung der in Bild 2-1 skizzierten Modellierungsansätze. Elektrische Baugruppen und auch typische mechanische Komponenten können mit konservativen Netzwerkmodellen beschrieben werden. Analoge Regler werden durch nichtkonservative Systeme modelliert. Die Klemmengrößen beider Systeme sind analoge zeitkontinuierliche Verläufe. Zeitdiskrete Steuerungen werden durch digitale Systeme beschrieben. Eine konkrete Komponente kann dabei sowohl Klemmenarten aller drei Modellierungsarten verwenden. Die Modellbeschreibung erfasst dann die Bedingungen und damit auch die Wechselwirkungen zwischen den unterschiedlichen Modellierungsansätzen. Für die einzelnen Modellierungsansätze existieren leistungsfähige Werkzeuge. Weit verbreitet für die Simulation elektrischer Netzwerke sind in der Elektronikentwicklung Spiceähnliche Programme. Nachteilig ist hier aber nicht selten, dass die Modellierung unter Verwendung einer Grundmenge zur Verfügung gestellter Basismodelle erfolgen muss. Soll, insbesondere in der Spezifikationsphase, nicht eine existierende Schaltung beschrieben werden, sondern nur modelliert werden, was eine Schaltung zu leisten hat, stößt man bei Verwendung dieser Simulatoren an Grenzen oder muss einen erheblich Modellierungsaufwand in Kauf nehmen. Noch schwieriger wird es unter Umständen bei der Beschreibung nichtelektrischer Komponenten, auf deren Modellierung der „Baukasten" mit den elektrischen Grundmodellen nicht abgestimmt ist. Für die Modellierung und Simulation nichtkonservativer Systeme ist Matlab/Simulink eine weit verbreitete Simulationsumgebung. Insbesondere für den Reglerentwurf stellt sie ausgezeichnete Hilfsmittel bereit. Eine direkte Modellierung unter Verwendung konservativer Netzwerke ist aber nicht vorgesehen. Verhaltensbeschreibungssprachen für die Beschreibung rein digitalen Verhaltens sind z. B. VHDL und Verilog. VHDL-AMS unterstützt nun die Implementierung aller in Bild 2-1 dargestellten Modellansätze, die bei der Beschreibung elektrisch-nichtelektrischer Systeme benötigt werden. VHDLAMS ist eine allgemeine Modellierungssprache zur Beschreibung analoger, digitaler und gemischt analog-digitaler Systeme. VHDL-AMS ist eine informelle Bezeichnung für VHDL 1076.1-1999. Dabei wird das digitale VHDL-1993 um Sprachkonstrukte zur Beschreibung des analogen und gemischt analog-digitalen Verhaltens erweitert. VHDL-AMS (VHDL 1076.1-1999) VHDL 1076-1993 Bild 2-2: VHDL-AMS als Obermenge von VHDL VHDL-AMS ist also eine Obermenge von VHDL (siehe Bild 2-2). Alle Prinzipien von VHDL bleiben somit bei VHDL-AMS erhalten. Jedes VHDL-Modell ist auch ein VHDL-AMS-Modell. Die grundlegenden Prinzipien von VHDL bleiben erhalten. Ein wesentlicher Grundgedanke bei VHDL ist die Trennung der Beschreibung eines Modells in die -18- Grundprinzipien von VHDL-AMS • • Beschreibung des Modellrandes (entity-Deklaration) und die Beschreibung des Verhaltens (architecture-Deklaration). Der Modellrand wird durch eine Beschreibung der Klemmen (port-Deklaration) und die Deklaration von Modellparametern (generic-Deklaration) charakterisiert. Unterstützt werden in VHDL-AMS • • • analoge konservative Klemmen (terminal), analoge nichtkonservative Signalflussklemmen (quantity) und digitale Klemmen (signal). Bei den konservativen Klemmen ist außerdem zu ergänzen, welchem physikalischen Bereich (nature) sie zuzuordnen sind. Konservative Klemmen können intern durch Zweige verbunden werden. Auch ist die Deklaration interner Knoten möglich, die als Anfangs- oder Endpunkte von Zweigen dienen können. Beispiel QJN I I Q OUT Q_OUT{s) K Q_IN(s) l + s-T Bild 2-3: Mathematisches Modell für PT1-Glied Für einen regelungstechnischen Block, also ein nichtkonservatives Teilsystem, ist als Beispiel ein mathematisches Modell in Bild 2-3 angegeben. Die nichtkonservativen Klemmen des Modells sind mit Q_IN und Q_OUT bezeichnet. K und T sind Modellparameter. Die angegebene Beziehung beschreibt das Verhalten im Laplace-Bereich. Die VHDL-AMSBeschreibung des dargestellten Blocks hat folgendes Aussehen: entity Q_FIRSTORDER__VDA is generic ( K : REAL := 1.0; -- gain T : REAL := 1.0 — time constant [s] ) ; port ( quantity Q_IN : in REAL; -- input port quantity Q_OUT : out REAL -- Output port ) ; end entity Q_FIRSTORDER_VDA; architecture BASIC of Q_FIRSTORDER_VDA is constant NUM : REAL_VECTOR := (0 => K ) ; constant DEN : REAL_VECTOR := (1.0, T ) ; begin Q_OUT == Q_IN'LTF(NUM, DEN); end architecture BASIC; Die Randbeschreibung wird unter dem Namen Q_FIRSTORDER_VDA deklariert. Mit REAL ist der Typ der Parameterwerte und der analogen Verläufe an den Klemmen gegeben. Bei der generic-Deklaration werden gleichzeitig Vorgabewerte (Default-Werte) für die Parameter -19- FAT FAT Abschnitt 2 vereinbart. Zu der Randbeschreibung Q_FIRSTORDER_VDA gehört die Architektur BASIC. Das 'LTF-Attribut beschreibt die Laplace-Übertragungsfunktion. In den Feldern NUM und DEN werden die Koeffizienten von Zähler- und Nennerpolynom bereitgestellt. Das Modell ist der Bibliothek FUNDAMENTALS VDA entnommen. 2.2 Grundlegende Sprachkonzepte Modellierung zeitlicher Verläufe Werte vom Typ REAL REAL VECTOR Werte vom Typ BIT, BOOLEAN, STDJ.OGIC, STD_LOGIC_VECTOR REAL, REAL_VECTOR, ... t 0.0 Zeitachse vom Typ REAL Ofs Zeitachse vom Typ TIME Bild 2-4: Analoge zeitkontinuierliche und digitale zeitdiskrete Verläufe Das zeitliche Verhalten eines Systems kann in VHDL-AMS entweder unter Verwendung analoger zeitkontinuierlicher Verläufe oder digitaler zeitdiskreter Verläufe beschrieben werden (siehe Bild 2-4). Zeitkontinuierliche Verläufe zur Beschreibung des analogen Verhaltens Analoge zeitkontinuierliche Verläufe werden als quantity deklariert. Die Werte eines analogen Verlaufs sind skalare oder vektorielle reellwertige Größen, d. h. eine quantity ist vom Typ REAL oder REAL_VECTOR oder einem davon abgeleiteten Typ. Die Zeitachse ist ebenfalls vom Typ REAL. Analoge zeitliche Verläufe sind beispielsweise die Verläufe an den Klemmen nichtkonservativer Blöcke oder Zweigspannungen und -ströme in elektrischen (konservativen) Netzwerken. Zur Bestimmung der analogen Verläufe für eine konkrete Simulationsaufgabe wird in der Vorbereitungsphase der Simulation (Bezeichnung im VHDL-AMSStandard: elaboration phase) vom VHDL-AMS-Simulator ein Gleichungssystem aufgestellt, das aus algebraischen und Differentialgleichungen besteht. Dieses Gleichungssystem folgt aus den charakteristischen Gleichungen (characteristic equations), die von der Lösung des Simulationsproblems zu erfüllen sind. Die charakteristischen Gleichungen ergeben sich • • • aus Bedingungen für zeitliche Verläufe an den Klemmen bei der Zusammenschaltung von Blöcken und Komponenten (structural set of equations), aus Beziehungen, die das Verhalten von Komponenten und Blöcken beschreiben (explicit set of equations), und zusätzlichen Gleichungen für die Initialisierungsphase und an Unstetigkeitsstellen (augmentation set of equations). VHDL-AMS stellt nun Hilfsmittel bereit, die die Aufstellung dieser Gleichungen durch das Simulationsprogramm ermöglichen. Die Zusammenschaltungsbedingungen ergeben sich -20- FAT Grundprinzipien von VHDL-AMS aus der Beschreibung der Topologie eines Systems. Damit wird festgelegt wie Blöcke miteinander verbunden werden und welche Gleichgewichtsbedingungen einzuhalten sind. Im Fall konservativer Netzwerke ergeben sich die entsprechenden Gleichungen aus den Kirchhoffschen Gesetzen. Die Summe der Ströme oder allgemeiner der Flussgrößen an einem Knoten muss Null sein. Die Summe der Spannungsabfälle oder Differenzgrößen in einer Masche ist muss ebenfalls Null sein. Die eigentliche Beschreibung des Verhaltens erfolgt in VHDL-AMS mit simultaneous Statements. Damit ist es beispielsweise möglich, die StromSpannungs-Beziehungen für Zweige konservativer Netzwerke auszudrücken. Die zusätzlichen Gleichungen für die Initialisierungsphase und an Unstetigkeitsstellen sind durch den VHDL-AMS-Standard vorgegeben. Beispielsweise werden in der Initialisierungsphase, d. h. bei der Berechnung des Arbeitspunktes, alle zeitlichen Ableitungen gleich Null gesetzt. An Unstetigkeitsstellen wird davon ausgegangen, dass zeitliche Verläufe, von denen auch eine zeitliche Ableitung zur Verhaltensbeschreibung verwendet wird, stetig sind, d. h. keine Sprünge aufweisen. Diese Vorgaben können aber bei der Erstellung eines Modells außer Kraft gesetzt werden. Das ist beispielsweise mit der break-Anweisung möglich. Hinsichtlich Einzelheiten muss an dieser Stelle auf den VHDL-AMS-Standard verwiesen werden. Letztendlich ist vom Simulationsprogramm für den analogen Teil in der Simulationsphase (Simulation phase) ein System aus algebraischen und Differentialgleichen der Form F(x,x',t) = 0 (2-1) mit F:RnxRnxR+^R+, x:R+-^R und dem Anfangswert x(0) = x0 zu lösen, x ist dabei der Vektor der analogen zeitkontinuierlichen Verläufe. Anfangszeit für die Simulation und Zeitpunkt für die Arbeitspunktbestimmung ist immer der Zeitpunkt 0. Der Lösungsalgorithmus für das Gleichungssystem (2-1) ist durch den VHDL-AMS-Standard nicht vorgegeben. Üblicherweise erfolgt eine numerische Lösung unter Verwendung von Diskretisierungsformeln zur Bestimmung der zeitlichen Ableitungen x'. Verwendet werden in der Regel Lösungsalgorithmen wie sie vom Netzwerksimulationsprogramm Spiee und ähnlichen Programmen bekannt sind. Bei der numerischen Bestimmung der Lösung kann (2-1) an den analogen Lösungspunkten (ASP analog solution point) nicht exakt, sondern nur im Rahmen einer vorgegebenen Genauigkeit bestimmt werden. Wie diese Genauigkeit zu beeinflussen ist, hängt vom jeweils verwendeten Simulationsprogramm ab. Das Gleichungssystem (2-1) stellt eine mit Blick auf die Modellierung sehr einfache Form dar. Die Konsequenz ist, dass die Gleichungen für die Beschreibung des Verhaltens nicht in einer speziellen Form vorliegen müssen. Speziell ist also nicht die Beschreibung unter Verwendung expliziter Differentialgleichungssysteme gefordert. Eine Auflösung beschreibender Gleichungen nach Strömen oder Spannungen bzw. Fluss- oder Differenzgrößen ist nicht erforderlich. Ebenso gibt es keine Einschränkungen bei der Beschreibung von Systemen um sogenannte „algebraische Schleifen" zu vermeiden. Das stellt aus Sicht der Modellierung einen wesentlichen Vorteil von VHDL-AMS gegenüber anderen Sprachen zur Beschreibung des analogen Verhaltens dar. Dem Anwender wird geholfen, sich auf seine Modellierungsaufgabe zu konzentrieren. Beispiel für eine quantity-Deklaration (free quantity) Die Deklaration eines einzelnen skalaren reellwertigen analogen Verlaufes Q (free quantity) kann in einer Verhaltensbeschreibung mit der folgenden Anweisung erfolgen quantity Q : REAL; Zeitdiskrete Verläufe zur Beschreibung des digitalen Verhaltens Ein digitaler zeitdiskreter Verlauf wird in VHDL-AMS als signal deklariert. Die Werte eines Signals können von jedem beliebigen Typ sein. Die Zeitachse ist vom Typ TIME. Eine Zeit- -21 - FAT Abschnitt 2 angäbe erfolgt durch die Angabe einer Zahl und einer Zeiteinheit, z. B. 5 ns. Die Werte von Signalen können nur zu diskreten Zeitpunkten ändern. Die Änderung des Wertes eines Signals wird als Ereignis (event) bezeichnet. Zwischen den Ereigniszeitpunkten ändern sich die Signalwerte nicht. Die kleinste Zeit zwischen zwei Ereigniszeitpunkten wird als Zeitauflösung (resolution time) bezeichnet. Der Wert der Zeitauflösung beträgt 1 fs. Teilweise können in Simulatoren auch größere Werte für die Zeitauflösung vorgegeben werden. Durch den digitalen Lösungsalgorithmus wird zum aktuellen Ereigniszeitpunkt der nächste mögliche Ereigniszeitpunkt bestimmt. Der nächste Ereigniszeitpunkt ergibt sich beispielsweise durch vorgegebene Eingangssignalverläufe. Da die Signale zwischen den Ereigniszeitpunkten konstant bleiben, ist eine Neuberechnung zu Ereigniszeitpunkten erforderlich. Die Vorschriften zur Berechnung neuer Signalwerte erfolgen in VHDL-AMS mit concurrent statements. An einem Ereigniszeitpunkt wird ermittelt, mit welchen dieser concurrent Statements eine Neuberechnung von Signalwerten notwendig ist. Der Lösungsalgorithmus wird deshalb auch als ereignisgesteuerter Algorithmus {event-driven algorithm) bezeichnet. Der ereignisgesteuerte Lösungsalgorithmus unterstützt eine schnelle Auswertung des digitalen Verhaltens. Eine Beschleunigung kann im Einzelfall durch das Vermeiden unnötiger Ereignisse erfolgen. Beispiel für eine signal-Deklaration Die Deklaration eines Signals S vom Typ BIT und dem Anfangswert T kann in einer Verhaltensbeschreibung mit der folgenden Anweisung erfolgen Signal B : BIT := ' V ; Beschreibung des analogen Verhaltens mit simultaneous Statements Explizit anzugebende Beziehungen zur Beschreibung des analogen Verhaltens können in VHDL-AMS mit simultaneous Statements beschrieben werden. Diese Anweisungen sind Bestandteil einer architecture-Deklaration. Mit dem einfachen simultaneous Statement wird gefordert, dass zwei reellwertige Ausdrücke gleich sind. Mit der if... use Anweisung kann in Abhängigkeit von einer Bedingung zwischen zwei Alternativen gewählt werden. Letztlich kann aus jedem simultaneous Statement eine einzelne (charakteristische) Gleichung für ein Gleichungssystem der Form (2-1) zur Beschreibung des analogen Verhaltens abgeleitet werden. Mit diesen Anweisungen können mathematische Beziehungen, die das analoge Verhalten beschreiben, implementiert werden. VHDL-AMS stellt eine Reihe von Attributen zur Verfügung, die beim Aufbau der reellwertigen Ausdrücke in den simultaneous Statements verwendet werden können. Mit diesen Attributen kann aus einem analogen Verlauf ein neuer analoger Verlauf abgeleitet werden, der in einer vorgegebenen Beziehung zu dem ursprünglichen Verlauf steht (siehe Tabelle 2-1). Aus der Anwendung des Attributes ATT auf einen Verlauf Q resultiert ein neuer Verlauf Q'>47T. Attribute können durch Argumente präzisiert werden. Durch ein simultaneous Statement wird keine Zuweisung formuliert, sondern nur eine Bedingung, die von reellwertigen Ausdrücken einzuhalten ist. -22- Grundprinzipien von VHDL-AMS Tabelle 2-1: Ausgewählte Attribute für analoge Verläufe (Q ist eine quantity) Attribut Beschreibung •DOT Q'DOT ist die zeitliche Ableitung des Verlaufs Q. 'INTEG Q'INTEG ist der über die Zeit integrierte Verlauf Q. 'DELAYED(T) Q'DELAYED(TS) ist der um die Zeit TS verzögerte Verlauf von Q. 'SLEW(A.B) Q'SLEW(A,B) ist ein aus Q abgeleiteter Verlauf dessen Anstiegs- und Abfallgeschwindigkeit durch A bzw. B begrenz sind. 'LTF(NUM, DEN) Q'LTF(NUM, DEN) ergibt sich aus Q nach linearer Filterung. Das Filter wird durch eine gebrochen rationale Übertragungsfunktion im Laplace-Bereich beschrieben. Die Koeffizienten von Zähler- und Nennerpolynom sind in den reellwertigen Vektoren NUM und DEN angegeben. 'ZOH(TS) Q'ZOH(TS) ist der mit der Abtastzeit TS abgetastete Verlauf Q. 'ZTF(NUM, DEN, TS) Q"ZTF(NUM, DEN, TS) beschreibt einen digital gefilterten Verlauf von Q. Koeffizienten der gebrochen rationalen z-Übertragungsfunktion werden durch NUM und DEN beschrieben. TS ist die Abtastzeit. Beispiel für ein simultaneous statement dv Die Beziehung i = C — kann mit folgendem simultaneous statement implementiert werden: dt I == C*V'DOT; Beschreibung des digitalen Verhaltes mit concurrent Statements Mit Hilfe concurrent Statements wird festgelegt, wie ein neuer Signalwert berechnet wird. Die Signalwertberechnung wird aktiviert, wenn ein Signalwechsel bei einem der die Berechnung treibenden Signale auftritt. Das fundamentale concurrent statement ist die processAnweisung. Innerhalb eines processes erfolgt die Berechnung eines neuen Signalwertes mit sequentiellen Anweisungen. Die Zuweisung eines neuen Wertes zu einem Signal erfolgt unter Verwendung des Zuweisungsoperators <=. Für spezielle häufige auftretende Konstruktion von process-Anweisungen existieren verkürzende Sprachkonstruktionen. Beispiel für ein concurrent statement A sei ein reellwertiges Signal, B ein Signal vom Typ BIT. Wenn der Wert von A größer als Null ist, soll B auf den Wert T , andernfalls auf '0' gesetzt werden. Das ist mit dem folgenden process mit der Kennzeichnung (label) P1 möglich: Pl: process (A) is begin if A > 0.0 then B <= '0'; eise B <= ' 1' ; end i f ; end process Pl; Der process wird aktiviert, wenn ein Ereignis bei einem Signal beobachtet wird, das der Liste nach dem Schlüsselwort process folgt (sensitivity list). Im Beispiel besteht diese Liste nur aus dem Signal A. Eine verkürzende Schreibweise für den beschriebenen process liefert die folgende Anweisung: -23- FAT FAT Abschnitt 2 B <= ' 1 ' when A > 0.0 e i s e ' 0 ' ; Umsetzung der Modellierungsansätze in VHDL-AMS An Hand einfacher Beispiele soll die Umsetzung der im vorangegangenen Abschnitt skizzierten Ansätze bei der Modellierung konkreter Beispiel kurz vorgestellt werden. Konservative Netzwerke Die Modellierung mit Netzwerken gehört zu den grundlegenden Konzepten der Analyse elektrischer Schaltungen. Diese Modellierung wird durch VHDL-AMS unterstützt. Die Topologie eines Netzwerkes wird durch Knoten und deren Verknüpfung mit Zweigen beschrieben. Strom-Spannungs-Beziehungen der Zweige beschreiben das Verhalten. Zur Modellierung des nichtelektrischen Verhaltens werden Analogien zwischen elektrischen und nichtelektrischen Netzwerken verwendet. Das Konzept der Beschreibung elektrischer Netzwerke mit Strömen und Spannungen wird auf die Beschreibung des nichtelektrischen Verhaltens mit Fluss- (through) und Differenzgrößen (across) übertragen. Für Fluss- und Differenzgrößen gelten analog zu den elektrischen Netzwerken die Kirchhoffschen Gesetze. Die Charakterisierung der unterschiedlichen physikalischen Bereiche erfolgt durch sogenannte nature-Deklarationen. Durch eine nature-Deklaration ist auch der Name des Bezugsknotens für einen physikalischen Bereich festgelegt. In Tabelle 2-2 sind wichtige standardisierte nature-Deklarationen und die Bezeichnungen der entsprechenden VHDL-AMS-Pakete (package) zusammengefasst. Die Pakete werden für die Erstellung der VHDL-AMS-Modelle der Kfz-Komponenten verwendet. Tabelle 2-2: lEEE-Pakete zur Beschreibung konservativer Netzwerke nature Differenzgröße Flussgröße Bezugsknoten (across Typ) (through Typ) ELECTRICAL VOLTAGE CURRENT ELECTRICAL_REF MAGNETIC MMF MAGNETIC_FLUX MAGNETIC_REF package ELECTRICAL_SYSTEMS package MECHANICAL_SYSTEMS TRANSLATIONAL DISPLACEMENT FORCE TRANSLATIONAL _REF TRANSLATIONAL_VELOCITY VELOCITY FORCE TRANSLATIONAL _VELOCITY_REF ROTATIONAL ANGLE TORQUE ROTATIONAL_REF ROTATIONAL_VEL0CITY ANGULAR_VELOCITY TORQUE ROTATIONAL _VELOCITY_REF TEMPERATURE HEAT_FLOW THERMAL_REF FLUIDIC VFLOW_RATE PRESSURE FLUIDIC_REF COMPRESSIBLE_FLUIDIC MASS_FLOW_RATE PRESSURE COMPRESSIBLE _FLUIDIC_REF LUMINOUSJNTENSITY LUMINOUS_FLUX RADIANT_REF package THERMAL_SYSTEMS THERMAL package FLUIDIC_SYSTEMS package RADIANT_SYSTEMS RADIANT -24- FAT Grundprinzipien von VHDL-AMS Wird eine der in Tabelle 2-1 angegebenen Deklarationen verwendet, ist vor die Randbeschreibung (entity declaration) der Bezug auf die entsprechenden Pakete (context clause) einzufügen: library IEEE; use IEEE.package_name.all; Eine Klemme eines konservativen Netzwerkes ist ein terminal. Für die Beschreibung der Klemmen eines elektrischen Netzwerkes wird die nature ELECTRICAL aus dem Paket ELECTRICAL_SYSTEMS verwendet. Folgende Hauptschritte werden bei der Implementierung eines Netzwerkmodells durchgeführt: • • • Festlegung der benutzten Netzwerkanalogien und Einfügen des entsprechenden Bezugs an den Anfang der Beschreibung (context clause) Beschreibung des Modellrandes (entity declaration) o Festlegung der Bezeichnungen, Typen und eventuell von Vorgabewerte von Modellparametern (generic declaration) o Charakterisierung jeder konservativen Klemme als terminal, Festlegung von Bezeichnungen für die Klemmen und Angabe der zugehörigen nature für jede Klemme (port declaration) Beschreibung des Verhaltens (architecture declaration) o Beschreibung der internen Modellstruktur durch Deklaration von Zweigen (branch quantity declaration) zwischen konservativen Knoten (terminal), die zum gleichen physikalischen Bereich gehören o Implementierung der Strom-Spannungs-Beziehungen der Zweige unter Verwendung von simultaneous Statements. Die einzelnen Schritte werden an Hand der Modellierung eines elektrischen Widerstandes erläutert. Das Modell ist der Bibliothek SPICE2VHD entnommen. Widerstandswert R P o Strom-Spannungs-Beziehung: Bild 2-5: Elektrischer Widerstand Die Klemmen P und N des in Bild 2-5 skizzierten elektrischen Widerstandes sind elektrische Klemmen. Die nature ELECTRICAL wird zur Beschreibung verwendet. An den Modellanfang sind die folgenden Anweisungen zu setzen: library IEEE; use IEEE.ELECTRICAL SYSTEMS.all; Parameter des Modells ist der Wert R des Widerstandes. Widerstandswerte sind reelle Zahlen. R wird daher als Parameter vom Typ REAL deklariert. Ein Vorgabewert ist nicht vorgesehen. Klemmen des Modells sind die elektrischen Klemmen P und N. Beide Klemmen werden durch die einführende Bezeichnung terminal und die nature ELECTRICAL charakteri- -25- FAT Abschnitt 2 siert. Ohne syntaktische Einzelheiten weiter zu erläutern, ist die Umsetzung dieser Vereinbarungen in der entity-Beschreibung offensichtlich: entity RESISTOR is generic ( R : REAL ) ; port (terminal P : ELECTRICAL; terminal N : ELECTRICAL ) ; end entity RESISTOR; — resistance [Ohm] — element terminal -- element terminal Der Name der entity ist RESISTOR. Der Name einer zugehörigen architecture soll SPICE sein: architecture SPICE of RESISTOR is quantity V across I through P to N; begin V == R * I; end architecture SPICE; -- branch declration -- constitutive relation Im Deklarationsteil der Beschreibung zwischen architecture und begin wird ein Zweig deklariert, den die beiden Klemmen P und N verbindet. Die Zweigspannung ist v, der Zweigstrom i. Zweigspannung und Zweigstrom sind gleichgerichtet. Die Strom-Spannungs-Beziehung für den Widerstand wird im Anweisungsteil durch ein simultaneous Statement beschrieben. Auf der linken und rechten Seite des Gleichheitszeichens (==) stehen reellwertige Ausdrücke. Das simultaneous statement beschreibt eine Bedingung, die von der Lösung eingehalten werden muss. Es handelt sich dabei nicht um eine Wertezuweisung. Dem elektrischen Widerstand entspricht ein thermischer Widerstand, geeignet beispielsweise zur Beschreibung einfacher Kühlkörper. Differenzgröße ist die Temperatur, Flussgröße ist die über den Wärmewiderstand abgeführte Wärmeleistung. Der Widerstandswert RTH soll in K/W angegeben werden. Das im Folgenden angegebene Modell, das der Bibliothek FUNDAMENTALS-VDA entnommen wurde, demonstriert die Handhabung der Analogien zwischen elektrischen und thermischen Netzwerken in VHDL-AMS: library IEEE; use IEEE.THERMAL_SYSTEMS.all; entity RTH_VDA is generic ( RTH : REAL := 10.0 — Thermal resistance [K/W], MIN: >0.0 ); port ( terminal TH_1 : THERMAL; -- Thermal plus terminal Terminal TH_2: THERMAL -- Thermal minus terminal ) ; begin assert RTH > 0.0 report "ERROR: RTH > 0.0 required." severity ERROR; end entity RTH_VDA; architecture BASIC of RTH_VDA is quantity TEMPERATURE across HEAT_FLOW through TH_1 to TH_2; begin TEMPERATURE == RTH*HEAT_FLOW; end architecture BASIC; -26- Grundprinzipien von VHDL-AM5 Gegenüber dem elektrischen Modell wird durch die assert-Anweisung in der entityDeklaration bei diesem Modell noch eine Überprüfung des Parameterwertes vorgenommen. Bei Anwendung des Modells kann der Vorgabewert überschrieben werden. Es wird angenommen, dass der Wert von RTH bei Verwendung des Modells größer als Null ist. Ansonsten erfolgt eine Fehlermeldung. Nichtkonservative Systeme Ein Beispiel für ein nichtkonservatives System ist schon im vorangegangenen Abschnitt angegeben worden. Folgende Hauptschritte werden bei der Implementierung eines nichtkonservativen Modells durchgeführt: • • Beschreibung des Modellrandes (entity declaration) o Festlegung der Bezeichnungen, Typen und eventuell von Vorgabewerte von Modellparametern (generic declaration) o Charakterisierung jeder nichtkonservativen Klemme als quantity, Festlegung von Bezeichnungen für die Klemmen und Angabe der Richtung (in oder out) und des reellwertigen Typs des analogen Verlaufs (port declaration) Beschreibung des Verhaltens (architecture declaration) o Implementierung der beschreibenden Gleichungen für die Verläufe an den Ausgängen unter Verwendung von simultaneous Statements. Die einzelnen Schritte werden für ein einfaches nichtkonservatives System erläutert. Beschreibende Gleichung: Q_OUT Q_0UT = Q_INhQ_IN2 Bild 2-6: Multiplizierer als nichtkonservatives System Die Klemmen QJN1 und QJN2 des in Bild 2-6 skizzierten Modells eines Multiplizieres, der als nichtkonservatives System modelliert ist, sind Eingangsklemmen. Q_OUT ist eine Ausgangsklemme. An allen Klemmen liegen reellwertige analoge zeitkontinuierliche Signale an. Parameter des Modells ist die Verstärkung GAIN mit dem Vorgabewert 1. Damit ergibt sich die folgende Beschreibung des Modellrandes: entity Q_MULT_VDA is generic ( GAIN : REAL := 1.0 ) ; — gain port ( quantity Q_IN1 : in REAL; quantity Q_IN2 : in REAL; quantity Q_OUT : out REAL ); end entity Q_MULT_VDA; — first input port -- second input port -- Output port Der Name der entity ist Q_MULT_VDA. Die beschreibende Gleichung wird unter Verwendung eines simultaneous Statements in der architecture BASIC implementiert: -27- FAT FAT Abschnitt 2 architecture BASIC of Q_MULT_VDA is begin Q_OUT = GAIN*Q_IN1*Q_IN2; end architecture BASIC; Das Modell wurde der Bibliothek FUNDAMENTALS_VDA entnommen. Digitale Systeme Klemmen digitaler Systeme sind Signale. Die Signalwerte an den Ausgangsklemmen sind unter Verwendung der Signalwerte an den Eingangsklemmen mit Hilfe von concurrent statements zu bestimmen. Das fundamentale concurrent Statement ist der process. Mit einer Folge sequentieller Anweisungen werden neue Signalwerte bestimmt. Folgende Hauptschritte werden bei der Implementierung eines digitalen Modells durchgeführt: • • • Erforderlichenfalls Einfügen einer context clause vor der entity-Deklartion, um Datentypen verfügbar zu machen, die zur Beschreibung von Signalwerten benötigt werden Beschreibung des Modellrandes (entity declaration) o Festlegung der Bezeichnungen, Typen und eventuell von Vorgabewerte von Modellparametern (generic declaration) o Charakterisierung jeder digitalen Klemme als signal, Festlegung von Bezeichnungen für die Klemmen und Angabe der Richtung (in, out oder inout) und des Typs des digitalen Verlaufs {port declaration) Beschreibung des Verhaltens (architecture declaration) o Implementierung Verhaltens unter Verwendung von concurrent Statements. Die einzelnen Schritte werden für ein einfaches digitales System erläutert. Beschreibende Gleichung: OUTP OUTP = INP\ and INP2 Bild 2-7: Digitales AND-Gatter INP1 und INP2 sind logische Eingangssignale des in Bild 2-7 dargestellten AND-Gatters. OUTP ist das Ausgabesignal. Bei einer Veränderung eines der Eingabesignale soll der Wert des Ausgabesignals nach der Zeit T_DELAY aktualisiert werden. Die Werte der Signale an den Klemmen sind vom Typ STD_LOGIC. STD_LOGIC ist ein Aufzählungstyp, der neun mögliche logische Werte zusammenfasst (siehe Tabelle 2-3). Die Deklaration erfolgt im Paket STD_LOGIC_1164 der Bibliothek IEEE. Tabelle 2-3: Werte des Typs STD_LOGIC Signalwert Bedeutung 'U' Das Signal ist noch nicht gesetzt (nicht initialisiert). •X' Der Signalwert kann nicht bestimmt werden (unbekannter Wert). '0' Logisch 0 T Logisch 1 Z Das Signal liegt an einem hochohmigen Ausgang an. w Schwacher Signalwert, der nicht bestimmt werden kann V Schwaches logisches 0 'H' Schwache logische 1 '-' Signalwert ist gleichgültig -28- Grundprinzipien von VHDL-AMS An den Modellanfang sind die folgenden Anweisungen zu setzen, um den Typ STD_LOGIC verwenden zu können: library IEEE; use IEEE.STD_LOGIC_1164.all; Parameter des Modells ist der Wert T_DELAY der Verzögerungszeit. Der Wert ist vom Typ TIME und 0 ns werden als Vorgabewert verwendet. Die Klemmen des Gatters sind vom Type STD_LOGIC. Jede Klemme ist ein signal. Bei der Deklaration sind die Richtungen der Signale zu berücksichtigen. Die folgende Beschreibung des Modellrandes ergibt sich: entity ANDGATE_2 is generic (T DELAY: TIME := 0 ns \ . port (INP1: in STD_ LOGIC; INP2: in STD LOGIC; OUTP: out STD LOGIC — inertial delay -- input -- input -- output end entity ANDGATE 2; Die and-Verknüpfung der Eingangssignal INP1 und INP2 wird nach der Zeit T_DELAY dem Ausgangssignal OUTP mit einem concurrent Statement zugewiesen. Zuweisungsoperator für Signale ist die Zeichenfolge <=. architecture BASIC of ANDGATE_2 is begin OUTP <= INP1 and INP2 after T_DELAY; end architecture BASIC; Das beschriebene Modell ist Bestandteil der Bibliothek FUNDAMENTALS_VDA. In den erstellten VHDL-AMS-Modellbibliotheken für die Simulation von Kfz-Systemen wird der Typ STD_LOGIC standardmäßig zur Beschreibung logischer Signale verwendet. Kombination von Modellansätzen Wie in Bild 2-1 angedeutet, können verschiedene Modellierungsansätze miteinander verknüpft werden. Alle möglichen Klemmenarten - terminal, quantity und signal - können gleichzeitig bei einem zu modellierenden Block auftreten. In simulteneous Statements können die Werte digitaler Signale ausgewertet werden. Die Werte analoger Verläufe können in concurrent Statements gelesen werden. Damit wird die Beschreibung gegenseitiger Abhängigkeiten zwischen unterschiedlichen Modellteilen möglich. Elektrisch-nichtelektrische Wechselwirkungen (multi-discipline) lassen sich mit Modellen beschreiben, bei denen Klemmen durch unterschiedliche nature-Deklarationen charakterisiert sind. Bei analog-digitaler Modelle (mixed-signal) werden analoge Verläufe an terminal- und quantity-Klemmen mit zeitdiskreten Verläufen an Signal-Klemmen verknüpft. -29- FAT FAT Abschnitt 2 Beispiel S CTRL Beschreibende Gleichung: Q_OUT Q_M Mem S_ORL='Y Q_cur= ockr S_OFL='H QJN1 sonst Bild 2-8: Multiplexer mit quantity-Klemmen Ein VHDL-AMS-Modell für den in Bild 2-8 dargestellt Multiplexer ist im Folgenden angegeben. In Abhängigkeit vom Eingangssignal S_CTRL wird der Ausgang Q_OUT entweder mit QJN1 oder QJN2 verbunden. Die Funktion To_Bit dient zur Wandlung eines Signalwertes vom Typ STD_LOGIC in einen BIT-Wert. Der Funktionswert für die Argumente T und 'H' ist T , für alle übrigen Argumente '0'. Das folgende Modell ist in die Bibliothek FUNDAMENTALS_VDA eingeordnet. library IEEE; use IEEE.STD_LOGIC_1164.all; entity Q_MUX2_VDA is port ( quantity Q INI quantity Q_ IN2 signal s CTRL quantity Q_ OUT : : : : in REAL; in REAL ; in STD_LOGIC; out REAL ----- first input port second input port control Signal Output port end entity Q MUX2 VDA; architecture BASIC of Q_MUX2_VDA is Signal CTRL : BIT; begin CTRL <= To_Bit (S_CTRL); if CTRL = ' 1' use Q_OUT == Q_IN1; eise Q_OUT == Q_IN2; end use; break on CTRL; end architecture BASIC; 2.3 Strukturbeschreibungen Vorhandene Modelle können miteinander verbunden werden, um das Verhalten eines größeren Systems zu beschreiben. An Hand eines Beispiels sollen die dabei zu bearbeitenden Teilschritte erläutert werden. -30- Grundprinzipien von VHDL-AMS QPULSE ROTATIONAL REF ELECTRICAL REF Bild 2-9: Testschaltung für Gleichstrommotormodell Bild 2-9 zeigt die Testschaltung für ein Gleichstrommotormodell. Der Motor wird an eine Spannungsquelle (Wert gleich 10 V) angeschlossen. Zum Zeitpunkt Null soll der Strom 0 fließen. Das Lastmoment ändert sich von 0 auf 10 Nm nach 100 ms. Das Drehmoment des Motors muss neben dem Lastmoment eine rotatorische Dämpfung der Größe 2 kg-m2-s~x überwinden. Der Anfangswert für den Drehwinkel am rotatorischen Knoten MR_1 soll 0 sein. Die angegebene Testschaltung kann durch Verbinden der Modelle für die einzelnen Komponenten beschrieben werden. Eingabe mit einem Schaltplaneingabewerkzeug (schematic entry tool) Mit einem Schaltplaneingabewerkzeug kann die Gesamtschaltung unter Verwendung von Symbolen für die einzelnen Modelle aufgebaut werden. Wie das im Einzelnen zu erfolgen hat, hängt von den verwendeten Simulationsprogrammen ab. Einige allgemeine Regeln sind aber zu beachten. Die Auswahl eines Modells erfolgt über die Angabe der Bibliothek, der entity-Bezeichnung und der gewählten architecture. Bei der Verbindung der Klemmen von Modellen ist zu beachten, dass erlaubt sind • • • Verbindungen von Klemmen (terminal), die zur selben nature gehören, Verbindungen nichtkonservativer Klemmen (quantity) vom gleichen Typ und Verbindungen von digitalen Klemmen (signal) vom gleichen Typ. Zusätzlich sind Richtungsabhängigkeiten von nichtkonservativen und digitalen Klemmen zu berücksichtigen. Diese sind in der Regel leicht einzusehen. Beispielsweise ist es nicht gestattet nichtkonservative Ausgabeklemmen miteinander zu verbinden. Die Vorgabe unterschiedlicher Werte an den Ausgängen führt üblicherweise auf Widersprüche. Bei der Zuweisung von Parameterwerten, die von den Vorgabewerten abweichen, ist der Typ des Parameters zu berücksichtigen. Mit Ausnahme des Typs TIME können bei der Eingabe keine Maßeinheiten berücksichtigt werden. Die Einheiten von Parametern sind deshalb im Programmtext sorgfältig zu dokumentieren. In den VHDL-AMS-Modellbibliotheken für die Simulation von Kfz-Systemen werden in der Regel Sl-Einheiten verwendet. VHDL-AMS ist eine Sprache, bei der strenge Typprüfungen vorgenommen werden. Diese Regeln sind bei der Zuweisung von Parameterwerten zu berücksichtigen. -31 - FAT FAT Abschnitt 2 Tabelle 2-4: Beispiele für Konstanten in Abhängigkeit vom Typ Typ Beispiele Wert in VHDL-AMS Mathematische Schreibweise / Kommentar INTEGER 10 10 REAL 2.0 2,0 5.0E3 5,0-103 REAL'LOW entspricht -oo ( « - 1 0 3 8 ) Verwendung auch als Vorgabe für nicht definierte reelle Parameter, für die aber keine weitere Wertzuweisung erforderlich ist. REAL'HIGH entspricht oo ( « 1 0 3 8 ) REAL_VECTOR (1.0,2.0,20.0) Feld mit den reellen Elementen 1,0 sowie 2,0 und 20,0 TIME 1 fs 1(T15 s 1 US 1(T6 s 5s STRING 5sec "ON" BIT '0' logisch 0 T logisch 1 ('0','r, '0','1') "0101" Beide Angaben beschreiben einen BIT-Vektor mit den logischen Werten 0, 1, 0 und 1. STDJ.OGIC 'Z' hochohmig (siehe auch Tabelle 2-3) BOOLEAN FALSE falscher Wert TRUE wahrer Wert BITJVECTOR Beschreibung der Netzliste mit VHDL-AMS Vom Schalplaneingabewerkzeuge kann eine VHDL-AMS-Netzliste generiert werden. Diese kann auch direkt angegeben werden. Dabei ist wie folgt vorzugehen: • • • Einfügen einer context clause mit Verweis auf die benutzten Bibliotheken und Pakete vor der entity-Deklaration für die Zusammenschaltung Deklaration der entity o Für die Gesamtschaltung - also die oberste Beschreibungsebene - diese Deklaration in der Regel leer. Sie enthält keine Deklaration von Klemmen Beschreibung der Zusammenschaltung in einer architecture o Deklaration der internen Verbindungspunkten als terminal, quantity oder Signal o Instanziierung von Modellen - Überschreiben von Vorgabewerten von Parametern und Verbindung der Klemmen (port) des Modells mit den internen Verbindungspunkten o Eventuell Ergänzen der Beschreibung unter Verwendung von simultaneous und concurrent Statements Ein Modell wird in der Beschreibung direkt instanziiert, indem beschrieben wird, wie die Klemmen der entity-Beschreibung den aktuellen Verbindungsknoten zuzuordnen sind. Die direkte Instanziierung kann allgemein durch eine Anweisung der folgenden Form erfolgen: -32- Grundprinzipien von VHDL-AMS label : entity bibliotheks_name.entity_name(architecture_name) generic map (Überschreiben von Parameter-Vorgabewerten mit parameter name => wert) port map (Verbinden von Klemmen mit internen Verbindungspunkten mit port_name => verbindungspunkt_name) ; Erläuterungen zum Beispiel Die Beschreibung der Netzlist der Testschaltung für den Motor (siehe Bild 2-9) ist im Folgenden angegeben. Verwendet werden Modelle aus der Bibliothek FUNDAMENTALSVDA. Interne Verbindungspunkte sind EL_1, MR_1, LOAD und N. Es wird ein Eingangszweig zur Beschreibung der 10-V-Spannungsquelle deklariert. Für die übrigen Blöcke der Testschaltung werden Modelle instanziiert. library FUNDAMENTALS_VDA, IEEE; use IEEE.MECHANICAL_SYSTEMS.all; use IEEE.ELECTRICAL_SYSTEMS.all; entity TEST_DC_MOTOR is end entity TEST_DC_MOTOR; architecture TEST of TEST_DC_MOTOR is — declaration on internal connection points terminal EL_1 : ELECTRICAL; -- conservative node terminal MR_1 : ROTATIONAL; -- conservative node quantity LOAD, N : REAL; -- nonconservative connection -- branch declaration to describe the input voltage quantity V across I through EL to ELECTRICAL_REF; begin -- description of the input branch V == 10.0; -- instantiation of modeis UUT : entity FUNDAMENTALS_VDA.DC_MOTOR_VDA(BASIC) generic map (IAO => 0.0) port map (EL_1 => EL, EL_2 => ELECTRICAL_REF, MR => MR_1, ML => LOAD, N => N ) ; DAMPER : entity FUNDAMENTALS_VDA.DAMPER_ROT_VDA(BASIC) generic map ( PHIO => 0.0, D => 2.0 ) port map ( MR_1 => MR_1, MR_2 => ROTATIONAL_REF); QPULSE: entity FUNDAMENTALS_VDA.QPULSE_VDA(SPICE) generic map (VI => 0.0, V2 => 10.0, TD => 100.0E-3) port map (Q_OUT => LOAD); end architecture TEST; Am Beispiel des Gleichstrommotors soll die Instanziierung eines Modells exemplarisch erläutert werden. Die enitity-Beschreibung des Modells ist durch die folgenden Anweisungen gegeben. library IEEE; use IEEE.MATH_REAL.all; use IEEE.ELECTRICAL_SYSTEMS.all; use IEEE.MECHANICAL SYSTEMS.all; -33- FAT FAT Abschnitt 2 e n t i t y DC_MOTOR_VDA i s generic( RA LA KM JM B IAO WO PHIO REAL REAL REAL REAL REAL REAL REAL REAL port ( terminal EL terminal MR quantity ML quantity N 0.25; 4.0e-3; 1.528; 0.012; 2.0; REAL'LOW; REAL'LOW; REAL'LOW ------- armature r e s i s t a n c e [V/A] armature inductance [Vs/A] motor constant [Nm/A] mass moment of i n e r t i a [kg*mA2] damping c o e f f i c i e n t [(kg*m A 2)/s] i n i t i a l value "armature c u r r e n t " [A] -- initial value "angular velocity" [rad/s] -- initial value "angle of rotation' ;rad] ----- 1, EL_2 : ELECTRICAL; : ROTATIONAL; : in REAL := 0.0; : out REAL electrical pins mechanical rotational flange controlable load torque motor speed [l/min] snd entity DC_MOTOR VDA; Zu dem Modell existiert außerdem eine architecture BASIC. Die Vorgabewerte aus der entity-Beschreibung werden bis auf IAO bei der Instanziierung übernommen. Die elektrischen Klemmen EL_1 und EL_2 werden mit den Verbindungspunkten EL und ELECTRICAL_REF verbunden. Die Klemme MR wird mit MR_1 verbunden. ML wird an LOAD und N an den Verbindungspunkt N angeschlossen. Analog wird bei der Instanziierung der beiden anderen Modelle verfahren. 0 OM 2O.ÜM 40.OM 60.ÜM «0.0M IOO OM !2O0M 140.0M I60.HM IK0.OM 300.1 Time (s) Bild 2-10: Simulationsergebnis (Lastmoment an LOAD, Drehzahl N und Motorstrom IA -34- Grundprinzipien von VHDL-AMS 2.4 Nutzung von Packages Übersetzen von Modellbestandteilen (design units) Modellbestandteile (design units) sind in VHDL-AMS in logische Bibliotheken zu übersetzen. Derartige Modellbestandteile sind • entity • architecture • Kopf (head) eines package (für andere Modellbestandteile sichtbarer Teil eines Paketes) • Rumpf (body) eines package (für andere Modellbestandteile sichtbarer Teil eines Paketes) Ferner gibt es noch die configuration als möglichen Modellbestandteil. Vor Verwendung eines Modellbestandteils müssen für die Modellierung verwendete primäre Modellbestandteile (entity, package header, configuration) übersetzt worden sein. Standardpakete In verschiedenen Modellbeschreibungen benutzte Typen, Konstanten und Funktionen können in Paketen zusammengefasst werden. Tabelle 2-5 gibt einen Überblick über einige der verfügbaren Standardpakete. Tabelle 2-5: Standardpakete in VHDL-AMS Bibliothek Pakete WORK STD IEEE Bemerkungen Arbeitsbibliothek STANDARD Paket mit Deklarationen von Standardtypen (BIT, BOOLEAN, INTEGER, REAI ), der Funktion NOWzum Zugriff auf die aktuelle Simulationszeit und dem DOMAINSignal zur Abfrage der Simulationsphase (QUIESCENT_DOMAIN bei Arbeitspunktberechnung, TIME_DOMAIN bei einen Zeitbereichssimulation und FREQUENCY_DOMAIN bei einer Kleinsignalfrequenzganganalyse) TEXTIO Paket mit Deklarationen von Typen und Funktionen zum Lesen und Schreiben von bzw. auf Textdateien STD_LOGIC_1164 Deklaration der neunwertigen Logik STDLOGIC (siehe auch Tabelle 2-3) und zugehöriger Operatoren MATH_REAL Grundlegende mathematische Konstanten (MATH_PI für n , MATH_2_PI für In , ...) und Funktionen (COS, SIN, ...) MATH_COMPLEX Grundlegende Deklarationen für Beschreibungen mit komplexer Arithmetik FUNDAMENTALS_CONSTANTS Paket mit fundamentale physikalischen Konstanten (PHYS_Q für Elementarladung, PHYS_K für BoltzmannKonstante, ...) und Werten von Skalierungsfaktoren (ATTO, FEMTO, PICO ) MATERIAL_CONSTANTS Ausgewählte Materialkonstante ENERGY_SYSTEMS Beschreibung einer nature UNSPECIFIED ELECTRICAL_SYSTEMS u. a. Pakete mit nature-Deklarationen (siehe auch Tabelle 2-2) Um auf ein Paket zugreifen zu können, ist eine context clause der Form library bibliotheks_name; use bibliotheks_name.package_name.all; -35- FAT FAT Abschnitt 2 erforderlich. Bestandteil jeder VHDL-AMS-Beschreibung sind die folgenden Anweisungen (default context clause) l i b r a r y WORK, STD; u s e STD. STANDARD.all; Zurückgestellte Wertezuweisungen für Konstante (deferred constants) Soll nachträglich der Wert einer in einem Paket deklarierten Konstanten geändert werden, so gibt es einen erhöhten Aufwand, wenn die Wertzuweisung bei der Deklaration im packageKopf erfolgt. Alle von dem Paket abhängigen Modellbestandteile müssten erneut übersetzt werden. Dieses Problem kann man mit zurückgestellten Wertzuweisungen umgehen. Die Zuweisung der Werte erfolgt im zugehörigen package-Rumpf. Wird dann bei einer konkreten Simulation für eine der deklarierten Konstanten ein anderer Wert benötigt, ist nur die Übersetzung des paket-Rumpfes beispielabhängig erforderlich. In den VHDL-AMS-Modellbibliotheken für die Simulation von Kfz-Systemen wird diese Möglichkeit beispielsweise bei der Definition globaler Temperaturen genutzt. Beispiel Als Beispiel werden die Beschreibungen von package-Kopf und -Rumpf für das Paket AUTOMOTIVE_VDA_FUNDAMENTAL-CONSTANTS ' aus der Bibliothek AUTOMOTIVE_VDA angegeben. package AUTOMOTIVE_VDA_FUNDAMENTAL_CONSTANTS is -- Default value for instance temperature constant AUTOMOTIVE_VDA_TEMP : REAL; -- Default value for nominal ( measurement ) temperature constant AUTOMOTIVE_VDA_TNOM : REAL; -- Default value for heat transfer coefficient constant AUTOMOTIVE_VDA_ALPHA_0UT : REAL; end package AUTOMOTIVE_VDA_FUNDAMENTAL_CONSTANTS; package body AUTOMOTIVE_VDA_FUNDAMENTAL_CONSTANTS is — Date obtained: constant AUTOMOTIVE_VDA_TEMP : REAL := 300.15; -- Date obtained: constant AUTOMOTIVE VDA TNOM : REAL := 273.15 + 20.0; -- Date obtained: constant AUTOMOTIVE_VDA_ALPHA_OUT : REAL := 2.0; end package body AUT0MOTIVE_VDA_FUNDAMENTAL_CONSTANTS; Weitere Informationen sind im Abschnitt 6.3 zu finden. -36- FAT Aufbau der Modellbibliotheken 3 Aufbau der Modellbibliotheken 3.1 Übersicht über die Inhalte der Modellbibliotheken Allgemeiner Überblick Unter Verwendung der Verhaltensbeschreibungssprache VHDL-AMS wurden Grundmodelle für die Simulation von Kfz-Systemen erstellt. Die Modelle sind in Modellbibliotheken zusammengefasst. Zielsetzungen bei der Erstellung der Modellbibliotheken waren u. a. die Bereitstellung wiederverwendbarer, aufeinander abgestimmter und erprobter Grundmodelle und die Sicherung eines einfachen Modellaustausches. Der Modellierungsaufwand beim Anwender soll auf diese Weise reduziert werden. Die Modelle können in unterschiedlichen VHDLAMS-Simulatoren genutzt werden. Eine Erprobung und eine Anleitung zur Nutzung der Modelle erfolgt durch Bereitstellung einfacher Testanordnungen und komplexer Beispiele. Voraussetzung für das Zusammenwirken der Modelle war die Einigung auf Modellierungsrichtlinien ([28], siehe auch [5]). Diese betreffen unter anderem Festlegungen zu den Maßeinheiten in den Modellen, Zählrichtungen in nichtelektrischen Netzwerken und Anforderungen an die Kommentierung der Modelle, die eine automatisierte Erstellung von Dokumentationen erleichtern. Außerdem sind Vereinbarungen für eine gleichzeitige und abgestimmte Modellentwicklung bei unterschiedlichen Partnern getroffen worden. Die erstellen Modelle können beispielsweise in einem frühen Stadium der Produktentwicklung für die Abstimmung zwischen Kraftfahrzeugherstellern, Zulieferern und Halbleiterherstellern genutzt werden. Die Teilbibliotheken werden im Folgenden kurz charakterisiert. Eine ausführlichere Beschreibung ist dem Anhang zu entnehmen. Die Modellnamen sind im weiteren Text aus Gründen der Übersichtlichkeit verkürzt wiedergegeben, erlauben aber eine einfache Zuordnung zu den im Anhang verwendeten Bezeichnungen. • FUNDAMENTALS_VDA Bestandteile dieser Bibliothek sind grundlegende Modelle zur Beschreibung von Signalquellen, zur Konvertierung zwischen physikalischen Bereichen, nichtelektrische Grundelemente und ähnliche Modelle. Zu dieser Bibliothek gehören u. a. Modelle für o elektrische Netzwerkelemente SWITCHJ P2T, SWITCH_1 PNC usw., o thermische Netzwerkelemente wie CTH und RTH, o mechanische Netzwerkelemente wie SPRING, DAMPER usw. o einfache Signalflussblöcke wie Q_ADD, Q_FIRSTORDER, Q_PID usw., o durch Kennlinien und Kennlinienfelder beschriebene Signalflussblöcke wie T L I M D , TLU_1D_FILE, TLU_2D und TLU_2D_FILE, o einfache Signalflussquellen wie QDC, QSINE, QPWL (mit Spice-ähnlichen Argumenten), Q_TRPF (mit Lesen der Verläufe aus einer Datei) usw., o digitale Grundgatter wie AND, NAND, NOR usw., o digitale Signalgeneratoren wie CLOCK und RANDOM_DATA_STREAM, o Konverter zwischen Netzwerken, die unterschiedliche Netzwerkanalogien verwenden, wie IDEALGEAR_R2T, o Konverter zwischen nichtkonservativen Signalflussblöcken und konservativen Netwerken wie Q2ANGLE, Q2FORCE, Q2HEAT_LOW usw., o Konverter zwischen konservativen Netzwerken und nichtkonservativen Signalflussblöcken wie HEAT_FLOW2Q_SENSOR, VELOCITY2Q_SENSOR, TORQUE_MR2QSENSOR usw. , o von Netzwerken, von Ausgängen von Signalflussblöcken und von digitalen Signalen gesteuerte Widerstände wie THERMAL2R_PWL, Q2R, STDJ.OGIC2R, S2R, Q2R usw. • AUTOMOTIVE_VDA In diese Bibliothek werden Modelle typischer kraftfahrzeugspezifischer Systembe- -37- FAT Abschnitt 3 standteile wie Leitungen, Sicherungen, Generatoren, Batterien, typische Lasten im Bordnetz, Sensoren und Aktoren aufgenommen. Das Niveau dieser Modelle liegt im Rahmen der SAE-Klassifikation des Standards J 2546 [18] auf mittlerer Abstraktionsebene. Es sind in der Regel allgemeine Modelle und für ausgewählte Typen parametrisierte Modelle verfügbar. Zu dieser Bibliothek gehören Modelle für o Sicherungen wie FUSE und FUSE_GENERAL, o Leitungen wie WIRE und WIRE_GENERAL, o Lampen wie BULBJF, BULB_2F, BULB_1F_GENERAL und BULB_2F_GENERAL, o Schrittmotoren STEPPER_MOTOR, o EMV-lmpulsewielSO_7637_PULSE1_12V, ISO_7637_PULSE1_24V usw. o Generatormodell GENERATOR_BHV_GENERAL auf der Basis von Kennlinienfeldern, o Blei-Säure-Batterie BATTERY, o Einen speziellen DC/DC-Konverter DCDC, o Sensoren wie HALL (Hall-Sensor) und FIELDPLATTE (Feldplatte), o allgemeine resistive, kapazitive und induktive Wandler wie N2R_NTC, T2R_PTC, ANGLE_MR2C_SENSOR, ANGULAR_VELOCITY_MR2L_SENSORusw. • MEGMA In der Bibliothek sind typische zeitdiskrete digitale Modelle für regelungstechnische Blöcke zusammengestellt. Die Modelle basieren auf Beschreibungen, die im MSRArbeitskreis (MSR - Manufacturer Supplier Relationship) erarbeitet worden sind. Die Modellbeschreibungen, von denen ausgegangen wurde, sind für Datenflussund ereignisgesteuerte Simulatoren (z. B. Matlab/Simulink, ASCET-SD) aufbereitet worden. Für die VHDL-AMS-Modelle wurde gleiches Klemmenverhalten wie bei den Modellen der ursprünglichen MEGMA-Bibliotheksbeschreibungen des MSRArbeitskreises angestrebt. Die Bibliothek enthält unter anderem Modelle für o arithmetische Operatoren wie DIV, MUL, SUM usw., o logische Operatoren wie AND, OR, XOR usw., o Vergleichsoperatoren wie LE, GE usw., o Zähler wie COUNTER_RE, COUNTER_RTE usw., o Verzögerungsblöcke wie DELAY_D_D, DELAY_D_R usw., o Speicherblöcke wie DELTAONESTEP, EDGEBI usw., o Integratoren wie ACCUMULATOR_REAL, INTEGRATORK_REL usw., o Nichtlineare Blocke wie ABS, LIMIT usw., o Filter wie DIGITALLOWPASS_RE, HIGHPASST_RE usw. • SPICE2VHD Modelle mit einem Spice-ähnlichen Parametersatz [17] sind Bestandteil dieser Bibliothek [29, 31]. Dabei werden einerseits Randbeschreibungen für derartige Modelle definiert und andererseits VHDL-AMS-Implementierungen für eine Reihe von Basismodellen bereitgestellt. Die Definition der Randbeschreibung ermöglicht aber auch den Rückgriff auf toolspezifische Spice-Modelle. Verfügbar sind Modelle für o elektrische Grundelemente wie CAPACITOR, RESISTOR, TLINE usw., o unabhängige Spannungsquellen wie VDC, VEXP, VPULSE, VSINE usw., o unabhängige Stromquellen wie IDC, IEXP, IPULSE, ISINE usw., o gesteuerte Quellen wie VCCS und VCVS, o Halbleiterbauelemente auf niedrigem Abstraktionsniveau (Spice-Level 1) wie MOSFET, JFET, BJT und DIODE. Die angefügte Zeichenfolge "_TH" an einige der entity-Namen (z. B. DIODE_TH) weist auf ein einfaches elektrisch-thermisches Modell hin. An einer thermischen Klemme ist über ein thermisches Netzwerk eine Wärmeleistung abzuführen. Die sich einstellende Temperatur beeinflusst die Parameter zur Beschreibung des elektrischen Verhaltens (z. B. die Temperaturspannungen). -38- Aufbau der Modellbibliotheken • SPICE2VHD_DEVICES In dieser Bibliothek sind die Modelle ausgewählter parametrisierter Halbleiterbauelemente zusammengefasst. Basis für die Parametrisierung der Modelle bildet dabei die Information aus den Spice-Modellkarten [33]. Modelle einer Bibliothek greifen in einigen Fällen auf Modelle derselben oder einer anderen Bibliothek zurück. Das muss beim Übersetzen der Bibliotheken beachtet werden. Abschnitt 6.2 können die zu beachtenden Einzelheiten entnommen werden. Allgemeine Bemerkungen zur Nutzung typabhängiger Modelle Die Modelle sind in einer vorgegebenen Unterverzeichnisstruktur abgelegt, die im nächsten Abschnitt kurz erläutert wird. Neben dem eigentlichen Modell kann auf eine Testschaltung mit zugehörigen Simulationsergebnissen zugegriffen werden. Typabhängiges Modell Ableitung der Parameter für allgemeines Modell aus Typangabe Bild 3-1: Behandlung typabhängiger Modelle Existieren für Modelle typabhängige Parametersätze wird bei der Modellbereitstellung das in Bild 3-1 skizzierte Vorgehen angewendet. Es wird ein allgemeines Modell zur Verfügung gestellt, dessen Parameter sich unmittelbar aus dem gewählten physikalisch oder mathematisch motivierten Modellansatz ergeben. Für die zu modellierenden Bauelementetypen wird dieses Modell in eine Beschreibung eingebettet, in der aus der Typangabe über einen Funktionsaufruf die Parameter des allgemeinen Modells abgeleitet werden. Beispiel: Sicherungsmodell Das Interface des allgemeinen Sicherungsmodells aus der Bibliothek AUTOMOTIVE_VDA ist im Folgenden skizziert: entity FUSE_GENERAL_VDA is generic ( RCOLD : REAL := 1.0; TC : REAL := 4.0E-5; TEMP — resistance -- temp. coefficient REAL := AUTOMOTIVEVDATEMP; -- ambient temperature port ( terminal EL_1 : ELECTRICAL; -- plus terminal terminal EL_2 : ELECTRICAL: — minus terminal ) ; end entity FUSE_VDA_GENERAL; Dieses allgemeine Modell FUSE VDA verwendet: FUSE_GENERAL_VDA -39- in einem typabhängigen Modell FAT FAT Abschnitt 3 entity FUSE_VDA is generic ( TYP : FUSE_TYPE; TEMP : REAL := AUTOMOTIVE_VDA_TEMP ) ; port ( terminal EL_1 : ELECTRICAL; -- plus terminal EL_2 : ELECTRICAL -- minus ) ; end entity FUSE_VDA; — — fuse type ambient temperature architecture AI of FUSE_VDA is constant FUSE_VALUES : FUSE_DATA := DETERMINE_FUSE_DATA(TYP) ; begin Dl: entity AUTOMITIVE_VDA.FUSE_GENERAL_VDA(AI) generic map (RCOLD => FUSE_VALUES(1), TC => FUSE_VALUES(2), TEMP EL_1 EL_2 end architecture AI; port map ( => TEMP) => EL_1, => EL_2); Bei der Instanziierung des typabhängigen Modells sind nur den Parametern TYP und ggf. der Umgebungstemperatur Werte zuzuweisen. Der Typ FUSE_TYPE wird als Aufzählungstyp im Paket FUSE_VDA_PAREMETERS deklariert: t y p e FUSE_TYPE i s ( - - Mini f u s e s MINIx (x Amp) MINI3, MINI5, MINI7, MINI7p5, MINI10, MINI15, MINI20, MINI25, MINI30, — ATO f u s e s ATOx (x Amp) ATO3, ATO5, ATO7p5, ATO10, ATO15, ATO20, ATO25, ATO30, - - Maxi f u s e s MAXI20, MAXI30, MAXI40, MAXI50, MAXI60, MAXI70, MAXI80 ); Die verwendeten Bezeichnungen entsprechen den Typbezeichnungen der Sicherungen. Im selben Paket wird auch die Funktion DETERMINE_FUSE_DATA deklariert. In Abhängigkeit vom Sicherungstyp werden die Parameter des allgemeinen Modells bestimmt und einem Datenobjekt vom Typ FUSE_DATA zugewiesen. Die architecture EXTENDED des typabhängigen Modells kann dann beispielsweise in folgender Form instanziiert werden: DUT: entity AUTOMOTIVE_VDA.FUSE_VDA(EXTENDED) generic map (TYP => ATO10) port map (EL_1 => N, EL_2 => ELECTRICAL_REF); Verwendet wird im Beispiel der Typ ATO10. Die Umgebungstemperatur ist durch den Vorgabewert AUTOMOTIVE_VDA_TEMP für den Parameter TEMP festgelegt. Der Vorgabewert wird im Paket AUTOMOTIVE_VDA_FUNDAMENTAL_CONSTANTS deklariert. TEMP kann bei der Instanziierung auch ein anderer Wert zugewiesen werden. Der Vorgabewert AUTOMOTIVE_VDA_TEMP kann, wie in Abschnitt 2.4 in Zusammenhang mit den zurückgestellten Wertzuweisungen (deferred constants) beschrieben, durch ein Neuübersetzendes package-Rumpfes von AUTOMOTIVE_VDA_FUNDAMENTAL_CONSTANTS geändert werden. -40- Aufbau der Modellbibliotheken Beispiel: Parametrisierte Spice-Modelle Das Programm Spiee hat für die Simulation analoger Schaltungen weite Verbreitung gefunden. Für eine Vielzahl von Halbleiterbauelementen existieren parametrisierte Modelle. Auch in Verhaltensbeschreibungen ist die Einbeziehung von Spice-Modellen, z. B. bei der Beschreibung von Ein- und Ausgangsstufen von elektrischen Schaltungen, wünschenswert. Der VHDL-AMS-Standard enthält aber keine Festlegungen zur Einbindung von SpiceModellen in VHDL-AMS-Netzlisten. Das hat dazu geführt, dass toolspezifische Lösungen zur Behandlung von Spice-Modellen in verschiedenen VHDL-AMS-Simulatoren implementiert worden sind. Der Austausch von VHDL-AMS-Modellen wird dadurch aber erschwert. Diese Situation war Ausgangspunkt für die Erstellung der Bibliothek SPICE2VHD. Auf der Grundlage der Spice-Version 3F5 sind Randbeschreibungen für VHDL-AMS-Modelle definiert worden, die über gleiche Parameterbeschreibungen wie die Spice-Modelle verfügen. Die Randbeschreibung des allgemeinen Diodemodells hat beispielsweise folgendes Aussehen: entity DIODE generic MDATA : AREA : TEMP : is ( DIODE DATA := = DE DEFAULT_DIODE_DATA; REAL := = 1. 1.0; REAL := = SI SPICE TEMPERATURE port ( terminal A : ELECTRICAL; terminal C : ELECTRICAL model data area factor instance temp. [K] anode cathode Begin assert AREA > 0.0 report "ERROR: AREA > 0 . 0 required." severity error; end entity DIODE; Der Vorgabewert SPICE_TEMPERATURE kann durch Neuübersetzen des packageRumpfes von SPICE_FUNDAMENTAL_CONSTANTS geändert werden (siehe auch Abschnitt 2.4). Die technologieabhängigen Werte können dem Parameter MDATA übergeben werden. Für die Zuweisung existiert eine Funktion SET_DIODE_DATA, die wie auch die entsprechenden Zuweisungsfunktionen für andere Halbleitermodelle im package-Kopf von SPICE PARAMETERS deklariert ist. funetion SET DIODE DATA constant ISS REAL constant RS REAL constant N REAL constant TT REAL constant CJO REAL constant constant constant constant constant constant constant VJ M EG XTI KF AF FC constant BV constant IBV constant TNOM = = = = = l.OE-14; 0.0; 1.0; 0.0; 0.0; REAL REAL REAL REAL REAL REAL REAL = = = = = = = 1.0; 0.5; 1.11; 3.0; 0.0; 1.0; 0.5; REAL REAL REAL = REAL'HIGH; = l.OE-3; = SPICE TNOM ) return DIODE DATA; -41 - Saturation current (A) ohmic resistance (ohm) emission coefficient transit time (in seconds) zero-bias junetion capacitance (in F) junetion potential (in V) grading coefficient activation energy (in eV) saturation-current temp. exp flicker noise coefficient flicker noise exponent coefficient for forward-bias depletion capacitance formula reverse breakdown voltage [V] current at breakdown voltage Parameter measurement temp. (in Kelvin) FAT FAT Abschnitt 3 Die Bezeichnung SPICE wird als Name für die allgemeinen architecture-Bezeichnungen verwendet. Auf der Grundlage von .model-Karten, die in Spice-Simulatoren zur Beschreibung der Technologieparameter verwendet werden, sind für ausgewählte Bauelemente typabhängige architecture-Beschreibungen erstellt und in der Bibliothek SPICE2VHD_DEVICES zusammengefasst worden. Für die Diode DB5166 ist beispielhaft die auf diese Weise erstellte architecture angegeben. Die entity-Deklaration der Diode in der Bibliothek SPICE2VHD_DEVICES unterscheidet sich nicht von der zuvor angegebenen entity-Deklaration in der Bibliothek SPICE2VHD: a r c h i t e c t u r e DN5166 of DIODE i s - - o r i g i n a l S p i e e Modelcard — .MODEL DN5166 D (IS=2.14N RS=9.69 N=.942 BV=43.3 IBV=350.0N — + CJO=800F VJ=.75 M=.333 TT=36P EG=0.69 XTI=2) c o n s t a n t MODEL CARD: DIODE DATA: = SET DIODE DATA( ISS = > 2.14E-9, RS => 9.69, N = > 0.942, BV => 43.3, IBV => 350.0E-9, CJO => 800.0E-15, VJ => 0.75, M => 0.333, TT => 36.0E-12, EG => 0.69, XTI => 2.0 begin UUT: e n t i t y SPICE2VHD.DIODE (SPICE) g e n e r i c map ( MDATA => MODEL_CARD, AREA => AREA, TEMP => TEMP) p o r t map ( A => A, C => C); end a r c h i t e c t u r e DN516 6; Zur Typunterscheidung ist in diesem Fall der architecture-Name zu verwenden. Die direkte Instanziierung der Diode D5166 ist dann in VHDL-AMS beispielsweise wie folgt möglich Dl: entity SPICE2VHD_DEVICES.DIODE(DN5166) port map ( A => VCC, C => ELECTRICAL_REF); Die Klemmen A wird mit VCC, die Klemme C mit ELECTRICAL_REF verbunden. Es werden für die nicht technologieabhängigen Parameter die Vorgabewerte verwendet. Diesem Aufruf entspricht folgender Ausschnitt aus einer Spice-Netzliste .MODEL DN5166 D (IS=2.14N RS=9.69 N=.942 BV=43.3 IBV=350.0N + CJO=800F VJ=.75 M=.333 TT=36P EG=0.69 XTI=2) Dl VCC 0 DN5166 Zur Generierung der typabhängigen architecture-Beschreibungen aus den .model-Karten existiert ein Hilfsprogramm. Der Umfang der in der Bibliothek SPICE2VHD_DEVICES kann also leicht erweitert und an konkrete Erfordernisse angepasst werden. -42- Aufbau der Modellbibliotheken 3.2 Modellierungsrichtlinien Festlegungen zur Zählrichtungen für Netzwerkmodelle Durch die Vorgabe von Modellierungsrichtlinien [28] muss vorrangig gesichert werden, dass die Kombination von Modellen problemlos möglich ist. Das betrifft die • Verwendung einheitlicher NATURE-Deklarationen für konservative Klemmen und eine • einheitliche Konvention für die Zählrichtungen von Fluss- und Differenzgrößen, insbesondere bei der Modellierung nichtelektrischer Systemteile [9]. Für die Beschreibung konservativer Klemmen sollen dabei einheitlich die Deklarationen des Standards „Packages for Multiple Energy Domain Support" [13] verwendet werden. Die zu verwendenden Netzwerkanalogien ergeben sich aus diesem Standard. Mechanische und andere nichtelektrische Netzwerkmodelle erfordern zusätzliche Interpretationen, um den Zählrichtungen von Fluss- und Differenzgrößen im Netzwerkmodell eine Bewegungsrichtung im Raum zuzuordnen. Die Berücksichtigung dieser Konventionen ist von entscheidender Bedeutung für das problemlose Zusammenwirken von Modellen. Folgende Vereinbarungen werden verwendet (siehe auch Tabelle 3-1): • Positive Verschiebungen (Differenzgrößen im Netzwerkmodell) sind wie die entsprechende Koordinatenachse ausgerichtet. Positive (externe) Kräfte in Richtung der Koordinatenachse werden durch eine Flussquelle, die zum entsprechenden Knoten gerichtet ist, im translatorischen Netzwerkmodell beschrieben. • Im rotatorischen Netzwerkmodell wird analog verfahren. Drehungen entgegen dem Uhrzeigersinn werden positiv gezählt. Externe Drehmomente werden durch Flussquellen, die zum entsprechenden rotatorischen Knoten gerichtet sind, modelliert. • Im thermischen Netzwerk werden externe Wärmeströme durch eine Flussquelle, die zum entsprechenden thermischen Knoten gerichtet ist, beschrieben. Die Konsequenzen dieser Vereinbarungen sind noch einmal in Tabelle 3-1 zusammengestellt. Problemlos miteinander verbinden kann man nur Modelle, bei denen diese Regeln Beachtung finden. Das ist insbesondere zu beachten, wenn eigene Modelle zusammen mit den erstellten Modellen der VHDL-AMS-Bibliotheken für die Simulation von Kfz-Systemen genutzt werden sollen. Tabelle 3-1: Vereinbarungen zur Sicherung der Austauschbarkeit von Modellen nature/Typ Bemerkungen TRANSLATIONAL TRANSLATIONAL_VELOCITY Eine externe Kraft ist durch eine Flussquelle zu modellieren, die vom translatorischen Bezugsknoten (TRANLATIONAL REF oder TRANSLATIONAL_VELOCITY_REF) zum translatorischen Knoten zu richten ist, an dem sie angreifen soll. ROTATIONAL ROTATIONAL_VELOCITY Ein externes Drehmoment ist durch eine Flussquelle zu modellieren, die vom rotatorischen Bezugsknoten (ROTATIONAL_REF oder ROTATIONAL_VELOCITY_REF) zum rotatorischen Knoten zu richten ist, an dem sie angreifen soll. THERMAL Eine Wärmeflussquelie ist vom thermischen Bezugsknoten THERMALREF zum thermischen Knoten zu richten, über den die Wärmeleistung abgeleitet werden soll. Die Differenzgröße (Temperatur) ist in Grad Kelvin zu messen. STDJ.OGIC Für diskrete Signale an den Klemmen ist der Typ STDLOGIC zu verwenden, der im Paket STD_LOGIC der lEEE-Bibliothek deklariert ist. Felder sind üblicherweise mit absteigendem Indexbereich zu deklarieren (... downto ...). -43- FAT FAT Abschnitt 3 Beispiel Bild 3-2 demonstriert die Konsequenzen für ein translatorisches Netzwerkmodell an einem einfachen Beispiel. An der Feder greift die Kraft F in x-Richtung am Punkt P an. Das Verhalten kann durch ein Netzwerkmodell beschrieben werden. Die angreifende Kraft wird durch eine Flussquelle beschrieben, die vom translatorischen Bezugsknoten zum Knoten P gerichtet ist. Die Feder kann dann durch ein Netzwerk mit einem Zweig beschrieben werden Bild 3-2: Translatorisches System und Netzwerkmodell (FFeder = c (x - x 0 )) Ein passendes Federmodell ist in der Bibliothek FUNDAMENTALS_VDAzu finden. library IEEE; use IEEE.MECHANICAL_SYSTEMS.all; entity SPRING_VDA is generic( C : REAL := 1.0; — spring rate [N/m], MIN: >0.0, MAX: INF S_REL0 : REAL := 0.0 -- unstretched spring length [m] ) ; port ( terminal MT_1, MT_2 : TRANSLATIONAL -- mechanical flanges ) ; begin assert C > 0.0 report "ERROR: Value C > 0.0 required." severity ERROR; end entity SPRING_VDA; architecture BASIC of SPRING_VDA is quantity X across F through MT_1 to MT_2; — displacement [m] begin F == C * (X-S_REL0); -- linear translational spring end architecture BASIC; Vereinbarungen zu Parameterangaben Werte von Fluss- und Differenzgrößen konservativer Modellteile (Netzwerkmodelle) und von Verläufen nichtkonservativer Modellteile (Signalflussblöcke) werden in VHDL-AMS ohne Angabe von Maßeinheiten beschrieben. Vorausgesetzt wird in den Modellen, dass für diese Größen Sl-Einheiten verwendet werden. Temperaturangaben erfolgen in Grad Kelvin. Bei Parameterangaben wird auf die Verwendung physikalischer Typen, die in VHDL(-AMS) deklariert werden können, verzichtet. Parameter werden nur durch ihren Zahlenwert beschrieben. Als Maßeinheiten sind in der Regel Sl-Einheiten zu verwenden. Allerdings kann von dieser Regel abgewichen werden, wenn dadurch untypische Angaben erwartet werden. So ist es sicherlich sinnvoll, die Angabe von Leitungsquerschnitten in mm2 und nicht in m2 zu erwarten. Die Konsequenz ist aber, dass die zu verwendenden Einheiten von Parametern im Modell sauber dokumentiert werden müssen. -44- Aufbau der Modellbibliotheken Formale Festlegungen Eine Reihe von Festlegungen zur Gestaltung der Modelle soll ein einheitliches Äußeres der Modelle gewährleisten. Das sichert auf der einen Seite ein einheitliches Erscheinungsbild der Modellbibliotheken, erhöht damit andererseits aber auch die Lesbarkeit der Modelle. Die Festlegungen lehnen sich an bekannte sogenannte „Style Guides" für VHDL an. Sie betreffen u.a. Namenskonventionen für Bezeichner Prüfung von Parameterwerten Reihenfolge von Deklarationen Gestaltung von Kommentaren Aufbau von Fehlermeldungen Die Regeln haben in den meisten Fällen empfehlenden Charakter. Verbindlich sind sie dort, wo ihre Einhaltung für die automatische Dokumentationsgenerierung erforderlich ist. Tabelle 3-2: Empfohlene architecture-Bezeichnungen Bezeichnung Bemerkungen BASIC Sehr einfaches Grundmodell SIMPLE EXTENDED Erweitertes einfaches Modell (z. B. Berücksichtigung von Temperaturänderungen während des Betriebs) PRECISION Berücksichtigung von Effekten zweiter Ordnung SPECIAL Modell mit Berücksichtigung komplizierter Wechselwirkungen zwischen unterschiedlichen physikalischen Bereichen Eingeschränkte Nutzung von VHDL-AMS-Sprachkonstrukten Verfügbare VHDL-AMS-Simulatoren decken in der Regel den VHDL-AMS-Sprachstandard nicht vollständig ab. Da bei den Nutzern der Modellbibliothek unterschiedliche Simulatoren genutzt werden, sollte versucht werden, bei der Modellentwicklung möglichst nur Anweisungen zu verwenden, die von allen oder den meisten Simulatoren unterstützt werden. Auch hierzu werden in den Modellierungsrichtlinien Empfehlungen gegeben. Gegenwärtig vermieden werden in den VHDL-AMS-Modellbibliotheken folgende Sprachkonstruktion • • • • • • • • • zwei- und mehrdimensionale Felder Verwendung vektorieller nature-Deklarationen (z. B. ELECTRICAL_VECTOR) record-Typen (einschließlich nature records) access-Typen (Zeigertyp) Kleinsignalrauschquellen (noise quantity source) simultaneous case Statement simultaneous procedural Statement tolerance-Attribute generate-Anweisungen Die ausführliche Modellierungsrichtlinie liegt als Dokument des Arbeitskreises AK 30 vor. -45- FAT FAT Abschnitt 3 Bibliotheksverwaltung Die erstellten Modelle werden in einer vorgegebenen Verzeichnisstruktur im Dateisystem abgelegt. Für jede Bibliothek ist ein Unterverzeichnis angelegt. Der Name des Unterverzeichnisses entspricht dem logischen Bibliotheksnamen. Nach inhaltlichen Gesichtspunkten sind innerhalb des Verzeichnisses für eine Bibliothek weitere Unterverzeichnisse angelegt worden. Die Verzeichnisstrukur auf der untersten Ebene zum Speichern der Dateien für ein konkretes Modell kann Tabelle 3-3 entnommen werden. Aus dieser Verzeichnisstruktur werden dann für die unterschiedlichen VHDL-AMS-Simulatoren die Bibliotheken generiert. Die Hinweise zur Erzeugung der Bibliotheken sind den Unterverzeichnissen mit der Bezeichnung l i b s zu entnehmen. Tabelle 3-3: Unterverzeichnisse für ein einzelnes Modell Unterverzeichnis Inhalt src VHDL-AMS-Beschreibung (source.vhd) tb Testbench bench.vhd c tb/doc Ergebnisdarstellung in bench.jpg README-Datei mit Hinweisen zur Simulation symbol Symboldarstellung source.png doc Generierte Dokumentationsdateien soivrce.xml und source.html Für die verteilte Modellentwicklung wurde ein zentraler SVN-Server [25, 26] eingerichtet. Durch die Datenübertragung im Internet über ein geschütztes Protokoll (HTTPS) kann den Sicherheitsanforderungen der beteiligten Modellentwickler unkompliziert Rechnung getragen werden. Als Oberfläche für die Nutzung in einer Windows-Umgebung kann TortoiseSVN [27] verwendet werden. SVN unterstützt ein einfaches Löschen und Umbenennen von Dateien und Verzeichnissen. Es verfügt über eine leistungsfähige Verwaltung von Binärdaten. Für den nur lesenden Zugriff auf die öffentlichen Bibliotheken wird das HTTP-Protokoll genutzt. Modellentwickler A Modellentwickler B Bild 3-3: Modellentwicklung über das Internet und Zugriff auf die Modelle -46- Aufbau der Modellbibliotheken Dokumentationsgenerierung Extended Fuse Model Parametrized by Fuse Type Model nun- FUSE_VDA(EXTENDED) Hli.n. AUTOMOT1VE_VDA Stiiictuie electrical_system/fusesfluse_vda Symbol f=] VHDL-AMS Beschreibung J3» < [ ] ^ ^ XML Gelieiics DTD-File NaiM T»e TYP FUSE_ .TYPE TEMP REAL DU.«« IM Mm 300.15 K »0.0 [lescHHi.m Fuse type Amtienttemp File ^ ^ XSLT-File lutHl.n • H i t IM Ty|>« t l a h i e DescivliMi terminal EL_1 ELECTRICAL plus terminal terminal EL_2 ELECTRICAL minus terminal HTML File The archiiecture EXTENDED describes a simple fuse modei ttial is parametrized by the fuse type After tr.e fuse melts, the temninals are connected by ROPEN to ffie eiectrical reference node. [H | M | | . | . II. | . •, Logic.il L«H * y DAslgti UMDestfpt EiBity IEEE ELECTRICAL_SYSTEMS AUTOMOTIVE_VDA F UNDAME NTAL_CONSTANTS AUTOMOTIVE_VDA FUSE_VDA_PARAMETERS AUT0MOTWE_VDA FUSE_GENERAL_VDA(AO) See source code Exaiitple Seetest-bench Bild 3-4: Dokumentationsgenerierung - Allgemeiner Ablauf und Beispiel Eine Reihe von Festlegungen zur Gestaltung der Modelle soll ein einheitliches Äußeres gewährleisten und die Dokumentationsgenerierung gestatten. Um einen möglichst unkomplizierten Online-Zugriff auf die Dokumentation zu ermöglichen, erfolgte die Erstellung von HTML-Dokumenten. Zu diesem Zweck werden aus dem VHDL-AMS-Code eines Modells alle wesentlichen Informationen in ein XML-Zwischenformat [24] überführt, dessen Struktur durch ein projektspezifisches DTD definiert ist. Aus den XML-Beschreibungen wird dann die Dokumentation generiert. In die Dokumentation wird die Beschreibung des Modellrandes, ergänzt um Informationen zur Funktion, aufgenommen: • • • • • entity- und architecture-Bezeichnung, Parameterinformationen aus der VHDL-AMS-Beschreibung (Name, Typ, Vorgabewert), ergänzt um verbale Erläuterungen und die Angabe von Einheiten, die aus den Kommentaren abgeleitet werden, Klemmenbezeichnungen mit näherer Charakterisierung auf Grund des VHDL-AMSQuelltextes (Name, Typ, Nature, Richtung) und aus Kommentaren abgeleiteten Beschreibungen, Informationen zur Funktion und zur Modellnutzung, die sich aus einem speziell formatierten Kommentarkopf ergeben, Verweis auf Literatur zu Beschreibung des Modellansatzes. Außerdem wird in den Modelldokumentationen auf eine Testschaltung mit zugehörigen Simulationsergebnissen verwiesen. -47- FAT FAT Abschnitt 4 4 Beschreibung ausgewählter Modelle VHDL-AMS kann im Rahmen der Spezifikation zur Beschreibung der Anforderungen an neue Komponenten verwendet werden. Daneben ist aber auch eine Beschreibung existierender Bauteile und Systeme möglich. Wie dabei vorgegangen werden kann, soll an Hand ausgewählter Modelle der Modellbibliotheken für Kfz-Systeme im Folgenden skizziert werden. Ausgangspunkt für die Erstellung der VHDL-AMS-Modelle ist eine mathematische Beschreibung für die zu modellierenden Komponenten. Für konkrete Bauteile ist eine Parametrisierung der allgemeinen Modelle erforderlich. Ein erstelltes Modell soll das Verhalten der zu modellierenden Komponenten in einem festgelegten Bereich ausreichend gut beschreiben. Die Qualität eines Modells wird dabei wesentlich von der Qualität der verfügbaren Ausgangsdaten bestimmt. Im Rahmen der Erstellung der VHDL-AMS-Modellbibliotheken für die Simulation von Kfz-Systemen wurde beispielsweise für die Modellerstellung auf Datenblattangaben zu konkreten Bauteilen, allgemeine Angaben zu Materialdaten, Anforderungen aus Standards - beispielsweise für die Bereitstellung von Testsignalverläufen - und nur in Ausnahmefällen auf Messdaten zurückgegriffen. Unterschiedliche Zugänge sind bei der Modellerstellung möglich. Einige sollen im Weiteren an Hand typischer Beispiele vorgestellt werden: • • • • Festlegen einer physikalisch motivierten Modellstruktur und Anpassung der Modellparameter an Datenblattangaben, Messdaten oder Zeit- oder Frequenzverläufe aus anderen Quellen über Optimierung (erläutert an Hand der Modellierung von Sicherungen) Analytische Beschreibung des Verhaltens und Parametrisierung von Modellen durch Geometrie und Materialangaben (erläutert an Hand der Modellierung von Leitungen) Modellierung von vorgegebenen Signalverläufen auf der Grundlage von Standards oder Messvorschriften (demonstriert an Hand der Modellierung von Impulsen zur Prüfung des EMV-Verhaltens) Beschreibung des Verhaltens durch Interpolation oder Approximation von Kennlinien und Kennlinienfeldern (skizziert an Hand eines einfachen Generatormodells) Der Abstraktionsgrad eines Modells richtet sich auch nach dem angestrebten Verwendungszweck. Hier gilt das bekannte Prinzip „So genau wie nötig und nicht so genau wie möglich." Mit den erstellten Modellen der VHDL-AMS-Modellbibliotheken für die Simulation von KfzSystemen sollen im Wesentlichen Grundsatzuntersuchungen im Rahmen der Spezifikation unterstützt werden. Die Modelle bewegen sich dabei auf einem mittleren Niveau, das durch den SAE-Standard J 2546 „Model Specification Process Standard" vorgegeben ist. Das prinzipielle dynamische Verhalten wird beschrieben. Effekte zweiter Ordnung wie thermisch elektrische Wechselwirkungen zwischen Komponentenwerden üblicherweise nicht berücksichtigt. Im Einzelfall muss der Anwender der Modelle entscheiden, ob sie für eine konkrete Aufgabe geeignet sind. Durch Modifikation vorhandener Modelle können eventuell zusätzliche Effekte berücksichtigt werden. Die Beschreibung der Modellansätze erfolgt im Weiteren für einige ausgewählte Modelle, um das typische Vorgehen etwas näher zu erläutern. Die VHDL-AMS-Beschreibungen und die ergänzenden Kommentare in den Modellen der erstellten VHDL-AMS-Modellbibliotheken sollten ansonsten das Verständnis der den Modellen zugrunde liegenden Modellansätze ermöglichen. Das Verhalten von Komponenten ist durch die VHDL-AMS-Beschreibungen gut dokumentiert. -48- Beschreibung ausgewählter Modelle 4.1 Sicherungsmodell Auslösezeit i i i j; II 9 1 ! fh i • • H • • • — •> Strom i • • • Auslösezeit in Abhängigkeit vom Strom i • Erfassen der Abhängigkeit mit Auslösekennlinien für eine definierten Temperatur Bild 4-1: Auslösekennlinien zur Charakterisierung von Sicherungen Ausgangspunkt für die Modellierung von Schmelzsicherungen sind die Auslösekennlinien. Sie beschreiben den Zusammenhang zwischen Strom und Auslösezeit bei einer vorgegebenen Umgebungstemperatur. Die Auslösezeit ist die Zeit, nach der der Sicherungsdraht beim Einschalten eines konstanten Stromes schmilzt. Zu unterschiedlichen Größen des konstanten Einschaltstromes gehören unterschiedliche Auslösezeiten. Die Darstellung aller Paare von Strömen und Auslösezeiten für eine Sicherung ergibt die Auslösekennlinie der Sicherung (siehe auch Anhang A2). Im linken Diagramm von Bild 4-1 sind Auslösekennlinien für Sicherungen unterschiedlicher Nennstromstärke dargestellt. Für eine einzelne Sicherung ergibt sich bei einem größeren Strom eine geringere Auslösezeit. Im Diagramm liegt die Auslösekennlinie für eine Sicherung mit größerer Nennstromstärke rechts von der Auslösekennlinie für eine Sicherung mit einer kleineren Nennstromstärke. Das allgemeine Sicherungsmodell ist in Bild 4-2 dargestellt. Vor Schmelzen des Sicherungsdrahtes fließt der Strom zwischen den elektrischen Klemmen EL_1 und EL_2 durch den Widerstand R. Dabei stellt sich die Spannung V ein. Die thermische Leistung IV wird über das thermische Netzwerk aus den thermischen Widerständen RTH1 und RTH2 sowie den thermischen Kapazitäten CTH1 und CTH2 abgeführt. Unter Berücksichtigung der Umgebungstemperatur TEMP stellt sich am Widerstand die Temperatur TEMP1 ein. Unter Berücksichtigung des Widerstandswertes RCOLD bei der Nominaltemperatur TNOM ergibt sich für den temperaturabhängigen elektrischen Widerstand R = RCOLD • (l + TC • (TEMPI - TNOM)) (4-1) Überschreitet die Temperatur TEMP1 die Schmelztemperatur TMELT des Sicherungsdrahtes schmilzt dieser. Im Modell in Bild 4-2 entspricht dies einem Öffnen des Schalters SW. Die Schalter SW1 und SW2 werden geschlossen. Die Widerstände ROPEN, die beim Auslösen der Sicherung, die elektrischen Klemmen mit dem elektrischen Bezugsknoten verbinden, sind eingeführt worden, um einen Abbruch der Simulation zu verhindern, wenn ein konstanter in die Klemmen EL_1 oder EL_2 fließender Strom vorgegeben wird. Die Architektur -49- FAT FAT Abschnitt 4 SIMPLE des Modells FUSE_GENERAL_VDA aus der Bibliothek AUTOMOTIVE_VDA beschreibt diesen Sachverhalt. Bei der architecture EXTENDED wird das thermische Netzwerk aus vier RTH/CTH-Gliedem gebildet. RTH1 RTH2 SW1 ROPEN R TEMP v SW O EL 2 ROPEN OSW2 elektrisches Teilnetzwerk thermisches Teilnetzwerk Bild 4-2: Sicherungsmodell (architecture SIMPLE) Die VHDL-AMS-Beschreibung ist im Folgenden angegeben. Die Randbeschreibung des allgemeinen Sicherungsmodells lautet: library IEEE, AUTOMOTIVE_VDA; use IEEE.ELECTRICAL_SYSTEMS.all; use AUTOMOTIVE VDA.AUTOMOTIVE VDA FUNDAMENTAL CONSTANTS.all; entity FUSE_GENERAL_VDA is genenc ( RCOLD TC TMELT TNOM : REAL : = REAL = REAL : = REAL = RTH1 REAL = CTH1 REAL : = REAL = RTH2 CTH2 REAL = RTH3 : REAL = CTH3 REAL = REAL = RTH4 CTH4 REAL = REAL = ROPEN TEMP REAL = port 1.0; -- resistance at TNOM [Ohm] 4.0E-5; -- temperature coefficient [l/K] 693.15; — melting temperature [K] AUTOMOTIVE _VDA_TN0M; -- nominal temperature -- temperature resistance [K/W] 0.0; -- temperature capacitance [Ws/K] 0.0; -- temperature resistance [K/W] 0.0; -- temperature capacitance [Ws/K] 0.0; -- temperature resistance [K/W 0.0; -- temperature capacitance [Ws/K] 0.0; -- temperature resistance [K/W] 0.0; -temperature capacitance [Ws/K] 0.0; REAL'HIGH; -- resistance after melting [Ohm] AUTOMOTIVE VDA TEMP -- ambient temperature [K] ( terminal EL 1 : ELECTRICAL; terminal EL 2 : ELECTRICAL Begin -50- -- plus terminal -- minus terminal FAT Beschreibung ausgewählter Modelle assert RCOLD > 0.0 report "ERROR: RCOLD [Ohm] > 0.0 required." severity error; assert TMELT > 0.0 report "ERROR: TMELT [K] > 0.0 required." severity error; assert TNOM > 0.0 report "ERROR: TNOM [K] > 0.0 required." severity error; assert RTH1 >= 0.0 and CTH1 >= 0.0 and RTH2 >= 0.0 and CTH2 >= 0.0 report "ERROR: Thermal RTH and CTH >= 0.0 required." severity error; assert ROPEN > 0.0 report "ERROR: ROPEN [Ohm] > 0.0 required." severity error; assert TEMP > 0.0 report "ERROR: TEMP [K] > 0.0 required." severity error; end entity FUSE_GENERAL_VDA; Die Konstanten AUTOMOTIVE_VDA_TNOM und AUTOMOTIVE_VDA_TEMP sind im Package AUTOMOTIVE_VDA_FUNDMENTALS_CONSTANTS der Bibliothek AUTOMOTIVE_VDA deklariert und können global durch Ändern und erneutes Übersetzten des Körpers des Paketes neu gesetzt werden. Weitere Erläuterungen sind im Abschnitt 2.4 zu finden. Die Architektur SIMPLE ist durch die folgenden Anweisungen gegeben: architecture SIMPLE of FUSE_GENERAL_VDA is quantity V across I through EL_1 to EL_2; quantity V1_OPEN across I1_OPEN through EL_1; quantity V2_OPEN across I2_OPEN through EL_2; Signal MELT : BOOLEAN := FALSE; quantity TEMPI, TEMP2 : REAL; begin Pl : process (TEMPI'ABOVE(TMELT) ) is begin if not MELT and TEMPI'ABOVE(TMELT) then MELT <= TRUE; report "WARNING: Fuse melts." severity warning; end if; end process; if not MELT use V == RCOLD*(1.0+TC*(TEMP1-TNOM))*I; I1_OPEN == 0.0; I2_OPEN == 0.0; eise I ==0.0; if ROPEN /= REAL'HIGH use V1_OPEN == ROPEN*I1_OPEN; V2_OPEN == ROPEN*I2_OPEN; eise I1_OPEN == 0.0; I2_OPEN == 0.0; end use; end use; RTH1*I*V == RTH1*CTH1*(TEMPI'DOT-TEMP2'DOT) + (TEMP1-TEMP2); RTH2*I*V == RTH2*CTH2*TEMP2'DOT + (TEMP2-TEMP); b r e a k on MELT; end a r c h i t e c t u r e SIMPLE; -51 - FAT Abschnitt 4 Für typabhängige Modelle werden die Parameter wie RCOLD, RTH1, CZH1, RTH2, CTH2 u. a. des allgemeinen Modells aus den Auslösekennlinien abgeleitet. VHDL-AMS-Simulation Vergleich der Ergebnisse mit Kennlinie Bild 4-3: Ermittlung der Sicherungsparameter für typabhängige Modelle Diese Parameter werden durch Optimierung ermittelt. Für gegebene Werte dieser Parameter werden mit dem allgemeinen Modells für unterschiedliche Ströme die Auslösezeiten ermittelt. Danach werden die Abweichungen von den erwarteten Auslösezeiten addiert und zu einem Gesamtfehler zusammengefasst. Die Parameterwerte werden solange verändert bis der Fehler unter einer vorgegebenen Schwelle liegt. Die Optimierung erfolgte unter Verwendung des Programms WEVA der Firma DAnalyse (siehe Anhang A2). Im Package FUSE_VDA_PARAMETERS der Bibliothek AUTOMOTIVE_VDA sind im Typ FUSE_TYPE die unterstützten Sicherungstypen zusammengefasst. Die Funktion DETERMINE_FUSE_DATA liefert in Abhängigkeit vom Sicherungstyp die Parameter des allgemeinen Modells, die in einem Feld, definiert durch den Typ FUSEJDATA bereitgestellt werden. Die Funktion DETERMINE_FUSE_DATA wird in den parametrisierten Sicherungsmodellen FUSE_VDA aufgerufen. Dieses Vorgehen wurde im Abschnitt 3.1 an Hand des allgemeinen Sicherungsmodells bereits erläutert. package FUSE_VDA_PARAMETERS is type FUSE_TYPE is ( -- Mini fuses MINIx (x Amp) MINI3, MINI5, MINI7, MINI7p5, MINI10, MINI15, MINI20, MINI25, MINI30, -- ATO fuses ATOx (x Amp) AT03, ATO5, ATO7p5, ATO10, ATO15, ATO20, ATO25, ATO30, — Maxi fuses MAXI20, MAXI30, MAXI40, MAXI50, MAXI60, MAXI70, MAXI80 -52- Beschreibung ausgewählter Modelle type FUSE_DATA is array (1 to 13) of REAL; 1 resistance for TNOM RCOLD [Ohm] 2 temperature coefficient TC [l/K] melting temperature TMELT [K] 3 nominal temperature TNOM [K] 4 thermal resistance RTH1 [K/W] 5 thermal capacitance CTH1 [Ws/K] 6 thermal resistance RTH2 [K/W] 7 thermal capacitance CTH2 [Ws/K] 8 thermal resistance RTH3 [K/W] 9 [Ws/K] 10 thermal capacitance CTH3 [K/W] 11 thermal resistance RTH4 [Ws/K] 12 thermal capacitance CTH4 —_ __ _ _ , 1 L--._, — _ -- 13: resistance after melting ROPEN [Ohm] function DETERMINE_FUSE_DATA (constant TYP : FUSE TYPE) return FUSE_DATA; end package FUSE_VDA_PARAMETERS; 4.2 Leitungsmodell Temperatur der Umgebung TEMP Wärmeübergangszahl ALPHA OUT Temperatur am Leitungsende TEMP EL 1 Temperatur TEMP EL 2 0 EL 1 O EL_2 Isolator elektrischer Leiter Bild 4-4: Leitungsmodell Anders als beim Sicherungsmodell ergeben sich die Parameter des Leitungsmodells aus Geometrie- und Materialangaben [7, 14]. Der Verhaltensbeschreibung des Leitungsmodells liegen mathematische Gleichungen zugrunde, die unmittelbar auf diesen Angaben aufbauen. Der Aufbau der modellierten Leitung ist in Bild 4-4 dargestellt. EL_1 und EL_2 sind elektrische Klemmen. Der Widerstand des Leiters zwischen diesen Klemmen ergibt sich aus der Leitungslänge LENGTH und dem Widerstand R_CON je Längeneinheit bei der Nominaltemperatur TNOM, der tatsächlichen Temperatur des Leiters und dem linearen und quadratischen Temperaturkoeffizienten TC_CON bzw. TC2_CON. Wird kein Widerstand je Längeneinheit angegeben (R_CON = REAL'LOW), wird dieser aus dem Quotienten des spezifischen Widerstandes RHO_CON und dem Leitungsquerschnitt SIZE (in mm2) ermittelt. Das allgemeine Modell WIRE_GENERAL_VDA ist in der Bibliothek AUTOMOTIVE_VDA abgelegt. Drei Architekturen können genutzt werden. Die Maßeinheiten der Parameterwerte weichen teilweise von den Sl-Einheiten ab, um das bei der Leitungsbeschreibung übliche Einheitensystem nicht verlassen zu müssen. -53- FAT FAT Abschnitt 4 Bei der Architektur SIMPLE wird die Umgebungstemperatur TEMP gleich der Temperatur des Leiters gesetzt. Damit ergibt sich für den Leitungswiderstand zwischen den elektrischen Klemmen EL_1 und EL_2 R = RHO • LENGTH • (l + TC_CON • (TEMP- TNOM)+ TC2_CON • (TEMP - TNOM)2) (4-2) oder n RHO CON • LENGTH • (l + TC_ CON • {TEMP - TNOM)+ TC2 CON • (TEMP - TNOM)2) (4-3) SIZE Durch das Modell erfolgt eine Fehlermeldung, wenn die Temperatur TEMP außerhalb der zulässigen Grenzen TEMP_MIN und TEMP_MAX liegt. Bei der Architektur EXTENDED wird die Selbsterwärmung des Leiters auf Grund des Stromflusses berücksichtigt. Die thermischen Eigenschaften des Leiters werden durch die Wärmeleitfähigkeit GTH_CON pro Längeneinheit, die spezifische Wärmekapazität SHC_CON und die Dichte des Leitermaterial SPG_CON berücksichtigt. Die erzeugte Wärmeleistung wird über den Isolator an die Umgebung abgeführt. Die thermischen Eigenschaften des Isolators sind durch die Dicke des Isolationsmaterials THJNS, die Wärmeleitfähigkeit GTHJNS pro Längeneinheit, die spezifische Wärmekapazität SHCJNS und die Dichte des Isolationsmaterials SPGJNS gekennzeichnet. Der Wärmeübergangswiderstand vom Isolator zur Umgebung wird durch die Wärmeübergangszahl ALPHA_OUT gekennzeichnet. Die Umgebungstemperatur ist TEMP. Im Leiter stellt sich ortsunabhängig eine Temperatur T ein. Der Anfangswert der Temperatur T wird auf den Wert der vorgegebenen Umgebungstemperatur gesetzt. Liegt die Temperatur T außerhalb des Temperaturintervalls [TEMP_MIN, TEMP_MAX] erfolgt eine Warnung. Für Kontrollzwecke werden im Modell bei Unter- oder Überschreiten der Grenzen die Signale TMIN_VIOLATION bzw. TMAX_VIOLATION gesetzt. Überschreitet die Temperatur T die Schmelztemperatur TMELT_CON des Leiters, wird der Leitungswiderstand durch den Widerstand ROPEN ersetzt. Bei der Architektur PRECISE werden zusätzlich die vorgegebenen Temperaturen TEMP_EL1 und TEMP_EL2 an den Leitungsenden berücksichtigt. Das Modell berücksichtigt eine ungleichmäßige Temperaturverteilung im Leiter. Ansonsten ist das Verhalten entsprechend der Architektur EXTENDED beschrieben. Die Architekturen EXTENDED und PRECISE berücksichtigen eine Wärmeabfuhr an die Umgebung über den Isolator. Eine Wärmeleitung an benachbarte Leitungsstücke über die Leitungsenden wird nicht in den Modellen erfasst. Tabelle 4-1 gibt einen Überblick über die in die den einzelnen Architekturen berücksichtigten Effekte und Abhängigkeiten. Tabelle 4-1: Berücksichtigte Effekte in den Leitungsmodellen architecture Berücksichtigte Abhängigkeiten und Effekte Temperatur der Umgebung Selbsterwärmung TEMP Wärmeübergang Isolator-Umgebung i. A. von Abhängigkeit von Temperaturen an den Leitungsenden ALPHA_OUT TEMP_EL1 TEMP_EL2 ja nein nein nein nein EXTENDED ja ja ja nein nein PRECISE ja ja ja ja ja SIMPLE Die Randbeschreibung für die drei kurz skizzierten Architekturen ist im Folgenden angegeben: -54- Beschreibung ausgewählter Modelle library IEEE, AUTOMOTIVE_VDA; u s e IEEE.ELECTRICAL_SYSTEMS.all; u s e IEEE.MATH_REAL.all; use AUTOMOTIVE VDA.AUTOMOTIVE V D A FUNDAMENTAL CONSTANTS.all; entity WIRE_GENERAL_VDA is generic ( -- geometric parameters LENGTH : REAL := 1.0; SIZE : REAL := 1.0; TH_INS : REAL : = 0.6; DIA TOT : REAL := 2.7; ----- length [m] cross-sectional area of conductor [mm' 2] thickness of insulator [mm] total diameter of line [mm] -- electrical parameters of conductor R CON : REAL := REAL'LOW; -- resistivity per length [Ohm/m] RHO C O N : REAL := 1.7241E-2 1 -- conductor's resistivity [0hm*mm A 2/m] TC C O N : REAL := 39. 3E-4; -- temperature coefficient TC [l/K] 6. OE-6; -- temperature coefficient TC2 [1/K A 2] TC2 C O N : REAL : TNOM : REAL :== 273. 273.15+20.0; 15 + 20 -- nominal parameter temperature[K] -- thermal characteristics of conductor GTH_CON : REAL := 386.0; -- thermal conductance [W/(K*m)] SHC_CON : REAL := 380.0; — specific thermal capacity [J/(kg*K)] SPG_CON : REAL := 9.0E3; — specific gravity [kg/m A 3] TMELT_CON : REAL := 273.15+1084.0; -- melting temperature [K] R_OPEN : REAL := 1.0E6 -- resistance after melting [Ohm] -- thermal characteristic of insulator GTH_INS : REAL := 0.15; — thermal conductance [W/(K*m)] SHC_INS : REAL := 960.0; -- specific thermal capacity[J/(kg*K)] SPG_INS : REAL := 1380.0; -- specific gravity [kg/m A 3] TMELT_INS : REAL := 273.15+150.0; -- melting temperature [K] -- heat transfer and temperatures ALPHA_OUT : REAL := AUTOMOTIVE_VDA_ALPHA_OUT; -- heat transfer coefficient [W/(m A 2*K] TEMP : REAL := AUTOMOTIVE_VDA_TEMP; — TEMP_MIN : REAL := -40.0 + 273.15; -- low limit of temperature class [K] : REAL := -TEMP_EL_1 : REAL := — TEMP_MAX TEMPEL2 ambient temperature [K] 85.5 + 273.15; upper limit of temperature class [K] AUTOMOTIVE_VDA_TEMP; temperature of EL 1 terminal [K] : REAL := AUTOMOTIVE_VDA_TEMP -- temperature of EL_2 terminal [K] port ( terminal EL_1 terminal E L 2 ELECTRICAL; ELECTRICAL — — plus terminal minus terminal begin -- assert Statements to check the parameters follow end entity WIRE_GENERAL_VDA; Bei den typabhängigen Modellen werden die Modellparameter über die Angabe des Leitungstyps bestimmt. Die Beschreibung des Modellrandes vereinfacht sich: -55- FAT FAT Abschnitt 4 library IEEE, AUTOMOTIVEJVDA; use IEEE.ELECTRICAL_SYSTEMS.all; use AUTOMOTIVE_VDA.AUTOMOTIVE_VDA_FUNDAMENTAL_CONSTANTS. all; use AUTOMOTIVE_VDA.WIRE_VDA_PARAMETERS.all; use AUTOMOTIVE VDA.WIRE VDA FUNCTIONS.all; entity WIRE_VDA generic ( LENGTH : WIRE : SIZE : is REAL := 1.0; WIRE_TYPE := FLY; REAL := 1.0; -- length [m], MIN: >= 0.0 -- wire type — size [mm A 2], MIN: >0.0 TEMP : REAL := AUTOMOTIVE_VDA_TEMP; -- ambient temperature [K], MIN: >0.0 ALPHA_OUT : REAL := REAL'LOW; — heat transfer coefficient at outside [W/(mA2*K], MIN: >0.0 TEMP_EL_1 : REAL := AUTOMOTIVE_VDA_TEMP; -- temperature at EL_1 [K], MIN: >0.0 TEMP_EL_2 : REAL := AUTOMOTIVE_VDA_TEMP -- temperature at EL_2 [K], MIN: >0.0 port ( terminal EL_1 terminal E L 2 ELECTRICAL; ELECTRICAL - plus terminal - minus terminal begin -- assert Statements to check the parameters follow end entity WIRE_VDA; Die unterstützten Leitungstypen sind im Package WIRE_VDA_PARAMETERS unter Verwendung des VHDL-AMS-Typs WIRE_TYPE angegeben. Tabelle 4-2: Elemente des VHDL-AMS-Aufzählungstyps WIRE_TYPE Element in WIRE TYPE Leiter Isolator FLY E-Cu58 F21 PVC (Polyvinyl Chloride) FLRY_A E-Cu58 F21 PVC (Polyvinyl Chloride) FLRY-A-SN E-Cu58 F21, tin-plated PVC (Polyvinyl Chloride) FLRY_B E-Cu58 F21 PVC (Polyvinyl Chloride) FLRY_B_SN E-Cu58 F21, tin-plated PVC (Polyvinyl Chloride) FLR2X_A E-Cu58 F21, tin-plated PE (Polyethylene, cross-linked halogen free) FLR2X_B E-Cu58F21, tin-plated PE (Polyethylene, cross-linked halogen free) FLR33X_B E-Cu58 F21 BETA-HX (Polyester cross-linked) FLR41X_B_SN E-Cu58F21, tin-plated BETA-ZX (Polyolefin Copolymer cross-linked) FLR7Y_A E-Cu58 F21 ETFE (Ethylene Tetraflouroethylene) FLR7Y_B E-Cu58 F21 ETFE (Ethylene Tetraflouroethylene) FLR7Y_B_SN E-Cu58F21, tin-plated ETFE (Ethylene Tetraflouroethylene) FL2G E-Cu58 F21 SIR (Silicon Rubber) FL2G_SN E-Cu58F21, tin-plated SIR (Silicon Rubber) FLR51Y_B E-Cu58 F21 PFA (Perflouralkoxy Copolymer) FLR51Y_B_VN E-Cu58F21, nickel-plated PFA (Perflouralkoxy Copolymer) -56- Beschreibung ausgewählter Modelle Die Funktion DETERMINE_WIRE_DATA im Package WIRE_VDA_PARAMETERS ermöglicht die Bestimmung der Parameter des allgemeinen Leitungsmodells. Dieses wird in den Architekturen SIMPLE, EXTENDED und PRECISE des Modells WIRE_VDA aufgerufen werden. Ein konkreter Leitungstyp kann nur in Zusammenhang mit den handelsüblichen Querschnitten aufgerufen werden. Die entsprechende Prüfung wird in der Funktion DETERMINEWIRE_DATA vorgenommen. Tabelle 4-3: Leitungstypen und unterstützte Querschnitte | SIZE) Element in WIRE_TYPE SIZE in mm2 0.2 2 0.3 5 FLY 0.5 0.7 5 1.0 1.5 2.5 4.0 6.0 10. 0 16. 0 25. 0 35. 0 50. 0 70. 0 95. 0 120.0 X X X X X X X X X X X X X X X FLRY_A X X X X X X X FLRY-A-SN X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X FLRY_B FLRY_B_SN FLR2X_A FLR2X_B X FLR33X_B FLR41X_B_SN X X X X X X FLR7Y_A X X X X X X FLR7Y_B X X X X X X X X FLR7Y_B_SN X X X X X X X X X X X FL2G X X X X X X X X X X X X X FL2G_SN X X X X X X X X X X X X X FLR51Y_B X X X X X X X X FLR51Y_B_VN X X X X X X X X Wird bei der Instanziierung der Wert von ALPHA_OUT nicht angegeben (ALPHA_OUT=REAL'LOW), erfolgt durch die Funktion UPDATE_ALPHA_OUT aus dem Package WIRE_VDA_FUNCTIONS eine Bestimmung dieses Wertes in Abhängigkeit von den Leitungsparametern. Dabei wird freie Konvektion zur Umgebung vorausgesetzt. Für den Leiter wird eine Temperatur angenommen, die zwischen der Umgebungstemperatur und der maximal möglichen Temperatur des Leiters liegt. Grundlagen für die erstellten Leitungsmodelle sind durch die Firma SmartCAE Erarbeitet worden (siehe auch Anhang A2). Die Ergebnisse einiger Testrechnungen sind in Bild 4-5 zusammengestellt. Den Leitungen wurde jeweils ein konstanter Strom eingeprägt. Das obere Diagramm zeigt den Spannungsverlauf über einer 1 m langen Leitung mit einem Querschnitt von 1 mm2 bei einem Strom von 1 A. Umgebungstemperatur und Nominaltemperatur sind gleich. Auch die übrigen Parameter wurden nicht geändert. Erwartungsgemäß entspricht bei Verwendung der Architektur SIMPLE des Modells WIRE_GENERAL_VDA die beobachtete Spannung über der Leitung dem Wert von RHO_CON (= 1.7241E-2). Darunter sind die Spannungsverläufe bei Verwendung des Modells WIRE_VDA angegeben. Auch hier ist die Umgebungstemperatur gleich der Nominaltemperatur. Bei Verwendung der Architektur SIMPLE ist der Spannungswert bei der FLRY-A-Leitung erwartungsgemäß gleich dem Wert von 24.7E-3, der für einen Querschnitt von 0.75 mm2 den Widerstandswert einer 1 m langen Leitung entspricht. Bei Verwendung der Architekturen EXTENDED und PRECISE ergibt sich auf Grund des höheren -57- FAT FAT Abschnitt 4 Leitungswiderstandes als Folge der Selbsterwärmung ein höherer Spannungswert. Die beiden unteren Diagramme dienen einem Vergleich der Architekturen EXTENDED und PRECISE bei unterschiedlichen Temperaturen an den beiden Leitungsenden (40 °C und 70 °C) für eine Testanordnung. Die Umgebungstemperatur TEMP ist 20 °C. Bei Verwendung der Architektur EXTENDEND wird daher im Mittel eine niedrigere Temperatur des Leiters berücksichtigt. Der Gesamtwiderstand fällt in diesem Fall etwas geringer aus als bei Verwendung der Architektur PRECISE. SIMPLE 1A, 1m, Cu, 1 mm2 eoM2 0M- EXTENDED PRECISE SIMPLE 1 A, 1m, FLRY_A, 0.75 EXTENDED > 22.20M= >- 22.10M- Modelltest PRECISE > > 23.0M = 22.8M- Time (s) Bild 4-5: Spannungsverläufe bei Verwendung verschiedener Leitungsmodelle 4.3 EMV-Prüfimpulse S1 S3 Bild 4-6: Prüfimpuls 1 entsprechend DIN ISO7637-2, Parameter und Zustände S1 bis S4 zur Beschreibung der Phasen Bei der Prüfung von elektronischen Schaltungen, die im Automobilbau Verwendung finden, spielt die Sicherstellung der Verträglichkeit gegenüber leitungsgeführten Störungen eine wichtige Rolle. Zur Prüfung der Störfestigkeit im Labor werden im Entwurf der Deutschen -58- Beschreibung ausgewählter Modelle Norm „Elektrische Störungen durch Leitung und Kopplung" DIN ISO 7636-2 eine Reihe von Prüfimpulsen definiert, die der Bordnetzspannung zur Prüfung überlagert werden [6]. Im Labor werden die Bordnetzspannung und die überlagerten Impulse zur Prüfung der Störfestigkeit von einem Prüfgenerator erzeugt. Für Simulationszwecke wird das Verhalten des Prüfgenerators für die unterschiedlichen Prüfimpulse nachgebildet. Bild 4-7 zeigt den prinzipiellen Modellaufbau. Der Prüfimpulsgenerator ist in Reihe zur Versorgungsspannung zu schalten. Die Prüfimpulsfolge wird aktiviert, wenn das Signal S_IN auf den logischen Wert 1 geschaltet wird. Steuersignal S IN l Klemme EL_BATTERY Klemme ELJ.OAD r\ —> Versorgungsspannunq IC Generator zum Erzeugen von Prüfimpulsen nach ) Prüfling ELECTRICAL REF Bild 4-7: Schaltungsanordnung bei Verwendung des Prüfgenerator Am Beispiel des Prüfimpulses 1 für das 12V-Bordnetz soll der Modellierungsansatz beschrieben werden (siehe Bild 4-7). Die Parameter zur Beschreibung des Prüfimpulses können Bild 4-6 entnommen werden. Die Vorgabewerte der Parameter sind entsprechend den Vorgaben der DIN ISO 7637-2 gewählt. Bei Aktivierung des Prüfgenerators durch das Signal S_IN wird für die Zeitdauer T2 der Prüfling von der Versorgungsspannung getrennt. In dieser Zeit liegt der Prüfimpuls entsprechend Bild 4-7 am Prüfling an. Da für 12 V- und 24 VBordnetz unterschiedliche Vorgabewerte Verwendung finden, sind zur Erleichterung der Nutzung für beide Varianten getrennte Randbeschreibungen mit unterschiedlichen Defaultwerten der Parameter erstellt worden. Im Folgenden wird nur die Beschreibung des Prüfimpulses für das 12 V-Bordnetz angegeben. Für Parameter der Prüfimpulse sind im Standard Grenzen vorgegeben. Da aber abweichend von diesen Vorgaben auch andere Werte von den Anwendern der ISO 7637-2 vereinbart werden können, ist auf eine vollständige Parameterprüfung im Modell verzichtet worden. Die Randbeschreibung des Modells, das in der Bibliothek AUTOMOTIVE_VDA zu finden ist, lautet: library IEEE; use IEEE.ELECTRICAL_SYSTEMS.all; use IEEE.MATH_REAL.all; use IEEE.STD LOGIC 1164.all; entity ISO_7 637_PULSE1_12V is REAL = -50.0; generic (US RI TD TR Tl T2 T3 INIT REAL REAL REAL REAL REAL REAL DELAY peak voltage [V] = 10.0; series resistance [Ohm], MIN: 0.0 = 2.0E-3; 10% pulse width [s] , MIN: >TR = l.OE-6; pulse fall time [s] , MIN: >0.0 = 0.5; time between pulses [s], MIN: >T2 = 200.0E-3; — total pulse length [s], MIN: >T3+TD = 50.0E-6; switch delay [s], MIN: >0.0 REAL := 1.0E-3 — init delay [s], MIN: >0.0 -59- FAT FAT Abschnitt 4 port ( terminal EL_LOAD : ELECTRICAL; terminal EL_BATTERY : ELECTRICAL; Signal S_IN : in STD_LOGIC:= '1' — — — -- connection to load to battery plus terminal control Signal ('1' or 'H') ); begin assert RI >= 0.0 report "ERROR: RI > 0.0 required." severity ERROR; assert TD > TR report "ERROR: TD > TR required." severity ERROR; assert TR > 0.0 report "ERROR: TR > 0.0 required." severity ERROR; assert Tl > T2 report "ERROR: Tl > T2 required." severity ERROR; assert T2 > T3+TD report "ERROR: T2 > T3+TD required." severity ERROR; assert T3 > 0.0 report "ERROR: T3 > 0.0 required." severity ERROR; 5 assert INIT_DELAY > 0.0 report "ERROR: INIT_DELAY > 0.0 required." severity ERROR; end entity ISO_7637_PULSE1_12V; Zur Beschreibung des Verhaltens wird ein Zustand STATE eingeführt, der die Werte SO, S1, S2, S3 und S4 annehmen kann. Der Zustand wird mit SO initialisiert und behält diesen Wert bis zur Zeit INIT_DELAY. Danach wechseln die Werte entsprechend den einzelnen Phasen des Verlaufs des Prüfimpulses (siehe Bild 4-6) von S1 nach S4 und beginnen danach erneut mit S1. Die Zustandwechsel werden im Modell mit einer process-Anweisung beschrieben. Die Prüfimpulsfolge wird nach der Initialisierungsphase zu- oder abgeschaltet, wenn während des Zustands S1 das Signal S_IN den Wert ' 1 ' oder 'H' annimmt. In Abhängigkeit vom Zustand sind unterschiedliche Beziehungen zur Beschreibung des Prüfspannungsimpuises zu verwenden. Das ist im Modell unter Verwendung einer case-Anweisung möglich. Die Beschreibung des Verhaltens ist im Folgenden angegeben. Bei der Beschreibung der anderen Prüfimpulse wird entsprechend vorgegangen. architecture IDEAL of ISO_7637_PULSE1_12V is function M (T , TR, D : REAL) RETURN REAL is — smoothing function variable RESULT : REAL; variable TS : REAL; -- switch time begin TS := TR+LOG(10.0/9.0)/D; if T<TS then RESULT:= 1.0; eise RESULT:=(T-TS)/((2.0*TR-TS))*(-1.0/(EXP(-D*2.0*TR)-1.0)-1.0)+1.0; end if; return RESULT; end function M; constant D2 : REAL := 2.0/TR*LOG(3.0); -60- Beschreibung ausgewählter Modelte constant D3 : REAL type STATEJIYP is Signal STATE Signal TSTART Signal ACTIVE Signal ACTIVE_CTRL quantity V quantity VSW := LOG(10.0)/TD; (SO, Sl, S2, S3, S 4 ) ; : STATE_TYP := SO; : REAL := 0.0; : BOOLEAN := TRUE; : BOOLEAN := TRUE; across I across ISW through EL_LOAD; through EL_LOAD to EL_BATTERY; -- pulse source -- switch begin process is begin STATE <= SO; TSTART <= NOW; wait for INIT_DELAY; while TRUE loop if not ACTIVE then wait on S_IN; end if; STATE <= Sl; TSTART <= NOW; wait for T3; STATE <= S2; TSTART <= NOW; wait for 2.0*TR; STATE <= S3; TSTART <= NOW; wait for T2 - 2.0*TR - T3; STATE <= S4; TSTART <= NOW; wait for Tl - T 2 ; end loop; end process; process (S_IN, STATE) is begin if (S_IN = '1' or S_IN = 'H') and (STATE = SO or STATE = Sl) and ACTIVE = FALSE then ACTIVE <= TRUE; end if; if not (S_IN = ' 1 ' or S_IN = H') and (STATE = SO or STATE = Sl) and ACTIVE = TRUE then ACTIVE <= FALSE; end if; end process; ACTIVE CTRL <= not ACTIVE CTRL when ACTIVE and STATE'event; if ACTIVE use case STATE use when SO => when Sl => when S2 => when S3 => when S4 = > when others = end case; eise V == I*RI; V == I*RI; V == I*RI -(EXP(-D2*(NOW-TSTART))-1.0)*US *M((NOW-TSTART), TR, D2) ; V == I*RI + EXP(-D3*(NOW-TSTART))*US; V == I*RI; V == I*RI; I == 0,,0; end use; if ACTIVE and (STATE = Sl or STATE = S2 or STATE = S3) use ISW == 0.0; -- device under test is connected to test pulse eise — device under test is connected to supply voltage VSW == 0.0; end use; break on STATE, ACTIVE, ACTIVE_CTRL; end architecture IDEAL; -61 - FAT FAT Abschnitt 4 Das Ergebnis einer Testsimulation ist in Bild 4-8 dargestellt. , S IN 1 1 V at EL_LOAD VatEL LOAD f- Bild 4-8: Prüfimpulse für 12 V-Bordnetz (SJN und Spannung zwischen EL_1 und EL_2 sowie Ausschnittsvergrößerung) Tabelle 4-4: Übersicht über Modelle von Prüfimpulsgeneratoren Prüfimpuls 1 (12 V) Modell: ISO_7637_PULSE1_12V(IDEAL) Parameter: US—50 V JJJJJ ; Prüfimpuls 1 (24 V) Modell: ISO_7637_PULSE1_24V Parameter: US=-300 V JJ ?•••- I: | «,. Prüfimpuls 2a (12 V) Modell: ISO_7637_PULSE2A(IDEAL) Parameter: US=25 V Lf -62- Beschreibung ausgewählter Modelle Prüfimpuls 2b (12 V) Modell: ISO_7637_PULSE2B_12V(IDEAL) Parameter: US=10V Prüfimpuls 2b (24 V) Modell: ISO_7637_PULSE2B_24V(IDEAL) Parameter: US=20V ZIZIZL:::::::]::!.... Prüfimpuls 3 (12 V) Modell: ISO_7637_PULSE3(IDEAL) Parameter: US=-50V • • • • • ! | i ; II»- ..: c 1 - w ! ....j in i . .. ] 1 ; Prüfimpuls 4 (24 V) Modell: ISO_7637_PULSE4_12V(IDEAL) Parameter: US=-6V; UA=-5V (ein Impuls) Prüfimpuls 4 (12 V) Modell: ISO_7637_PULSE4_12V(IDEAL) Parameter: US=-5V; UA=-4V (ein Impuls) . . . . 1.1 - ,.: I !1 B.J- i • •) | i ] ; r^ » - v ! -63- FAT FAT Abschnitt 4 Prüfimpuls 5a (12 V) Modell: ISO_7637_PULSE5A_12V(IDEAL) Parameter: US=43V (ein Impuls) Prüfimpuls 5a (24 V) Modell: ISO_7637_PULSE5A_24V(IDEAL) Parameter: US=73V (ein Impuls) Prüfimpuls 5b (12 V) Modell: ISO_7637_PULSE5B_12V(IDEAL) Parameter: US=43V; US_STAR=20V (ein Impuls) Prüfimpuls 5b (24 V) Modell: ISO_7637_PULSE5B_24V(IDEAL) Parameter: US=73V; US_STAR=39V (ein Impuls) MJ9- 1 U - 1 1 \ , | 1 | | | | \ \ Erläuterungen Simuliert wurden in allen Beispielen sechs Sekunden mit den Vorgabewerten der Modelle. In den Diagrammen wird oben jeweils das digitale Steuersignal S_IN dargestellt. Unten ist die Spannung am Prüfling unter Berücksichtigung der mit dem Prüfgenerator in Reihe geschalteten Versorgungsspannung dargestellt. Bei den Prüfimpulsen 1, 2a und 2b wird eine Prüfimpulsfolge generiert. Beim Prüfimpuls 3 werden Prüfimpulsfolgen (burst), unterbrochen durch Ruhephasen, generiert. Bei den Prüfimpulsen 4, 5a und 5b wird nur ein Prüfimpuls nach Einschalten des digitalen Steuersignals generiert. 4.4 Generatormodell Das VHDL-AMS-Modell GENERATOR_BHV_VDA soll das Verhalten eines Generators mit Regler entsprechend den Vorgaben des Simulationslastenheftes Generator [20, 33] beschreiben. Ausgangspunkt sind Kennlinien für den maximalen Generatorstrom bei unterschiedlichen Temperaturen. Das Modell ist in der Bibliothek AUTOMOTIVE_VDA des VDA/FAT-AK30 „Simulation gemischter Systeme mit VHDL-AMS" im Unterverzeichnis abgelegt. Implementiert sind zwei Architekturen TEST_140A und TEST_90A auf der Grundlage -64- Beschreibung ausgewählter Modelle approximierter Kennlinienfelder bzw. auf der Basis in einer Datei vorliegender Messdaten für einen 140-A- bzw. 90-A-Generator. N GEN1 GENERATOR_BHV_VDA (Generator und Regler) BP N GEN2 GND TEMP KUEHL TEMP REGLER U GEN SOLL DF PERCENT ETA GEN START LTR LTR Bild 4-9: Klemmen des Modells GENERATOR BHV VDA N_GEN1 und N_GEN2 sind rotatorische Klemmen. Zwischen den Klemmen wird die Drehzahl in [rad/s] vorgegeben. Die Klemme N_GEN2 ist stets mit dem rotatorischen Bezugsknoten zu verbinden. BP und GND sind elektrische Klemmen. BP ist mit der positiven Batteriespannung zu verbinden, GND mit dem elektrischen Masseanschluss. TEMP_KUEHL und TEMP_REGLER sind thermische Klemmen zur Vorgabe der Kühlmittel- bzw. Reglertemperatur in Grad Kelvin. Wenn die Reglertemperatur nicht explizit in die Modellierung einbezogen wird, wird nur die Kühlmitteltemperatur ausgewertet. An U_GEN_SOLL wird die Sollspannung zwischen den Klemmen BP und GND vorgegeben. Das DF-Signal zur Steuerung des Erregerstromes in Prozent wird an der Klemme DF_PERCENT ausgegeben. Der Generatorwirkungsgrad in Prozent wird an der Klemme ETA_GEN ausgegeben. Der Generator wird nach dem Start zugeschaltet, wenn an der Klemme STARTLTR der logische Wert T anliegt. Die Vorgabe der Load-Response-Time an der Klemme LTR erfolgt in Prozent/Sekunde. Der Wert muss größer als Null sein. Parameter des Modells sind der Faktor TK_REGLER für die Temperaturkompensation des Reglers in [mV/K] und die Generatorsollspannung U_GEN_SOLL_25 bei 25 °Celsius. Diese Vereinbarungen sind in Übereinstimmung mit dem Generatorlastenheft gewählt worden. Die Deklaration des Randes in VHDL-AMS kann Bild 4-9 entnommen werden. Der Rand ist durch die folgenden VHDL-AMS-Anweisungen beschrieben: library IEEE, FUNDAMENTALS_VDA, AUTOMOTIVE_VDA; use IEEE.ELECTRICAL_SYSTEMS.all; use IEEE.MECHANICAL_SYSTEMS.all; use IEEE.THERMAL SYSTEMS.all; entity GENERATOR_BHV_VDA is generic ( U_GEN_SOLL25 : REAL := 10.0; TK REGLER : REAL := -10.0 —generator Output voltage at 298.15K -- temperature compensation [mV/K] -65- FAT FAT Abschnitt 4 port ( t e r m i n a l BP : ELECTRICAL; - - positive terminal t e r m i n a l GND : ELECTRICAL; - - negative terminal (ground) t e r m i n a l N_GEN1 : ROTATIONAL_VELOCITY; • r o t a t i o n a l speed [ r a d / s ] t e r m i n a l N_GEN2 : ROTATIONAL VELOCITY; — r o t a t i o n a l speed t e r m i n a l TEMP KUEHL : THERMAL; - - alternator i n l e t a i r temperature t e r m i n a l TEMP REGLER : THERMAL; — Controller temperature t e r m i n a l U GEN_SOLL : ELECTRICAL ; - - generator voltage S i g n a l START LRT : in STD LOGIC; — activation of generator quantity LTR : in REAL; - - load response time [%/s] q u a n t i t y DF_PERCENT : o u t REAL; - - DF value [%] q u a n t i t y ETA_GEN o u t REAL - - generator efficiency value - - between 0.0 and 100.0 ); begin a s s e r t U_GEN_SOLL25 > 0 .0 r e p o r t "ERROR: U_GEN_ _SOLL25 > 0 . 0 reguired." severity error; e n d e n t i t y GENERATOR_ BHV_VDA; Die architecture TEST_90A basiert auf Messdaten, die in einer Datei generator_90a.dat abgespeichert sind: # Generator data # # UB=13,,5V, T—15 degC # ÜB # (V) T (degC) n (min-1) (A) -15.0 -15.0 -15.0 -15.0 -15.0 -15.0 -15.0 1500.0 1600.0 1700.0 1800.0 1900.0 2000.0 2200.0 41.3 48.7 54.5 60.1 64.2 70.4 74.9 i Efficiency (%) P (W) M (Nm) 56.7 57.5 57.7 57.6 57.3 56.8 55.7 983.0 1144.0 1275.0 1407.0 1514.0 1673.0 1814.0 6.3 6.8 7.2 7.5 7.6 8.0 7.9 Efficiency P (W) M (Nm) 837.0 982.0 1105.0 1228.0 1322.0 1434.0 1597.0 5.3 5.9 6.2 6.5 6.6 6.8 6.9 P (W) M (Nm) 714.0 835.0 944.0 1050.0 1152.0 4.5 5.0 5.3 5.6 5.8 JJ. 13.5 13.5 13.5 13.5 13.5 13.5 13.5 ff # UB=13,,5V. T=25 degC JJ. # ÜB # (V) a 13.5 13.5 13.5 13.5 13.5 13.5 13.5 T (degC) 25.0 25.0 25.0 25.0 25.0 25.0 25.0 n (min-1) 1500.0 1600.0 1700.0 1800.0 1900.0 2000.0 2200.0 I (A) 35.3 42.3 48.0 53.4 57.2 61.5 67.0 (%) 56.9 58.1 58.6 58.7 58.4 57.9 56.6 # UB=13.,5V. T=80 degC JJ. # ÜB # (V) T (degC) n (min-1) I (A) Efficiency (%) AL ff 13.5 13.5 13.5 13.5 13.5 80.0 80.0 80.0 80.0 80.0 1500.0 1600.0 1700.0 1800.0 1900.0 30.0 36.2 41.4 46.1 50.1 56.8 58.6 59.3 59.2 58.7 -66- Beschreibung ausgewählter Modelle In Abhängigkeit von der Drehzahl (gemessen zwischen N_GEN_1 und N_GEN2), der Spannung zwischen den Klemmen BP und GND, der vorgegebenen Sollspannung an der Klemme U_GEN_SOLL und den Temperaturen an den Klemmen TEMP_KUEHL und TEMP_REGLER wird der maximal mögliche Generatorstrom unter Verwendung stückweise linear interpolierter Daten bestimmt. Im Package TLU_VDA der Bibliothek FUNDAMENTALS_VDA sind die entsprechenden Interpolationsfunktionen deklariert. Es wird sichergestellt, dass der ermittelte maximale Strom IMAX größer als Null ist. In ähnlicher Weise wird der aus der Klemme BP fließende Strom IAA am Ende der Load-Response-Zeit ermittelt. Es wird sichergestellt, dass dieser Strom zwischen Null und IMAX liegt. Das heißt, ein Entladen der Batterie über den Generator ist nicht vorgesehen. Aus den Werten IAA und IMAX wird das DF-Signal bestimmt. Das DF-Signals wird auf Werte zwischen Null und 100 begrenzt. Diese Begrenzung wird auch für den Wirkungsgrad ETA_GEN vorgenommen. Wenn kein Strom aus der Klemme BP fließt, wird der Wirkungsgrad auf Null gesetzt. Die Ergebnisse einer Testrechnung sind im Bild 4-10 zusammengestellt. Es wird in der Testschaltung ein Widerstand von 0.15 Q. zwischen die Klemmen BP und GND geschaltet. Vorgegeben wird eine Sollspannung von 13.5 V an der Klemme U_GEN_SOLL Die Drehzahl wird innerhalb von 18 Sekunden von 0 auf 18.000 Umdrehungen pro Minute erhöht. Die entsprechende Drehzahl in [rad/s] wird zwischen den Klemmen N_GEN1 und N_GEN2 vorgegeben. Die Temperatur von Kühlmittel und Regler wird auf -15 °C, 25 °C und 80 °C gesetzt. Die Bezeichner der entsprechenden Ergebnisse werden durch "_m15", "_p25" und "_p80" gekennzeichnet. Die Simulationsergebnisse sind in Bild 4-10 dargestellt. Zum Erreichen der vorgegebenen Sollspannung von 13.5 V muss der Generator bei dem verwendeten Lastwiderstand von 0.15 Q einen Strom von 90 A liefern. Dieser Strom kann temperaturabhängig ab einer bestimmten Drehzahl vom Generator geliefert werden. Der Generator braucht für höhere Drehzahlen nicht mehr voll angeregt zu werden. Die entsprechenden DF-Signale nehmen Werte kleiner als Eins an. 2 0 .OK—i S(H_RPH) I _S(ETArGEH_P80) "ÄT^Jy SjB F_PERCEMT_P 8 0J_ I (BF_PERCEHT_P 25) 5(DF_PERCEiaT_H15) S(I_H15) •10.0 Time (s) Bild 4-10: Drehzahl, Wirkungsgrad, DF-Signal und Laststrom für -67- FAT FAT Abschnitt 5 5 Spezielle Funktionen zur Modellerstellung 5.1 Tabellenfunktionen Eindimensionale Funktionen Neben ausgearbeiteten Modellen wie sie im letzten Abschnitt beschrieben worden sind, werden auch Hilfsmittel für die Modellierung zur Verfügung gestellt. Ein typische Aufgabe besteht dabei in der einfachen Beschreibung von Funktionen. Häufig können eindimensionale reellwertige Funktionen durch Wertepaare der Form (x1, f(x1), (x2, f(x2)), ..., (xn, f(xn)) charakterisiert werden. Die Argumente sind dabei geordnet x1 < x2 < ... < xn. Funktionswerte zwischen diesen Werten können durch lineare Interpolation bestimmt werden. Bei äquidistant verteilten Argumenten ist nur die Angabe der Funktionswerte erforderlich: f(XMIN), f(XMIN+DX), f(XMIN+2 DX), ... Im Package TLU_VDA werden entsprechende Funktionen zur stückweise linearen Interpolation bei gegebenen Stützstellen bereitgestellt (siehe Tabelle 5-1). Tabelle 5-1: Funktion LOOKUPJ D LOOKUPJ D Funktionen zur stückweise linearen Interpolation Package TLU_VDA der Bibliothek FUNDAMENTALS_VA Argumente Bemerkung Bezeichner Erläuterung XV aktuelles Argument Funktion zur Bestimmung von X Feld mit Argumentwerten value = V Feld mit Funktionswerten Die stückweise lineare Funktion f ist definiert durch die Felder X und die zugeordneten Funktionswerte in V. XV aktuelles Argument Funktion zur Bestimmung von XMIN, DX Definition der äquidistant verteilten Argumentwerte value = V Feld mit Funktionswerten f(XV) f(XV) Die stückweise lineare Funktion f ist definiert durch die äquidistant verteilten Argumente und die Funktionswerte im FeldV. Beispiel 5-1 Die Anwendung kann an einem einfachen Beispiel erläutert werden. Die Funktion f sei durch die folgenden Punkte beschrieben: X 0.0 1 .OE-3 2.0E-3 3.0E-3 f(x) 1.0 4.0 2.0 2.5 Mit der folgenden Testbench ergibt sich Q als Funktion der Simulationszeit NOW mit linearer Interpolation zwischen den Stützstellen library FUNDAMENTAL S_VDA; use FUNDAMENTALS VDA.TLU VDA.all; entity bench_TLU is end entity bench_TLU; architecture AI of bench_TLU is REAL_VECTOR := (0.0, 1.Oe-3, 2.0e-3, 3.Oe-3); constant X REAL_VECTOR := (1.0, 4.0, constant V 2.0, 2.5); REAL; quantity Q begin Q == LOOKUP_1D(XV => NOW, X => X, V => V) end architecture AI; -68- I Spezielle Funktionen zur Modellersteflung Q 1.0 0.0 _L 1.0E-3 -• NOW Bild 5-1: Funktionsverlauf für Beispiel 5-1 Wünscht man eine Glättung um die vorgegebenen Punkte, LOOKUP_SMOOTH_1D verwendet werden (siehe Tabelle 5-2). Tabelle 5-2: kann die Funktion Glätten einer eindimensionalen stückweise linearen Beschreibung Package TLU_SMOOTH_VDA der Bibliothek FUNDAMENTALS_VDA Funktion Argumente Bezeichner Bedeutung LOOKUP_SMOOTH_1D XV aktuelles Argument Funktion zur X Feld mit Argumentwerten von value = f{XV) V Feld mit Funktionswerten SMOOTH FACTO R analog LOOKUP_1D mit Glättung des Verlaufs an den Stützstellen 0.5 => maximale Glättung XV Aktuelles Argument Funktion XMIN, DX Definition der äquidistant verteilten Argumentwerte von value = f{XV) V Feld mit Funktionswerten SMOOTH FACTO R 0.0 => stückweise linear LOOKUP_SMOOTH_1 D Bemerkungen 0.0 => stückweise linear zur Bestimmung Bestimmung analog LOOKUP 1D mit Glättung des Verlaufs an den Stützstellen 0.5 => maximale Glättung Beispiel 5-2 Das Beispiel 5-1 wird so modifiziert, dass anstelle der Funktion LOOKUP_1D die Funktion LOOKUP SMOOTH 1D verwendet wird: library FUNDAMENTALS_VDA; use FUNDAMENTALS_VDA.TLU_SMOOTH_VDA.all; entity bench_TLU is end entity bench_TLU; architecture A2 of bench_TLU is constant X : REAL_VECTOR := (0.0, 1.0e-3, 2.0e-3, 3.0e-3); constant V : REAL_VECTOR := (1.0, 4.0, 2.0, 2.5); quantity Q : REAL; begin Q == LOOKUP_SMOOTH_1D(XV => NOW, X => X, V => V, SMOOTH_FACTOR=>0.4); end architecture A2; Das Ergebnis ist in Bild 5-2 zusammen mit dem stückweise linearen Verlauf aus Bild 5-1 dargestellt. -69- FAT FAT Abschnitt 5 Time(s) Bild 5-2: Verlauf von Q bei Verwendung der Funktion LOOKUP_SMOOTH_1D Eine weitere Interpolationsmöglichkeit besteht in der Verwendung von kubischen Splines zur Interpolation (siehe Tabelle 5-3). Um die Funktionsauswertung effektiv gestalten zu können, werden zunächst die zweiten Ableitungen an den Stützstellen unter Verwendung der Funktionen SPLINE_V2_1D berechnet und in einem Feld gespeichert. Dabei sind die Ableitungen in den beiden Endpunkten vorzugeben. Beim Aufruf der Funktion SPLINE_1D kann mit dem Parameter MODE festgelegt werden wie die Funktion außerhalb des Definitionsbereiches fortgesetzt werden soll. Tabelle 5-3: Funktion SPLINE_V2_1D SPLINEJD SPLINE_V2_1D SPLINEJD Kubische Splines zur Beschreibung eindimensionaler Funktionen Package SPLINES_VDA der Bibliothek FUNDAMENTALS_VDA Argumente Bemerkungen Bezeichner Bedeutung X Feld mit Argumentwerten V Feld mit Funktionswerten VDOTJ. 1. Ableitung am linken Endpunkt VDOT_R 1. Ableitung am rechten Endpunkt XV aktuelles Argument Funktion zur Bestimmung X Feld mit Argumentwerten von value = f{XV) V Feld mit Funktionswerten analog LOOKUPJD V2 Feld mit 2. Ableitungen MODE Beschreibung der Fortsetzung außerhalb des Definitionsbereiches ("C", "L", "S", "E") XMIN, DX Definition der äquidistant verteilten Argumentwerte V Feld mit Funktionswerten VDOT_L 1. Ableitung am linken Endpunkt Bestimmung des Feldes mit den 2. Ableitungen für die schnelle SplineInterpolation Bestimmung des Feldes mit den 2. Ableitungen für die schnelle SplineInterpolation VDOT_R 1. Ableitung am rechten Endpunkt XV aktuelles Argument Funktion zur Bestimmung XMIN, DX Definition der äquidistant verteilten Argumentwerte von value = f{XV) V Feld mit Funktionswerten V2 Feld mit 2. Ableitungen MODE Beschreibung der Fortsetzung außerhalb des Definitionsbereiches ("C", "L", "S", "E") -70- analog LOOKUP 1D Spezielle Funktionen zur Modellersteilung Beispiel 5-3 Das Beispiel 5-1 wird so modifiziert, dass anstelle der Funktion LOOKUP_1D die Funktion SPLINE_1D verwendet wird. Die Ableitung im linken und rechten Endpunkt wird gleich 3.0E3 bzw. 0.5E3 gesetzt. library FUNDAMENTALS_VDA; use FUNDAMENTALS_VDA.SPLINES_VDA.all; entity bench_TLU is end entity bench_TLU; architecture A3 of bench_TLU constant X : REAL_VECTOR constant V : REAL_VECTOR constant VA : REAL_VECTOR is := (0.0, 1.0e-3, 2.0e-3, 3.0e-3); := (1.0, 4.0, 2.0, 2.5); := SPLINE_V2_1D(X, V,3.0e3, 0.5e3); quantity Q : REAL; begin Q == SPLINE_1D (XV => NOW, X => X, V => V, V2 => VA, MODE=>"L"); end architecture A3; Das Ergebnis ist in Bild 5-3 zusammen mit dem stückweise linearen Verlauf aus Bild 5-1 dargestellt. Im Gegensatz zum Beispiel 5-2 läuft Q jetzt durch die vorgegebenen Stützstellen. Bild 5-3: Verlauf von Q bei Verwendung der Funktion SPLINE_1 D Die Werte der Stützstellen können auch aus einer Datei eingelesen werden. Das Package FILE_IO_READ stellt dafür die Funktion READ_REAL_VECTOR_FROM_FILE zur Verfügung (siehe Tabelle 5-4). Das Beispiel 5-4 demonstriert die Nutzung dieser Funktion Tabelle 5-4: Funktionen zum Einlesen von Daten aus einer Datei ohne Sortierung Package FILE_IO_READ der Bibliothek FUNDAMENTALS_VDA Funktion READ_REAL_VECTOR_FROM_FILE Bemerkungen Argumente Bezeichner Bedeutung FILENAME Dateiname READ_COLUMN Zulesende Spalte NUMBER_COLUMNS Gesamtzahl der Spalten -71 - Einlesen der Werte aus einer Spalte FAT FAT Abschnitt 5 Beispiel 5-4 Die Stützstellen für die vorangegangenen Beispiele sollen in einer Datei test.dat gespeichert sein. Diese Datei hat folgenden Inhalt: # Comment l i n e S t a r t s with # # time values (X) function values column 2 # column 1 # number of columns=2 0.0 1.0 l.OE-3 4.0 2.0E-3 2.0 3.0E-3 2.0 (V) Die Felder X und V sind auf Grund der Werte in der Datei test.dat aufzubauen. Die Beschreibung des Beispiels 5-1 ändert sich dann beispielsweise wie folgt: library FUNDAMENTALS_VDA; use FUNDAMENTALS_VDA.TLU_VDA.all; use FUNDAMENTALS_VDA.FILE_IO_READ.all; entity bench_TLU is end entity bench_TLU; architecture A4 of bench_TLU is constant X : REAL_VECTOR := READ_REAL_VECTOR_FROM_FILECtest.dat",1,2) ; constant V : REAL_VECTOR := READ_REAL_VECTOR_FROM_FILECtest.dat", 2, 2) ; REAL; quantity Q begin Q == LOOKUP_1D(XV => NOW,X => X, V => V ) ; end architecture A4; Mehrdimensionale Funktionen Tabelle 5-5: Funktion LOOKUP_2D LOOKUP_2D LOOKUP_3D LOOKUP_3D LOOKUP_4D LOOKUP_4D Funktionen zur stückweise linearen Interpolation Package TLIM/DA der Bibliothek FUNDAMENTALS_VA Argumente Bemerkung Bezeichner Erläuterung XV, YV aktuelle Argumente Funktion zur Bestimmung von X, Y Felder zur Definition der Gitterpunkte value = f{XV,YV) V Feld mit Funktionswerten Die stückweise lineare Funktion f ist definiert durch die Felder X, Y und die zugeordneten Funktionswerte in V. XV, YV aktuelle Argumente XMIN, ... Äquidistante Gitterpunkte Überladene Funktion mit äquidistant geteiltem Gitter der Argumentwerte XV, YV, ZV aktuelle Argumente Funktion zur Bestimmung von X, Y, Z Gitterpunkte value = f{XV,YV,ZV) V Funktionswerte XV, YV, ZV aktuelle Argumente XMIN, ... Äquidistante Gitterpunkte Überladene Funktion mit äquidistant geteiltem Gitter der Argumentwerte XV, YV, ZV, AV aktuelle Argumente Funktion zur Bestimmung von X, Y, Z, A Gitterpunkte V Funktionswerte XV, YV, ZV, AV aktuelle Argumente XMIN, ... Äquidistante Gitterpunkte value - f(XV, YV, ZV, A V) -72- Überladene Funktion mit äquidistant geteiltem Gitter der Argumentwerte Spezielle Funktionen zur Modellerstellung Zur Beschreibung von Kennlinienfeldern werden reellwertige Funktionen mit mehreren Argumenten benötigt. Die Kennlinienfelder können durch n-Tupel beschreiben werden. Die Datenpunkte müssen in einem orthogonalen Raster liegen. Einzelheiten können den kommentierten Funktionen entnommen werden. Zwischen den Datenpunkten wird linear interpoliert. Es können zur Beschreibung von Kennlinienfeldern, die Funktionen aus Tabelle 5-5 verwendet werden. Beispiel 5-5 Die Funktion v=f(x, y) sei durch die folgenden Datenpunkte beschrieben: X 0.0 1.0E-3 2.0E-3 3.0E-3 0.0 1.0E-3 2.0E-3 3.0E-3 y Value v 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 0.0 0.0 10.0 10.0 0.0 0.0 10.0 20.0 Die folgende Testbench-Architecture demonstriert die Nutzung der Funktion LOOKUP_2D: architecture aO_2d of bench_TLU is constant X : REAL_VECTOR := (0.0, 1.0e-3, 2.0e-3, 3.0e-3); constant Y : REAL_VECTOR : = (1.0, 2.0); constant V : REAL_VECTOR := (0.0, 0.0, 10.0, 10.0, -- y=l.0 0.0, 0.0, 10.0, 20.0); -- y=2 . 0 quantity Q : REAL ; begln Q == LOOKUP_2D(NOW, 1.0, X, Y, V) ; end architecture aO_2d; D Auch ein Einlesen der Datenpunktwerte für die Funktionen zur Beschreibung von Kennlinienfeldern aus Dateien ist möglich. Die n-Tupel müssen in der Datei zeilenweise als ASCIIDaten abgelegt sein. Unter Verwendung der Funktionen aus Tabelle 5-6 kann ein Einlesen und Sortieren von Werten unter Berücksichtigung der Anforderungen der Funktionen aus Tabelle 5-5 erfolgen. Beispiel 5-6 Für das Generatormodell (siehe Abschnitt 4.4) sind die Kennfelddaten in einer Datei generator_90a.dat gespeichert: # Generator data # # UB=13.5V. T=-15 degC # # ÜB # (V) T (degC) n (min-1) I (A) Efficiency (%) P (W) 56.7 57.5 983.0 1144.0 M (Nm) # 13.5 13.5 -15.0 1500.0 -15.0 1600.0 41.3 48.7 6.3 6.8 Der maximale Strom IMAX hängt von der aktuellen Temperatur T und der Drehzahl N ab: constant FILE_90A : STRING := "generator_90a.dat"; constant T_ARGUMENTS : REAL_VECTOR := READ_ARGUMENTS_FROM_FILE (FILE_90A, 2 ) ; — 2nd column (T values) constant N_ARGUMENTS : REAL_VECTOR := READ_ARGUMENTS_FROM_FILE (FILE_90A, 3 ) ; — 3rd column (N values) constant I_VALUES : REAL_VECTOR — 4th column (I values) := READ_VALUES_FROM_FILE (FILE_90A,4 , 2 , T_ARGUMENTS, 3,N_ARGUMENTS) Die Berechnung von IMAX erfolgt mit dem Aufruf IMAX := LOOKUP 2D(T, N, T ARGUMENTS, N ARGUMENTS, I VALUES); -73- D FAT FAT Abschnitt 5 Tabelle 5-6: Funktionen zum Einlesen und Sortieren von Daten aus einer Datei Package FILE_IO_READ_AND_SORT der Bibliothek FUNDAMENTALS_VA Funktion Bemerkungen Argumente Bezeichner READ_ARGUMENTS_FROM_FILE READ_VALUES_FROM_FILE READ_VALUES_FROM_FILE READJVALU ES_FROM_F 1LE READ_VALUES_FROM_FILE Bedeutung FILENAME Dateiname READ_COLUMN Spalte FILENAME Dateiname COLUMN_VALUE Spalte mit Funktionswerten COLUMN_X Spalte mit Argumentwerten X Feld mit Argumentwerten FILENAME COLUMN_VALUE Spalte mit Funktionswerten COLUMN_X Spalte mit XArgumentwerten X Feld mit XArgumentwerten COLUMN_Y Spalte mit YArgumentwerten Y Feld mit YArgumentwerten FILENAME Dateiname COLUMN_VALUE Spalte mit Funktionswerten COLUMN_X Spalte mit XArgumentwerten X Feld mit XArgumentwerten COLUMN_Y Spalte mit YArgumentwerten Y Feld mit YArgumentwerten COLUMN_Z Spalte mit ZArgumentwerten Z Feld mit ZArgumentwerten FILENAME Dateiname COLUMN_VALUE Spalte mit Funktionswerten COLUMN X, X, COLUMN Y, Y, COLUMN_Z, Z wie in den vorangegangenen Funktionen COLUMN_A Spalte mit AArgumentwerten A Feld mit AArgumentwerten -74- Einlesen, Sortieren und Verdichten der Werte der Argumente in der angegebenen Spalte für die LOOKUP_xD-Funktionen Auslesen der Funktionswerte für die Funktion LOOKUPJD Auslesen der Funktionswerte für die Funktion LOOKUP_2D Auslesen der Funktionswerte für die Funktion LOOKUP_3D Auslesen der Funktionswerte für die Funktion LOOKUP_4D Spezielle Funktionen zur Modellerstellung Spezielle Modelle zum Wandeln nichtkonservativer Größen Die beschriebenen Funktionen werden u. a. in speziellen Modellen angewendet, mit denen analoge Verläufe unter Verwendung nichtlinearer Kennlinien gewandelt werden können (siehe Tabelle 5-7). Tabelle 5-7: Nichtkonservative Modelle zum Wandeln von nichtkonservativen Größen Q_OUT=f(Q_IN) oder Q_OUT=g(Q_IN1, QJN2) in Bibliothek FUNDAMENTALS VDA Modell Architecture Bemerkung T L U J D_VDA BASIC Stückweise lineare Beschreibung von f TLU_1D_FILE_VDA BASIC Definition von f mit Werten aus einer Datei Q2Q_1D_VDA PWL Stückweise lineare Beschreibung von f (analog TLLM D-VDA) PWL_SMOOTH Stückweise lineare Beschreibung von f mit Glättung SPLINES Spline-Interpolation zur Beschreibung von f PWL Definition von f mit Werten aus einer Datei (analog TLU_1D_FILE_VDA) PWL_SMOOTH Definition von f mit Werten aus einer Datei und Glättung von f SPLINES Definition von f mit Werte aus einer Datei und SplineInterpolation TLU_2D_VDA BASIC Stückweise lineare Beschreibung von g TLU_2D_FILE_VDA BASIC Definition von g mit Werten aus einer Datei Q2Q_1D_FILE_VDA Beispiel 5-7 Im Folgenden ist die VHDL-AMS-Beschreibung des Modells TLU_1D_VDA angegeben. Die nichtlineare Funktion wird durch die Punktpaare definiert, die durch die Felder IN_VALUES (Argumente) und OUT_VALUES (zugehörige Funktionswerte) gegeben sind. library FUNDAMENTALS_VDA; use FUNDAMENTALS_VDA.TLU_VDA.all; entity TLU_1D_VDA is generic (IN_VALUES : REAL_VECTOR ) — array with real input values := (-5.0,-4.0,-3.0,0.0,3.0,4.0,5.0); OUT_VALUES: REAL_VECTOR ~ corresponding Output values := (25.0,16.0,9.0,0.0,9.0,16.0,25.0) ); port (quantity Q_IN : in REAL; -- quantity input quantity Q_OUT : out REAL -- quantity Output end entity TLU_1D_VDA; architecture BASIC of TLU_1D_VDA is begin Q_OUT == LOOKUP_1D(Q_IN, IN_VALUES, OUT_VALUES); -- evaluation of table end architecture BASIC; Beschreibung zeitlicher Verläufe Modelle zur Beschreibung zeitlicher Verläufe sind in den Tabellen 5-8 und 5-9 u finden. Die nichtkonservativen Modelle in Tabelle 5-8 werden dabei mit ähnlichen Parametersätzen be- -75- FAT FAT Abschnitt 5 schrieben wie die unabhängigen Strom- und Spannungsquellen im Netzwerksimulationsprogramm Spiee. Tabelle 5-8: SPICE-ähnliche Modelle zum Beschreiben von Zeitverläufen Bibliothek FUNDAMENTALS VDA Modell Architecture Bemerkung QDC_VDA SPICE Konstanter Verlauf QEXP_VDA SPICE Exponentiell QPULSE_VDA SPICE Impulsfolge QPWL_VDA SPICE Stückweise linearer Verlauf mit Vorgabe der Stützstellen in einem Feld QSFMM_VDA SPICE Frequenzmoduliertes Signal QSINE_VDA SPICE Sinusförmiger Verlauf In den Modellen in Tabelle 5-9 finden wieder die Tabellenfunktionen Anwendung. Speziell das Modell Q_TRPF_VDA ermöglicht das Einlesen von Zeitverläufen aus einer Datei. Tabelle 5-9: Modelle zum Beschreiben von stückweise linearer Zeitverläufen Bibliothek FUNDAMENTALS VDA Modell Architecture Bemerkung Q_PWL_VDA BASIC Stückweise linearer Verlauf mit Vorgabe der Stützstellen in zwei Feldern (analog der Funktion LOOKUPJD) Q_SAWTOOTH_VDA BASIC Sägezahngenerator Q_TRPF_VDA BASIC Einlesen der Stützstellen aus einer Datei mit Verwendung unterschiedlicher Funktionen zur Glättung EXTENDED SPLINES TLU_SMOOTH Die zeitlichen Verläufen, die durch die genannten Modelle zur Verfügung gestellt werden, können in andere Signaldarstellungen oder Differenz- oder Flussquellen für nichtelektrische physikalische Bereiche unter Verwendung der in Tabelle 5-10 aufgeführten Modelle gewandelt werden. Bild 5-4 zeigt das prinzipielle Vorgehen. -•-o- o Modell zur Beschreibung eines Zeitverlaufs aus Tabelle 5-8 oder 5-9 (z. B. Q_TRPF_VDA) Modell zur Wandlung eines analogen Verlaufs in eine Fluss- oder Differenzquelle (z. B. Q2VELOCITY_VDA) Bild 5-4: Modellierung einer unabhängigen Quelle für nichtelektrische Größen -76- Spezielle Funktionen zur Modellersteilung Tabelle 5-10: Modelle zur Konvertierung nichtkonservativer analoger Verläufe Bibliothek FUNDAMENTALS_VDA Modell Architecture Bemerkung Q2STD_LOGIC_VDA BASIC Wandeln eines analogen Eingangsverlaufes in ein STD_LOGIC-Signal Q_DCSTD_LOGIC_VDA BASIC Vorgabe des Duty Cycles eines STD_LOGIC-Signals durch analoge Eingangswerte zwischen 0 und 1 Q2S_VDA BASIC Wandeln eines analogen Eingangsverlaufes in ein REALSignal Q2VOLTAGE_VDA SIMPLE Wandeln eines analogen Eingangsverlaufes in eine Spannungsquelle entsprechender Größe zwischen den elektrischen Klemmen Q2CURRENT_VDA SIMPLE Wandeln eines analogen Eingangsverlaufes in eine Stromquell entsprechender Größe zwischen den elektrischen Klemmen Q2R_VDA SIMPLE Wandeln eines analogen Eingangsverlaufes in einen Widerstand entsprechender Größe zwischen den elektrischen Klemmen Q2HEAT_FLOW_VDA SIMPLE Wandeln in eine Verlauf einer Wärmestromquelle Q2TEMPERATURE_VDA SIMPLE Wandeln in Verlauf einer Temperaturvorgabe Q2DISPLACEMENT_VDA SIMPLE Wandeln in Verlauf einer Wegvorgabe (nature TRANSLATIONAL) Q2FORCE_MT_VDA SIMPLE Wandeln in Verlauf einer Kraftquelle (nature TRANSLATIONAL) Q2ANGLE_VDA SIMPLE Wandeln in Verlauf einer Winkelvorgabe (nature ROTATI ONAL) Q2TORQUE_MR_VDA SIMPLE Wandeln in Verlauf einer Drehmomentquelle (nature ROTATIONAL) Q2VELOCITY_VDA SIMPLE Wandeln in Verlauf einer Geschwindigkeitsvorgabe (nature TRANSLATIONAL_VELOCITY) Q2FORCE_MTV_VDA SIMPLE Wandeln in Verlauf einer Kraftquelle (nature TRANSLATIONAL_VELOCITY) Q2ANGULAR_VELOCITY_VDA SIMPLE Wandeln in Verlauf einer Winkelgeschwindigkeitsvorgabe (nature ROTATIONAL_VELOCITY) Q2TORQUE_MRV_VDA SIMPLE Wandeln in Verlauf einer Drehmomentquelle (nature ROTATIONAL_VELOCITY) 5.2 Parameterbeschreibung für die Monte-Carlo-Simulation Der SAE Standard J2748 „VHDL-AMS Statistical Analysis Packages" [19] beschreibt den Aufruf und das Verhalten von Funktionen, die für die Beschreibung statistischer Eigenschaften von Parametern verwendet werden können. Die Funktionen sind in VHDL-AMSPackages zusammengefasst. Sie können beispielsweise für die Beschreibung von Parametervariationen elektrischer, elektronischer und mechatronischer Komponenten und Teilsysteme verwendet werden. In Verbindung mit einem Simulationsprogramm können sie u. a. für die Monte-Carlo-Simulation von Systemen, die aus diesen Komponenten aufgebaut sind, genutzt werden. Die Beschreibung der Wahrscheinlichkeitsdichte- und -Verteilungsfunktionen von Parametern erfolgt unter Bezug auf die Parametertoleranzen und die Art der Verteilung. Zu Beginn eines Simulationslaufes werden die Parameterwerte ausgelost. Durch wiederholte Simulationslaufe kann man Aufschiuss über das statistische Verhalten interessierender Systemgrößen erhalten. Die Definition nutzereigener Verteilungsfunktionen ist möglich. -77- FAT FAT Abschnitt 5 Die Packages STATISTICS_CONTROL und STATISTICS mit Steuerparametern bzw. den Verteilungsfunktionen werden in die logische Bibliothek VHDL_UTILITY übersetzt. Tabelle 5-11: Funktionen im Package STATISTICS Bemerkungen Funktion Funktionen zur Definition nutzereigener Verteilungen STDJJNIFORM Zwischen 0 und 1 gleichverteilte Zufallsgröße STD_NORMAL (0,1)- normalverteilte Zufallsgröße STD_PWL_CDF Stückweise linear definierte Verteilungsfunktion STD_DISCRETE_CDF Verteilungsfunktion einer diskreten Zufallsgröße STD_PWL_PDF Stückweise linear definierte Verteilungsdichtfunktion STD_BERNOULLI Bernoulli-Verteilung Funktionen zur Parameterinitialisierung UNIFORM Gleichverteilte Parameterwerte NORMAL Normalverteilte Parameterwerte PWL_CDF Stückweise linear definierte Verteilungsfunktion DISCRTE_CDF Verteilungsfunktion für diskrete Werte PWL_PDF Stückweise linear definierte Verteilungsdichtfunktion DISCRETE_PDF Wahrscheinlichkeitsangaben für diskrete Werte BERNOULLI Bernoulli-Verteilung Die Funktionen können zur Zuweisung von Parameterwerten bei der Instanziierung vorhandener Modelle genutzt werden. Die Beschreibung spezieller Komponenten bei denen im Modell Parametervariationen direkt berücksichtigt werden ist möglich. Beispiel 5-8 Gegeben sei ein Widerstandsmodell: library IEEE; use IEEE.ELECTRICAL SYSTEMS.all; entity RESISTOR is generic (R : REAL); port (terminal P, N end entity RESISTOR; ELECTRICAL) architecture SPICE of RESISTOR is quantity V across I through P to N; begin V == R*I; end architecture SPICE; Bei der Instanziierung soll der Nominalwert des Parameters R 5 kQ betragen. Die Toleranz des Widerstandswertes betrage 5 %. Die Widerstandswerte sind normalverteilt. Die Toleranz soll dem Dreifachen der Standardabweichung entsprechen. Unter Verwendung der Funktion NORMAL kann dem Parameter R dann bei der Instanziierung ein Wert zugewiesen werden. library VHDLJJTILITY; use VHDL_UTILITY.STATISTIC.all; Rl: entity RESISTOR (SPICE) generic map (R => NORMAL (NOMINAL=>5.0E3, TOL=>0.05, ZSCORE=>3.0)) port map (P =>..., N => ...) ; -78- FAT Nutzung der Modelle 6 Nutzung der Modelle 6.1 Simulatorabhängige Änderungen von Packages Die Modelle liegen als VHDL-AMS-Beschreibungen vor. Bevor die Modelle übersetzt werden, sind eventuell einmalig simulatorabhängig Änderungen in den in Tabelle 6-1 angegebenen Packages durchzuführen. Für die Frequenzgangssimulation ist bei der Beschreibung von unabhängigen Quellen die Angabe von Amplitude und Phase erforderlich. Die Funktion ACPHASE_CONVERSION wandelt eine Angabe der Phase im Gradmaß in die Angabe, die im VHDL-AMS-Simulator bei Verwendung der spectrum-quantity-Deklaration benötigt wird: quantity identifier : REAL spectrum magnitude, phase; Wird vom Simulator phase im Gradmaß erwartet, ACPHASE_CONVERSION zu verwenden: ist die folgende Funktion für function ACPHASE_CONVERSION (ACPHASE : REAL) return REAL is begin return ACPHASE; end function ACPHASE_CONVERSION; Diese Implementierung der Funktion wird gegenwärtig in den VHDL-AMS-Beschreibungen in den in Tabelle 6-1 angegebenen Packages verwendet. Wird vom Simulator phase im Bogenmaß erwartet, ist die im Folgenden angegebene Funktion für ACPHASE_CONVERSION zu verwenden: function ACPHASE_CONVERSION (ACPHASE : REAL) return REAL is variable RESULT : REAL; begin RESULT := 6.28318_53071_79586_47693/360.0*ACPHASE; return RESULT; end function ACPHASE_CONVERSION; Die Package-Körper (siehe Tabelle 6-1) sind entsprechend zu ändern. Tabelle 6-1: Packages mit der Funktion ACPHASE_CONVERSION Bibliothek Packages SPICE2VHD SPICE_PARAMETERS FUNDAMENTALS_VDA FUNDAMENTALS_VDA_BASIC_FUNCTIONS AUTOMOTIVE_VDA AUTOMOTIVE_VDA_BASIC_FUNCTIONS 6.2 Übersetzen der Modelle Die Modellbibliotheken sind in folgender Reihenfolge zu übersetzen: • • . • • SPICE2VHD FUNDAMENTALS_VDA AUTOMOTIVE_VDA MEGMA SPICE2VHD DEVICES -79- FAT Abschnitt 6 In den Unterverzeichnissen libs der einzelnen Verzeichnisse mit den VHDL-AMSBeschreibungen sind weitere Hinweise angegeben. Die Reihenfolge der Übersetzung ist in en Dateien vhdlfilelist_ordered beschrieben, die in den Unterverzeichnissen SV der jeweiligen libs-Unterverzeichnisse zu finden sind. Die einzelnen Referenzmodelle im Verzeichnis examples_vda können danach übersetzt werden. 6.3 Beispielabhängige Änderungen von Packages Im Abschnitt 2.4 wurde erläutert wie zurückgestellte Wertzuweisungen für Konstanten verwendet werden können. Insbesondere zur Änderung der globalen Temperatur für alle Modelle einer Bibliothek kann diese Möglichkeit von VHDL-AMS genutzt werden. Dazu sind vor einer Simulation in den in Tabelle 6-2 angegebenen Packages die betreffenden Konstanten erforderlichenfalls zu ändern. Danach sind die geänderten Packages neu zu übersetzen und die Simulation kann gestartet werden Tabelle 6-2: Packages mit zurückgestellten Konstantenzuweisungen Deferred Parameter Wert Bemerkung PackageSPICE FUNDAMENTAL CONSTANTS/ Bibliothek SPICE2VHD SPICE_TEMPERATURE 300.15 Umgebungstemperatur für Modelle in der Bibliothek SPICE2VHD SPICE_TNOM 300.15 Nominaltemperatur für Parameter für Modelle in der Bibliothek SPICE2VHD Package AUTOMOTIVE VDA FUNDAMENTAL CONSTANTS/ Bibliothek AUTOMOTIVE_VDA AUTOMOTIVE_VDA_TEMP 300.15 Umgebungstemperatur für Modelle in der Bibliothek AUTOMOTIVEJVDA AUTOMOTIVE_VDA_TNOM 293.15 Nominaltemperatur für Parameter für Modelle in der Bibliothek AUTOMOTIVE_VDA AUTOMOTIVE_VDA_ALPHA_OUT 2.0 Wärmeübergangszahl 6.4 Kontext-Klauseln An den Anfang einer Modellbeschreibung sind Klauseln zu setzen, die den Zugriff auf Modelle und Vereinbarungen ermöglichen. Um die gebräuchlichen mathematischen Funktionen, logische Wert vom Typ STD_LOGIC und die verbreiteten nature-Deklarationen (wie z. B. ELECTRICAL) verwenden zu können, sind an den Anfang einer Netzliste die folgenden Kontext-Klauseln zu setzen: library IEEE; use IEEE.MATH_REAL.all; use IEEE.STD_LOGIC_1164, all; use IEEE.ELECTRICAL_SYSTEMS.all; use IEEE.MECHANICAL_SYSTEMS.all; use IEEE.THERMAL SYSTEMS.all: -80- FAT Nutzung der Modelle Um die Modelle aller Bibliotheken verwenden zu können, sind an den Anfang einer Netzliste zusätzlich die folgenden library-Klauseln einzufügen: library library library library library SPICE2VHD; FUNDAMENTALS_VDA; AUTOMOTIVE_VDA; MEGMA; SPICE2VHD_DEVICES; Auf die Modelle kann zugegriffen werden, wenn die folgenden use-Klauseln ergänzt worden sind: use use use use use SPICE2VHD.all; FUNDAMENTALS_VDA.all; AUTOMOTIVE_VDA.all; MEGMA.all; SPICE2VHD_DEVICES.all; Auf die use-Klauseln kann verzichtet werden, wenn der Bibliotheksname bei direkter Instanziierung vor den Namen der entity gesetzt wird. Das Widerstandsmodell RESISTOR(SPICE) aus der Bibliothek SPICE2VHD kann beispielsweise wie folgt instanziiert werden: Rl: entity SPICE2VHD.RESISTOR(SPICE) generic map (R => 0.5e-3) port map (P => GEN_M, N => ELECTRICAL_REF); In Abhängigkeit von den tatsächlich verwendeten Modellen können Klauseln für nicht benötigte Modelle weggelassen werden. Um auf die in Tabelle 6-2 angegebenen Konstanten zugreifen zu können, sind die folgenden use-Klauseln zu ergänzen: u s e SPICE2VHD.SPICE_FUNDAMENTAL_CONSTANTS.all; u s e AUTOMOTIVE VDA.AUTOMOTIVE VDA FUNDAMENTAL C O N S T A N T S . a l l ; Um auf die Werte des Typs FUSE_TYPE type FUSE_TYPE is ( -- Mini Fuses MINIx (x Amp) MINI3,MINI5,MINI7,MINI7p5,MINI10,MINI15,MINI20,MINI2 5,MINI30, — ATO Fuses ATOx (x Amp) AT03, ATO5,ATO7p5,ATO10,ATO15,AT02 0,ATO2 5,AT03 0, -- Maxi Fuses MAXI2 0,MAXI30,MAXI40,MAXI50,MAXI60,MAXI7 0,MAXI80 ); bei der Parametrisierung des Sicherungsmodells FUSE_VDA (siehe Abschnitt 4.1) aus der Bibliothek AUTOMOTIVE_VDA zugreifen zu können, muss die folgende use-Klausel ergänzt werden: use AUTOMOTIVE VDA.FUSE VDA PARAMETERS.all; Bei Verwendung des Leitungsmodells WIRE_VDA (siehe Abschnitt 4.2) aus der Bibliothek AUTOMOTIVE_VDA in Zusammenhang mit dem Typ WIRE_TYPE (siehe Tabelle 4-3) muss die folgende use-Klausel ergänzt werden: use AUTOMOTIVE VDA.WIRE VDA PARAMETERS.all; -81 - FAT Abschnitt 7 7 Beispiele Im Folgenden sind einige typische Beispiele angegeben, bei denen die erstellten Modelle eingesetzt worden sind. Beispielabhängig sind neben den in den Bibliotheken verfügbaren Modellen zusätzliche Modelle erstellt worden. Diese beispielspezifischen Modelle sind jeweils in gesonderte VHDL-AMS-Bibliotheken übersetzt worden. Die vollständigen Modellbeschreibungen sind unter den eingangs erwähnten Adresse (siehe Abschnitt Vorbemerkungen) abrufbar. 7.1 Einfaches elektrisches Netz (Generator, Batterie, Last) •j ;-mm Table-Look Up Modelle für Komponenten Drehzahl J—• Batterie Temperature Generator 0 Last Bild 7-1: Bordnetzanordnung Bild 7-1 zeigt eine einfache Bordnetzanordnung. Die Abhängigkeit der Generatordrehzahl von der Zeit ist durch Zeit-Wert-Paare in einer Datei generatordrehzahl.dat vorgegeben. Zum Einlesen der Drehzahl wird das Modell Q_TRPF_VDA aus der Bibliothek FUNDAMENTALS_VDA verwendet. Auch liegt die Beschreibung eines einfachen Generatorkennfeldes in einer Datei vor. Der Wert des Lastwiderstandes wird ebenfalls zeitabhängig durch Zeit-Wert-Paare einer Datei lastprofil.dat beschrieben. Zum Einlesen der Anhängigkeit wird das Modell Q_TRPF_VDA verwendet. Mit dem eingelesenen Wert wird unter Verwendung des Modells Q2R_VDA aus der Bibliothek FUNDAMENTALS_VDA der zeitabhängige Widerstand modelliert. Der Generator wird durch eine Datei charakterisiert, in der zusammengehörende Werte von Drehzahl, Temperatur und maximalem Strom gespeichert sind. Auf der Grundlage dieser Werte ist speziell für das Beispiel das Modell GENERATOR_CF erstellt worden, und in die beispielabhängige Bibliothek EXAMPLE_BOARDNET übersetzt worden. An den Anfang des Modells ist daher die folgende Kontext-Klausel zu setzen (siehe auch Abschnitt 6.4): l i b r a r y IEEE, SPICE2VHD, FUNDAMENTALS_VDA AUTOMOTIVE_VDA, l i b r a r y EXAMPLE_BOARDNET; use I E E E . e l e c t r i c a l S y s t e m s . a l l ; -82- Beispiele Die beschriebenen Modelle können beispielsweise wie folgt instanziiert werden: — Revolution gen_drehzahl : entity FUNDAMENTALS_VDA.Q_TRPF_VDA(BASIC) generic map (TRFILE => "generatordrehzahl.dat") port map (Q_OUT => N_GEN); Time Dependent Load power_load_values : entity FUNDAMENTALS_VDA.Q_TRPF_VDA(BASIC) generic map (TRFILE => "lastprofil.dat") port map (Q_OUT => PWR_LOAD) ; load_resistance : entity FUNDAMENTALS_VDA.Q2R_VDA(POWER) generic map (V_NOM => 12.0) port map ( Q_IN => PWR_LOAD, EL_1 => LOAD, EL 2 => ELECTRICAL REF); -- Example specific generator generator: entity EXAMPLE_BOARDNET.GENERATOR_CF(SIMPLE) generic map (TLUFILE => "generatorkennfeld.dat", V_SOLL => 14.3, V_IMAX => 13.5) port map ( N_GEN => N_GEN, T_AMB => T_UMG, => GEN_P, EL_P => GEN M ) ; EL M Drehzahl > 40.0 >- -20.0 IGEN_MAX IGEN Fli^^«C^^ efficiency = IGEN/IGEN MAX Leistungsumsatz in Last y)%/M^Ni^^vw>l^^^^ Lastspannung Bild 7-2: Simulationsergebnisse In Bild 7-2 sind Simulationsergebnisse dargestellt. Die Diagramme zeigen die vorgegebene Drehzahl des Generators und den maximal möglichen Generatorstrom, der von der Drehzahl abhängig ist. Dargestellt sind weiterhin der tatsächlich vom Generator gelieferte Strom, der kleiner als der maximal mögliche Strom ist, der Generatorwirkungsgrad, der Leistungsumsatz am Lastwiderstand und die Spannung am Lastwiderstand. -83- FAT FAT Abschnitt 7 7.2 EPS-System Das EPS-System (Electric Power Steering) wurde im Abschnitt 1.2 vorgestellt. Neben den allgemeinen Modellen aus den vorgestellten Bibliotheken werden auch hier spezielle Modelle verwendet, die in eine Bibliothek EXAMPLE_EPS übersetzt werden. Ein Beispiel für ein spezielles Modell ist das Modell zur Bestimmung des durch die Lenkhilfe aufzubringenden Sollmoments in Abhängigkeit von Fahrzeuggeschwindigkeit und gemessenem Moment, das vom Fahrer aufgebracht wird. Die Randbeschreibung eines Tabellenmodells, das in der Spezifiktionsphase Verwendung finden kann, ist im Folgenden angegeben. entity EPS_CONTR0LLER is generic (SPEED_VALUES : REAL_VECTOR := (0.0, 4 0 . 0 ,8 0 . 0 , STEERING VALUES : REAL VECTOR : = (0.0, 0.1, MSOLL VALUES (0.0, 0.0, 0.8, 2.1, 3.05, 3.8, 4.0, 0 0 0 1 2 3 4 port ( terminal quantity quantity Signal Signal Signal quantity Signal : I«EAL VECTOR := ÜB MSOLL speed TEMPERATURE WEIGHT STEERING ANGLE STEERING MOMENT STEERING SPEED ELECTRICAL; out REAL:=0.0; in REAL; in REAL; in REAL; in REAL ; in REAL; in REAL 0, 0, 7, 95, 85, 65, 0, 1.0, 0.0, 0.0, 0.58, 1.7, 2.6, 3.5, 4.0, 150.0,200.0); 3 . 0 , 5 . 0 , 7 . 0 , 8.0); 0 0 0 1 2 3 4 0, 0, 3, 2, 1, 3, 0, 0.0, 0.0, 0.1, 0.8, 1.8, 3.2, 4.0 ) ) ; -- supply voltage -- Output Signal for steering moment -- speed [km/h] -- steering raoment [Nm] end e n t i t y EPS_CONTROLLER; In der Spezifikationsphase des Gesamtsystems kann eine einfache Verhaltensbeschreibung verwendet werden, das dann als Ausgangspunkt für die weitere Entwicklung der Komponente dienen kann. Lenkwinkel Bewegung des Lenkrads im Stillstand Fahzeuggeschwindigkeit \ \ 50 0 — 3O.0 — 10.0 — 10.0 — t, 7 300 Drehmoment ohne EPS (obere rote Kurve) mit EPS (untere grüne Kurve) I ' " " ...... 15.0 20.0 25.0 Time (s) Bild 7-3: Simulationsergebnisse Bild 7-3 stellt die Ergebnisse der Simulation des Gesamtsystems mit und ohne Lenkhilfe (siehe Bild 1-2) dar. Die Reduzierung des vom Fahrer aufzubringenden Lenkmoments bei Verwendung kann den Verläufen im unteren Teil des Diagramms entnommen werden. -84- Beispiele 7.3 DC/DC-Wandler Drfvecyd e Generotor + Battery @H>-O Lastwiderstand im 42 V-Bordnetz Bild 7-4: Bordnetz mit DC/DC-Wandler Das in Bild 7-4 dargestellte Bordnetz besteht aus einem Modellteil zur Beschreibung der Fahrzyklus durch den die Generatordrehzahl vorgegeben wird. Generator und Batterie sind mit einem 12V-Bordnetz direkt verbunden. Über einen DC/DC-Wandler wird die Spannung eines 42V-Bordnetzes bereitgestellt. Über eine Steuereinheit werden die Lastwiderstände im 12V- und 42V-Bordnetz gesteuert. Im gesamten Modell wurden insgesamt 27 verschiedene Modelle für Komponenten verwendet. Das Gesamtsystem wurde für die Simulatoren SystemVision von Mentor Graphics, Simplorer von Ansoft, Smash von Dolphin und SaberHDL von Synopsys umgesetzt. Simulationsergebnisse sind in den Bildern 7-5 und 7-6 dargestellt. Im Bild 7-6 wird dargestellt wie im 12V-Bordnetz eine Last zyklisch zu- und abgeschaltet wird. Im unteren Verlauf des rechten Diagramms ist das Zu- und Abschalten dargestellt. Die Generatordrehzahl ist dem oberen Verlauf zu entnehmen. Die Batteriespannung ist im mittleren Verlauf dargestellt. Bei genügend großen Generatordrehzahlen kann vom Generator ein ausreichender Strom geliefert werden. Bei kleineren Generatordrehzahlen wird ein Teil des Laststromes von der Batterie geliefert, was zu einem Einbruch der Batteriespannung führt. Dieses charakteristische Verhalten kann dem mittleren Verlauf entnommen werden und ist auch noch einmal in der Ausschnittsvergrößerung im rechten Teil des Bildes dargestellt. Bild 7-6 stellt die Verhältnisse bei sich ändernder Last im 42V-Bordnetz dar. Prinzipiell ist hier ein ähnliches Verhalten wie im 12V-Bordnetzteil zu beobachten. Bei Unterschreiten einer Grenze für den Widerstandswert erfolgt ein Einbruch der Spannung. Neben der Generatordrehzahl wird das Verhalten durch die Eigenschaften des DC/DC-Wandlers bestimmt. Ohne die Verhältnisse im Einzelnen zu diskutieren, vermittelt das Beispiel einen Eindruck von den Simulationsmöglichkeiten. Insbesondere durch das Einführen der Steuereinheit ist es auf einfache Weise mögliche unterschiedliche Betriebsszenarien zu untersuchen. -85- FAT FAT Abschnitt 7 i ! I'• ' •I Tmt (i)' Gesamtsimulation Detaildarstellung Änderung eines Lastwiderstandes im 12V-Bordnetz (Generatordrehzahl, Batteriespannung, Laststeuerung) Bild 7-6: Simulationsergebnisse bei Laständerung im 12V-Bordnetz Generatordrehzahl 11 Ä ., ,.., Batteriespannung Lastwiderstand im 42 V-Bordnetz k. \ Y r Spannung 42 V Netz I In • • • i • • • ' i • * * • 12 4<HI [WH) '(WO Ziflü 2«0 Tinw (s) Bild 7-5: Simulationsergebnisse bei Laständerung im 42V-Bordnetz -86- FAT Beziehungen zu anderen Simulationsansätzen 8 Beziehungen zu anderen Simulationsansätzen 8.1 Beschreibungssprachen Neben VHDL-AMS existieren eine Reihe anderer Beschreibungsmittel für die Modellierung elektrisch-nichtelektrischer Systeme. Ohne den Anspruch auf Vollständigkeit erheben zu wollen, sind einige dieser Beschreibungsmittel und deren charakteristische Merkmale im Folgenden kurz skizziert. Unterscheidungsmerkmale bestehen vor allem hinsichtlich • • • • des Standes der Standardisierung, der Unterstützung der unterschiedlichen Modellierungsansätze (konservative Netzwerkmodelle, nichtkonservative regelungstechnische Systeme, digitale Systeme), der Mächtigkeit der zur Verfügung gestellten Sprachkonstrukte und deren Erweiterungsmöglichkeiten, der Unterstützung der unterschiedliche Simulationsarten (Zeitbereichssimulation, Frequenzbereichssimulation, Rauschsimulation). Bei allen diesen Markmalen schneidet VHDL-AMS gut ab, wobei einzelne Beschreibungsmittel im Einzelfall durchaus Vorteile besitzen können. In der Summe erweist sich VHDL-AMS aber als eine sehr gute Wahl wie die folgende Zusammenstellung verdeutlichen soll. Verilog-AMS Verilog ist ursprünglich als Sprache zur Modellierung zeitdiskreter Systeme entwickelt worden. Ein ähnliches Sprachkonzept wie dem digitalen Verilog lag Verilog-A zur Beschreibung des analogen Verhaltens zugrunde. Die Zusammenfassung des digitalen Verilog und von Verilog-A, erweitert um Konstrukte zur Beschreibung des gemischt analog-digitalen Verhaltens, führte zu Verilog-AMS [22]. Die Beschreibungskonzepte sind ähnlich denen von VHDL-AMS. Konservative, nichtkonservative und digitale Modelle können erstellt werden. Die Entwicklung von Verilog-AMS erfolgt im Rahmen von Accellera. Der Standardisierungsprozess ist noch nicht abgeschlossen. Im Gegensatz zu VHDL-AMS werden Typprüfungen, insbesondere beim Verbinden von Blöcken, weniger streng gehandhabt. Allerdings verfügt Verilog-AMS nicht über die flexiblen Möglichkeiten zur Deklaration nutzereigener Datentypen wie VHDL-AMS. Verilog-A wird in der letzten Fassung des Verilog-AMS-Standards als Teilmenge von Verilog-AMS definiert. Modelica Modelica ist eine objektorientierte Modellierungssprache, die von der Modelica Association seit Mitte der neunziger Jahre entwickelt wird [10]. Die Sprache erlaubt die Beschreibung physikalischer Systeme auf der Grundlage von Differentialgleichungen, algebraischen und diskreten Gleichungen. Die Beschreibungen führen auf hybride DAE's (differential algebraic equations), deren Behandlung in der Sprachbeschreibung definiert wird. Stärken von Modelica liegen im Modellierungskonzept, das insbesondere auch Probleme von Algebrodifferentialgleichungssystemen mit höherem Index berücksichtigt. Diese Probleme spielen nicht selten bei der Modellierung nichtelektrischer Systeme eine wichtige Rolle. Spezielle Konstrukte zur Beschreibung des Kleinsignalverhaltens im Frequenzbereich und des Rauschens sind nicht Bestandteil von Modelica. Bei Modelica liegt ein Schwerpunkt auf der Beschreibung des analogen Verhaltens nichtelektrischer Systeme, wobei Modelle für elektrische Teilsysteme und solche mit digitalen Anteilen einbezogen werden können. -87- FAT Abschnitt 8 SystemC-AMS SystemC dient insbesondere zur Modellierung und Simulation von komplexen digitalen elektronischen Systemen, die sowohl Hardware- als auch Softwarekomponenten enthalten. Im Gegensatz zu Hardwarebeschreibungssprachen wie VHDL und Verilog wird SystemC vorrangig zur Modellierung auf noch höheren Abstraktionsebenen eingesetzt. System C ist eine Klassen-Bibliothek für C++. Programme, die auf der beschriebenen Hardware laufen, können mitsimuliert werden. SystemC-AMS erweitert SystemC um analoge und gemischt-analog digitale Beschreibungsmittel. Die Spracherweiterungen werden von der SystemC-AMS Study Group [21] entwickelt Simulink Simulink ist ein Modellierungs- und Simulationswerkzeug, das von der Firma MathWorks basierend auf Matlab entwickelt wurde und auf der Grundlage von Blockbeschreibungen die Analyse dynamischer Systeme erlaubt [16]. Beschreibungen für analoge Komponenten müssen dabei im Prinzip mit nichtkonservativen Modellen erfolgen. Simulink hat weite Verbreitung in der Regelungstechnik und der digitalen Signalverarbeitung auch von heterogenen Systemen gefunden. Zusammen mit anderen Produkten können aus SimulinkBeschreibungen bei Einhaltung gewisser Regeln u. a. C-Code für die Echtzeitbeschreibung von Systemen und synthesefähige VHDL- oder Verilog-Beschreibungen generiert werden. 8.2 Gemeinsame Verwendung verschiedener Beschreibungsmittel Historisch gewachsen werden gegenwärtig vielfach unterschiedliche Beschreibungsmittel verwendet. Dem einleitend (siehe Abschnitt 1) geschilderten Wunsch nach Simulation von Gesamtsystemen und einem einfachen Modellaustausch läuft diese Situation zuwider. Zwei mögliche Wege die sich dadurch ergebenden Schwierigkeiten zu entschärfen bieten sich an: • Verwendung unterschiedlicher Beschreibungsmittel in einer Simulationsumgebung, • Transformation von Modellen aus einer Beschreibungssprache in eine andere. Beide Wege werden gegenwärtig beschriften. Die gemeinsame Verwendung von VHDL-AMS und Verilog-AMS ist in einigen Mixed-SignalSimulatoren möglich. Ebenso erfolgt in einigen Fällen eine Anbindung von SystemC über eine VHDL-Schnittstelle. Daneben verfügen einige der Simulatoren auch über Möglichkeiten zur gemeinsamen Simulation von Simulink und VHDL-AMS-Beschreibungen. Einzelheiten können den Internet-Darstellungen der Simulatoren und ihrer Hersteller (siehe Tabelle 1-1) entnommen werden. Unter bestimmten Bedingungen ist auch die Verwendung von Modellen, die aus Modelica-Beschreibungen abgeleitet werden, in einer SimulinkSimulationsumgebung möglich. In Veröffentlichungen wird über die automatische Transformation von Modellen aus einer Beschreibungssprache in eine andere berichtet. Entwicklungen zur Bereitstellung entsprechender Werkzeuge sind bekannt. Um aber eine gemeinsame Verwendung von Modellen in unterschiedlichen Simulationsumgebungen prinzipiell überhaupt möglich zu machen, ist die Einhaltung gewisser Modellierungsregeln erforderlich. Die Regeln, die im Abschnitt 3.2 „Modellierungsrichtlinien" beschrieben sind, lassen sich weiten Teilen von VHDL-AMS auch auf andere Beschreibungssprachen übertragen. Vor einer gemeinsamen Verwendung existierender Modelle zusammen mit den hier beschriebenen VHDL-AMS-Modellen, ist zu prüfen, ob die genannten (inhaltlichen) Regeln eingehalten worden sind. -88- FAT Literatur Literatur [I] Ashenden, P. J.; Peterson, G. D.; Teegarden, D. A.: The System Designer's Guide to VHDL-AMS. Morgan Kaufmann Publishers, 2002. [2] BOSCH Kraftfahrzeugtechnisches Taschenbuch. Braunschweig/Wiesbaden: Vieweg, 1999 (23. Auflage). [3] BOSCH Autoelektrik - Autoelektronik. Braunschweig/Wiesbaden: Vieweg, 2002 (4. Auflage). [4] Christen, E.; Bakalar, K.: VHDL-AMS - A Hardware Description Language for Analog and Mixed-Signal Applications. IEEE Trans, on CAS-II 46(1999)10, 1263-1272. [5] Christen, E.; Bakalar, K.: Library Development Using the VHDL-AMS Language. In Mermet, J. (ed.): Electronic Chips & Systems. Kluwer, 2001, pp. 5-16. [6] DIN ISO 7637-2 (Entwurf) - Elektrische Störungen durch Leitung und Kopplung. Teil 2: Fahrzeuge mit 12 V oder 24 V Bordnetzspannung - Übertragung von impulsförmigen Störgrößen nur auf Versorgungsleitungen. Dezember 2002. [7] DIN 76 722 - Road vehicles - Low tension cables. Composition of type codes. Deutsches Institut fuer Normung, Juli 1990. [8] Emadi, A. (ed.): Handbook of Automotive Power Electronics and Motor Drives. Boca Raton: CRC Press, 2005. [9] Fedder, G. K.: Issues in MEMS Macromodeling. Proc. BMAS 2003, San Jose (CA), October 7-8, 2003, pp. 64-69. [10] Fritzson, P: Object-Oriented Modeling and Simulation with Modelica 2.1. IEEE Press, 2004. [II] Hessel, E.; Graßmann, A.; Haase, J.; Schäfer, J.: Model Exchange Process in Automotive Industry with VHDL-AMS - Philosophy and Examples. Proc. 2. Aachen Electronics Symposium EUROMotor, September 2004. [12] IEEE Standard VHDL Analog and Mixed Signal Extensions (IEEE Std 1076.1-1999). IEEE-SA Standards Board, 18 March 1999. Verfügbar: http://www.designers-guide.org/Modeling/ [13] IEEE P1076.1.1/D2 Draft Standard for Standard VHDL Analog and Mixed-Signal Extensions - Packages for Multiple Energy Domain Support. September 2004. [14] International Standard ISO 6722:2002(E): Road vhicles - 60V and 600V single-core wire - Dimensions, test methods and requirements. [15] Kiencke, U.; Nielsen, L.: Automotive Control Systems. Berlin/Heidelberg: Springer, 2005. [16] MATLAB/Simulink Featured Products (Homepage) Verfügbar: http://www.mathworks.com/ [17] Quartes, T; Newton, A. R. ; Pederson, D. O.; Sangiovanni-Vincentelli, A.: SPICE3 Version 3f3 User's Manual. Department of Electrical Engineering and Computer Sciences, University of California, May 1993. -89- FAT Abschnitt 0 [18] SAE Model Specification Process Standard (SAE J2546). SAE Technical Standards Boards, February 2002. [19] SAE VHDL-AMS Statistical Analysis Packages (SAE J2748). SAE Technical Standards Boards, 2006 (in Vorbereitung). [20] Simulatorlastenheft Generator - Vorablastenheft Simulationsmodell für SABER. Ausgabe 5.02, Stand: 10. 03. 2004. [21] SystemC-AMS Study Group (Homepage) Verfügbar: http://www.systemc-ams.org/ [22] Verilog-AMS Language Reference Manual. Version 2.2. November 2004. Verfügbar: http://www.designers-guide.org/VerilogAMS/ [23] Wolfram, S.: Mathematica. Addison-Wesley, 1997. Siehe auch: http://www.wolfram.com/ Unterlagen zur Modelldokumentation und -Verwaltung [24] Extensible Markup Language (XML). Verfügbar: http://www.w3.org/XML/ [25] Version Control with Subversion. Verfügbar: http://subversion.trigris.org/ [26] Subversion Book. Verfügbar: http://svnbook.red-bean.com/ [27] TortoiseSVN. Verfügbar: http://tortoisesvn.tigris.org/ Unveröffentlichte Unterlagen des VDA/FAT-AK30 [28] Guidelines for the Development of a VHDL-AMS Model Library (Draft Proposal) Version 1.2. September 1, 2004. [29] Spiee Components in VHDL-AMS (Proposal for Discussion). Version 0.5. September 1, 2004. [30] Dokumentation von VHDL-AMS-Modellen (Bericht). 30. Juli 2004. [31] VHDL-AMS-Modellbibliothek SPICE2VHD. 1. September 2004. [32] Parametrisierte Spice-Modelle für VHDL-AMS (Bericht). 6. März 2006. [33] Modellbeschreibung GENERATOR_BHV_VDA (Bericht). 30. Juni 2006. -90- Anhang A1: Tabellarische Übersicht zu den Modellen Anhang A1: Tabellarische Übersicht zu den Modellen Bibliothek FUNDAMENTALS_VDA ANDGATE2 Logic AND Gate with 2 Inputs ANDGATE3 Logic AND Gate with 3 Inputs ANDGATE4 Logic AND Gate with 4 Inputs ANGLE2QSENSORVDA Angle (Nature ROTATIONAL) Sensor ANGULAR_VELOCITY2Q_SENSOR_VDA Angular Velocity (Nature ROTATIONAL_VELOCITY) Sensor BATTERYPARTVDA BATTERY_VDA BJTNPNVDA BJTPNPVDA BULBVDA CLOCKVDA CTHVDA CURRENT2 QSENSOR VDA Component of Battery Simple Battery Model BJT NPN Model with Default Parameters BJT PNP Model with Default Parameters Incandescent Lamp (bulb) Digital Clock Thermal Capacitor C_SEMICONDUCTOR_VDA Current (Nature ELECTRICAL) Sensor Capacitor SPICE-like model with Default Parameters C_SWITCH_VDA Current controlled switch C_VDA Capacitor SPICE-like model with Default Parameters DAMPERROTVDA Rotational Damper DAMPERVDA Damper DCMOTORVDA DC Motor DELAYVDA Delay DIGITALSOURCEVDA Digital source with time slots for all 8 states possible DISCRETECONSTANTSOURCEVDA Constant Signal Generator DISCRETETIMESOURCEVDA Discrete Time Source DISPLACEMENT2QSENSORVDA Displacement (Nature TRANSLATIONAL) Sensor DVDA Diode SPICE-like model with Default Parameters FIXEDTEMPERATURE VDA Fixed Temperature FORCEMT2 QSENSORVDA Force (Nature TRANSLATIONAL) Sensor FORCE MTV2Q SENSOR VDA Force (Nature TRANSLATIONAL_VELOCITY) Sensor -91 - FAT FAT GENERATORLRVDA Alternator with a Load-Response Function HEATFLOW2 Q_SENSOR_VDA Heat Flow (Nature THERMAL) Sensor IDEALGEARR2 T V D A Ideal Gearbox from ROTATIONAL to TRANSLATIONAL IDEAL GEAR VDA Ideal Gear IDEALLEVERVDA Ideal Lever INVGATE Logic Inverter JFETNVDA JFET N Model with Default Parameters JFETPVDA JFET P Model with Default Parameters L_VDA Inductance SPICE-like modei with Default Parameters MOSFET N VDA SPICE-like N MOSFET Model with Default Parameters MOSFET P VDA SPICE-like P MOSFAT Model with Default Parameters M_VDA Mutual inductance NANDGATE2 Logic NAND Gate with 2 Inputs NANDGATE_3 Logic NAND Gate with 3 Inputs NANDGATE4 Logic NAND Gate with 4 Inputs NORGATE2 Logic NOR Gate with 2 Inputs NORGATE 3 Logic NOR Gate with 3 Inputs NORGATE4 Logic NOR GATE with 4 Inputs NXORGATE 2 Logic NXOR Gate with 2 Inputs NXORGATE3 Logic NXOR Gate with 3 Inputs NXORGATE4 Logic NXOR Gate with 4 Inputs OP_AMP_VDA Behavioural model of an operational amplifier ORGATE_2 Logic OR Gate with 2 Inputs ORGATE_3 Logic OR Gate with 3 Inputs ORGATE4 Logic OR Gate with 4 Inputs Q2ANGLE_VDA Quantity to Angle (Nature ROTATIONAL) Converter Q2ANGULAR VELOCITY VDA Quantity to Angular Velocity (Nature ROTATIONAL_VELOCITY) Converter Q2CURRENTVDA Quantity to Current (Nature ELECTRICAL) Converter Q2DISPLACEMENT_VDA Quantity to Displacement (Nature TRANSLATIONAL) Converter -92- FAT Anhang A1: Tabellarische Übersicht zu den Modellen Q2 FORCE MTV VDA Quantity to Force (Nature TRANSLATIONAL_VELOCITY) Converter Q2 FORCEMTVDA Quantity to Force (Nature TRANSLATIONAL) Converter Q2 HEATFLOWVDA Quantity to Heat Flow (Nature THERMAL) Converter Q2Q1DFILEVDA Real Quantity Input/Real Quantity Output (Conversion Table from File) Q2Q1DVDA Real Quantity Input/Real Quantity Output (Conversion Table from Arrays) Q2RVDA Resistor Controlled by Quantity Input Q2 STDLOGICVDA STD_LOGIC Signal Controlled By a Quantity Q2SVDA QUANTITY_TO_SIGNAL Q2 TEMPERATUREVDA Quantity to Temperature (Nature THERMAL) Converter Q2TORQUE MRVVDA Quantity to Torque (Nature ROTATIONAL_VELOCITY) Converter Q2 TORQUEMRVDA Quantity to Torque (Nature ROTATIONAL) Converter Q2VELOCITY_VDA Quantity to Velocity (Nature TRANSLATIONAL_VELOCITY) Converter Q2VOLTAGEVDA Quantity to Voltage (Nature ELECTRICAL) Converter QDC VDA SPICE-like Constant Quantity Source QEXPVDA SPICE-like Exponential Quantity Source QPULSEVDA SPICE-like Pulse Quantity Source QPWL VDA SPICE-like Piece-Wise Linear Quantity Source QSFFMVDA SPICE Single-Frequency FM Quantity Source QSINEVDA SPICE Sinusoidal Quantity Source QADD3VDA Sum of Three Quantities Q ADDVDA Sum of Two Quantities QDC2 STDLOGICVDA Converter Duty Cycle to PWM Signal Q_DERIVATIVE_VDA Derivative Element QFEEDBACKVDA Difference of Two Quantities Q_FIRSTORDERVDA First Order Transfer Function Block Q INTEGRALVDA Integrator Block QLIMINTEGVDA Limited Integrator Block QLIMITERVDA Quantity Limiter -93- FAT Q_MULT_VDA Product of Two Quantities QMUX2VDA Two-Input Multiplexer in Nonconservative Systems QPIDVDA PID Controller Q_PI_VDA Pl Controller QPROPORTIONALVDA Proportional Element QPWL VDA PWL Time Quantity Source (described by real vectors) QSAWTOOTHVDA Sawtooth Quantity Source QSECONDORDERVDA First Order Transfer Function Block QTRPFVDA Time Quantity Source (with file input) RANDOMDATASTREAM Logical Random STD_LOGIC Data Stream RELAY1P2TVDA Single-Pole Double-Throw Relay RELAY1PNCVDA Single-Pole Normally-Closed Relay RELAY1PNOVDA Single-Pole Normally-Open Relay RESISTORPWL VDA Resistor Described by PWL Voltage Current Characteristic RIGIDBODYROTVDA Rigid Rotational Body RIGIDBODYVDA Rigid Body RTHVDA Thermal Resistor RSEMICONDUCTORVDA Resistor SPICE-like model with Default Parameters RVDA Resistor SPICE-like model with Default Parameters S2RVDA Resistor Controlled by Real Signal Input SPRINGROTVDA Rotational Spring SPRINGVDA Spring STDLOGIC2R VDA Resistor Controlled by STDJ.OGIC Input SWDRVPROGVDA Programmable Position Sequence Switch Driver SWITCH 1P2T VDA Single-Pole Double Throw Switch SWITCH 1PNC_VDA Single-Pole Normally-Closed Switch SWITCH1PNO VDA Single-Pole Normally-Open Switch TEMPERATURE2QSENSORVDA Temperature (Nature THERMAL) Sensor THERMAL2R_PWL_VDA Resistor Controlled by Temperature (Described by PWL Function) THERMAL2RVDA Resistor Controlled by Temperature T L U 1 D F I L E VDA TLU Real Quantity Input/Real Quantity Output -94- Anhang A1; Tabellarische Übersicht zu den Modellen (Conversion Table from File) TLU1DVDA TLU Real Quantity Input/Real Quantity Output (Conversion Table from Arrays) TLU_2D_FILE_VDA TLU Real Quantity Input/Real Quantity Output (Conversion Table from File) TLU2DVDA TLU Real Quantity Input/Real Quantity Output (Conversion Table from Arrays) TORQUEMR2 QSENSORVDA Torque (Nature ROTATIONAL) Sensor TORQUEMRV2 QSENSORVDA Torque (Nature ROTATIONAL_VELOCITY) Sensor VELOCITY2 QSENSORVDA Velocity (Nature TRANSLATIONAL_VELOCITY) Sensor VOLTAGE2QSENSORVDA Voltage (Nature ELECTRICAL) Sensor VSWITCHVDA Voltage controlled switch XORGATE2 Logic XOR Gate with 2 Inputs XORGATE3 Logic XOR Gate with 3 Inputs XORGATE 4 Logic XOR Gate with 4 Inputs Bibliothek SPICE2VHD BJT SPICE Bipolar Junction Transistors (NPN/PNP) BJT_TH SPICE Bipolar Junction Transistors with thermal terminal (NPN/PNP) CAPACITOR SPICE Capacitor Model CSW SPICE-like Current Controlled Switch Model DIODE SPICE Junction Diodes (D) DIODETH SPICE Junction Diodes with thermal terminal (D) IDC SPICE Constant Current Source IEXP SPICE Exponential Current Source INDUCTOR SPICE Inductor Model IPULSE SPICE Pulse Current Source IPWL SPICE Piece-Wise Linear Current Source ISFFM SPICE Single-Frequency FM Current Source IS INE SPICE Sinusoidal Current Source JFET SPICE Junction Field-Effect Transistors (NJF/PJF) JFET TH SPICE Junction Field-Effect Transistors (NJF/PJF) with thermal terminal -95- FAT FAT MOSFET SPICE MOSFETs (NMOS/PMOS) MOSFET_TH SPICE MOSFETs (NMOS/PMOS) with thermal terminal MUTUALINDUCTANCE SPICE-like Two Coupled (Mutual) Inductors RESISTOR SPICE Resistor Model SEMICONDUCTORCAPACITOR SPICE Semiconductor Capacitor Model SEMICONDUCTORRESISTOR SPICE Semiconductor Resistor Model SEMICONDUCTORRESISTORTH SPICE Semiconductor Resistor Model with thermal terminal SW SPICE Voltage Controlled Switch Model TLINE SPICE Lossless Transmission Line VCCS SPICE Linear Voltage Controlled Current Source VCVS SPICE Linear Voltage Controlled Voltage Source VDC SPICE Constant Voltage Source VEXP SPICE Exponential Voltage Source VPULSE SPICE Pulse Voltage Source VPWL SPICE Piece-Wise Linear Voltage Source VSFFM SPICE Single-Frequency FM Voltage Source VSINE SPICE Sinusoidal Voltage Source Bibliothek SPICE2VHD DEVICES BJT_NPN NPN-BJT Models with Parameters BJTPNP PNP-BJT Models with Parameters DIODE Diode Models with Parameters JFET_NJF N-Channel-JFET Models with Parameters JFET_PJF P-Channel-JFET Models with Parameters MOSFETNMOS NMOS-MOSFET Models with Parameters MOSFET PMOS MOSFET Models with Parameters Bibliothek AUTOMOTIVE_VDA (siehe auch Abschnitt 4) ACCEL MT2R SENSOR VDA Potentiometer (Acceleration Measurement/ TRANSLATIONAL) ACCEL MTV2R SENSOR VDA Potentiometer (Acceleration Measurement/ TRANSLATIONAL_VELOCITY) -96- Anhang A1: Tabellarische Übersicht zu den Modellen ANGLEMR2 CSENSORVDA Capacitive Sensor (Angle Measurement/ ROTATIONAL) ANGLEMR2 LSENSORVDA Inductive Sensor (Angle Measurement/ ROTATIONAL) ANGULAR_VELOCITY_MR2L_SENSOR_VDA Inductive Sensor (Angular Velocity Measurement/ROTATIONAL) ANGULARVELOCITYMRV2 LSENSORVDA Inductive Sensor (Angular Velocity Measurement/ROTATIONAL) BATTERYVDA Simple Battery Model BULB1FGENERALVDA Simple Bulb Model BULB1FVDA Simple Bulb Model Parameterized by Bulb Types BULB2 FGENERALVDA Simple Bulb Model (2 Filaments) BULB2FVDA Simple Bulb Model Parameterized by Bulb Types DCDCVDA DCDC-Converter between 14 Volts and 42 Volts DISPLMT2CSENSORVDA Capacitive Sensor (Displacement Measurement/TRANSLATIONAL) DISPLMT2 LSENSORVDA Inductive Sensor (Displacement Measurement/ TRANSLATIONAL) DISPL_MT2RSENSORVDA Potentiometer (Displacement Measurement/ TRANSLATIONAL) FIELDPLATEVDA Fieldplate Sensor FORCEMT2 RSENSORVDA Potentiometer (Force Measurement/ TRANSLATIONAL) FORCEMTV2 RSENSORVDA Potentiometer (Force Measurement/ TRANSLATIONAL_VELOCITY) FUSEGENERALVDA Simple General Fuse Model FUSEVDA Extended Fuse Model Parameterized by Fuse Type GENERATORBHVVDA General Generator Model Based on Program Map GENERATORMAPGENERALVDA General Generator Model Based on Program Map HALLVDA Hall Sensor H BRIDGE Static model of H-bridge inverter ISO ISO ISO ISO ISO ISO 7637 7637 7637 7637 7637 7637 PULSEI 12V PULSEI 24V PULSE2A PULSE2B 12V PULSE2B 24V PULSE3 Pulses for EMC Tests (ISO 7637-2) Models with different default values for 12 V and 24 V on-board electrical System. -97- FAT FAT ISO 7637 PULSE4 12V ISO 7637 PULSE4 12V ISO 7637 PULSE5A 12V ISO 7637 PULSE5A 25V ISO 7637 PULSE5B 12V ISO_7637_PULSE5B_24V MOTOR_MECHANICS Model of motor mechanics including inertia and friction POWER_SWITCH Model of bi-directional power electronic switch PWM PWM time function for stepper motor control Q_NEFZ_RPM_VDA Drive Cycle NEFZ (Rotational Frequency in rpm) Q_NEFZ V VDA Drive Cycle NEFZ (Velocity Output in m*sA-1) STEPPER_MOTOR_2 Stepper motor with 2 phases / dq components STEPPERMOTORPHASE Phase model for stepper motor T2RNTCVDA NTC Thermistor T2RPTCVDA PTC Thermistor TORQUE_MR2V_SENSOR_VDA Torque Sensor (ROTATIONAL) TORQUE_MRV2V_SENSOR_VDA Torque Sensor (ROTATIONAL_VELOCITY) WIRE_GENERAL_VDA Simple Wire Model WIRE_VDA Simple Wire Model Parametrized by Wire Types Bibliothek MEGMA ABSMEGMA Absolute Value ACCUMULATOR REL_MEGMA Accumulator Reset Enabled Limited AND MEGMA AND CLOSEDINTERVALMEGMA Closed Interval COUNTDOWNREMEGMA Count Down Reset Enabled COUNTERREMEGMA Counter Reset Enabled Countdown RTE megma Count Down Reset Trigger Enabled C o u n t e r RTE Megma Counter Reset Trigger Enabled DEADBAND MEGMA Dead Band DELAY_D_RE_MEGMA Delay Reset Enabled (digital) DELAY_R_RE_MEGMA Delay Reset Enabled (real) DELTAONESTEPMEGMA Delta One Step DIFFERENCELIMITERMEGMA Difference Limiter DIFFERENCEQUOTIENT_MEGMA Difference Quotient -98- FAT Anhang A1: Tabellarische Übersicht zu den Modellen DIGITALLOWPASSREMEGMA Digital Lowpass Reset Enabled DIVMEGMA Division EDGEBI MEGMA Edge Bi EDGEFALLINGMEGMA Edge Falling EDGERISINGMEGMA Edge Rising EQMEGMA EQ GAINMEGMA Gain GEMEGMA GE GRADIENTLIMITER MEGMA Gradient Limiter GTMEGMA GT HIGHPASSTREMEGMA Highpass T Reset Enabled HYSTERESISMEGMA Hysteresis INTEGRATORKRELMEGMA Integrator K Reset Enabled Limited INTEGRATORTRELMegma Integrator T Reset Enabled Limited LEFTOPENINTERVALMEGMA Left open intervall LEMEGMA LE LIMITMEGMA Limiter LOWPAS SKREMEGMA Lowpass K Reset Enabled LOWPASSSECORD RE MEGMA Lowpass Second Order Enabled LOWPASSTREMEGMA Lowpass TReset Enabled LTMEGMA LT MAXLOGREMEGMA Max Log Reset Enabled MAX MEGMA Maximum MEANVALUE MEGMA Mean Value MINLOGREMEGMA Min Log Reset Enabled MINMEGMA Minimum MUL MEGMA Multiplication NEGMEGMA Negation NEQMEGMA NE NOTMEGMA NOT OPENINTERVALMEGMA Open Interval ORMEGMA OR RSFLIPFLOPMEGMA RS Flip Flop SAMPLEANDHOLD RE MEGMA Sample And Hold Reset Enabled -99- FAT Abschnitt 0 SIGMEGMA Signum STOPWATCH_RE_MEGMA Stop Watch Reset Enabled STOPWATCHRTEMEGMÄ Stop Watch Reset Trigger Enabled SUMMEGMA Sum/Subtraction SWITCH MEGMA Logical Switch between two Signals TIMERRETRIGGER_RE_MEGMA Timer Retrigger Reset Enabled TIMERRETRIGGERRTE MEGMA Timer Retrigger Reset Trigger Enabled TIMERREMEGMA Timer Reset Enabled TIMERRTEMEGMA Timer Reset Trigger Enabled TURNOFFDELAYSAMPLE_ MEGMA Turn Off Delay Sample TURNOFFDELAYTIME_MEGMA Turn Off Delay Time TURNONDELAYSAMPLE_MEGMA Turn On Delay Sample TURNONDELAYTIME_MEGMA Turn On Delay Time XORMEGMA XOR Modelle für Benchmark-Beispiele (siehe auch Abschnitt 7) Bibliothek EXAMPLE_EPS BATTERY Battery Model for EPS System Simulation EPSCONTROLLER Controller for calculation of target torque for servo motor EPSPINION Pinion for EPS System Simulation EPSsensor EPS Sensor GEAR Gear between Motor and Pinion in EPS System Simulation HARDSTOP Hard Stop for Pinion in EPS System Simulation MOTOR Motor for EPS System Simulation M0T0RCONTROL Motor Control for EPS System Simulation MOTORUNIT Unit Motor and Motor Control for EPS System Simulation POWERSUPPLY Power Supply for EPS System Simulation ROADFORCEINT Road Force for EPS System Simulation STEERING PINION Connection Steering to Pinion for EPS System Simulation STEERINGROD Steering Rod Model used in EPS System Simulation STEERINGSPINDLE Steering Spindle for EPS System Simulation -100- FAT Anhang A1: Tabellarische Übersicht zu den Modellen Bibliothek EXAMPLE POWERTRAIN GENERATORCF Generator Described Identifying Map Bibliothek EXAMPLE_POWERNET BELT_DRIVE Belt Drive Model for Generator Model CONTROL_PANEL Control Signals for Powernet Simulation DCDC DCDC Converter Model for Powernet Simulation DUM_BATTERY Simple Battery Model for Powernet Simulation E_MACHINE Electrical Machine Model for Generator Model GENERATOR Generator Model for Powernet Simulation RECTIFIER Rectifier Model for Generator Model REGULATOR Regulator Model for Generator Model -101 - FAT - 102- Anhang A2: Übersicht zu Unteraufträgen Anhang A2: Übersicht zu Unteraufträgen Gegenstand: Bearbeitung: Modellierung von Sicherungen DAnalyse GmbH Schkopauer Ring 5 12681 Berlin Gegenstand: Bearbeitung: Modellierung von Schrittmotoren Adapted Solutions Annaberger Str. 240 09125 Chemnitz Gegenstand: Bearbeitung: Modellierung von Leitungen SmartCAE Stefan Braun Marthastr. 9a 81825 München Gegenstand: Bearbeitung: ALPHA_OUT-Bestimmung für Leitungsmodelle SmartCAE Stefan Braun Marthastr. 9a 81825 München Gegenstand: Bearbeitung: Modellierung von Blei-Batterien SmartCAE Stefan Braun Marthastr. 9a 81825 München -103- FAT FAT Modellierung und Parametrisierung von KFZ Sicherungen in der Verhaltenssprache VHDL-AMS Rev. 1.1 Dr.-Ing. Dietmar Warning DAnalyse GmbH 14. April. 2005 Diese Arbeit wurde innerhalb des Arbeitskreises 30 der VDA-FAT als Unterauftrag durchgeführt. FAT Struktur des VDA Sicherungsmodells Testbench LittleFuse ATO 10A .param Rcold=0.0077 TC=0.0035 Tcold=25 Rth1 Rth2 Rth3 Rth4 BRfus«11 a,c)/(R^old*(1+TC*(V(T)-Tcold))) BPWR {Ifuse} l=V(a,b)*l(BRFuse) .model FSW SW(Ron=100Meg Roff=10u Vt=Tmelt Vh=-1) .param Tmelt=400 Tamb=25 .trän 0 10 0 10ms uic .param lfuse= 12.4 .Step param Ifuse Mst 108 80 50 36 26.3 19.5 16.7 15 14 13.4 13 12.6 12.4 12.3 12.24 Abbildung 1: SPICE Implementierung des VDA Sicherungsmodells Obige Schaltung zeigt das Sicherungsmodell als SPICE Implementierung. Die Stromquelle 11 ist Teil der Testschaltung und damit nicht zum Modell gehörig. Zur Funktion der einzelnen Bestandteile: Die gesteuerte Stromquelle BRfuse stellt den temperaturabhängigen Widerstand der Sicherung dar, hier als lineare Abhängigkeit von der Temperatur des Drahtes. Die Quelle BPWR erzeugt einen der Leistung äquivalente Strom. Dieser fließt in eine 4-gliedrige RC Kettenschaltung, die den thermischen Übergangswiderstand des Sicherungsdrahtes von der Mitte zu den Anschlüssen darstellt. Die Kette ist an einer Seite mit der Spannungsquelle V1 festgelegt auf eine der Umgebungstemperatur entsprechenden Spannung. Die andere Seite der Kette wird potentialmäßig durch den Stromfluß angehoben. Diese Spannung entspricht der Temperatur des Schmelzdrahtes an seiner Mitte. Wenn diese 400grdC übersteigt, öffnet der Schalter FSW und die Sicherung ist unterbrochen. Der Widerstand R1 gibt numerische Sicherheit. In VHDL-AMS ist das Modell wie folgt umgesetzt: Pl: process (TEMPI'ABOVE(TMELT)) i s begin i f n o t MELT and TEMPI'ABOVE(TMELT) then MELT <= TRUE; report "WARNING: Fuse melts." severity warning; end if; end process; if not MELT use V == RCOLD*(1.0+TC*(TEMPI - TNOM))*I; eise I ==0.0; end use; V == ROPEN*IOPEN; RTH1*I*V RTH2*I*V RTH3*I*V RTH4*I*V == == == == RTH1*CTH1*(TEMPI'DOT-TEMP2'DOT) RTH2*CTH2*(TEMP2'DOT-TEMP3'DOT) RTH3*CTH3*(TEMP3'DOT-TEMP4'DOT) RTH4*CTH4* TEMP4'DOT break on MELT; + + + + (TEMP1-TEMP2); (TEMP2-TEMP3); (TEMP3-TEMP4); (TEMP4-TEMP) ; FAT WEVA Implementierung Sicherungsmodell Von der Implementierung eines analytischen Modells wurde Abstand genommen, da ein geschlossener Ausdruck für die Abhängigkeit der Temperatur von der Zeit, dem eingeprägten Strom sowie den Parametern der 4 gliedrigen Kettenschaltung mit vertretbarem Aufwand nicht angebbar ist. Stattdessen wurde die Anbindung des Netzwerkanalyseprogramms SPICE in der Version 3 an das Optimierungsprogramm WEVA vorgenommen. Diese Verfahrensweise hat zusätzlich den Vorteil der Erweiterungsmöglichkeit des Modells ohne großen Aufwand, z.B. bei Erhöhung der RC Kettengliedzahl. Zielfunktion Zur Ermittlung der thermischen Kettenglieder und der Parameter Rcold und TC (in engen Grenzen) werden Simulationen mit SPICE durchgeführt. Die Simulationen werden bzgl. des Stromabfalls bei Sicherungsauslösen ausgewertet und die ermittelte Zeit mit der Zeit t_melt in einem logarithmisch bewerteten Fehlerkriterium verglichen. Auf Grund der hohen Redundanz der Parameterkonstellation wurden als Startverfahren die globalen Optimierer Adapted Simulated Anealing und Simplex Downhill verwendet. Erst am Ende wurde ein Gradientenverfahren verwendet. / * Simulation durchfuehren * / ymessO = (float)tables[idx] [1] [0] ; for (k=0; k<rows[idx]; k++) xmess = (float) tables [idx] [0] [k] ; ymess = (float)tables[idx][1][k]; xsim = xmess; sim_data_point(xsim, ymess*2, fivalid, &ysim); / * f i l l target vector * / target[k] = scaled_weighted_error(ymess, ysim); } Abbildung 2: C Codefragment Bestimmung Zielfunktion Es erwies sich als sinnvoll, nach Ermittlung einer Parameter Startkonstellation Wichtungen zugunsten der Hochstromwerte, bzw. im Kurzzeitbereich vorzunehmen. Verifikation Nach Ermittlung der Parameterwerte werden Simulationen angestoßen und die jeweiligen Auslösezeiten über den Sicherungsströmen sowie auch Fehlerwerte errechnet und dargestellt. /* Simulieren, ysim fuellen */ sim_fuse(idx, p, ysim); /* restl. Felder fuellen */ for (k=0; k<rows[idx]; k++) xmess [k] = (float) tables [idx] [0] [k] ; FAT ymess [k] = (float) tables [idx] [1] [k] ; xsim[k] = xmess[k]; ysim2[k] = -(float)scaled_weighted_error(ymess[k], if ysim[k]); (ysim[k]>4.9*ymess[0]) ysim2[k] = -(float)scaled_weighted_error(ymess[k], ymess[k]*5); } / * plotten * / /* tmelt und target zusammen */ plot2(xsim, ysim, rows[idx], 1, xsim, ysim2, rows[idx], 1, &f_null, "", "y", "y", "n", "Ifuse[A]", "time[s]", "target", "", "", "", xmess, ymess, rows[idx], xsim, ysim2, rows[idx]); Abbildung 3: C Codefragment FÄT Ergebnisse Datenblatt - Modellvergleich Littlefuse ATO Serie 257 Littlefuse ATO 257 Seties tmelt [s] 1.00k 100.00 — 10.00 - 100 — 100.00 m 10.00 m Messdaten lnenn= 3 lnenn= 5 Inenrv* 7.5 lnenn=10 lnenn= 15 lnenn=20 lnenn= 25 lnenn= 30 — 1 1000 10 Ifuse [A] Abbildung 4: Darstellung Ergebnisse ATO Familie Serie Littlefuse ATO 257 Series Fehler GO.0« Messdaten lnenn= 3 lnenn= 5 lnenn= 7.5 lnenn=10 lnenn= 15 lnenn=20 lnenn= 25 lnenn= 30 40.0% 20.0 £ 0.0% -20.0 X •40.0 % -60.0 SS -80.0 % I 10 100 Ifuse [A] Abbildung 5: Fehler der Littlefuse Serie ermittelt aus WEVA 1000 FAT Littlefuse MINI Serie 297 tmelt [s] Littlefuse MINI 297 Series 1.00 k 100.00 — 10.00 - 1 00 — 100.00 m - Messdaten lnenn= 3 lnenn= 5 lnenn= 7.5 lnenn-10 lnenn= 15 lnenn= 20 lnenn= 25 lnenn= 30 10.00 m 10 100 1000 Ifuse [A] Abbildung 6: Darstellung Ergebnisse MINI Familie Serie Littlefuse MINI 297 Series Fehlet 80.0 % Messdaten lnenn= 3 lnenn= 5 lnenn= 7.5 lnenn=>10 Inenn» 15 Inenn» 20 lnenn= 25 Inenn- 30 60.0 X 40.0 3S 20.0 £ 0.0 £ -20.0 % •40.0 % •eo.o x 10 100 Ifuse [A] Abbildung 7: Fehler der Littlefuse Serie ermittelt aus WEVA 1000 FAT Littlefuse MAXI Serie 299 Littlefuse MAXI 299 Series tmeit [::] 1.00 k 100.00 - 10.00 — 1.00 - 100.00 m Messdaten lnenn= 20 Inenn* 30 lnenn= 40 lnenn= 50 lnenn= G0 lnenn= 70 lnenn= 80 - 10.00 m 100 1000 10000 lh.ee [A] Abbildung 8: Darstellung Ergebnisse MAXI Familie Serie Littlefuse MAXI 299 Series Fehlet 25.0 2 Messdaten lnenn= 20 lnenn= 30 lnenn= 40 lnenn= 50 lnenn=60 20.0* 15.0* 10.0* 5.0* 0.0* •5.0* •10.0* -15.0* -20.0 * •25.0 * 10 100 1000 lluve [A] Abbildung 9: Fehler der Littlefuse Serie ermittelt aus WEVA 10000 FAT Vergleich WEVA - SPICE - SystemVision am Beispiel ATO10 100A80A 70A60A50A 40A30A- 20A- 10A 10ms 100ms I 10s 1s Abbildung 10 ATO10 im Simulator spice3 100s 1Ks Modell-Fehler Littlefuse ATO10 DAnalyse GmbH 15.01.2005 1.0k data — i — weva —x— spiee — • « — svision s 100.0 - 10.0 - 1.0 - 100.0m - ig 10.0m 10.0 100.0 Ifuse [A] Abbildung 11: ATO10 Vergleich WEVA - Simulator (spice3 und SystemVision) Es sei darauf hingewiesen, daß der VHDL-AMS Referenzsimulator SystemVision insbesondere im Langzeitbereich >200s bedeutende Abweichungen zu SPICE zeigte. Diese sind sicherlich auf die unterschiedlichen numerischen Verfahren der Simulatoren zurückzuführen und bedürfen gesonderter Untersuchungen. FAT Zusammenfassung Mit Hilfe des Optimierungstools WEVA konnten 21 Sicherungen der Fa. Littlefuse auf der Basis eines einfachen semi-physikalischen Modells und Herstellerangaben in Form von Auslösekurven t_melt = f(lfuse) parametrisiert werden. Die Einbindung in das Programm erfolgte so, daß unmittelbar nach dem Fitprozeß ein Herausschreiben des funktionsfähigen VHDL-AMS Files mit den aktuellen Parametern erfolgt (s. Anhang). Auf Grund des einfachen Modells konnten nur Genauigkeiten von besser 60% im gesamten Zeitbereich über 5 Dekaden und besser 10% im relevanten Zeitbereich 10ms ... 1s erreicht werden. Bei den Genauigkeitsbetrachtungen ist allerdings zu berücksichtigen, daß selbst kleinste Eingabefehler aus der doppeltlogarithmischen Darstellung des Datenblattes zu Fehlern von 20 - 50% führen können. Weitere Verbesserungen des Modells sind möglich: o Zusätzliche RC-Kettenglieder o Einbeziehung der Schmelztemperatur als Parameter o genauere Darstellung des Temperaturverhaltens des elektrischen Widerstandes, ev. Einführung eines quadratischen Temperaturkoeffizienten o Berücksichtigung zusätzlicher Wärmeableitung durch Konvektion und Strahlung o Vorbelegung der Parameter auf Basis von Eigenmessungen und teil-analytischer Vorberechnung. Die Funktionsfähigkeit und Modellgenauigkeit wurde mit Hilfe des VHDL-AMS Simulators SystemVision der Fa. Mentor Graphics nachgewiesen. Nicht untersucht wurde das Modellverhalten bei abweichenden Umgebungstemperaturen, das sogenannte Rerating Verhalten. Dazu lagen keine präzisen Herstellerangaben vor. Die Ableitung eines generischen Modells ist möglich, war allerdings nicht Inhalt dieser Arbeit. adapteds lutions Modellierung von Schrittmotoren Bearbeiter: Dr. Thomas Barucki Letzte Änderung: 1.9.2005 Allgemein Schrittmotoren werden für vielfältige Anwendungen (Drucker, Anzeigeinstrumente, Ansaugsysteme) verwendet. Der Begriff „Schrittmotor" wird dabei für verschiedene Typen gebraucht: • Reluktanzmotoren Reluktanzmotoren besitzen Statorwicklungen und einen Rotor mit ausgeprägten Zähnen ohne Wicklungen und Magnete. Das Drehmoment wird dadurch erzeugt, dass die magnetischen Feldlinien eine Kraft in Richtung des größten magnetischen Leitwertes erzeugen (Prinzip des Elektromagnet). Dadurch ergibt sich eine Übereinstimmung der bestromten Statorphase mit dem nächstliegenden Rotorpol. Durch unterschiedliche Polzahlen im Stator und Rotor ist sichergestellt, dass immer eine Motor-Phase ein Drehmoment aufbauen kann. 1..M • • ' ' • ' • ' • ' ' • . . . . „ : <!'• ' • " *2~-'-L—--' Abbildung 1: Reluktanzmotor Schrittmotor Unter einem Schrittmotor im engeren Sinne wird eine Maschine mit Wicklungen auf dem Stator und einem Rotor mit Permanentmagneten verstanden. Der Stator hat üblicherweise keine ausgeprägten Pole. Das Drehmoment ergibt sich hauptsächlich durch die elektromagnetische Wechselwirkung zwischen dem Statorstrom und dem von den Permanentmagneten erzeugten magnetischen Fluss. Dieser Motortyp entspricht dem permanenterregten Synchronmotor. Abbildung 2: Schrittmotor • Hybridschrittmotor Hybridschrittmotoren kombinieren die Wirkungsweise von Reluktanz- und Schrittmotor. Die gängigste Ausführungsform enthält axial magnetisierte Permanentmagnete auf dem Rotor, an Adapted Solutions • Barucki & Schmidt GbR • Annaberger Straße 240 • 09125 Chemnitz • Tel. +49 371 5347 670 • Fax +49 371 5347 672 • www.adapted-solutions.com FAT FAT adapted Solutions 2 von 7 deren beiden Ende Polkappen angebracht sind. Diese Polkappen sind gegeneinander verdreht, so dass sich über den Umfang verteilt magnetische Pole unterschiedlicher Polarität ergeben, wobei jede Polkappe nur Pole einer Polarität trägt. Abbildung 3: Hybridschrittmotoren Durch die ausgeprägten Rotorpole wird das Drehmoment sowohl durch Reluktanz als auch die elektromagnetische Wechselwirkung erzeugt, wobei letzterer Anteil i. A. dominierend ist. Gegenüber dem Schrittmotor hat der Hybridschrittmotor den Vorteil, dass deutlich kleinere Schritte realisierbar sind. Schrittmotoren werden üblicherweise mit 2 bzw. 3 Phasen ausgeführt. Um jederzeit einen Anlauf gewährleisten zu können, muss die Polpaarzahl des Rotors ein ungeradzahliges Vielfaches der Polpaarzahl des Stators betragen. Ansteuerung Beim Betrieb eines Schrittmotors werden die einzelnen Phasen nacheinander bestromt. Dabei ist sicher zu stellen, dass die Phase aktiv ist, die ein Drehmoment aufbauen kann. Beispielsweise muss für die in Abbildung 2 gezeigte Motorstellung Phase 2 bestromt werden, da sich in Phase 1 bereits eine Übereinstimmung von Stator- und Rotorpolen ergeben hat und deshalb kein Drehmoment aufgebaut werden kann. Im einfachsten Fall werden die Phasen von Schrittmotoren mit einem festen Takt bestromt, ohne dass eine Rückkopplung von Drehzahl oder Position erfolgt (open loop). Sofern das erforderliche Drehmoment vom Motor erzeugt werden kann, wird dieser mit jedem neuen Takt einen Schritt ausführen. (Auf die Möglichkeit, durch das gleichzeitige Pulsen mehrerer Phasen Zwischenschritte zu erreichen, soll hier nicht weiter eingegangen werden.) Mit Ausnahme des Reluktanzmotors ist das erzeugte Drehmoment von der Polarität des Statorstromes und der Lage der Permanentmagneten abhängig. Für eine kontinuierliche Drehbewegung muss demzufolge ein bidirektionaler Stromsteller verwendet werden. Eine typische Anordnung ist die so genannte H-Brücke, die in Abbildung 4 dargestellt ist, wobei für die Motorwicklung eine ohmschinduktive Last dargestellt ist. Bei der Ansteuerung der H-Brücke gibt es 3 sinnvolle Betriebszustände: • Transistor 1 und 4 leitend Positiver Stromfluss durch die Last wird aufgebaut Adapted Solutions • Barucki & Schmidt GbR • Annaberger Straße 240 • 09125 Chemnitz • Tel. +49 371 5347 670 • Fax +49 371 5347 672 • www.adapted-solutions.com adapted s lutlons von 7 • Transistor 2 und 3 leitend Negativer Stromfluss durch die Last wird aufgebaut • Alle Transistoren sperrend Laststrom wird über Dioden zu Null abgebaut. 1 vWV • Abbildung 4: H-Brücke Die dargestellten Freilaufdioden übernehmen nach dem Abschalten eines Transistors den Laststrom, der durch die vorhandene Induktivität stetig sein muss. Physikalische Grundlagen Das allgemeine Ersatzschaltbild einer Phase einer elektrischen Maschine ist in Abbildung 5 dargestellt. Es besteht aus dem Wicklungswiderstand, der Wicklungsinduktivität und einer Spannungsquelle zur Nachbildung der rotatorisch induzierten Spannung. Abbildung 5: Ersatzschaltbild einer Phase Für den Fall ausgeprägter Rotorpole ergibt sich das Problem, dass die Induktivität stark von der Rotorlage abhängt. Zur Berechnung werden dann eine Transformation aller Phasenspannungen und ströme in ein rotorfestes Koordinatensystem (d-q-Komponenten) durchgeführt und die Spannungsgleichungen für beide Achsen wie folgt aufgestellt: Ud=Rs*Id+Ld II = R * • —0 5 * N *rn w R * [1] PM [2] Dabei stehen Ld und Lq für die wirksamen Induktivitäten bei Orientierung in d- bzw. q-Achse, NR für die Anzahl der Rotorpole, U)R für die mechanische Winkelgeschwindigkeit des Rotors und ipPM für die Flussverkettung der Permanentmagnete. Sofern Ld und Lq annähernd gleiche Werte annehmen, kann jede Phase des Motors separat betrachtet werden. Die Spannungsgleichung kann dann vereinfacht werden zu Adapted Solutions • Banjcki & Schmidt GbR • Annaberger Straße 240 • 09125 Chemnitz • Tel. +49 371 5347 670 • Fax +49 371 5347 672 • www.adapted-solutions.com FAT FAT adapted Solutions U = Rs*I + L* — + 0.5*NK*ßJR*vi'm dt [3] Das Drehmoment eines Schrittmotors enthält allgemein drei Anteile: • Elektromagnetisch erzeugtes Synchronmoment Ergibt sich aus der Wechselwirkung von Statorstrom und Feld des Permanentmagneten. • Reluktanzmoment Ergibt sich bei Bestromung des Stators aus unterschiedlichen magnetischen Leitwerten in Umfangsrichtung. • Selbsthaltemoment / Rastmoment Entsteht durch das Feld des Permanentmagneten und den unterschiedlichen magnetischen Leitwerten in Umfangsrichtung. Die Drehmomentanteile haben unterschiedliche Frequenzen. Das Reluktanzmoment hat die doppelte Frequenz des Synchronmomentes und die halbe Frequenz des Rastmoments. Das Rastmoment entzieht sich i. A. einer analytischen Betrachtung und wird durch Messungen bestimmt. In den Modellen ist es deshalb dem mechanischen Modell des Rotors zugeordnet. Synchron- und Reluktanzmoment können berechnet werden aus M=Ms+MR=0.5*NR*'VPM*Iei+0.5*NR*(Ld-Lq)*Id*Iq [4] Analog zur Spannungsgleichung kann auch die Drehmomentgleichung vereinfacht werden, wenn man von gleichen Werten für Ld und Lq ausgeht. Das Reluktanzmoment verschwindet dann und es ergibt sich M = Ms = 0.5*NK *>¥PM *I*sin(0.5*NK*y) [5] Dabei steht y für den Lagewinkel des Rotors. Sofern die Nullposition dieses Winkels für die betrachtete Phase keine Übereinstimmung von Stator- und Rotorpol ergibt, ist eine entsprechende Verschiebung erforderlich. Die Beschleunigung des Rotors ergibt sich aus der Summe der resultierenden Drehmomente. Neben dem Synchron-, Reluktanz- und Rastmoment tragen das Trägheitsmoment, externe Lastmomente und Reibungsmomente dazu bei. Wichtige Formen der Reibung sind die Coloumbsche und die viskose Reibung. Der Betrag der Coloumbschen Reibung ist geschwindigkeitsunabhängig, während das Vorzeichen von der Drehrichtung abhängt. Die viskose Reibung ist proportional zur Drehzahl. Erstellte Modelle Aufgrund der Vielzahl der möglichen Motorkonfigurationen wurde ein „Modellbaukasten" erstellt. Er enthält folgende Modelle: • PWM Einfaches PWM-Modell mit fester Periodendauer und variablem Tastverhältnis. Adapted Solutions • Barucki & Schmidt GbR • Annaberger Straße 240 • 09t25 Chemnitz • Tel. +49 371 5347 670 • Fax + 49 371 5347 672 • www.adapted-solutions.com FAT adapted Solutions S ' von 7 • POWERSWITCH Modell eines leistungselektronischen Schalters bestehend aus einem Transistor und einer anti-parallelen Freilaufdiode. Beide Komponenten werden durch ihre stationären Kennlinien beschrieben, das dynamische Verhalten wird vernachlässigt. • HBRIDGE Zusammenschaltung von 4 leistungselektronischen Schaltern zu einer H-Brücke. Die Ansteuerung erfolgt über zwei Signale (STDLOGIC), die die Transistoren 1 und 4 bzw. 2 und 3 steuern. • MOTOR_MECHANICS Modell des Rotors. Modelliert die Drehmomente aufgrund des Trägheitsmomentes, der viskosen und Coulombschen Reibung sowie des Rastmomentes. Zur Vermeidung numerischer Instabilitäten ist die Coloumbsche Reibung bei Drehzahlen um Null proportional zur Drehzahl. Für die Modellierung des Rastmomentes wird die Anzahl der Schritte pro Umdrehung abgefragt. Das Rastmoment wird durch seine Amplitude und Phasenlage (bezogen auf einzelnen Schritt) beschrieben. • STEPPER_MOTOR_2 Modell eines 2-phasigen Schrittmotors unter Verwendung des rotorfesten Koordinatensystems. Dieses Modell beinhaltet bereits das Rotormodell. Mit diesem Modell können alle Typen von Schrittmotoren nachgebildet werden. • STEPPER_MOTOR_PHASE Nachbildung einer Phase eines Schrittmotors. Durch eine Zusammenschaltung mehrerer derartiger Modelle sowie eines Rotormodells kann ein Schrittmotor (im engeren Sinn) mit beliebiger Phasenzahl beschrieben werden. Dabei ist für jede Phase ein Index, startend mit 0, zu vergeben. Aus dieser Information sowie den Angaben zu den Stator- und Rotorpolen wird die jeweilige Phasenverschiebung berechnet. Dieses Modell bildet keine Reluktanzmomente nach und ist daher für den Reluktanzmotor nicht geeignet. Eine Modellierung des Hybridschrittmotors ist möglich, sofern das Reluktanzmoment vernachlässigt werden kann. Einsatzbereich der Modelle Die Modelle können für transiente Simulationen eingesetzt werden. Mögliche Fragestellungen, die dabei untersucht werden können, sind beispielsweise der Hochlauf von Antrieben und die Bereitstellung von Haltemomenten. Für den unteren Drehzahlbereich können Abschätzungen zum Wirkungsgrad getroffen werden. Da mit steigenden Drehzahlen die nicht modellierten Verluste im Magnetkreis (Wirbelstrom- und Hystereverluste) steigen, sind dort auch größere Abweichungen vom berechneten Wirkungsgrad zu erwarten. Adapted Solutions • Banjcki & Schmidt GbR • Annaberger Straße 240 • 09125 Chemnitz • Tel. +49 371 5347 670 • Fax +49 371 5347 672 • www.adapted-solutions.com FAT adapted Solutions 6 von 7 ,..„i., ,....,11.. Testbeispiele Die erstellten Modelle wurden in Tests mit den Parametern von zwei realen Schrittmotoren verwendet. Der Parametersatz 1, der in den Testschaltungen „tb1" und „tbsimple" verwendet wird, gehört zu einem Motor kleiner Leistung, der für eine Leuchtweitenregulierung verwendet wird. Der Motor mit dem Parametersatz 2 ist für höhere Leistungen ausgelegt und wurde beispielsweise für einen Kippfensterstellantrieb benutzt. Die Testschaltungen „tb1", „tb2" und „tb_simple" bilden den Open-Loop-Betrieb von Schrittmotoren nach. Testschaltung „tb3" zeigt, wie ein stromloser Schrittmotor aufgrund des Rastmomentes von einer Ausgangsstellung des Rotors in eine stabile Position einläuft. Die Testschaltungen „tb1" und „tb_simple" unterscheiden sich nur dadurch, dass einmal das Motormodell unter Verwendung des rotorfesten Koordinatensystems und einmal eine Zusammenschaltung mehrerer einfacher Phasenmodelle benutzt wird. Da bei diesem Motor kein Reluktanzmoment entsteht (Ld = Lq), ergeben sich identische Verläufe. Parametrierung Die Parameter des PWM-Modells ergeben sich aus der Ansteuerung des realen Systems. Die Testschaltungen tb1 und tb2 beinhalten die Umrechnung einer vorgegebenen Drehzahl in die Vorgaben fürdiePWM. Das H-Brücken-Modell einschließlich der enthaltenen Modelle der leistungselektronischen Schalter kann aus Datenblattangaben der Transistoren und Dioden parametriert werden. Aufgrund des geringen Einflusses auf das Systemverhalten sollte i. A. eine Modifikation der Defaultwerte nicht erforderlich sein. Das Trägheitsmoment des Motors kann den Datenblattangaben entnommen werden. Die wirksame Reibung wird in den meisten Fällen von der mechanischen Last bestimmt. Die Rotorflussverkettung kann aus Datenblattwerten oder durch einfache Messungen bestimmt werden. Wird ein Motor mit offenen Klemmen von einem zweiten Motor angetrieben, kann die Flussverkettung aus der Drehzahl und der resultierenden Klemmenspannung unter Verwendung von Gleichung [2] bzw. [3] bestimmt werden. Sind die Werte des maximalen Haltemomentes und des dazugehörigen Stromes bekannt, kann Gleichung [5] verwendet werden, sofern das Reluktanzmoment vernachlässigt werden kann. Statorwiderstand und -induktivität können dem Datenblatt entnommen werden, ggf. ist auch eine Messung möglich. Es ist zu beachten, dass die Motormodelle die Anzahl der Rotorpole abfragen. Bei Hybridschrittmotoren wird oftmals die Polzahl pro Polkappe angegeben, die dann mit der Anzahl der Polkappen (meist 2) zu multiplizieren ist. Literatur Douglas W. Jones: Stepping Motors Fundamentals http://ww1.microchip.com/downloads/en/AppNotes/00907a.pdf Adapted Solutions • Barucki & Schmidt GbR • Annaberger Straße 240 • 09125 Chemnitz « Tei. +49 371 5347 670 • Fax +49 371 5347 672 • www.adapted-solutions.com adapted Solutions 7 von 7 Christian Obermeier: Modellbildung und sensorlose Regelung von Hybridschrittmotoren Forschritt-Berichte VDI, Reihe 8, Nr. 725 ISBN 3-18-372508-8 H. P. Kreuth: Schrittmotoren R. Oldenbourg Verlag 1988 ISBN 3-486-20264-2 Walter Link Das dynamische Verhalten des Schrittmotors bei schnellstmöglichen Positionierungsvorgängen Dissertation, Universität Stuttgart 1982 K.P. Kovacz, J. Racz Transiente Vorgänge in Wechselstrommaschinen Budapest 1959 Adapted Solutions • Barucki & Schmidt GbR • Annaberger StraDe 240 • 09125 Chemnitz • Tel. +49 371 5347 670 • Fax +49 371 5347 672 • www.adapted-solutions.com FAT FAT3erichtLeitungl 102.nb Modellierung von Leitungen r=o r=r1 r=r2 T1 T2 T3 Länge Wärmeverlust nach außen Leiter mit Verlustleistung Isolation FAT BerichtLeitungl 102.nb Beschreibung der zugrundeliegenden Modellgleichungen Wärmeleitungsgleichung I S / , 7 ä 7 l , Ö2T _ + A +p p c p ÖT \ A r ö F ) ^ - ÖT äF „ = 0 P = I 2 (pO ( l + O p (T ( r , t ) - T 0 ) +jBp (T ( r , t ) - TO) * 2) ) / AA 2 Anfangsbedingung : T ( r , z, 0) =T0 ... (1) (2) (3) Randbedingungen : =0 4T) ör (4) / r=o Leiter ( ^ ) r = r i _=A i s o ( ^ ) (5) i (T)r.rl_ = (T)r,ri-+ (6) = Of (Tumgebung ~Tiso ) (7) r = r2 ÖT \ ( —— UZ / = a ( T i s o - Tumgebung UZ — ) =a(Turaebun Ö Z / Z= L ) A ( kabel d T I ~S \ 1 ) (8) -Tiso) (9) urage ung - r, IT ~ u ( Ö T \ - a I -a I ~u 1 ÖZ / Z-L l J-kabel T \ * Umgebung (T w \ 1 umgebung / -Tv H n ) J-kabel ^ 110) \-LU) \ \ FAT3erichtLeitungl I02.nb Temperatur im Kabel Temperatur im Kabel nach 3000 Temperatur 2000 Zeit 0.0001 1000 0.0002 0.0003 Radius 0.0004 0.0005 FAT BerichtLeitung 1102. nb Temperatur in der Isolation Temperatur in der Isolation 100 Temperatur 8.5 Zeit Radius 9.5 Temperatur in der Isolation Temperatur in der Isolation 250 9.25 9.5 9.75 10 FAT3erichtLeitungl 102.nb Ableitung der vereinfachten Differentialgleichungen Definition der modifizierten Differentialgleichung ™[x, t] = 4000000 gthins yfn aaussen (-Taussen + T[x, i\) /areacon gthcon (2000 gthins + diatot aaussen Log[ di, J'!'",'hin,. ]) areacon2 gthcon . , shcconspeconr ( "' ) [.v, t] (1000000rhocon Strom- (1 + tccon (-tnom + T[x, ?]) + tccon2 (-tnom + T[x, t])2)) + gthcon Lösen der Differentialgleichung für den Fall zweier Temperaturen an beiden Rändern Temperatur im Kabel mit Randtemperaturen 20000 Temperatur 15000 10000 Zeit 0.25 0.5 Länge des Kabels 0.75 FAT BerichtLeitungl 102.nb Lösen der Differentialgleichung für den Fall ohne Wärmeverlust an beiden Rändern Temperatur ohne Wärmeverlust an den Rändern Temperatur 0.25 0.5 Länge des Kabels 0.75 Lösen der Differentialgleichung für stationären Fall für den Fall zweier Temperaturen an beiden Rändern Stationäre Temperatur 0.2 0.4 0.6 Länge des Kabels 0.8 FAT3erichtLeitung 1102. nb Vergleich zwischen stationärer und instationärer Lösung 0.2 0.4 0.6 Länge des Kabels 0.8 FAT BerichtWärmeübergangszahlen 1102. nb ALPHA_OUT-Bestimmung für Leitungsmodelle • Freie Konvektion • Dichte der Luft • Spezifische Wärmekapazität der Luft • Wärmeleitfähigkeit der Luft • Viskosität der Luft • Alpha Frei • Test der Funktion Definition der Querschnittsliste A l l s t = {0.35, 0.5, 0.75, 1 ,1.5, {3.5xl(T7, 5.x 10"7, 7.5xl(T7, 1 2.5, 4 ,6 ,10, 16, , l.5x 10~\ 2.5xlO~6. 1000000 120} *10 A (-6) , —• , , , —•— 250000 500000 100000 62500 25000' Definition der Wärmeübergangszahlenliste h l i s t = Table[Wärmeübergangszahlfrei[290, TKabel, Sqrt [4 * A l i s t [ [ i ] ] / P i ] ] , { i , 1, L e n g t h [ A l i s t ] } ] ; Darstellung der Wärmeübergangszahlenliste FAT3erichtWärmeübergangszahlenl I02.nb Plot[Evaluate[hlist] , {TKabel, 291, 291 + 150}, PlotStyle-»Table[RGBColor[Random[Real, {0, 1 } ] , Random[Real, {0, 1}], Random[Real, {0, 1}]], {i, 1, Length[hlist] } ] , PlotLegend-> Alist * 10A 6, LegendPosition -> {1, -0.5}, LegendTextSpace -> 12 , LegendLabel-» "Querschnittsfläche", LegendLabelSpace-• 3 , Frame -+True, FrameLabel-»{"Temperatur der Leitung in K", "Wärmeübergangszahl in W/(m A 2 K)"}] Querschnittsfläche 300 320 340 360 380 400 Temperatur der Leitung in K 420 440 • Graphics- Strahlung Alpha Strahlung alphastrahlung = (5 . 67**-8 * epsilon* (TLuft"4 - TKabel " 4)) / (TLuft -TKabel) 5.67 x Kr* epsilon (TLuft4 - TKabel4) TLuft - TKabel hrad = a l p h a s t r a h l u n g / . {epsilon-» 0 . 8 , TLuft-»290} 4.536 x 10"s (70728 i 0000 - TKabel4) 290-TKabel FAT BerichtWärmeübergangszahlenl 102.nb Test der Funktion Plot[Evaluate[hlist+hrad], {TKabel, 291, 291+150}, PlotStyle-»Table[RGBColor[Random[Real, {0, 1 } ] , Random[Real, {0, 1}], RandomfReal, {0, 1}]], {i, 1, Length[hlist]}] , PlotLegend-» Alist * 10 * 6, LegendPosition-> {1, -0.5}, LegendTextSpace -* 12 , LegendLabel -> "Querschnittsfläche", LegendLabelSpace-» 3, Frame -» True, FrameLabel-» {"Temperatur der Leitung in K", "Wärmeübergangszahl in W/(m A 2 K)"}] Querschnittsfläche 300 320 340 360 380 400 Temperatur der Leitung in K 420 440 - Graphics - • Erzwungene Konvektion • Alpha Erzwungen • Test der Funktion Definition der Querschnittsliste A l i s t = { 0 . 3 5 , 0.5, 0.75, 1 ,1 . 5 , {3.5 x 10"7, 5.x 10"7, 7.5 x 1(T7, 1 2 . 5 , 4 ,6 ,1 0 , 1 6 , 120} *1 0 " , 1.5 x 10"ft, 2.5 x 1(T6, 1000000 (-6) 1 3 250000 500000 1 100000 Definition der Wärmeübergangszahlenliste h l i s t = Table[WärmeübergangszahlErzwungenf 293, 393, Sqrt[4 * A l i s t [ [ i ] ] / P i ] , v] , { i , 1, L e n g t h [ A l i s t ] } ] ; Darstellung der Wärmeübergangszahlenliste 1 62500 25000J FAT3erichtWärmeübergangszahlen 1102. nb P l o t [ E v a l u a t e [ h l i s t ] , {v, 0 . 2 , 1 0 } , P l o t S t y l e - > T a b l e [RGBColor [Random [ R e a l , {0, 1 } ] , Random[Real, { 0 , 1 } ] , Random[Real, {0, 1 } ] ] , {i, 1, L e n g t h [ h l i s t ] }] , P l o t L e g e n d - » A l i s t * 10 * 6, L e g e n d P o s i t i o n - » { 1 , - 0 . 5 } , LegendTextSpace-» 6, L e g e n d L a b e l -» " Q u e r s c h n i t t s f l ä c h e " , LegendLabelSpace -» 3 , Frame -» T r u e , FrameLabel -* {"Strömungsgeschwindigkeit i n m / s " , "Wärmeübergangszahl i n W/(m*2 K)"}] 400 - 10 Strömungsgeschwindigkeit in m/s • Graphics- FAT BerichtBatteriemodelll 102. nb Dynamische Modellierung einer Bleibatterie • Kurze Modellbeschreibung Für die dynamische Modellierung einer Batterie stehen verschiedene Modelle in unterschiedlicher Komplexität zur Verfügung. Ziel des Batteriemodells für die FAT Bibliothek ist es ein Modell zu finden, das hinsichtlich der Komplexität noch übersichtlich ist, aber trotzdem die wesentlichen Effekte einer Batterie beinhaltet. Als Basis dient das Batteriemodell von C. Müller, sowie die Arbeit von D.Guasch und S. Silvestre. Das Ersatzmodell (1) unterscheidet zwischen dem Lade- und Entladevorgang. Die Hauptvariablen des Systems sind der Ladezustand SOC (State of Charge), der Strom der über die Batterie fließt sowie die Temperatur der Batterie. , Vbat=V g+ I*R g { Vg = /(SOC) Rg = / ( / S O Q 7 ) (1) Die Spannungsquelle Vg stellt die Leerlaufspannung dar. Diese Leerlaufspannung hängt von der Energie ab, die in der Batterie gespeichert ist. Bild 1. Ersatzschaltbild der Batterie Der Widerstand Rg stellt den Innenwiderstand der Batterie dar und hängt von Zustand am jeweiligen Arbeitspunkt ab (I, SOC, T) und vom Zustand der Batterie ab (SOH). (State of Health). Eine geschädigte Batterie zeigt einen höheren Innenwiderstand. Der Widerstand ist umgekehrt proportional des Ladungszustand SOC. Wenn die Batterie entladen wird, nimmt der Widerstand zu. Der SOC ist ein Indikator für den Zustand der Batterie. Der Wert des SOC liegt im Intervall von 0<SOC<1. Wobei der Wert 0 eine entladene Batterie und der Wert 1 eine geladene Batterie darstellt. Die folgenden Gleichungen (2,3,4) beschreiben den SOC: C(t) Batterie Kapazität 7/c(t) Ladungseffizienz Abs[I-Istör]/I I(t) Strom der zu- oder abgeführt wird Cnom Batteriekapazität Ct, Acap,Bcap Modellkonstanten AT(t) Temperaturabweichung von Referenztemperatur von 25°C Inominal Entladestrom der zur Kapazität Cnom gehört n Entladezeit in h aß Temperaturkoeffizienten Definition des SOC FAT3erichtBatteriemodelll 102. nb (2) Definition der Kapazität _ Cnom Ct (ßc AT(Q2+gc AT(<)+1) (3) Definition des nominal Stroms Inominal = (4) Allerdings ist die einfache Integration nicht unproblematisch, da laut Definition der SOC niemals größer als 1 oder kleiner als 0 wird. Somit ist es besser eine angepasste Beschreibung über eine Differentialgleichung zu verwenden. In die Dgl sind folgende Bedingungen einzubauen: (SOC(t)>l A Strom(t)>0) SOC'(t)=0 (SOC(t)< 0 A Strom(t)<0) SOC'(t)=0 Die Ladungseffizienz hängt auch noch von der Art des Zyklus ab. Diese Ladungseffizienz ist ungefähr 1 bei Entladungsvorgängen, wenn Selbstentladungsvorgänge vernachlässigt werden. Wählt man einen Koeffizienten <1 so kann diese berücksichtigt werden. In der Realität ist dieser Faktor nicht konstant, sondern hängt von der Selbstentladungsrate sowie vom SOC ab. Bei Ladungsvorgängen ist der Faktor ungleich 1, da durch das Ausgasen ein Ausgasungsstrom entsteht. Dieser begrenzt die maximale Spannung der Batterie. Dieser Faktor ist nicht konstant. Im Modell wird er als konstant angenommen. Der Effekt des Ausgasens wird in der Spannungsberechnung berücksichtigt. dgl = SOC'(?) = - ^ (If [(SOC(f) > 1 A Strom(f) > 0) V (SOC(r) < 0 A Strom(r) < 0), 0, 1] If [Strom(?) > 0, Evaluate[?7c(0], Evaluate[?/dc(O]] Strom(O) SOC(0)=SOC0 Sättigungsbereich Ausgasungsbereich Übergangsbereich zwischen Laden und Entladen Ladebereich Entladungsbereich 20 4C 60 80 100 FAT BerichtBatteriemodelll 102. nb Bild 1. Typischer Spannungsverlauf Das Modell hängt von 10 Parametern ab: CIO, SOCO, Vbodc,Kbodc,Pldc,P2dc,Vboc,Kboc,Plc,P2c Die Parameter bestehen aus 3 Gruppen Gruppe 1 CIO, Vbodc,Kbodc,Vboc,Kboc beschreibt den Zustand der Batterie Gruppe 2 Pldc,P2dc,Plc,P2c ist mit den Verlustwiderständen verbunden Gruppe 3 SOCO beschreibt die Anfangsbedingung Ladebereich: Der Ladebereich der Batterie gilt solange die Ausgasungsspannung unterschritten wird. Als Ausgasungsspannung wird die Spannung bei der bei einem definierten Strom das Ausgasen beginnt definiert. Die Spannung für den Ladebereich wird durch folgende Gleichung beschrieben: V c « = (Vboc + Kboc SOCW) + ( ^ ^ 7 ^ ^ ^ ^ ^ Überladungsbereich: Der Überladebereich beginnt bei der Ausgasungsspannung und geht bis zur Sättigung. Vg« = ^p Vec(f) = (Afonsc + Bfonsc l o g ( - ^ ^ - + 1)) (1 - afc AT(?)) Der soc2 wird aus der Bedingung berechnet das bei beginn der Ausgasung die Ausgasungsspannung gleich der Spannung des Ladebereichs ist. Vc(t)=Vg(t) Für den Übergang wird ein exponentieller Übergang angenommen Vo(t)=Vg(t)+(Vec(t)-Vg(t))*(l-Exp[80*(-soc+soc2)]) Entladebereich: Der Entladebereich gilt sobald der Strom negativ wird. Die Spannung in diesem Bereich wird durch folgende Gleichung beschrieben: Vdc( 0 = (Vbodc- Kbodc(1 - SOC(O)) - Umschalten zwischen Laden und Entladen: deltal<l wenn I nahe 0 - strom(Vc(»-Vdc(Q) Vc(Q+Vdc(r) -t2de|ta, 2 FAT ~'3erichtBatteriemodelll 102.nb • Parameter der Batterie • Definition der Kapazität Definition der Kapazität Cap[t_] := CnomCt (1 + ac AT[t] + ßc AT[t] 2 ) l + Acap ( / . StromNom-» Cnom ) stromNom • SOC (State of Charge) Wirkungsgrad für die Entladung und Ladung ?7dc[t_] := l Definition der Differentialgleichung für die Berechnung des SOC dgl = SOC ' [ t ] == I f [ (SOC[t] * 1 && S t r o m f t ] >= 0) | | (SOC[t] £, 0 && S t r o m f t ] <= 0) , 0 , 1 ] * I f [ S t r o m f t ] > 0 , E v a l u a t e [ ? 7 d c [ t ] ] , Evaluatefrjdc [ t ] ] ] * S t r o m [ t ] / E v a l u a t e [ C a p [ t ] ] / . StromlO -* Cnom/ n n \Bcap SOC'W = ((Acap(— U — ) W V Cnom' |Strom(0|Bcap + l) If [Strom(0 > 0, 1, l] / If [(SOC(0 > 1 A Strom(0 ä 0) V (SOC(0 < 0 A Strom(0 < 0), 0, 1] Strom(o) /(CnomCt(ySc AT(02 + ac AT(/) + 1)) • Beispiel • Spannung für den Entladungsbereich Definition der Spannungsfunktion für den Entladungsbereich |Strom(01 Vdc(t_) := (Vbodc - Kbodc (1 - SOC«))) (istr. m P ( l^ + , + P5dc + - ^ ^ ) (1 - «rdc AT(0) ( S C( ' " ° ° C10 Vdc[t] / . d a t a B a t t e r y -0.12 (1 - SOC(O) |Strom(0l ( s ^ r r + 0.02 + - ^ ^ J |str m(f)l " • Spannung für den Ladungsbereich Definition der Spannungsfunktion für den Ladungsbereich ) (1 3 +U - 0.007 AT(f)) + 2.085 FAT BerichtBatteriemodelll 102.nb Vc[t_] := (Vboc + Kboc SOC [t]) + P5c {ltStZC[t^ Strom[t] CIO Vc[t] /. dataBattery 0.16 SOC(0 +2 • Spannung für den Überladungsbereich Definition der Spannungsfunktion für das Ausgasen / . Strom[t] I Vg[t_] := lAgas + Bgas Log[l + cio - agas AT[t] '1 Vg[t] / . dataBattery + 2.24)(l -0.002AT(0) Definition der Spannungsfunktion für die maximal Spannung / Strom[t] , r Vec[t_] := Afonsc + Bfonsc Log[l + - CIO | (l-afcAT[t]) Vec[t] / . dataBattery (2.011 log(S t ^ ( ° + l) + 2.45) (1 -0.002 AT(0) ) <l-«aAT[t]) FAT3erichtBatteriemodelll 102.nb Definition der Batteriespannung Definition der Spannungsfunktion BatterieSpannung[stroml_?NumberQ, socl_?NumberQ, AT_, d a t a ] : = Module[{vdc, vc, vg, vsc, vcdc, d e l t a l , z, CT, Spannung, spannungl, soc, loe, fall, ström, soc2, lsgroot, i t e r , iterend, i n t s t a r t , intend, intmitte, fkt}, (* Definition von Parametern *) soc = Abs[socl]; deltal = 0.00001; (* Definition von Parametern *) (* Definition der Kapazität •) CT = Cnom Ct (/3c AT 2 + ac AT + 1) / . data / . ström -» stroml; Acap (* Definition der Kapazität *) (* Definition der Spannung für das Entladen*) vdc = (Vbodc - Kbodc * Abs [ (1 - soc) ]) Abs [ström] ( Eiä^—__ + \ 1+Abs [Strom] p2dc £1^2—__ + psdc) (soc+10 (-6))p4dc / Cnom (* Definition der Spannung für das Entladen*) (* Definition der Spannung für das Laden*) P3c l+strom"0 vc = (Vboc + Kboc * soc) + Cnom (* Definition der Spannung für das Laden*) (* Entladung*) If[stroml< 0, fall= 1; Spannung = vdc / . ström -» stroml; If[Spannung <= 0, Spannung = 0 ] ; ]f (* Ladung *) / . data; FAT BerichtBatteriemodelll 102.nb If [stroml> 0, (•Definition der EntgasungsSpannung, Sättigungsspannung der Ladungsspannung *) # . ström . \ vg = Agas + Bgas LogL 1 + (1 - agas AT) / . data / . ström-» stroml; V Cnom J ' / ström 11 r vec = (Afonsc + Bfonsc LogL 1 + 1 ( 1 - af c AT) / . data / . ström -» stroml; \ Cnom J ' spannungl = vc / . ström -» stroml; If[spannungl< vg, Spannung = spannungl (•Bestimmung des Übergangsbereichs zwischen Entgasung und Sättigung *) («Bestimmung des SOC bei der Bedingung vg=vc durch Bisektionsverfahren*) If [spannungl <= vec && spannungl >= vg, intstart = 0; intend = 1 ; intmitte = 0.5; iter = 0; iterend = 20; ström „, + — + p5 C f kt = (Vboc + Kboc * soc2) + Cnom vg / . data / . ström -* stroml; While[iter < iterend, If [Sign[fkt /. soc2 -> intend] == Sign[fkt /. soc2 -> intmitte] , intend = intmitte, intstart = intmitte]; intmitte = (intstart + intend) / 2 ; iter = iter + 1; Spannung = vg + (vec - vg) * (1 - Exp[80 * (-soc + soc2) ]) / . data / . ström-» stroml /. soc2 -> intmitte; If[spannungl> vec, Spannung = vec (* Übergangsbereich *) n _a r c A T ) FAT3erichtBatteriemodelll 102.nb If[Abs[stroml] < deltal. vcdc = stroml (vc - vdc) + (vc + vdc) 2 deltal 2 Spannung = vcdc / . ström -» stroml Spannung • Test der Funktion Definition des Laststroms Strom = - 2 0 . * T a n h [ t - (36 + 2 0 ) ] ; Definition der Differentialgleichung für den SOC dgl2 = dgl / . dataBattery / . Strom[t] •+ ström / . 4T[t] ->0 S O C « = 0.0217746 (0.269572 |tanh(56 - 01°9 + 1) If [20. tanh(56 - 1 ) > 0 , 1 , 1] If [(SOC(r) > 1 A 20. tanh(56 - / ) > 0 ) V (SOC« < 0 A 20. tanh(56 - 0 S 0), 0, 1] tanh(56 - t) Lösung der DGl für den SOC I s x 2 = N D S o l v e [ { d g l 2 , SOC[0] == 0 . * 1 } , S O C [ t ] , { t , 0 , 9 9 } , MaxSteps -> 1 0 " 6 , MaxStepSize-» 0 . 1 ] {{SOC(0 -> InterpolatingFunction[( 0. 99.), <>][;]}} soc2 = SOC[t] / . Isx2[[l]] InterpolatingFunction[( 0. 99.), <>][«] Darstellung des SOC P l o t [ s o c 2 , { t , 0, 9 9 } , Frame -» True, FrameLabel -» {"Zeit in h", "SOC"}, PlotLabel -> "SOC"] SOC 40 60 Zeit in h - Graphics - 80 100 FAT BerichtBatteriemodelll \02.nb Ausgabe der Batteriespannung als Funktion der Zeit b a t 2 = T a b l e [ { t , BatterieSpannung[strom, s o c 2 , 0, d a t a B a t t e r y ] } , { t , 0 , 9 9 , 0 . 1 } ] ; Darstellung des Stroms P l o t [ s t r o m , { t , 0 , 9 9 } , P l o t R a n g e -* A l l , F r a m e - » T r u e , FrameLabel-» { " Z e i t i n h " , "Strom i n A " } , P l o t L a b e l - > "Strom"] Strom 10 -10 V 0 20 40 60 Zeit i n h 80 100 - Graphics • Darstellung der Batteriespannung ListPlot[bat2, PlotRange -» { {30, 40}, {0, 3.1}}, PlotJoined-» True, Frame-»True, FrameLabel-» {"Zeit in h", "Spannung in V " } , PlotLabel-> Batteriespannung 3 a H 2 Dl § 1 .5 C 5 «S m 1 0 .5 32 - Graphics Darstellung der Batteriespannung 34 36 Zeit i n h 38 40 "Batteriespannung"] FAT ~*3erichtBatteriemodellll02.nb 10 ListPlot[bat2, PlotJoined-» True, PlotRange -* {0, 2.6}, PlotLabel-> "Typischer Batteriezyklus", Frame-»True, FrameLabel -> {"Zeit in h", "Spannung in V"}] Typischer Batteriezyklus 2.5 1.5 0.5 20 • Graphics - 40 60 Zeit in h 100 Anhang A3 Anhang A3: Mitglieder des begleitenden Arbeitskreises 30 „Simulation gemischter Systeme r nit VHDL-AMS" Sprecher des Arbeitskreises: Stellvertretender Sprecher des Arbeitskreises: Ewald Hessel Hella KGaA Hueck& Co. 59552 Lippstadt Dr. Thomas Lang BMW AG 80788 München Mitglieder: Bernd Frielingsdorf Ford AG 5907452 Köln Thorsten Frenzke (seit 2006) Siemens AG 91052 Erlangen Jörg Grießmeier Conti Temic microelectronic GmbH 90411 Nürnberg Manfred Klinkenberg Yazaki Europe Ltd. 50769 Köln Dr. Susanne Kohlhammer (bis 2005) Robert Bosch GmbH 70049 Stuttgart Dr. Kai Lange Conti Temic microelectronic GmbH 90411 Nürnberg Dr. Dieter Metzner Infineon Technologies AG 81609 München Dr. Klaus Panreck Hella KGaA Hueck& Co. 59552 Lippstadt Carsten Petsch Volkswagen AG 38436 Wolfsburg Dr. Sergey Petkun Brose Fahrzeugteile GmbH & Co. KG 96103 Hallstadt Thomas Reinders DELPHI Deutschland GmbH 42369 Wuppertal Quirin Sterner AUDI AG 85045 Ingolstadt Eckehart-Peter Wagner Siemens VDO Automotive AG 93009 Regensburg -104- FAT FAT Gastmitglieder: Dr. Mario Anton Atmel Germany 74072 Heilbronn Dr. Ingrid Bausch-Gall Bausch-Gall GmbH 80939 München Dr. Thomas Barucki Adapted Solutions 09125 Chemnitz Stefan Braun SmartCAE 81825 München Dirk Dammers Dolphin Integration 47057 Duisburg Thorsten Gerke Synopsys GmbH 85609 Aschheim-Dornbach Dr. Joachim Haase Fraunhofer IIS/EAS 01069 Dresden Olaf Hädrich Ansoft Corp. 81379 München Dr. Jürgen Härtung Cadence Design Systems GmbH 85622 Feldkirchen Herbert Müller Thomatronik GmbH 83022 Rosenheim Dr. Markus Pistauer CISC A-9020 Klagenfurt Milan Seiler Mentor Graphics Deutschland GmbH 80634 München Uwe Stürmer (seit 2006) Fraunhofer IZM 13355 Berlin -105- Bisher in der FAT-Schriftenreihe erschienen (ab 1997) 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 Zur Verletzungsmechanik und Belastbarkeit der unteren Extremität, insbesondere des Fußes, 1996 26,Analyse Kfz-relevanter Immissionen in innerstädtischen Verkehrs- und Grünflächen, 199726,Batteriemanagementsysteme für Elektrostraßenfahrzeuge, 1997 31,Ozon und Großwetterlagen - Analyse der Abhängigkeit der bodennahen Ozonbelastung von meteoro31 ,logischen Parametern im Großraum München, 1997 Meßverfahren für Kräfte und Momente an strich- und punktgeschweißten Überlappverbindungen, 1997 49,Mathematische Nachbildung des Menschen - RAMSIS 3D-Soft-Dummy, 1997 13,Anwendung brennbarer Kältemittel in Autoklimaanlagen, 1997 31,Entwicklung von Finite Element Seitencrash-Dummys: Ein Beitrag zur effizienten Insassensimulation, 1997 16,Ermittlung ertragbarer Beanspruchungen an Aluminium-Punktschweißverbindungen auf Basis der (vergriffen) Schnittkräfte, 1997 Subjektive und objektive Beurteilung des Fahrverhaltens von Pkw, 1997 (vergriffen) Finite-Element-Berechnung mit 3D-CAD-Systemen - eine vergleichende Untersuchung, 1997 13,Experimentelle Ermittlung des Wirkungsgrades von elektrischen Antrieben, 1998 (vergriffen) Untersuchungen zur Übertragbarkeit von Kennwerten einer punktgeschweißten Einelementprobe auf 41 ,Mehrelementprüfkörper und Bauteile, 1998 Analyse des Fahrverhaltens von Rollenprüfstandsfahrern, 1998 18,Retarderbremsverhalten bei Gefällefahrten mit unterschiedlichem Gefälle, 1998 44,Test und Beurteilung existierender Bordladegeräte für Elektrostraßenfahrzeuge, 1999 21,Konzept für die numerische Auslegung durchsetzgefügter Blechbauteile, 1999 (vergriffen) Biomechanische Bewertung der Euro-NCAP-Einstufungskriterien - Untersuchungen an Freiwilligen und 29,Dummies, 1999 Stanznieten von Aluminium mit Stahl mittels Halbhohlniet, 1999 44,Wirtschaftlichkeitsbetrachtungen zum Recycling von Kunststoffkraftstoffbehältern, 1999 23,Charakterisierung von USSID und Euro-SID-1 zur Ermittlung von Daten für FEM Crash Simulationen, 2000 18,Blickfixationen und Blickbewegungen des Fahrzeugführers sowie Hauptsichtbereiche an der Wind64,schutzscheibe, 2000 Informations- und Assistenzsysteme im Auto benutzergerecht gestalten (Referate des Symposiums 13,vom 1.7.99), 2000 Experimentelle und rechnerische Bestimmung des Versagensverhaltens von punktgeschweißten 98,Blechverbindungen, 2000 Verkehrsplanerische Eckwerte einer nachhaltigen regionalen Verkehrs Strategie, 2000 39,Heizleistung in Pkw mit verbrauchsoptimierten Motoren, 2000 (vergriffen) Lärm und kardiovaskuläres Risiko, 2000 18,Pkw-Reifen/Fahrbahngeräusche bei unterschiedlichen Fahrbedingungen, 2000 44,Einflußgrößen auf Reifen/Fahrbahn-Geräusche von Lkw bei unterschiedlichen Fahrbedingungen, 200049,Kölner Verfahren zur vergleichenden Erfassung der kognitiven Beanspruchung im Straßenverkehr, 2000 64,Eichung und Anwendungserprobung von K-VEBIS, 2000 59,Ergänzende Auswertungen zur subjektiven und objektiven Beurteilung des Fahrverhaltens von Pkw, 2000 46,Analyse des Unfallgeschehens'Kleiner Nutzfahrzeuge', 2001 46,Die Bedeutung biogener Kohlenwasserstoffe für die Ozonbildung, 2001 39,Schwingfestigkeitsberechnung an Dreiblech-Punktschweißungen, 2001 28,Energiesparmaßnahmen am Elektroauto, 2001 49,Betriebsfestigkeit von umgeformten Karosseriestählen, 2001 64,Einfluss wasserabweisender Beschichtungen auf Windschutzscheiben im Hinblick auf Sicht und 45,Fahrzeugsicherheit, 2001 Auslegung von Blechen mit Sicken (Sickenatlas), 2001 50,Bewertung und Vereinheitlichung von gefügten Dünnblechproben für Schwingversuche im Zeit40,festigkeitsbereich, 2001 Bestimmung des max. Kraftschlusses an mit ABV ausgerüsteten Fahrzeugen und Fahrzeugzügen, 2001 35,Beurteilung des Einsatzes von teilstrukturierten Stahlfeinblechen im Kfz-Karosseriebau zur Gewichts45,reduzierung, 2002 Erweiterte Knotenfunktionalität im parametrischen Entwurfswerkzeug SFE CONCEPT, 2002 (vergriffen) Anwendungspotenziale und Prozessgrenzen für die umformtechnische Herstellung von steifigkeits45,optimierten Bauteilen aus Doppellagenblechen (Bonded Blanks), 2002 Verhaltensmodellierung von Steuergeräten für die EMV-Simulation im automotive Bereich, 2002 45,Dehnungsgeregelte Versuche mit Proben aus den Magnesiumdruckgusslegierungen AZ91 HP 15,und AM50 HP, 2003 Betriebsfestigkeit von Bauteilen aus Magnesium unter Berücksichtigung von erhöhter Temperatur und 45,Korrosion, 2003 Fahrzeugklimatisierung und Verkehrssicherheit, 2003 45,Optimierte Verzahnungsgeometrien leistungsübertragender Zahnräder für die umformtechnische Her45,stellung, 2003 Ingenieurmäßige Berechnungsverfahren zur Lebensdauerabschätzung von geschweißten Dünn(vergriffen) blechverbindungen -Teil I: Punktschweißverbindungen -Teil II: Laserstrahlschweißen, 2003 Aufbau eines Konzeptes zur Auslegung gefügter Stahlbauteile, 2003 30,Effizienzsteigerung durch professionelles/partnerschaftliches Verhalten im Straßenverkehr, 2004 47,- 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 Einflußgrößen auf den Elastizitätsmodul von Stählen für den Fahrzeugbau, 2004 25,VDA-Forschungstag 13. Juli 2004 - Innovationsmotor Automobilindustrie-Redebeiträge kostenfrei Kompetenzerwerb für Fahrer-Informationssysteme - Einfluß des Lernprozesses auf die Interaktion 45,mit Fahrerassistenzsystemen, 2004 Systemvergleich Kostenstruktur der Bodenverkehrsmittel, 2004 45,Experimentelle Bestimmung und rechnerische Vorhersage des Tragverhaltens punktgeschweißter 29,Bauteile aus Stahlblechverbindungen unter Crashbelastung mit Hilfe von Ingenieurkonzepten, 2004 Zeil- und molekurlarbiologische Untersuchungen zur DNS-schädigenden Wirkung des Rußkerns in 34,einem Multi-Dose-Modell zur Erfassung von Dosis-Schwellenwert, 2005 Verwertung von Kunststoffbauteilen aus Altautos - Analyse der Umwelteffekte nach dem LCA-Prinzip 45,und ökonomische Analyse , 2005 Darstellung des Schwingungsverhaltens von Fahrzeug-Insassen - Symbiose aus Experiment und 45,Simulation , 2005 Elektromagnetische Feldverteilung und Einkopplungen bei Mobilfunkbetrieb im Kraftfahrzeug, 2005 45,Leichtbau mit Hilfe von zyklischen Werkstoffkennwerten für Strukturen aus umgeformtem höherfesten Feinblech, 2005 30,Grundsatzuntersuchung zum quantitativen Einfluß von Reifenbauform und -ausführung auf die Fahrstabilität von Kraftfahrzeugen bei extremen Fahrmanövern, 2005 45,Bewertung von Achskombinationen und Reifentypen auf den Beanspruchungszustand von FahrbahnBefestigungen, 2005 39,Ermittlung der aktuellen Konzentration und Verteilung von Platingruppenelementen (PGE), 2005 30,Neue Wege des Effektmonitorings für partikelgebundene Schadstoffe in Dieselabgasen , 2005 39,Hemoglobin adducts of dinitropyrenes as a marker for Diesel emission exposure in humans Bewertung lokaler Berechnungskonzepte zur Ermüdungsfestigkeit von Punktschweißverbindungen, 2005 30,Berechnungsmethoden für die Lebensdauerabschätzung von MSG- bzw. lasergeschweißten Kehlnähten 30,dünnwandiger Stahlblechstrukturen, 2005 Verbesserung der Prognosefähigkeit der Crashsimulation aus höherfesten Mehrphasenstählen durch 30,Berücksichtigung von Ergebnissen vorangestellter Umformsimulation Anwendungspotenziale und Prozeßgrenzen der Klebtechnik für die Umformung von Doppellagenblechen 76,Thermisches Fügen für die stahlintensive Hybridbauweise im Fahrzeugleichtbau 76,Lufthygienische Beurteilung von Pkw-Innenraumfiltern 96,Vergleich verschiedener Konzepte der Bodensimulation und von drehenden Rädern zur Nachbildung der Straßenfahrt im Windkanal und deren Auswirkung auf Fahrzeuge 40,Methodischer Ansatz im Stahlleichtbau am Beispiel Federbein/Dämpfer 50,Innovative Nfz-Konzepte - Gesamtwirtschaftliche Effekte durch Einführung schwerer und langer Lkw 45,Technische Kompatibilität von innovativen Nutzfahrzeugkonzepten auf den kombinierten Verkehr Straße/Schiene sowie den Containerverkehr 50,Größenaufgelöste physikalische und chemische Bestimmung von elementarem und organischem 55,Kohlenstoff in Nanopartikeln Erstellung einer VHDL-AMS-Modellbibliothek für die Simulation von Kfz-Systemen 50,- VDA FAT Verband der Automobilindustrie Forschungsvereinigung Automobiltechnik Westendstraße 61 D-60325 Frankfurt am Main www.vda.de