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

Documentos relacionados