-
Die
Erfindung betrifft eine Adaptions-Einheit sowie eine Testanordnung
bestehend aus einem Beeinflussungsgerät für Steuergeräte
und einer integrierten oder separaten Adaptions-Einheit und ein Verfahren
zur Bereitstellung einer Schnittstelle, wie durch die jeweiligen
Oberbegriffe der unabhängigen Ansprüche definiert.
-
Es
ist eine seit vielen Jahren zu beobachtende Tendenz in Bereich des
Automobilbaus, aber auch in anderen Bereichen der Konstruktion und
Herstellung von Fahrzeugen jeder Art sowie in allen anderen Bereichen
des Maschinen und Anlagenbaus, dass die Produkte einen immer grösseren
Anteil an Elektronik enthalten. Der Anteil an der Wertschöpfung von
Automobilen beträgt dabei bereits um die 35% mit steigender
Tendenz. Ein großer Teil dieses Wertschöpfungsanteiles
entfällt auf Steuergeräte, die die unterschiedlichen
Einrichtungen der Gesamtprodukte überwachen. Diese Steuergeräte
sind in der Regel fest programmiert und lassen sich im Nachhinein nicht
mehr oder nur sehr eingeschränkt verändern.
-
Um
die Steuergeräte für ihre jeweiligen Umgebungen
anpassen zu können, ist es aber notwendig, dass man zur
Bestimmung der für den jeweiligen Einsatz optimalen Betriebsparameter
Veränderungen am Steuergerät vornehmen kann, wobei
sich die Veränderungen im Wesentlichen auf die Veränderungen
der Randbedingungen, d. h. der in den Speichern des Steuergerätes
abgelegten Daten bezieht.
-
Um
entsprechende Tests am jeweiligen Steuergerät vornehmen
zu können, kommen Beeinflussungsgeräte zum Einsatz,
mit deren Hilfe sich die gewünschten Veränderungen
am Steuergerät bewerkstelligen lassen.
-
Bekannte
System bestehen unter Berücksichtigung des Vorhergesagten
dabei einerseits aus dem Beeinflussungsgerät zur Beeinflussung
des mindestens einen Steuergeräts mit mindes tens einem
Steuergerät-Microcontroller und mit mindestens einer Steuergerät-Debug-Schnittstelle,
wobei das Beeinflussungsgerät vorzugsweise zumindest eine programmierbare
Einheit, wenigstens eine Datenübertragungs-Schnittstelle
zur Verbindung des Beeinflussungsgeräts mit einer Bedieneinheit
(soweit diese Bedieneinheit für den jeweiligen Anwendungsfall
erforderlich ist) und mindestens eine Beeinflussungsgerät-Debug-Schnittstelle
zur Verbindung des Beeinflussungsgeräts mit der Steuergerät-Debug-Schnittstelle
des Steuergeräts umfasst.
-
Beeinflussungsgeräte
der beschriebenen Art sind aus der Praxis bekannt und finden vor
allem in der angewandten Forschung und der industriellen Entwicklung überall
dort ihren Einsatz, wo Steuergeräte entwickelt und zum
Einsatz gebracht werden sollen. Beispielhaft sei das Beeinflussungsgerät
aus der internationalen Patentanmeldung
WO 2005/091089 A1 genannt.
-
Unter
einem Steuergerät wird im folgenden jegliche Art von elektronischen
Geräten verstanden, mit deren Hilfe technisch-physikalische
Prozesse beeinflusst werden. Üblicherweise umfasst ein
solches Steuergerät zumindest eine Recheneinheit, z. B.
in Form eines Microprozessors oder Microcontrollers, Speicher sowie
Eingabe-/Ausgabeschnittstellen (I/O-Schnittstellen), um Berechnungen
in Abhängigkeit von intern gespeicherten Parametern bzw.
internen Rechengrößen und/oder von gemessenen – jedenfalls
von extern bereitgestellten – Größen
durchführen zu können und um gleichermaßen
durch Ausgabe von elektrischen Signalen auf externe Vorgänge
einwirken zu können. Steuergeräte wirken damit im
regelungstechnischen Sinne nicht einfach nur als Steuerungen, sondern
sie sind insbesondere auch dazu geeignet, komplexe Regelungsaufgaben
zu lösen. Wenn im Folgenden von Steuergeräten,
Steuerungen und dem Vorgang des Steuerns die Rede ist, sind stets
auch Vorrichtungen und Tätigkeiten nach der oben angegebenen
allgemeineren Definition umfasst.
-
Weiterhin
ist im Folgenden stets von verschiedenen Microcontrollern die Rede.
Darunter werden elektronische Rechnereinheiten mit zugeordnetem
elektronischen Speicher verstanden, unabhängig davon, ob
der Speicher vollständig oder teilweise in einem Bauteil
mit der Rechnereinheit realisiert ist, oder ob Rechnereinheit und
zugeordneter Speicher als voneinander getrennte Bauteile vorliegen.
-
Der
Einsatz von Beeinflussungsgeräten wird durch die nachfolgende
Beschreibung des Entwicklungsprozesses deutlich, den Steuergeräte – zumindest
im Rahmen umfangreicherer Aufgabenstellungen – in der Praxis
durchlaufen.
-
Am
Anfang einer regelungstechnischen Aufgabenstellung steht zunächst
die mathematische Modellierung und Simulation eines technisch-physikalischen
Prozesses, dem ein wunschgemäßes dynamisches Verhalten
aufgeprägt werden soll. Anhand des resultierenden abstrakten
mathematischen Modells lassen sich verschiedene Regelungskonzepte,
die ebenfalls ausschließlich als mathematische Modellvorstellung
vorliegen, im Rahmen numerischer Simulationen erproben; dieser Schritt
stellt die Phase der Modellierung und des Reglerentwurfes meist
auf Basis computergestützter Modellierungswerkzeuge dar.
-
In
einem zweiten Schritt wird der im mathematischen Modell entworfene
Regler auf eine echtzeitfähige Simulations-Einheit übertragen,
die meist sowohl in ihrer Rechenleistung wie auch hinsichtlich ihrer
I/O-Fähigkeiten ein übliches Serien-Steuergerät bei
weitem übertrifft und mit dem echten physikalischen Prozess
wechselwirkend in Verbindung steht. Da die Übertragung
des abstrakt formulierten Reglers von einem Modellierungswerkzeug
auf die Simulations-Einheit weitestgehend automatisiert erfolgt, wird
in der zweiten Phase von Rapid-Control-Prototyping (RCP) oder Funktions-Prototyping
gesprochen.
-
Ist
das regelungstechnische Problem mit dem auf der Simulations-Einheit
betriebenen Regler gelöst, wird der Regelungsalgorithmus
im Rahmen der Steuergeräte-Implementierung – meist
voll automatisiert – auf das letztendlich in der Praxis
einzusetzende (Serien-)Steuergerät übertragen.
-
Das
nun im realen Prozess grundsätzlich einsetzbare Steuergerät
wird vor seinem Einsatz häufig zunächst einem
Test unterzogen, indem der reale Prozess, mit dem das Steuergerät
letztendlich Wechselwirken soll, teilweise oder vollständig
durch eine echtzeitfähige Simulations-Einheit simuliert
und das Steuergerät durch Signal-Testmuster stimuliert wird
(Hardware-in-the-Loop-Simulation). Das derart getestete Steuergerät
wird letztendlich in den realen Prozess eingesetzt und mit ihm wechselwirkend
betrieben.
-
Trotz
der zuvor durchgeführten umfangreichen Tests ist es meist
notwendig, Abstimmungen am Steuergerät bzw. an den im Steuergerät
implementierten Funktionen vorzunehmen. Dazu ist es zum einen notwendig,
den Zustand des Steuergeräts, also alle vom Steuergerät
ein- bzw. ausgegebenen wie auch intern verwendeten Daten per Daten-Akquisition
zeitnah beobachten, aufzeichnen und analysieren zu können.
Zum anderen ist es notwendig, durch schreibenden Zugriff auf den
Speicher des Steuergeräts die den Funktionen/Regelungsalgorithmen
zu Grunde liegenden Parameter bzw. Parametersätze, also
Kennzahlen, -linien oder -felder, verändern zu können.
Die beschriebenen Vorgänge werden insgesamt als Steuergeräte-Applikationen
bezeichnet.
-
Sollen
nicht nur Parameter von Funktionen des Steuergeräts, also
im Speicher des Steuergeräts abgelegte Daten, sondern die
im Steuergerät implementierten Funktionen selbst testweise
verändert werden, kommt das so genannte Funktions-Bypassing
zum Einsatz, bei dem das Steuergerät einer echtzeitfähigen
Simulations-Einheit den Aufruf einer Steuergeräte-Funktion
signalisiert, das Steuergerät selbst die Funktion jedoch
nicht ausführt, sondern lediglich das Ergebnis der auf
der Simulations-Einheit ersatzweise berechneten Funktion entgegennimmt und
weiterverwendet; es findet also ein Bypass der Steuergeräte-Funktion
statt.
-
In
beiden geschilderten Szenarien – der Steuergeräte-Applikation
und dem Funktions-Bypassing – ist es notwendig, einen besonderen
Zugang zum Steuergerät zu schaffen, über den eine
Beobachtung und aktive Beeinflussung des Steuergeräts möglich
ist. Dies ist die Aufgabe von Beeinflussungsgeräten.
-
Aus
der Praxis sind verschiedene Methoden bekannt, über die
Beeinflussungsgeräte Zugang zu Steuergeräten erlangen.
Dazu zählen
- a) der Zugang mit Hilfe
einer parallelen Schnittstelle,
- b) der Zugang mittels serieller Schnittstelle,
- c) der Zugang via spezieller Debug-Schnittstelle (oft zusätzlich
zu anderen seriellen und/oder parallelen Schnittstellen, wobei die
Debug-Schnittstelle selbst auch als serielle oder parallele Schnittstelle
oder als eine Kombination dieser beiden Arten ausgeführt
sein kann.)
-
Je
nach Ausführungsart des Steuergerätes kann es
bei der Nutzung einer parallelen Schnittstelle erforderlich sein,
Eingriffe in die Hardware des Steuergeräts vorzunehmen,
da oft das Beeinflussungsgerät wie ein Speicher-Emulator
arbeitet.
-
Aus
dem Stand der Technik ist bekannt, dass vorgesehen sein kann, dass
ein Speicher (bzw. ausgewählte Speicherbereiche des Speichers)
eines Speicheremulators an die Stelle eines Speicherbausteins oder
Speicherbereiches des Steuergeräts tritt oder von einem
extra dafür vorgesehenen Steckplatz auf der Platine des
Steuergeräts aufgenommen wird, wobei nach dem Anschließen
des Speicheremulators an das Steuergerät ein Steuergerät-Microcontroller via
Adress- und Datenbus auf den Speicherinhalt des Speicheremulators
zugreift.
-
Moderne
Steuergeräte werden zunehmend mit Microcontroller ausgestattet,
die eine Debug-Schnittstelle aufweisen, wie z. B. NEXUS (IEEE-ISTO
5001: "The NEXUS 5001 Forum Standard for a Global Embedded Processor
Debug Interface", 2003).
-
Debug-Schnittstellen
bieten weit reichende Möglichkeiten der Beobachtung und
Beeinflussung von Zuständen des Microcontrollers und sie
ermöglichen eine Laufzeit-Beobachtung und -Kontrolle (Debugging)
des Microcontrollers, insbesondere also die Verfolgung der Programmcode-Ausführung
und der dabei zugegriffen und veränderten Daten. Dadurch, dass
Debug-Schnittstellen integraler Teil der Microcontroller-Hardware
sind, lassen sich mit ihnen deutlich schnellere Zugriffe auf den
Microcontroller realisieren, als es durch eine softwarebasierte
Kommunikations-Schnittstelle möglich ist.
-
Die
Debug-Schnittstelle eines Steuergerätes ermöglicht
es also, über einen geeigneten Befehlssatz der Schnittstelle
automatisch den Zustand des Steuergerät-Microcontrollers
und zum Teil sogar der ihm im Steuergerät zugeordneten
Einheiten wie z. B. seines externen Speichers auszulesen und aktiv
zu beeinflussen.
-
Unter
der Bezeichnung Steuergerät-Debug-Schnittstellen werden
hier auch solche Schnittstellen verstanden, die zwar nicht in erster
Linie als "Debug-Schnittstellen" vorgesehen sind und deshalb nicht
explizit als solche bezeichnet werden, die jedoch die entsprechenden
Beobachtungs- und Beeinflussungsmöglichkeiten bezüglich
des Steuergerät-Microcontrollers und der ihm zugeordneten
elektronischen Einheiten bieten.
-
Aus
der Druckschrift
WO
2005/091089 A1 ist bekannt, den Datenaustausch zwischen
Beeinflussungsgerät und dem zu beeinflussenden Steuergerät über
die Steuergerät-Debug-Schnittstelle zu vollziehen.
-
Es
ist zudem bekannt, zur Applikation eines Steuergeräts mit
einer Steuergerät-Debug-Schnittstelle ein Beeinflussungsgerät
zu verwenden (siehe hierzu dSPACE Katalog 2006, S. 430–432,
Beeinflussungsgerät DCI-GSI1), das zur Beeinflussung
des Steuergeräts die Steuergerät-Debug-Schnittstelle
(z. B. die Nexus-Schnittstelle) nutzt, wobei diese Debug-Schnittstellen
bisher nur bei eingeschaltetem Steuergerät dafür
genutzt werden konnten, um einen Datenaustausch (Protokollinformationen,
Variablen, Konstanten, Befehle, Funktionen, Programme) zwischen
Steuergerät und Beeinflussungsgerät zu gewährleisten.
-
Ein
Datenaustausch kann bei direkter Kopplung von Beeinflussungsgerät
und Steuergerät via Debug-Schnittstelle bei abgeschaltetem
Steuergerät erst gar nicht beginnen.
-
Eine
der Ursachen dafür ist, dass vor einem Austausch von Nutzdaten
zwischen der Debug-Schnittstelle des Beeinflussungsgerät
einerseits und der Debug-Schnittstelle des Steuergeräts
andererseits bestimmte Protokollinformationen ausgetauscht werden
müssen. Bei dem Sonderfall, bei dem sich ein im Steuergerät
befindlicher Steuergerät-Microcontroller unabhängig
vom Steuergerät abschalten lässt, ist dennoch üblicherweise
die Funktionsbereitschaft der Debug-Schnittstelle des Steuergerätes
an die Funktionsbereitschaft des Steuergeräte-Microcontrollers
gekoppelt.
-
Den
Entwicklungs- und Test-Ingenieuren würde es die Arbeit
jedoch enorm erleichtern, wenn auch bei einem abgeschalteten Steuergerät
via Beeinflussungsgerät und via Debug-Schnittstelle auf den
Speicherinhalt, der dem Microcontroller des Steuergerätes
zugeordnet ist, Einfluss genommen werden könnte. Insbesondere
für die Kalibrierung und den Test des Steuergerätes,
kann es von Nutzen sein, wenn bereits vor oder während
des Einschaltvorgangs des Steuergerätes über die
Debug-Schnittstelle eine Speicherbeeinflussung (RAM-Speicher) des
dem Steuergeräte-Microcontrollers zugeordneten Speichers
(RAM-Speicher) vorgenommen werden könnte.
-
Die
Aufgabe der vorliegenden Erfindung ist es daher, eine Vorrichtung
vorzusehen, die in verschiedenen Betriebszuständen des
Steuergerätes eine Beeinflussung oder Übertragung
von Speicherinhalten eines dem Steuergerät zugeordneten
Speichers ermöglicht sowie ein entsprechendes Verfahren
bereitzustellen.
-
Diese
Aufgabe wird durch die Merkmale der unabhängigen Ansprüche
gelöst, wobei zweckmäßige Ausführungsformen
durch die Merkmale der Unteransprüche beschrieben sind.
-
Vorgesehen
ist nach Maßgabe der Erfindung eine Adaptions-Einheit zur
wahlweisen Anordnung in der Datenverbindung zwischen einem Steuergerät und
mindestens einem Beeinflussungsgerät zur Beeinflussung
des Steuergeräts, wobei die Adaptions-Einheit zumindest
einen Speicher aufweist, in dem zumindest ein Teil der Daten der
Datenübertragung zwischen Beeinflussungsgerät
und Steuergerät speicherbar sind und der vom Microcontroller
des eingeschalteten Steuergerätes lesbar und/oder beschreibbar
ist. Durch das Vorsehen der Adaptions-Einheit nach Maßgabe
der vorliegenden Erfindung wird es ermöglicht, dass bei
einem abgeschalteten Steuergerät via Beeinflussungsgerät
auf den Speicherinhalt, der dem Microcontroller des Steuergerätes
zugeordnet ist, Einfluss genommen werden kann, so dass z. B. für
die Kalibrierung und den Test des Steuergerätes bereits
vor oder während des Einschaltvorgangs des Steuergerätes über
eine Debug-Schnittstelle eine Speicherbeeinflussung (RAM-Speicher)
des dem Steuergeräte-Microcontrollers zugeordneten Speichers
(RAM-Speicher) vorgenommen werden kann. Eine der Ursachen dafür
ist, dass vor einem Austausch von Nutzdaten zwischen Beeinflussungsgerät
einerseits und Steuergeräts andererseits bestimmte Protokollinformationen
ausgetauscht werden müssen. Die Adaptions-Einheit meldet
dem Beeinflussungsgerät ein eingeschaltetes Steuergerät,
auch wenn das Steuergerät nicht oder nicht komplett eingeschaltet
ist. Zusätzlich sorgt die Adaptionseinheit dafür,
dass das Beeinflussungsgerät wie bei einem eingeschaltetem
Steuergerät, über den durch das System vorgegebenen
Bus Daten austauschen kann, ohne dass das Beeinflussungsgerät
eine Änderung in der Nutzung des Busses vornehmen muss.
D. h., das für die Ansteuerung des Busses verwendete Protokoll ändert
sind nicht. Die Adaptionseinheit simuliert dazu Teile oder den kompletten
Bus bzw. das komplette Busprotokoll und ermöglicht zudem,
dass relevante Daten auch bei ausgeschaltetem Steuergerät
austauschbar sind.
-
Die
Adaptions-Einheit nach Maßgabe der vorliegenden Erfindung
kann sich weiterhin dadurch auszeichnen, dass sie einen – abhängig
vom Zustand des Steuergerätes bzw. von Signalen des Steuergerätes
oder des Beeinflussungsgerätes – schaltbares Verbindungselement
zur alternativen direkten Datenverbindung zwischen Beeinflussungsgerät
und Steuergerät oder unter Zwischenschaltung des Speichers
in der Adaptions-Einheit aufweist. Das Verbindungselement kann dabei
wenigstens eine programmierbare Einheit umfassen, die vorzugsweise
als „Field Programmable Gate Array"-Bauelement ausgestaltet
ist. Ein derartiges Bauelement wird in der Fachwelt kurz als „FPGA"
bezeichnet. Diese Abkürzung wird im weiteren Text verwendet.
Alternativ kann das Verbindungselement auch innerhalb eines wiederprogrammierbaren
Hardware-Bauelementes realisiert sein, wobei das wiederprogrammierbaren Hardware-Bauelemente
wiederum bevorzugt ein FPGA ist. Das Verbindungselement kann schließlich auch
ein Microcontroller-Bauelement sein oder als Schaltungsanordnung
mit diskreten aktiven und passiven elektronischen Bauelementen ausgestaltet sein.
-
Der
in der Adaptions-Einheit vorgesehene Speicher ist vorzugsweise ein
SRAM-Speicher (statischer RAM-Speicher), im weiteren Text kurz „SRAM" genannt,
wobei jedoch auch alternative Speichertypen für die Adaptionseinheit
in Frage kommen. Diese alternativen Speichertypen sind nicht auf
flüchtige Speichertypen beschränkt sondern können
auch nichtflüchtige Speichertypen sein. Beispiele für
alternative Speicher sind MRAM-Speicher oder FRAM-Speicher.
-
Die
Adaptions-Einheit nach Maßgabe der vorliegenden Erfindung
ist ebenso bevorzugt mit zumindest einer den Schnittstellen von
Steuerungsgerät und Beeinflussungsgerät entsprechenden
Debug-Schnittstelle zur Datenverbindung mit Beeinflussungsgerät
und Steuerungsgerät versehen, bei der es sich weiter bevorzugt
um eine NEXUS-Schnittstelle handelt. Debug-Schnittstellen bieten
weitreichende Möglichkeiten der Beobachtung und Beeinflussung
von Zuständen des Microcontrollers und sie ermöglichen
eine Laufzeit-Beobachtung und -Kontrolle (Debugging) des Microcontrollers,
insbesondere also die Verfolgung der Programmcode-Ausführung
und der dabei zugegriffen und veränderten Daten. Dadurch,
dass Debug-Schnittstellen integraler Teil der Microcontroller-Hardware
sind, lassen sich mit ihnen deutlich schnellere Zugriffe auf den
Microcontroller realisieren, als es durch eine softwarebasierte
Kommunikations-Schnittstelle möglich ist. Die Debug-Schnittstelle
eines Steuergerätes ermöglicht es also, über
einen geeigneten Befehlssatz der Schnittstelle automatisch den Zustand
des Steuergerät-Microcontrollers und zum Teil sogar der
ihm im Steuergerät zugeordneten Einheiten wie z. B. seines
externen Speichers auszulesen und aktiv zu beeinflussen.
-
Die
Adaptions-Einheit kann weiterhin integraler Bestandteil des Beeinflussungsgerätes
sein. Üblicherweise werden Adaptions-Elemente und Beeinflussungsgeräte
von ihren Abmessungen her möglichst klein und von einer
Bedieneinheit getrennt ausgeführt, da sie beispielsweise
innerhalb eines Kraftfahrzeugs montiert werden, jedoch ist durchaus vorstellbar,
dass die erfindungsgemäße Adaptionseinheit, das
Beeinflussungsgerät und die Bedieneinheit in einer gerätetechnischen
Einheit realisiert sind.
-
Weiterhin
vorgesehen ist ein Verfahren zum Betrieb einer Testanordnung, umfassend
zumindest ein Steuergerät und zumindest ein über
eine Datenverbindung mit dem Steuergerät verbundenes Beeinflussungsgerät
zur Beeinflussung des Steuergerätes, mit den Schritten:
- – Bereitstellen eines vom Steuergerät
als eigener Speicher ansprechbaren, externen Speichers;
- – Bereitstellen von Protokolldaten auf einem Debug-Kanal;
- – Bereitstellen von Steuerdaten und/oder Nutzdaten
und/oder Befehlen, in der Datenverbindung zwischen Steuergerät
und Beeinflussungsgerät und/oder zwischen Adaptionseinheit
und Beeinflussungsgerät;
- – Aufbau einer Kommunikation zwischen externem Speicher
und Beeinflussungsgerät unter Verwendung von entweder Kommunikationsprotokolldaten
des Steuergerätes oder Kommunikationsprotokolldaten, die
denen des Steuergerätes entsprechen;
- – Schreiben von Steuerdaten und/oder Nutzdaten und/oder
Befehlen für das Steuergerät vom Beeinflussungsgerät
in den externen Speicher;
- – Starten des Steuergerätes unter Auslesen
des externen Speichers;
- – Übergabe der Kommunikation an Steuergerät und
Beeinflussungsgerät.
-
In
einer Ausführungsvariante des erfindungsgemäßen
Verfahrens ist die Verbindung zwischen externem Speicher der Adaptionseinheit
und Steuergerät via Microcontrollerbus und/oder die Verbindung
zwischen externem Speicher der Adaptionseinheit und dem Beeinflussungsgerät
auftrennbar ausgestaltet. Daneben kann es vorgesehen sein, das Steuergerät
und/oder das Beeinflussungsgerät und/oder die Adaptionseinheit
jeweils als separate Einzelmodule bereitzustellen, die dann untereinander
mittels Steckverbindungen mechanisch und/oder elektrisch koppelbar
sind.
-
In
einer weiteren Ausführungsvariante des erfindungsgemäßen
Verfahrens kann es vorgesehen sein, dass während der gesamten
(bspw. über mehrere Tage andauernden) Steuergerätetestsphase
die Adaptionseinheit mit dem Steuergerät verbunden bleibt
und dabei das Steuergerät permanent oder zeitweise den
externen Speicher der Adaptionseinheit verwendet.
-
Vorgesehen
ist ein System mit mindestens einem Steuergerät mit mindestens
einem Steuergerät-Microcontroller und mit mindestens einer
Steuergerät-Debug-Schnittstelle, einem Beeinflussungsgerät
zur Beeinflussung des mindestens einen Steuergeräts, wobei
das Beeinflussungsgerät zumindest eine programmierbare
Einheit, wenigstens eine Datenübertragungs-Schnittstelle
zur Verbindung des Beeinflussungsgeräts mit einer Bedieneinheit
und mindestens eine Beeinflussungsgerät-Debug-Schnittstelle
umfasst, die der Verbindung des Beeinflussungsgeräts mit
der Steuergerät-Debug-Schnittstelle des Steuergeräts
dienen kann.
-
Weitere
Eigenschaften und Vorteile der vorliegenden Erfindung ergeben sich
aus der folgenden Beschreibung einer bevorzugten Ausführungsform, die
im Zusammenhang mit der beigefügten 1, jedoch
in keiner Weise beschränkend, erfolgt.
-
In
der 1 ist in schematischer Art und Weise eine Testanordnung
mit den Komponenten und gemäß dem dargestellten
Verfahren gezeigt. Es handelt sich hierbei um eine bevorzugte Ausführungsform,
die in keinerlei Weise beschränkt sein soll.
-
In
der 1 ist zunächst ein Steuergerät 2, ein
Beeinflussungsgerät 4 sowie eine mit beiden verbundene
Adaptionseinheit 6 gezeigt.
-
Das
Steuergerät 2 weist, wie in der 1 dargestellt
ist, einen Microcontroller-Core 8 (Microcontroller-Core 8 =
Kern des Microcontrollers des Steuergerätes 2)
auf, einen Flashspeicher 10 sowie einen RAM-Speicher 12.
-
Das
Steuergerät 2 weist darüber hinaus vorzugsweise
eine CAN-Schnittstelle 14 auf, über die das Steuergerät
mit dem CAN-Bus 16 beispielsweise in einem Fahrzeug kommuniziert
(weitere, meist standardisierte, Schnittstellen zu anderen Steuergeräten
können je nach Verwendung des Steueregerätes 2 zusätzlich
vorgesehen sein).
-
Des
Weiteren weist das Steuergerät 2 eine Debug-Schnittstelle 18 auf, über
die das Steuergerät mit dem Beeinflussungsgerät 4 unter
und der Zwischenschaltung der Adaptionseinheit 6 kommuniziert.
-
Bei
der Debug-Schnittstelle 18 handelt es sich vorzugsweise
um eine „Nexus"-Schnittstelle. Das Beeinflussungsgerät 4 weist
wiederum einen Beeinflussungsgerät-Microcontroller 20 auf,
einen ROM-Speicher 22 (alternativ kann ein sogenannter Flash-Speicher
oder ein EPROM oder ein EEPROM den ROM-Speicher 22 ersetzen)
sowie einen RAM-Speicher 24.
-
Des
Weiteren ist der 1 zu entnehmen, dass das Beeinflussungsgerät 4 jeweils
eine Schnittstelle 26 zu einer Bedieneinheit aufweist,
wie zum Beispiel ein USB-Interface zu einem Kalibrierwerkzeug, das
auf einem Standardcomputer installiert ist. Des Weiteren weist das
Beeinflussungsgerät 4 auch eine Schnittstelle 28 zu
einem externen Echtzeitrechner auf, wie zum Beispiel eine LVDS-Schnittstelle
zu einem Bypass-System.
-
Schließlich
weist auch das Beeinflussungsgerät 4 eine Debug-Schnittstelle 30 auf,
wobei es sich auch hierbei um eine Nexus-Debug-Schnittstelle handelt
(weitere Alternativen zur Nexus-Schnittstelle sind Debug-Schnittstellen,
die in der automotiven Fachwelt mit den Kürzeln AUD, JTAG,
NBD, OCDS oder SDI bezeichnet werden).
-
Schließlich
ist der 1 die Adaptionseinheit 6 zu
entnehmen, über die das Beeinflussungsgerät 4 mit
dem Steuergerät 2 verbunden ist.
-
Wie
der 1 zu entnehmen ist, weist die Adaptionseinheit 6 zunächst
einen SRAM 32 auf, der mit einem FPGA 34 verbunden
ist.
-
Über
einen Kanalabschnitt 36A, auf dem vorzugsweise simulierte
Bussignale bereitstellbar sind (vorzugsweise durch das FPGA), ist
das FPGA mit einem Verbindungselement 38 verbunden. Das
Verbindungselement 38, das in einer bevorzugten Ausführungsform
innerhalb des FPGAs realisiert ist, weist die in der 1 dargestellten
Schaltzustände S1 und S2 auf. Das Umschalten von einem
ersten Schaltzustand S1 zu einem zweiten Schaltzustand S2 wird getriggert über
ein Auslöse-Signal 40, das von einem Zugang zum
Microcontrollerbus 42 des Steuergeräte-Microcontrollers
ausgeht, wobei das Auslöse-Signal 40 vorzugsweise
mittels Filterelement 52 aus dem Datenstrom auf dem Microcontrollerbus
extrahierbar ist und/oder wobei das Auslöse-Signal 40 abhängig
vom Schaltzustand des Steuergeräte-Microcontrollers oder
des Steuergerätes 2 insgesamt ist. Mit der vorliegenden
Anordnung, wie in der 1 gezeigt, ist es möglich,
Steuergerätevariablen auch bei ausgeschaltetem Steuergerät 2 über die
Debug-Schnittstelle 30 zu kalibrieren, zu applizieren und
auszulesen.
-
Da
zwischen dem Beeinflussungsgerät 4 und dem Steuergerät
die Adaptionseinheit 6 eingefügt ist, wird durch
die Adaptionseinheit 6 dem Beeinflussungsgerät 4 bei
ausgeschaltetem Steuergerät 2 eine intakte Nexus-Schnittstelle
angezeigt. Die erforderlichen Bussignale werden im Schaltzustand
S2 vom FPGA 34 der Adaptionseinheit 6 bereitgestellt, so
dass auch bei ausgeschaltetem Steuergerät 2 über
die Debugschnittstelle 30 auf den SRAM 32 der Adaptereinheit
geschrieben wird bzw. werden kann. Sobald das Steuergerät 2 eingeschaltet
wird, kann dieses dann über den Microcontrollerbus 42 auf
den Speicherbereich des SRAM 32 zugreifen.
-
Im „Normalbetrieb",
das heißt wenn das Steuergerät 2 spannungsversorgt
ist, schaltet das Verbindungselement 38 die Adaptionseinheit 6 auf den
ersten Schaltzustand S1, womit wieder die direkte Verbindung zwischen
Steuergerät und Beeinflussungsgerät 4 über
die Nexus-Debug-Schnittstellen 18, 30 hergestellt
ist.
-
Zur
erfindungsgemäßen Lösung trägt
der SRAM 32 bei, der auch bei ausgeschaltetem Steuergerät
die Daten permanent hält. Ist das Steuergerät eingeschaltet,
erfolgt das Ansprechen dieses Speichers über den Microcontrollerbus 42 des
Steuergerätes 2. Bei eingeschaltetem Steuergerät 2 kommuniziert
der Steuergerät-Microcontroller-Core 8 unter anderem
mit der Debugschnittstelle 18 des Steuergerätes 2.
Die Datenübertragung über die Kanalabschnitte 36B, 36C zwischen
der Debugschnittstelle 18 des Steuergerätes 2 und
der Debugschnittstelle 30 des Beeinflussungsgerätes 4 bleibt
im eingeschalteten Zustand des Steuergerätes unbeeinflusst
von der Adaptionseinheit 6, weil hierbei die Debugdaten, also
die Daten, die zwischen den Debug-Schnittstellen 18, 30 ausgetauscht
werden, lediglich von der Adaptionseinheit 6 durchgeleitet
werden.
-
Ist
das Steuergerät ausgeschaltet, übernimmt die Adaptionseinheit 6 die
Bereitstellung der Protokollinformationen für den Debug-Kanal
(hier mit den Kanalabschnitten 36A und 36C) und
lässt den Zugriff auf die Daten durch das Beeinflussungsgerät 4 wie
bei eingeschaltetem System weiter zu. Dadurch können Daten
bei ausgeschaltetem Steuergerät 2 vorbereitet
und sofort nach Einschalten des Steuergerätes 2 benutzt
werden, wie dies bei Kaltstart-Anwendungen erforderlich ist. Sofern
das Steuergerät 2 den SRAM 32 der Adaptionseinheit 6 auch
für weitere Statusdaten nutzt, kann das Beeinflussungsgerät 4 diese
Statuswerte auch nach einem späteren Steuergeräte-Ausschaltvorgang
zu Analysezwecken auslesen.
-
Diese
Statuswerte könnten beispielsweise aktuell aufgenommene
Sensordaten sein, die den Zustand des vom Steuergerät gesteuerten
Systems (bspw. Motor, Bremsen, Fahrwerk etc.) widerspiegeln. Auch
Zwischenergebnisse von Berechnungen des Steuergerätes können
als Statuswerte im SRAM 32 abgelegt werden.
-
Anstelle
der Verwendung des in der 1 dargestellten
Beeinflussungsgerätes 4 ist auch eine Nutzung
von anderen Beeinflussungsgeräten, wie zum Beispiel ein
Debuggergerät (bspw. ein Lauterbach-Debugger) denkbar.
Je nach Implementierungsgrad des „simulierten" Steuergerätebusses können
mehr oder weniger Funktionen anderer Beeinflussungsgeräte
oder mit geringen Modifikationen des Beeinflussungsgerätes 4 ermöglicht
werden.
-
Im
Folgenden wird die 2 näher beschrieben,
die eine weitere beispielhafte Ausführungsform einer erfindungsgemäßen
Adaptionseinheit 6 schematisch dargestellt, wobei die Erfindung
nicht auf diese weitere Ausführungsvariante beschränkt
ist. Zeichnungselemente, die in 2 nicht
nochmals beschrieben sind, entsprechen den Zeichnungselementen aus 1 mit
gleichen Bezugszeichen.
-
Bei
der Adaptionseinheit 6 gemäß 2 ist ein
Auslöse-Signal 40 zum Umschalten des Verbindungselementes 38 vom
FPGA 34 bereitstellbar. Folgende weitere alternativen oder
zusätzliche Quellen eines Auslöse-Signals 40 sind
im Ausführungsbeispiel gemäß 2 beispielhaft
dargestellt:
- Bsp. A) Der sechste Kanalabschnitt 506,
der von der Debugschnittstelle 18 des Steuergerätes 2 zum
Verbindungselement 38 der Adaptionseinheit 6 geführt
ist, ist derart mit einem erstem Filterelement 51 verbunden,
so dass ein Auslösesignal 40 aus dem Datenstrom
des sechsten Kanalabschnitts 506 extrahierbar ist.
- Bsp. B) Die Debug-Schnittstelle 30 des Beeinflussungsgerätes 4 stellt
unter anderem auch ein Auslöse-Signal 40 bereit,
das von einem dritten Filterelement 53 extrahierbar ist.
- Bsp. C) Vom Microcontrollerbus 42 ist ein Auslösesignal 40 extrahierbar,
wobei die Extraktion dieses Signals aus dem Datenstrom auf dem Microcontrollerbus 42 vorzugsweise
mittels eines zweiten Filterementes 52 vollzogen wird.
-
Das
Auslöse-Signal 40 bewirkt in den Ausführungsbeispielen
A) bis C) schließlich eine Umschaltung der Schaltzustände
des Verbindungselementes 38.
-
Der
Datenkanal, zwischen Beeinflussungsgerät 4 und
Adaptionseinheit 6 ist symbolisch aufgeteilt in einerseits
Kanal-Abschnitte 501, 502 und 503, deren
Datenflussrichtung vom Beeinflussungsgerät 4 weggerichtet
sind, und andererseits in einen vierten Kanal-Abschnitt 504 dessen
Datenflussrichtung in Richtung Beeinflussungsgerät 4 orientiert
ist. Dies bedeutet aber nicht, dass für die beiden Datenflussrichtungen
jeweils unterschiedliche Leitungen verwendet werden müssen.
-
Bevorzugt
ist das Verbindungselement 38 innerhalb des FPGA 34 realisiert,
und das Beeinflussungsgerät 4 und die Adaptionseinheit 6 bzw.
direkt mit dem FPGA 34 via Busleitungssystem verbunden, wobei
vorzugsweise sowohl für die Datenflussrichtung vom als
auch zum Beeinflussungsgerät 4 ein und dasselbe
Busleitungssystem vorgesehen ist. Das erste Schaltelement 701 und
das zweite Schaltelement 702 symbolisieren die beiden Hauptbestandteile
des Verbindungselementes 38, und veranschaulichen wie die
unterschiedlichen Datenflussrichtungen mit den jeweiligen Schaltzuständen
des ersten Schaltelements 701 und des zweiten Schaltelements 702 zusammenwirken.
Ein Auslöse-Signal 40 bewirkt bei beiden Schaltelementen 701 und 702 eine Änderung
des Datenflusses, was an folgendem Beispiel veranschaulicht wird:
Es wird zunächst von einem Zustand ausgegangen, bei dem
das Steuergerät nicht betriebsbereit ist. Hierdurch löst
ein Auslöse-Signal 40 in den beiden Schaltelementen 701 und 702 des
Verbindungselementes 38 den Schaltzustand S2 aus. Dieser
bewirkt, dass Daten, die vom Beeinflussungsgerät 4 zur
Adaptionseinheit 6 übermittelt werden sollen,
nicht mehr via zweiten Kanal-Abschnitt 502 und erstem Schaltelement 701 zur Steuergerät-Debugschnittstelle 18 gelangen,
was auch nicht sinnvoll wäre, da sich das Steuergerät
im Zustand „nicht betriebsbereit" befindet. Da aber auch in
diesem Zustand via ersten Kanal-Abschnitt 501 und dritten
Kanal-Abschnitt 503 die Daten des Beeinflussungsgerätes
an das FPGA 34 übermittelt werden, und Protokolldaten
vom FPGA via fünften Kanalabschnitt 505 und vierten
Kanalabschnitt 504 an das Beeinflussungsgerät 4 „geantwortet"
werden, stellt sich die Kommunikation für das Beeinflussungsgerät 4 so
dar, als ob eine Verbindung zum Steuergerät 2 bestehen
würde.
-
Wechselt
nun das Steuergerät der Ausführungsform gemäß 2 in
den Zustand „Steuergerät betriebsbereit" so werden
durch das Auslöse-Signal 40 die beiden Schaltelemente 701 und 702 des
Verbindungselementes 38 in den ersten Schaltzustand S1
versetzt. Damit ist eine Datenübertragung vom Beieinflussungsgerät 4 zum
Steuergerät 2 via Kanal-Abschnitte 501, 502 und 506 ermöglicht.
Die entgegengesetzt gerichtete Datenübertragung (vom Steuergerät 2 zum
Beeinflussungsgerät 4) kann via sechsten Kanal-Abschnitt 506 und
vierten Kanal-Abschnitt 504 erfolgen.
-
Obwohl
im ersten Schaltzustand S1 das FPGA 34 nicht dafür
benötigt wird, Protokolldaten an das Beieinflussungsgerät
zu senden (denn diese werden ja im Zustand „Steuergerät
betriebsbereit" vom Steuergerät 2 selbst bereitgestellt)
und die Adaptions-Einheit 6 den Datenverkehr zwischen Beeinflussungsgerät 4 und
Steuergerät 2 vorwiegend nur durchleiten soll,
kann es bei einer Ausführungsform der Erfindung gemäß 2 vorgesehen
sein, dass an der Verbindungsstelle 601 eine Verzweigung
des Datenkanals, der vom Beeinflussungsgerät 4 ausgeht,
vorliegt. Die Verzweigung an der Verbindungsstelle 601 bewirkt
beim ersten Schaltzustand S1 eine Weiterleitung der Daten, die von
der Debugschnittstelle 30 des Beeinflussungsgerätes 4 stammen,
sowohl an die Debugschnittstelle 18 des Steuergerätes 2 als
auch an das FPGA 34.
-
Das
FPGA 34 kann nunmehr derart ausgestaltet sein, dass in
Abhängigkeit von den übertragenen Daten, die bspw.
im ersten Schaltzustand S1 via ersten Kanal-Abschnitt 501 und
dritten Kanal-Abschnitt 503 (auch) an das FPGA 34 übertragen
werden, eine Änderung der Schaltzustände des ersten Schaltelementes 701 und/oder
des zweiten Schaltelementes 702 herbeigeführt
wird.
-
Anhand
der gestrichelten Linie, die vom FPGA 34 zu einem ersten
Knoten 401 und weiter zum Verbindungselement 38 geführt
ist, wird deutlich, dass zum Auslösen der Änderung
eines Schaltzustandes von S1 (erster Schaltzustand) zu S2 (zweiter
Schaltzustand) oder umgekehrt auch ein Auslöse-Signal 40,
das vom FPGA 34 stammt, verwendbar ist. Dies stellt eine
Alternative oder eine Ergänzung zur Bereitstellung eines
Auslöse-Signal 40 via Microcontrollerbus 42 dar.
-
Ergänzend
sei auf weitere gestrichelten Linien hingewiesen, die auf optionale
Ausgangspunkte von Auslöse-Signalen 40 für
das Verbindungselementes 38 hindeuten. Wie bereits erwähnt,
kann von der Debugschnittstelle 30 des Beeinflussungsgerätes 4 ein
derartiges Signal 40 ausgehen, das zu dem zweiten Knoten 402 und
von dort aus zum Verbindungselement 38 führt.
Die entsprechende gestrichelte Linie symbolisiert, dass alternativ
oder ergänzend zu den genannten Quellen eines Auslöse-Signals 40 ein
solches vom Beeinflussungsgerät 4 (und hierbei
insbesondere, aber nicht ausschließlich, von dessen Debug-Schnittstelle 30)
ausgehen kann.
-
Vom
sechsten Kanal-Abschnitt 506 des Busses, der die Debugschnittstelle 18 des
Steuergerätes 2 mit dem Verbindungselement 38 der
Adaptionseinheit 6 verbindet, oder von der Debugschnittstelle 18 selbst,
kann ebenfalls ein Umschalt-Signal 40, das bevorzugterweise
mittels erstem Filterelement 51 aus dem Datenstrom auf
dem Kanalabschnitt 506 extrahierbar ist, an einen dritten
Knoten 403 herangeführt werden. Vom dritten Knoten 403 gelangt
das Umschalt-Signal 40 zum Verbindungselement 38, wie
dies in 2 durch die gestrichelte Linie
gezeigt wird, die vom dritten Knoten 403 via zweiten Knoten 402 zum
Verbindungselement 38 geführt ist. Eine weitere
und bisher nicht genannte Variante zur Bereitstellung eines Umschaltsignals 40 besteht
darin, dass ein gesonderter digitaler Ausgang (nicht graphisch dargestellt)
des Steuergerätes 2 als eine (ggf. zusätzliche)
Quelle eines Umschalt-Signals 40 vorgesehen ist. Vorzugsweise
wird das Umschalt-Signal 40 aus dem letztgenannten digitalem
Ausgang an einen der Knotenpunkte 401, 402 oder 403 herangeführt,
um von dort aus zum Verbindungselement 38 zu gelangen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - WO 2005/091089
A1 [0006, 0024]
-
Zitierte Nicht-Patentliteratur
-
- - IEEE-ISTO
5001: "The NEXUS 5001 Forum Standard for a Global Embedded Processor
Debug Interface", 2003 [0020]
- - dSPACE Katalog 2006, S. 430–432, Beeinflussungsgerät
DCI-GSI1 [0025]