-
Die
Erfindung betrifft eine Messvorrichtung zur Erfassung mindestens
einer Steuergerät-Variablen
eines Steuergerät-Programms, das auf
einem Steuergerät
durch einen Steuergerät-Prozessor ausgeführt wird,
wobei der Steuergerät-Prozessor
die mindestens eine Steuergerät-Variable
in einen Steuergerät-Speicher
des Steuergeräts über eine
Speicher-Datenverbindung
schreibt, mit einer Erfassungseinrichtung zur Erfassung von auf
der Speicher-Datenverbindung übermittelten
Daten. Die Erfindung betrifft ferner ein Messverfahren.
-
Bei
dem Steuergerät
handelt es sich beispielsweise um eine Motorsteuerung für ein Kraftfahrzeug,
ein Embedded System oder dergleichen, mit dem Aktoren ansteuerbar
sind, beispielsweise elektrische Motoren, Steller oder dergleichen.
Ferner sind an das Steuergerät
Sensoren anschließbar,
beispielsweise optische Sensoren, Messwertgeber oder dergleichen.
Der Steuergerät-Prozessor
führt ein Steuergerät-Programm
aus, bei spielsweise um den Aktor zu kontrollieren, Einspritzmengen
eines Verbrennungsmotors zu steuern oder dergleichen. Der Steuergerät-Prozessor
benötigt
den Steuergerät-Speicher,
um dort beispielsweise Steuerparameter, zum Beispiel Reglerparameter
oder dergleichen, abzulegen und wieder auszulesen. Es ist an sich
bekannt, mittels elektrischer Kontakte, die an den Steuergerät-Speicher
beziehungsweise die Speicher-Datenverbindung
zwischen Steuergerät-Prozessor
und Steuergerät-Speicher
angeschlossen werden, die Datenübertragung
auf der Speicher-Datenverbindung von und zu dem Steuergerät-Speicher sozusagen
mitzuhören.
-
Beispielsweise
schreibt der Steuergerät-Prozessor
die Steuergerät-Variable
als ein Low-Wort und ein High-Wort auf zwei Speicheradressen des
Steuergerät-Speichers.
Wenn eine Messvorrichtung nun zwischen diesen beiden Speicherzugriffen
des Steuergerät-Prozessors
die Steuergerät-Variable
zu ermitteln versucht, ermittelt sie dabei inkorrekte und nicht
zutreffende Daten, weil die Daten nicht konsistent sind. Ferner
ist es möglich,
dass die Steuergerät-Variable
Bestandteil eines Steuergerät-Variablensatzes
ist. Dieser Parametersatz ist beispielsweise nur dann vollständig und
konsistent, wenn das Steuergerät-Programm
oder ein Prozess davon einen vollständigen Zyklus durchlaufen hat.
Während
des Programmzyklus' jedoch,
beispielsweise während der
Berechnung einer Einspritz menge von Kraftstoff für einen Verbrennungsmotor,
sind die einzelnen Steuergerät-Variablen
nicht konsistent. Beispielsweise gehört eine erste Steuergerät-Variable
zu dem aktuellen Zyklus, wohingegen eine zweite Steuergerät-Variable
noch vom vorherigen Zyklus des Steuergerät-Programms stammt. Die beiden
Steuergerät-Variablen
gehören
somit nicht zum Steuergerät-Variablensatz
eines einzigen Zyklusses. Auch dann sind die von der Messvorrichtung
erfassten Steuergerät-Variablen
nicht konsistent.
-
Es
ist daher die Aufgabe der vorliegenden Erfindung, eine konsistente
Steuergerät-Variablenerfassung
zu ermöglichen.
-
Zur
Lösung
der Aufgabe ist bei einer Messvorrichtung der eingangs genannten
Art vorgesehen, dass sie einen Pufferspeicher aufweist, in den die
Erfassungseinrichtung von über
die Speicher-Datenverbindung übermittelte
Daten einschreibt, dass sie einen Abbildungsspeicher aufweist, in
dem sie anhand der in dem Pufferspeicher zwischengespeicherten Daten
ein Speicherabbild zumindest eines Teils des Steuergerät-Speichers
erzeugt, und dass sie eine Ausleseeinrichtung zum Auslesen der mindestens
einen Steuergerät-Variablen
aus dem Abbildungsspeicher enthält,
wobei die Messvorrichtung ein Einschreiben von Daten aus dem Pufferspeicher in
den Abbildungsspeicher für
einen Lesezeitraum zumindest in demjenigen Teil des Ab bildungsspeichers
blockiert, aus dem die Ausleseeinrichtung die mindestens eine Steuergerät-Variable
in dem Lesezeitraum ausliest. Ferner ist zur Lösung der Aufgabe ein Messverfahren
gemäß der technischen
Lehre eines weiteren unabhängigen
Anspruchs vorgesehen.
-
Die
Steuergerät-Variable
oder ein Steuergerät-Variablensatz
enthalten z.B. Messwerte, temporäre
Reglerwerte, Ausgabewerte an Aktoren oder dergleichen. Die mindestens
eine Steuergerät-Variable kann auch
Programmvariable, insbesondere sogenannte globale, von mehreren
Programmteilen oder -funktionen gemeinsam genutzte Programmvariable
umfassen.
-
Die
Daten in dem Abbildungsspeicher werden von der erfindungsgemäßen Messvorrichtung kontinuierlich
konsistent gehalten. Die Pufferung wird so gesteuert, dass die jeweils
von der Ausleseeinrichtung ausgelesenen Daten in sich konsistent
sind und somit die Ausleseeinrichtung die Steuergerät-Variable beziehungsweise
einen Satz von Steuergerät-Variablen
als in sich konsistente Daten aus dem Abbildungsspeicher auslesen
kann. Während
des Auslesens von Daten aus dem Abbildungsspeicher stellt die Pufferung
sicher, dass der Abbildungsspeicher zumindest in dem auszulesenden
Speicherbereich unverändert
bleibt. Beispielsweise wird ein High-Wort nicht mehr verändert, wenn
die Ausleseeinrichtung bereits mit dem Lesen des Low-Worts begonnen
hat.
-
Durch
die erfindungsgemäße Messvorrichtung
wird das Steuergerät
nicht oder nur geringfügig durch
Analysevorgänge
oder Messvorgänge
belastet, so dass ein reguläres
Steuergerät
während
seines regulären
Arbeitens durch die erfindungsgemäße Messvorrichtung messbar
ist. Die Messung der Steuergerät-Variablen erfolgt
in Echtzeit. Das Steuergerät-Programm
muss nicht eigens umcodiert werden, um beispielsweise auf vorbestimmte
Speicheradressen Informationen zu schreiben. Es kann das später für den Betrieb
des Steuergerät
benötigte Steuergerät-Programm
verwendet werden, das von der erfindungsgemäßen Messvorrichtung gemessen und überwacht
wird. Die erfindungsgemäße Messvorrichtung überwacht
zweckmäßigerweise
ausschließlich
Schreibzugriffe des Steuergerät-Prozessors
auf den Steuergerät-Speicher,
die in dem Abbildungsspeicher sozusagen gespiegelt werden. Bei dem
Abbildungsspeicher handelt es sich zweckmäßigerweise um ein Dual-Ported-RAM.
-
Prinzipiell
wäre es
zwar möglich,
den vollständigen
Abbildungsspeicher auszulesen und beispielsweise an eine übergeordnete Überwachungsvorrichtung,
zum Beispiel einen Personal Computer, zu senden. Die Ausleseeinrichtung
der erfindungsgemäßen Messvorrichtung
filtert aber für
die übergeordnete Ü berwachungsvorrichtung
die relevanten Daten. Sie ermittelt in dem Abbildungsspeicher die mindestens
eine Steuergerät-Variable und übermittelt
diesen vorteilhafterweise an eine überlagerte Überwachungs- und/oder Analysevorrichtung.
-
Zweckmäßigerweise überwacht
die erfindungsgemäße Messvorrichtung
nur einen Teil des Steuergerät-Speichers.
Der zu überwachende
Teil des Steuergerät-Speichers
ist zweckmäßigerweise bei
der Messvorrichtung parametrierbar. Die erfindungsgemäße Messvorrichtung
führt eine
Datenreduktion durch. Beispielsweise erfasst die Erfassungseinrichtung
die Daten, die auf der Speicher-Datenverbindung übermittelt werden, mit sehr
hoher Datenrate, z.B. 800 MBit/Sekunde. Die erfindungsgemäße Messvorrichtung
filtert sozusagen eine oder mehrere Steuergerät-Variablen aus diesen Daten heraus,
sodass die Überwachungs-/Analysevorrichtung
wesentlich weniger Daten erhält,
diese zweckmäßigerweise
jedoch in Echtzeit, zumindest aber mit einer Echtzeit-Zeitstempelung.
-
Zwischen
die Erfassungseinrichtung und den Pufferspeicher ist vorteilhafterweise
ein Multiplexer geschaltet. Der Multiplexer leitet zu puffernde
Daten in den Pufferspeicher, nicht zu puffernde Daten direkt in
den Abbildungsspeicher. In den zu puffernden Daten befinden sich
zweckmäßigerweise
eine oder mehrere Steuergerät-Variablen.
In den nicht zu puffernden Da ten sind beispielsweise keine aktuell
zu überwachenden
Daten. Dennoch wird ein in sich konsistentes Abbild des Steuergerät-Speichers in dem Abbildungsspeicher
hergestellt, sodass es jederzeit möglich ist, die mindestens eine
Steuergerät-Variable, die von
der Messvorrichtung zu erfassen sind, umzuparametrieren. Die mindestens
eine neu definierte Steuergerät-Variable
befindet sich beispielsweise in denjenigen Daten, die vorher noch
nicht zwischengepuffert, aber bereits in dem Abbildungsspeicher
gespeichert bzw. gespiegelt worden sind. Diese Daten sind in sich
konsistent, sodass die Messvorrichtung unmittelbar nach der Umparametrierung
auf diesen Bereich des Abbildungsspeichers zugreifen kann, um die
mindestens eine neu definierte Steuergerät-Variable zu ermitteln.
-
Es
ist vorteilhaft, wenn der Multiplexer Daten unmittelbar zu dem Abbildungsspeicher
weiterleitet, wenn der Pufferspeicher leer ist. Dadurch wird die Übertragungsverzögerung zwischen
der Erfassungseinrichtung und dem Abbildungsspeicher minimiert.
-
Eine Überwachungseinrichtung
der Messvorrichtung überwacht
vorteilhafterweise die Datenübertragung
zu dem Pufferspeicher und/oder aus dem Pufferspeicher anhand mindestens
eines Überwachungsparameters.
-
Der
mindestens eine Überwachungsparameter
kann ein sogenannter Event sein, z.B. Indiz für ein gültiges und konsistentes Auftreten
der Steuergerät-Variablen
in den Daten des Abbildungsspeichers sein, d.h. z.B. dass die Steuergerät-Variable
oder ein Satz von Steuergerät-Variablen
beispielsweise im Rahmen eines Regelungsprozesses, eines Programmzyklusses
etc. vervollständigt
sind und zum Auslesen bereit stehen. Bei dem Event handelt es sich
beispielsweise um ein zyklisches Event oder ein singuläres Event.
Zyklische Events treten beispielsweise bei einem zyklischen Regelungsvorgang
auf, singuläre
Events bei einzelnen Vorgängen,
beispielsweise beim Betätigen
eines Fensterhebers eines Kraftfahrzeuges.
-
Der Überwachungsparameter
oder Event betrifft beispielsweise eine Speicheradresse des Steuergerät-Speichers
und/oder den Speicherinhalt einer Speicherzelle des Steuergerät-Speichers.
Bei der Speicheradresse kann es sich auch um eine relative Adresse
handeln, bei der ein oberer und/oder ein unterer Bereich außerhalb
eines zu überwachenden Adress-Überwachungsfensters abgeschnitten
wird. Auch eine vorbestimmte Gruppe von Schreibzugriffen des Steuergerät-Prozessors kann den
mindestens einen Überwachungsparameter
bilden. Diese Schreibzugriffe treten beispielsweise bei einem Taskwechsel
auf, wenn der Steuergerät-Prozessor
das Steuergerät-Programm
oder einen Prozess davon beendet und einen neuen Task oder Prozess
beginnt. Es ist auch denkbar, dass der Überwachungsparameter ein Steuersignal
umfasst, das beispielsweise vom Betriebssystem des Steuergeräts und/oder
von dem Steuergerät-Programm
erzeugt wird. Das Steuergerät-Programm
schreibt beispielsweise bei jedem Ende eines zyklischen und/oder
singulären
Prozesses auf eine vorbestimmte Speicheradresse einen vorbestimmten
Wert. Der Überwachungsparameter wird
beispielsweise mit einer Speicheradresse verglichen.
-
Zweckmäßigerweise
steuert die Überwachungseinrichtung
die Pufferung der Daten durch den Pufferspeicher. Beispielsweise
sendet die Überwachungseinrichtung
geeignete Steuersignale an den Multiplexer.
-
Die Überwachungseinrichtung
enthält zweckmäßigerweise
eine Prüftabelle,
z.B. eine sogenannte Lookup-Table, zur Überwachung von zu und/oder
von dem Pufferspeicher insbesondere parallel übertragenen Daten. Jeder zu
prüfenden
Adresse des Steuergerät-Speichers
und/oder des Abbildungsspeichers ist in der Prüftabelle eine Speicherzelle
zugeordnet, in der "Adresse
relevant" oder "Adresse nicht relevant" steht. Die zu prüfenden Adressen
sind auf Speicherzellen-Adressen der Prüftabelle mittelbar oder unmittelbar,
z.B. gemappt, zugeordnet.
-
Denkbar
ist es auch, mit Hilfe von Vergleichsmasken mindestens eine absolute
oder relative Speicher-Adresse des Steuergerät-Speichers und/oder des Abbildungsspeichers überwachen.
Durch eine einfache Maskieroperation können somit relevante Speicher-Adressen
oder Adressbereiche sozusagen herausgefiltert werden, um das Auslesen
der Steuergerät-Variablen
und/oder die Pufferung von Daten durch den Pufferspeicher zu steuern.
-
Die
Ergebnisse mehrerer Vergleichs- oder Prüfoperationen können zur
Ansteuerung des Pufferspeichers mit logisch ODER verknüpft werden.
-
Die Überwachungseinrichtung
ist mit der Ausleseeinrichtung zweckmäßigerweise gekoppelt. Es ist
auch möglich,
dass die Überwachungseinrichtung
und die Ausleseeinrichtung eine einzige Baugruppe bilden, beispielsweise
durch einen Mikroprozessor gebildet sind. Besonders bevorzugt ist
jedoch, dass die Überwachungseinrichtung
und/oder der Multiplexer ein sogenanntes PLD (Programmable Logic
Device), z.B. ein FPGA (Field Programmable Gate Array), enthalten
oder dadurch gebildet sind, das äußerst schnell
arbeitet. Die Ausleseeinrichtung enthält zweckmäßigerweise einen Mikroprozessor und
ein vorteilhafterweise konfigurierbares Programm zum Auslesen der
mindestens einen Steuergerät-Variablen.
Dadurch ist eine größtmögliche Flexibilität vorhanden.
Auch der mindestens eine Überwachungsparameter
ist vorteilhafterweise programmierbar und/oder parametrierbar.
-
Die Überwachungseinrichtung
steuert vorteilhafterweise anhand des mindestens einen Überwachungsparameters
die Ausleseeinrichtung zum Auslesen der mindestens einen Steuergerät-Variablen aus dem
Abbildungsspeicher an. Dermaßen
getriggert, liest die Ausleseeinrichtung die Steuergerät-Variable(n)
aus dem Abbildungsspeicher aus. Anschließend ist es vorteilhaft, wenn
die Ausleseeinrichtung ein Steuersignal zur Steuerung des Pufferspeichers
generiert und diesen beispielsweise an die Überwachungseinrichtung versendet,
wenn sie die mindestens eine Steuergerät-Variable ausgelesen hat.
Es ist allerdings auch möglich,
dass der Pufferspeicher für
eine vorbestimmte Wartezeit blockiert wird, während der die Ausleseeinrichtung
den Abbildungsspeicher zur Ermittlung der Steuergerät-Variablen
ausliest. Dann wäre
die vorteilhafte Rückkopplung
von der Ausleseeinrichtung zur Überwachungseinrichtung
nicht unbedingt erforderlich.
-
Das
Steuergerät übermittelt
die auf der Speicher-Datenverbindung übermittelten
Daten an die Messvorrichtung beispielsweise zumindest teilweise parallel
und/oder, was bevorzugt ist, seriell. Die Messvorrichtung hat einen
Seriell- Parallel-Wandler zum
Umwandeln der seriellen Daten in parallele Daten, um diese anschließend in
Richtung des Abbildungsspeichers weiterzuleiten. Das Steuergerät enthält vorteilhafterweise
eine sogenannte Trace-Schnittstelle. Bei der Trace-Schnittstelle
handelt es sich beispielsweise um eine sogenannte NEXUS-Schnittstelle,
eine JTAG-Schnittstelle oder dergleichen. Somit ist es möglich, dass
die erfindungsgemäße Messvorrichtung
auch dann, wenn der Steuergerät-Prozessor
und der Steuergerät-Speicher eine
einzige Baugruppe bilden, die auf der Steuergerät-Datenverbindung übermittelten
Daten in dem interessierenden und zu überwachenden Steuergerät-Speicherbereich erhält.
-
Zweckmäßigerweise
ist die Messvorrichtung zur Parametrierung einer Sende-Schnittstelle
des Steuergerätes
ausgestaltet, insbesondere zur Parametrierung der sogenannten Trace-Schnittstelle. Damit
ist es beispielsweise möglich,
den zu tracenden Speicherbereich des Steuergerät-Speichers zu parametrieren
und somit die Datenmenge auf der Verbindung zwischen dem Steuergerät und der
Messvorrichtung zu reduzieren.
-
Die
erfindungsgemäße Messvorrichtung
hat vorteilhafterweise eine Parametrier-Schnittstelle, an der beispielsweise
der mindestens eine Überwachungsparameter
und/oder der zu überwachende Teil
des Steuergerät-Speichers
parametrierbar sind. An der Parametrier-Schnittstelle kann beispielsweise die
vorher erwähnte
Vergleichsmaske oder Vergleichstabelle an der Messvorrichtung parametriert werden.
Beispielsweise sendet die Überwachungs- und
Analysevorrichtung die geeigneten Überwachungsparameter an die
Messvorrichtung.
-
Die
Messvorrichtung hat vorteilhafterweise eine drahtgebundene und/oder
eine drahtlose Schnittstelle zur Übertragung der mindestens einen Steuergerät-Variablen
an die überlagerte Überwachungs-
und/oder Analysevorrichtung. Die Überwachungs- und/oder Analysevorrichtung ist beispielsweise
ein Personal Computer. Die Schnittstelle zu diesem ist beispielsweise
eine Ethernet-Schnittstelle, eine USB-, PCI oder Firewire-Schnittstelle (USB
= Universal Serial Bus, PCI = Peripheral Component Interconnect-Bus,
Firewire = IEEE 1394) oder dergleichen. Die Steuergerät-Variable übermittelt
die Messvorrichtung vorteilhafterweise im Rahmen des CCP- oder des
XCP-Protokolles
(CCP = CAN Calibration Protocol, XCP = Universal Measurement and Calibration
Protocol).
-
Eine
bevorzugte Variante der Erfindung sieht vor, dass der Pufferspeicher
einen ersten und mindestens einen zweiten Pufferspeicherteil aufweist, die
durch eine einzige oder durch separate Baugruppen gebildet sein
können.
In dem ersten Pufferspeicherteil speichert der Pufferspeicher Daten
einer ers ten Prioritätsklasse,
die beispielsweise eine oder mehrere erste Steuergerät-Variable
enthalten. In dem zweiten Pufferspeicherteil werden Daten einer zweiten
Prioritätsklasse
gespeichert, die einen oder mehrere zweite Steuergerät-Variable
enthalten. Der Pufferspeicher leitet die Daten der ersten Prioritätsklasse
vorteilhafterweise vorrangig vor den Daten der zweiten Prioritätsklasse
zu dem Abbildungsspeicher weiter. Dadurch wird die Latenzzeit der
Daten der ersten Prioritätsklasse
verringert.
-
Denkbar
ist allerdings auch, dass der Pufferspeicher die Daten der beiden
Prioritätsklassen
(es können
auch mehrere Prioritätsklassen
und entsprechend zugeordnete Pufferspeicherteile vorgesehen sein)
nicht oder nicht ausschließlich
nach zeitlichen Kriterien behandelt. Beispielsweise ist der erste
Pufferspeicherteil einem ersten Prozess des Steuergerät-Programms zugeordnet,
wohingegen der zweite Pufferspeicherteil einem zweiten Prozess des
Steuergerät-Programms
zugeordnet ist. Somit werden die Daten der beiden Prozesse (es können auch
mehrere Prozesse vorgesehen sein) jeweils separaten Pufferspeicherteilen
zugeordnet.
-
Nachfolgend
werden Ausführungsbeispiele der
Erfindung anhand der Zeichnung näher
erläutert. Es
zeigen:
-
1 eine
schematische Ansicht einer Anordnung mit einem Steuergerät, das von
einer ersten Variante einer erfindungsgemäßen Messvorrichtung überwacht
wird, an das über
eine Bus-Verbindung eine Überwachungs- und Analysevorrichtung
in Gestalt eines Personal Computers angeschlossen ist,
-
2 eine
schematische Ansicht eines zweiten Ausführungsbeispiels einer erfindungsgemäßen Messvorrichtung
zur Überwachung
eines Steuergeräts,
-
3 eine
schematische Darstellung einer Überwachungseinrichtung
der Messvorrichtungen gemäß 1 und 2 zur Überwachung
einer Datenübertragung
zu einem Pufferspeicher und/oder aus einem Pufferspeicher der jeweiligen
Messvorrichtung anhand einer Prüftabelle,
und
-
4 eine
schematische Darstellung einer Überwachungseinrichtung,
die mit einer Vergleichsmaske prüft.
-
Bei
einer Messanordnung 10 gemäß 1 erfasst
eine Messvorrichtung 11 mindestens einen Parametersatz 20 mit
einer Steuergerät-Variablen 12, 41 eines
Steuergerät-Programms 13,
das auf einem Steuergerät 14 durch
einen Steuergerät-Prozessor 15 ausgeführt wird.
Das Steuergerät 14 dient bei spielsweise
als Motorsteuerung für
einen Motor 16 eines Kraftfahrzeuges 17. Das Steuergerät-Programm 13 regelt
beispielsweise die Einspritzmenge von Kraftstoff in den Motor 16.
Der Steuergerät-Prozessor 15 ist über eine
Speicher-Datenverbindung 18 mit
einem Steuergerät-Speicher 19 verbunden,
den beispielsweise das Steuergerät-Programm 13 zum Ablegen
von Parametern, insbesondere der Steuergerät-Variablen 12, nutzt.
Das Steuergerät-Programm 13 ist
beispielsweise ein Regelungsprogramm zur Regelung des Motors 16.
Das Programm 13 gibt Steuerwerte an einen oder mehrere
Aktoren 21 aus, beispielsweise eine Einspritzpumpe, Einspritzdüse oder
dergleichen, und erhält
Sensorwerte und/oder Messwerte von Sensoren 22, beispielsweise
Drehzahlwerte, Temperaturwerte oder dergleichen, des Motors 16. Über eine
Bus-Schnittstelle 23 ist das Steuergerät 14 an einen Bus 24,
zum Beispiel einen CAN-Bus,
angekoppelt, um mit weiteren, nicht dargestellten Steuergeräten des
Kraftfahrzeuges 17 zu kommunizieren.
-
Der
Steuergerät-Speicher 19 und
der Steuergerät-Prozessor 15 können eine
einzige Baueinheit bilden, das heißt, der Speicher bildet beispielsweise einen
Bestandteil eines Prozessor-Chips.
Dennoch ist es möglich,
dass die Messvorrichtung 11 die über die Speicher-Datenverbindung 18 kommunizierten Parameter überwacht:
Das Steuergerät 14 sendet über eine
Schnittstelle 25, beispielsweise eine sogenannte Trace- Schnittstelle, die
auch ein Bestandteil den Steuergerät-Prozessor 15 enthaltenden Chips sein
kann, eine Kopie zumindest eines Teils der Daten, die er über die
Datenverbindung 18 kommuniziert. Die Schnittstelle 25 hört den Datenverkehr
auf der Datenverbindung 18 mit. Die Messvorrichtung 11 erhält auf diesem
Wege Informationen über
Schreibzugriffe des Steuergerät-Prozessors 15 auf
den Speicher 19. Im vorliegenden Fall ist die Schnittstelle 25 eine
serielle Schnittstelle, die Daten seriell sendet, die die Messvorrichtung 11 über eine
Schnittstelle 26 empfängt,
die ebenfalls eine serielle Schnittstelle ist, beispielsweise eine
NEXUS-Schnittstelle, eine JTAG-Schnittstelle oder dergleichen. Die
Schnittstelle 26 enthält
einen Seriell-/Parallel-Wandler 27 zum Umwandeln der von
der Schnittstelle 25 gesendeten seriellen Daten 28 in
Daten 29, die innerhalb der Messvorrichtung 11 parallel übermittelt
werden. Die Daten 28, 29 enthalten zumindest einen
Teil der Daten 30, die auf der Speicher-Datenverbindung 18 übermittelt
werden. Die Schnittstelle 26 bildet eine Erfassungseinrichtung 31 zur
Erfassung von auf der Speicher-Datenverbindung 18 übermittelten
Daten 30.
-
Es
wäre zwar
prinzipiell möglich,
dass das Steuergerät 14 den
vollständigen
Inhalt des Speichers 19, insbesondere sämtliche Schreibzugriffe, über die
Datenverbindung 18 an die Messvorrichtung 11 übermittelt.
Das Steuergerät 14 übermittelt
vor liegend jedoch nur Schreibzugriffe auf einen Teil 32 des Speichers 19.
Die Schnittstelle 27 bildet zweckmäßigerweise eine Parametrier-Schnittstelle 72, über die die
Messvorrichtung 11 bei dem Steuergerät 14 beispielsweise
den zu überwachenden
Teil 32 des Speichers 19 parametrieren kann.
-
Anhand
der Daten 29 ermittelt die Messvorrichtung 11 eine
oder mehrere der Steuergerät-Variablen 12 des
Steuergerät-Variablensatzes 20.
Dazu bildet die Messvorrichtung 11 ein zumindest teilweises
Speicherabbild 33 des Teils 32 des Steuergerät-Speichers 19 in
einem Abbildungsspeicher 34, beispielsweise einem Dual-Ported-RAM.
Eine Ausleseeinrichtung 35 ermittelt anhand des Speicherabbilds 33 die
Steuergerät-Variable 12.
Die Ausleseeinrichtung 35 enthält beispielsweise einen Mikroprozessor,
der ein Programm 36 ausführt, wobei in dem Programm 36 beispielsweise
der Speicherort für
die Steuergerät-Variablen 12, 41 in
dem Speicherabbild 33 definiert ist. Die Steuergerät-Variablen 12, 41 sind z.B.
Programmvariable, Messwerte der Sensoren 22, temporäre Reglerwerte,
Ausgabewerte an die Aktoren 21 oder dergleichen.
-
Die
Messvorrichtung 11 übermittelt
die Steuergerät-Variable 12 einer Überwachungs-
und Analysevorrichtung 37 über Schnittstellen 38 oder 39.
Die Schnittstelle 38 ist beispielsweise eine USB-Schnittstelle
(USB = Universal Serial Bus), eine FlexRay-Schnittstelle, eine Firewire-Schnittstelle
oder dergleichen. Die Schnittstelle 39 ist z.B. eine Ethernet-Schnittstelle,
mit der die Messvorrichtung 11 an einen Ethernet-Bus 40 angeschlossen
ist. Zur Übermittlung
der Steuergerät-Variablen 12 dient
beispielsweise das CCP- oder das XCP-Protokoll auf der Basis von
TCP/IP oder UDP/IP (TCP = Transmission Control Protocol, UDP = User
Datagram Protocol, IP = Internet Protocol).
-
Das
Speicherabbild 33 wird fortlaufend durch kontinuierliches
Einschreiben von Daten 29 von der Messvorrichtung 11 konsistent
gehalten. Allerdings kann es sein, dass einer oder mehrere der Steuergerät-Variablen 12, 41 zum
Zeitpunkt des Auslesens durch die Ausleseeinrichtung 35 noch
nicht konsistent sind, beispielsweise wenn der Parameter 12 aus mehreren
Worten besteht, die sequenziell geschrieben werden. Es ist ferner
möglich,
dass der Parametersatz 20 zumindest teilweise nicht konsistent
ist. Die Parameter 12, 41 sollen nämlich idealerweise
zu einem einzigen Zyklus des Steuergerät-Programms 13 gehören. Um
das Speicherabbild 33 kontinuierlich "zu pflegen" und dafür zu sorgen, dass die Ausleseeinrichtung 35 synchronisiert
auf das Speicherabbild 33 zugreift, sind mehrere zweckmäßige Maßnahmen getroffen:
Die
Messvorrichtung 11 schreibt die Daten 29 zunächst in
einen Pufferspeicher 42, aus dem die Messvorrichtung 11 sozusagen
kontrolliert und gesteuert die Daten 29 als zwischengespeicherte
Daten 29' in
den Abbildungsspeicher 34 zur Bildung des Speicherabbilds 33 überträgt. Nun
wäre es
zwar möglich,
dass die Ausleseeinrichtung 35 den Pufferspeicher 42 steuert,
beispielsweise signalisiert, wenn ein Lesevorgang des Speicherabbilds 33 ansteht und/oder
abgeschlossen ist. Beispielsweise könnte diese Funktion von dem
Programm 36 ausgeführt werden.
-
Die
Messvorrichtung 11 hat jedoch eine sehr schnell arbeitende Überwachungseinrichtung 43,
die man auch als Event-Controller
bezeichnen kann oder die einen Event-Controller enthält. Die Überwachungseinrichtung 43 ist
beispielsweise als ein PLD, ein FPGA oder in sonstiger Weise als
eine sehr schnelle Hardware realisiert und überwacht Ereignisse beziehungsweise
Events anhand mindestens eines Überwachungsparameters 44.
Der Überwachungsparameter 44 betrifft
beispielsweise eine bestimmte Speicheradresse des Steuergerät-Speichers 19 und/oder
des Abbildungsspeichers 34, den Speicherinhalt einer Speicheradresse
des Speichers 19 und/oder des Abbildungsspeichers 34 oder
dergleichen. Auch eine Vielzahl von Schreibzugriffen des Steuergerät-Prozessors 15,
beispielsweise bei einem Taskwechsel, das Aufrufen des Steuerge rät-Programms 13 durch
ein Betriebssystem 45 des Steuergeräts 14 oder dergleichen
können
ein durch die Überwachungseinrichtung 43 zu überwachendes Ereignis
bilden.
-
Die Überwachungseinrichtung 43 überwacht den
Datenfluss der Daten 29 zu dem Pufferspeicher 42 und
vorteilhaft auch von dem Pufferspeicher 42 zum Abbildungsspeicher 34.
Sobald ein zu überwachendes
Ereignis eintritt, greift die Überwachungseinrichtung 43 steuernd
auf den Pufferspeicher 42 zu und sendet beispielsweise
ein Steuersignal 46 an den Pufferspeicher 42,
um diesen anzuweisen, mit der Pufferung der Daten 29 zu
beginnen. Ferner sendet die Überwachungseinrichtung 43 ein
Steuersignal 47 an die Ausleseeinrichtung 35,
um dieser zu signalisieren, beispielsweise mit dem Auslesen der Steuergerät-Variablen 12 und/oder
des Steuergerät-Variablensatzes 20 zu
beginnen.
-
Während des
Auslesezugriffs der Ausleseeinrichtung 35 auf den Abbildungsspeicher 34 ist
ein Einschreiben von Daten 29 aus dem Pufferspeicher 42 in
den Abbildungsspeicher 34, zumindest in den Bereich des
Speicherabbilds 33, blockiert. Der Pufferspeicher 42,
zum Beispiel ein FIFO-Speicher (FIFO = First In First Out), puffert
die Daten 29 für
einen Lesezeitraum der Ausleseeinrichtung 35 so lange zwischen,
bis die Ausleseeinrichtung 35 den Steuergerät-Variablensatz 20 vollständig aus gelesen
hat. Dann sendet die Ausleseeinrichtung 35 ein Steuersignal 48 an
die Überwachungseinrichtung 43,
worauf die Überwachungseinrichtung 43 den
Pufferspeicher 42 sozusagen wieder freigibt, das heißt, der
Pufferspeicher 42 übermittelt
wieder Daten 29' an
den Abbildungsspeicher 34.
-
Prinzipiell
möglich
wäre es
auch, dass die Ausleseeinrichtung 35 das Steuersignal 48 direkt
an den Pufferspeicher 42 sendet, um diesem die Übermittlung
gepufferter Daten 29' in
den Abbildungsspeicher 34 wieder freizugeben.
-
Die
Analyse-/Überwachungsvorrichtung 43 ist
im vorliegenden Fall ein Personal Computer mit einem Prozessor 50 zur
Ausführung
von Programmen, beispielsweise eines Mess- und/oder Analyseprogramms 51,
mit einem Speicher 52, zum Beispiel RAM, mit einer Datenbank 53,
beispielsweise zur Speicherung von Steuergerät-Variablensätzen, und einer
Schnittstelle 54, beispielsweise einer Ethernet-Schnittstelle,
zur Kommunikation mit der Messvorrichtung 11. Die Messvorrichtung 11 ist
vorliegend von der Überwachungsvorrichtung 37 separat
und hat beispielsweise ein separates Gehäuse. Es ist aber auch möglich, dass
die Messvorrichtung 11 beispielsweise eine Steckkarte des
Personal Computers 43 bildet. Der Bus 40 wäre dann
beispielsweise ein PCI-Bus (Peripheral Component Interconnect).
Die Schnittstelle 54 bildet zusammen mit dem Analyse programm 51 eine
Sende- und Empfangseinrichtung 55, die mit der Messvorrichtung 11 zusammenarbeitet.
Mit Hilfe des Analyseprogramms 51 ist es beispielsweise
möglich,
den von der Messvorrichtung 11 zu übermittelnden, mindestens eine
Steuergerät-Variable 12 zu
definieren und eine entsprechende Anfragenachricht 73 an
die Messvorrichtung 11 zu senden.
-
Eine
vorteilhafte Ausgestaltung der Erfindung sieht vor, dass das Analyseprogramm 51 den mindestens
einen Überwachungsparameter 44 definieren
und über
die Schnittstelle 54 an die Messvorrichtung 11 senden
kann. Ein Bediener der Überwachungs-
und/oder Analysevorrichtung 37 kann beispielsweise an einer
grafischen Bedienoberfläche 56,
die die Überwachungsvorrichtung 37 bzw.
der Personal Computer 37 an einem Ausgabemittel 57, beispielsweise
einem Bildschirm, ausgibt, den von der Messvorrichtung 11 einmalig
und/oder zyklisch zu liefernden Steuergerät-Variable 12 an Eingabemitteln 58,
beispielsweise einer Tastatur oder dergleichen, definieren. Die
grafische Bedienoberfläche 56 bildet
zudem eine Anzeigeeinrichtung zur Ausgabe der Steuergerät-Variablen 12, 41.
-
Eine
in 2 dargestellte Messvorrichtung 111 einer
Messanordnung 110 entspricht teilweise der Messvorrichtung 11.
Gleiche oder gleichwirkende Komponenten der Messvorrichtungen 11, 111 sind mit
denselben Bezugszeichen versehen. Um Abwei chungen zwischen ähnlichen
Komponenten kenntlich zu machen, sind die Bezugszeichen gegenüber der Messvorrichtung 11 teilweise
um 100 erhöht.
-
Die
Messvorrichtung 111 dient zur Überwachung des Steuergeräts 14 und
bedient neben der Überwachungsvorrichtung 37 optional
eine zweite Überwachungsvorrichtung 70,
beispielsweise ein Notebook, das über die USB-Schnittstelle 39 mit
der Messvorrichtung 111 verbunden ist. Die Messvorrichtung 111 übermittelt
an das Analyseprogramm 51 der Überwachungsvorrichtung 37 in
bekannter Weise die mindestens einen Steuergerät-Variable 12 des Parametersatzes 20.
-
Eine Überwachungseinrichtung 143 ermittelt anhand
des mindestens einen Überwachungsparameters 44,
ob einer der Parameter des Steuergerät-Variablensatzes 20 in
den Daten 29 enthalten ist.
-
Die
Steuergerät-Variable 12 entspricht
beispielsweise einer Adresse A1, die Steuergerät-Variable 41 einer
Adresse A2 der Daten 29. Die Überwachungseinrichtung 143,
z.B. ein Vergleicher 81, prüft beispielsweise anhand einer
Prüftabelle
oder Look-up-Tabelle 100 die Relevanz der Daten 29,
z.B. der Adressen A1 und A2.
-
Die
Adressen A1 und A2 dienen zur unmittelbaren Adressierung von Speicherzellen
der Prüftabelle 100,
in denen jeweils ein Relevanz-Indikator R1, R2 bis RN, z.B. ein
Bit mit den Werten TRUE oder FALSE, zur zugeordneten Adresse A1,
A2 bis AN der Daten 29 vermerkt ist. Wenn der Relevanz-Indikator
R1, R2 bis RN z.B. TRUE oder "relevant" lautet, generiert
die Überwachungseinrichtung 143 ein Steuersignal 146 mit
dem Wert "Puffern" zur Ansteuerung
eines Pufferspeichers 142. Z.B. dienen die Relevanz-Indikatoren
R1, R2 bis RN unmittelbar als Steuersignal 146. In der
Prüftabelle 100 ist
beispielsweise für
jedes Byte eines überwachten
Adressraumes ein Relevanz-Indikator-Bit
vorgesehen.
-
Alternativ
wäre es
auch möglich,
dass ein Vergleicher 81a der Überwachungseinrichtung 143 die
Daten 29, die über
Leitungen L1 bis L9 zu dem Vergleicher 81a gelangen, mit
einer oder mehreren Vergleichsmasken 80 vergleicht und
in Abhängigkeit von
dem jeweiligen Vergleichsergebnis ein Steuersignal 146 zur
Ansteuerung eines Pufferspeichers 142 generiert. Bei dem
in 4 gezeigten Beispiel stimmt das Bit-Muster eines
Datums 29A der Daten 29 mit dem Bit-Muster der
Vergleichsmaske 80 überein,
sodass das Steuersignal 146 den Pufferspeicher 142 zur
Zwischenpufferung der Daten 29 instruiert. Die Leitungen
L1 bis L9 entsprechen beispielsweise Adressleitungen AL2 bis AL10
von beispielsweise insgesamt 32 Adressleitungen der Datenverbindung 18 zwischen
dem Steuergerät-Prozessor 15 und
dem Steuergerät-Speicher 19.
Die Adressen der Daten 29 sind zu den Adressen der Daten 30 relativ.
-
Dem
Steuergerät-Variablensatz 20 ist
ein erster Pufferspeicherteil 82 des Pufferspeichers 142 zugeordnet.
Der erste Pufferspeicherteil 82 dient zur Zwischenspeicherung
von Daten, die die erste Steuergerät-Variable 12 enthalten.
Diese Daten sind einer ersten Prioritätsklasse und ferner einem ersten
Prozess 60 des Steuergerät-Programms 13 zugeordnet. Der
erste Prozess 60 wird von der Überwachungseinrichtung 143 überwacht
und gemessen.
-
Ein
zweiter Pufferspeicherteil 83 ist einem zweiten Prozess 61 des
Steuergerät-Programms 13 zugeordnet.
Die Überwachungsvorrichtung 70 überwacht
und misst den zweiten Prozess 61. Die Überwachungsvorrichtung 70 fordert
von der Messvorrichtung 111 mindestens eine zweite Steuergerät-Variable 62 an,
der dem zweiten Prozess 61 zugeordnet ist.
-
Wenn
die Überwachungseinrichtung 143 feststellt,
dass in den Daten 29 Daten enthalten sind, die den Steuergerät-Variablensatz 20 betreffen,
steuert sie einen Multiplexer 85 derart an, dass der Multiplexer 85 die
die erste Steuergerät- Variable 12 enthaltenden
Daten 29 dem ersten Pufferspeicherteil 82 zuleitet.
-
Sinngemäß gleichartig
arbeitet ein weiterer Vergleicher 84, der anhand einer
nicht dargestellten Prüftabelle
oder mindestens einer Vergleichsmaske ermittelt, wenn in den Daten 29 den
zweiten Prozess 61 betreffende Steuergerät-Variablen 62 enthalten sind.
Mit Hilfe eines Steuersignals 86 steuert der Vergleicher 84 den
Multiplexer 85 zur Umleitung dieser Daten in den zweiten
Pufferspeicherteil 83 an.
-
Sofern
die Daten 29 keine Steuergerät-Variable enthalten, kann
der Multiplexer 85 diese Daten 29 auf einer Direktverbindung 87 an
dem Pufferspeicher 142 vorbei unmittelbar an den Abbildungsspeicher 34 weiterleiten.
-
Während die
Vergleicher 81, 84 eine Adressprüfung durchführen, ist
eine Event-Überwachungseinrichtung 88 sozusagen
für höherwertige Überwachungsaufgaben
ausgestaltet. Die Event-Überwachungseinrichtung 88 überwacht
beispielsweise nicht nur die Adressen der Daten 29, sondern
auch die jeweiligen Speicherinhalte. Die Event-Überwachungseinrichtung 88 überwacht
die von der Schnittstelle 26 versendeten Daten 29 und über Verbindungen 89, 90 die
aus den Pufferspeicherteilen 82, 83 in den Abbildungsspeicher 34 übermittelten
Daten 29'.
Es ist möglich,
dass die Event-Überwachungseinrichtung 88 die
Steuersignale 146, 86 beeinflusst, beispielsweise
um eine Zwischenpufferung der Daten 29 beziehungsweise
eines Teils davon zu aktivieren oder zu deaktivieren, sofern die
Event-Überwachungseinrichtung 88 in
das Steuersignal 86 eingreift. Beispielsweise überlagert
ein Vergleichsglied 91 ein Eingriffssignal 95 der
Event-Überwachungseinrichtung 88 dem
Steuersignal 86 des Vergleichers 84.
-
Zweckmäßigerweise
ist der mindestens eine Überwachungsparameter
oder Event 44, das/den die Event-Überwachungseinrichtung 88 überwacht,
parametrierbar. Beispielsweise kann das Mess- und/oder Analyseprogramm 51 die
Prüftabelle 100 oder
die Vergleichsmaske 80 an die Messvorrichtung 111 übermitteln,
die die Prüftabelle 100,
die Vergleichsmaske 80 oder sonstige Überwachungsparameter in einem
flüchtigen
oder nichtflüchtigen
Speicher 92 der Überwachungseinrichtung 143 speichert. Auch
der Ausleseeinrichtung 35 sind zweckmäßigerweise Speicher 92, 94 zugeordnet.
Beispielsweise ist der Speicher 92 ein Arbeitsspeicher,
wohingegen der Speicher 94 ein zweckmäßigerweise nichtflüchtiger Speicher
ist, in den das Programm 36 speicherbar ist. Das Programm 36 ist
zweckmäßigerweise
konfigurierbar. Beispielsweise kann das Analyseprogramm 71 das
Programm 36 in den Speicher 94 über die Schnittstelle 39 laden.
-
Die Überwachungseinrichtung 143 mit
der Event-Überwachungseinrichtung 88,
den Vergleichern 81, 84 und vorteilhafterweise
auch der Multiplexer 85 sind vorteilhafterweise durch PLDs,
eine oder mehrere FPGA-Baugruppen, durch ein ASIC (Application Specific
Integrated Circuit) oder eine sonstige schnell arbeitende Halbleiterbaugruppe
gebildet. Die freie Konfigurierbarkeit und/oder Parametrierbarkeit
der Messvorrichtung 111 wird zweckmäßigerweise dadurch unterstützt, dass
die Ausleseeinrichtung 35 einen Mikrocontroller enthält.
-
Der
erste Prozess 60 betrifft beispielsweise eine Temperaturüberwachung
des Motors 16. Der Prozess 60 wird weniger häufig benötigt als
der zweite Prozess 61, der beispielsweise die Kraftstoff-Einspritzmenge
des Motors 16 regelt. Die Daten des zweiten Prozesses 61,
das heißt
die Steuergerät-Variablen 62,
treten daher in häufigeren
Zyklen auf als der Steuergerät-Variablensatz 20.
Die Messvorrichtung 111 behandelt zweckmäßigerweise
Daten des zweiten Prozesses 61, die die Steuergerät-Variable 62 enthalten,
mit höherer
Priorität
als Daten des ersten Prozesses 60, die den Steuergerät-Variablensatz 20 betreffen.
-
Es
versteht sich, dass beide Prozesse 60, 61 und/oder
der Steuergerät-Variablensatz 20 bzw.
die Steuergerät-Variable 62 auch
von der Überwachungs-
und Analysevorrichtung 37, also von einem einzigen Gerät, gemessen
und überwacht
werden können.
-
In
den obigen Ausführungsbeispielen
wurden die Messvorrichtungen 11, 111 im Zusammenhang
mit Kraftfahrzeugen beschrieben. Es versteht sich, dass die von
den Messvorrichtungen zu überwachenden
Steuergeräte
auch für
andere Zwecke eingesetzt werden können, beispielsweise für Maschinensteuerungen
oder dergleichen.