-
Die
Erfindung betrifft ein Verfahren zum Prüfen der Funktionsfähigkeit
einer eingebetteten Komponente in einem eingebetteten System.
-
Bei
einem eingebetteten System handelt es sich um einen elektronischen
Rechner oder Computer, der in einem technischen Kontext eingebunden
bzw. eingebettet ist. Dabei hat der elektronische Rechner die Aufgabe,
das System, in welches er eingebettet ist, zu steuern, zu regeln
oder zu überwachen.
-
Ein
eingebettetes System verrichtet – weitestgehend unsichtbar
für den Benutzer – den Dienst in einer Vielzahl
von Anwendungsbereichen und Geräten, wie z. B. in Waschmaschinen,
Flugzeugen, Kraftfahrzeugen, Kühlschränken, Fernsehern,
DVD-Playern, Mobiltelefonen u. dgl. Eine Vernetzung einer Vielzahl
von ansonsten autonomen, eingebetteten Systemen wird auch als komplexes
eingebettetes System bezeichnet.
-
Die
elektronischen Rechner bzw. die eingebetteten Komponenten eines
komplexen eingebetteten Systems sind in der Regel zum Datenaustausch
mit einem Bus verbunden. Üblicherweise handelt es sich
bei einer Komponente um eine gemischte Hardware/Software-Implementierung,
welche eine vorgegebene Spezifikation erfüllt.
-
Auch
wenn die einzelnen Komponenten eines komplexen eingebetteten Systems
für sich genommen, die vorgegebenen Spezifikationen erfüllen,
kann es bei ihrem Zusammenwirken dennoch zu Funktionsstörungen
kommen. Solche Funktionsstörungen können durch
eine Nichteinhaltung von Reaktions- oder Antwortzeiten auf bestimmte
Ereignisse, durch Aus- oder Überlastung von Prozessoren
oder Bussen, durch Nachrichtenverlust und dgl. hervorgerufen werden.
-
Nach
dem Stand der Technik ist der so genannte CAN-Bus (Controller Area
Network) bekannt. Es handelt sich dabei um einen asynchronen, seriellen
und nichtdeterministischen Feldbus, der nach dem CSMA/CR(Carrier
Sense Multiple Access/Collision Resolution)-Verfahren arbeitet.
Nachrichtenlaufzeiten, Nachrichtenverluste und dgl. sind hier einer
Varianz unterworfen, welche zu den vorerwähnten Funktionsstörungen führen
kann. Zur Behebung solcher Funktionsstörungen ist es mitunter
erforderlich, Hardware/Software-Implementierungen, lokale/globale
Systemarchitekturen oder Busvarianten zu ändern. Das ist
kosten- und zeitaufwändig.
-
Aufgabe
der vorliegenden Erfindung ist es, die Nachteile nach dem Stand
der Technik zu beseitigen. Es soll insbesondere ein Verfahren zum
Prüfen der Funktionsfähigkeit einer eingebetteten
Komponente in einem mit einem CAN-Bus vernetzten, komplexen eingebetteten
System angegeben werden, welches einfach und kostengünstig
durchführbar ist. Nach einem weiteren Ziel der Erfindung
soll das Verfahren schon in einem frühen Entwicklungsstadium
eines eingebetteten Systems verlässliche Informationen über
dessen Funktionsfähigkeit liefern.
-
Diese
Aufgabe wird durch die Merkmale des Anspruchs 1 gelöst.
Zweckmäßige Ausgestaltungen ergeben sich aus den
Merkmalen der Ansprüche 2 bis 20.
-
Nach
Maßgabe der Erfindung ist ein Verfahren zum Prüfen
der Funktionsfähigkeit zumindest einer eingebetteten Komponente in
einem eingebetteten System vorgesehen, bei dem die eingebettete
Komponente und zumindest eine weitere eingebettete Komponente zum
Datenaustausch über einen CAN-Bus verbunden sind,
wobei
die zumindest eine weitere eingebettete Komponente und eine damit
erzeugte Ausgabe erster Nachrichtenpakete auf den CAN-Bus mittels
eines ersten Simulationsprogrammabschnitts simuliert wird,
wobei
die eingebettete Komponente, eine damit erzeugte Ausgabe zweiter
Nachrichtenpakete auf den CAN-Bus und/oder eine Verarbeitung von
für die eingebettete Komponente vorgesehenen ersten Nachrichtenpaketen
und/oder eine steuernde, regelnde oder überwachende Funktion
der eingebetteten Komponente mittels eines zweiten Simulationsprogrammabschnitts
simuliert wird, und
wobei die Funktionsfähigkeit der
eingebetteten Komponente durch einen Vergleich des Zeitverhaltens
von damit erzeugten Signalen gegenüber einem vorgegebenen
Zeitverhalten ermittelt wird.
-
Im
Sinne der vorliegenden Erfindung wird unter dem Begriff ”eingebettete
Komponente” eine zu testende Hardware/Software-Implementierung
verstanden. Unter dem Begriff ”weitere eingebettete Komponente” wird
eine weitere Hardware/Software-Implementierung verstanden, welche
zum Datenaustausch über einen CAN-Bus mit der ”eingebetteten
Komponente” verbunden ist. Die ”eingebettete Komponente” und
die über einen CAN-Bus damit verbundene zumindest eine ”weitere
eingebettete Komponente” bilden das ”eingebettete System”.
-
Selbstverständlich
ist es nach dem Gegenstand der vorliegenden Erfindung möglich,
nicht nur die Funktionsfähigkeit einer eingebetteten Komponente,
sondern auch die Funktionsfähigkeit einer Mehrzahl eingebetteter
Komponenten zu prüfen.
-
Indem
sowohl die eingebettete Komponente als auch die weitere eingebettete
Komponente sowie die damit erzeugte Ausgabe erster und zweiter Nachrichtenpakete
auf dem CAN-Bus und/oder eine Verarbeitung von für die
eingebettete Komponente vorgesehenen ersten Nachrichtenpaketen und/oder
die steuernde, regelnde oder überwachende Funktion der
eingebetteten Komponente mittels eines Simulationsprogramms simuliert
wird, kann ohne großen Aufwand frühzeitig die
Funktionsfähigkeit eines eingebetteten Systems geprüft werden.
Sowohl die eingebettete Komponente als auch die weitere eingebettete
Komponente werden mittels des vorgeschlagenen Simulationsprogramms
simuliert. Es entfällt die Notwendigkeit der Bereitstellung
entsprechender Hardware/Software-Implementierungen.
-
Unter
dem Begriff ”CAN-Bus” wird im Sinne der vorliegenden
Erfindung der in ISO 11898 standardisierte Kommunikationsweg
verstanden, der eine asynchrone, serielle und nichtdeterministische
nach dem CSMA/CR-Verfahren arbeitende Übertragung von Nachrichtenpaketen
ermöglicht.
-
Im
Sinne der vorliegenden Erfindung werden unter einem ”Nachrichtenpaket” Informationssequenzen verstanden,
die in ihrem Volumen den bei CAN möglichen realen Nachrichtenpaketen
mit 0 bis 8 Datenbytes sowie Header- und Trailerbits entsprechen,
und die weiterhin in exakt demselben zeitlichen Verhalten wie in einem
realen eingebetteten System erzeugt und auf den CAN-Bus ausgegeben
werden. Die Nachrichtenpakete im Sinne der vorliegenden Erfindung
können auch verzögert auf dem CAN-Bus ausgegeben
werden, wenn dieser bereits belegt ist und/oder sie eine niedrigere
Priorität als andere zu sendende Nachrichtenpakete aufweisen
und/oder wenn die die Nachrichtenpakete erzeugende und verarbeitende
Software selbst Verzögerungen verursacht. Ferner können
Nachrichtenpakete im Sinne der vorliegenden Erfindung reelle Dateninhalte transportieren,
welche mit der zu testenden eingebetteten Komponente verarbeitet
und infolge dessen Funktionen ausgelöst werden können.
-
Als
besonders vorteilhaft wird es angesehen, dass der CAN-Bus ein durch
das Simulationsprogramm erzeugter virtueller CAN-Bus ist. In diesem
Fall wird mit dem vorgeschlagenen Verfahren also das eingebettete System
insgesamt durch das Simulationsprogramm simuliert. Das Vorsehen
eines physischen CAN-Busses ist nicht erforderlich.
-
Nach
einer weiteren vorteilhaften Ausgestaltung umfasst der erste Simulationsprogrammabschnitt
einen Nachrichtenpaketerzeugungsabschnitt zur Erzeugung einer Abfolge
von ersten Nachrichtenpaketen und einen Nachrichtenpaketsendeabschnitt
zur Ausgabe der ersten Nachrichtenpakete auf den CAN-Bus. Die mit dem
vorgeschlagenen Verfahren erzeugten ”Nachrichtenpakete” entsprechen
zweckmäßigerweise den Nachrichtenpaketen, wie
sie im späteren implementierten eingebetteten System verwendet
werden.
-
Nach
einer weiteren vorteilhaften Ausgestaltung kann der Nachrichtenpaketerzeugungsabschnitt
unter Verwendung einer Kommunikationsdatenbank parametrisiert werden.
Eine solche Kommunikationsdatenbank kann beispielsweise eine oder
mehrere herkömmliche DBC-Dateien und/oder eine oder mehrere
standardisierte Fibex-XML-Dokumente umfassen. Sie kann ferner Informationen über
die auf den CAN-Bus ausgegebenen Nachrichtenpa kete, wie Ursprung,
Empfängerliste, Typ, enthaltene Nutzdaten, Sendemodi, Zyklenzeiten,
Entprellzeiten und dgl., enthalten.
-
Nach
einer weiteren vorteilhaften Ausgestaltung wird mit dem Nachrichtenpaketerzeugungsabschnitt jedem
der ersten Nachrichtenpakete ein vorgegebener Zeitstempel zugeordnet.
Bei einem ”Zeitstempel” handelt es sich um eine
Zeitinformation welche angibt, ab wann genau versucht werden soll
das betreffende erste Nachrichtenpaket auf den CAN-Bus auszugeben.
-
Um
eine besonders realitätsnahe Simulation zu gewährleisten
ist nach einer weiteren Ausgestaltung vorgesehen, dass der weiteren
Komponente eine lokale Uhr zugeordnet ist. Unter einer ”lokalen
Uhr” wird eine absolute Zeitbasis verstanden, auf deren
Grundlage ein der weiteren eingebetteten Komponente zugeordneter Taktgeber
arbeitet. Eine solche lokale Uhr kann ebenfalls mit einem Programm
simuliert werden. Es wird beispielhaft verwiesen auf den Offenbarungsgehalt
der
DE 100 57 651
C2 , welche hiermit einbezogen wird.
-
Mit
dem Nachrichtenpaketerzeugungsabschnitt ist es auch möglich
mehrere weitere eingebettete Komponenten zu simulieren. In diesem
Fall kann mit dem Nachrichtenpaketerzeugungsabschnitt jedem der ersten
Nachrichtenpakete eine die weitere eingebettete Komponente identifizierende
Information zugeordnet werden. In diesem Fall kann jeder weiteren
Komponente wiederum eine besondere lokale Uhr zugeordnet sein.
-
Zur
Abbildung der in der Realität vorkommenden Kommunikationsmodi
kann der erste Simulationsprogrammabschnitt zur Erzeugung der Abfolge
der ersten Nachrichtenpakete einen periodischen Nachrichtenpaketerzeugungsabschnitt,
einen Ereignis gesteuerten Nachrichtenpaketerzeugungsabschnitt und
einen Anfrage-gesteuerten Nachrichtenpaketerzeugungsabschnitt umfassen.
Mit ihnen können besonders realitätsnahe Zeitstempel
erzeugt werden.
-
Durch
den periodischen Nachrichtenpaketerzeugungsabschnitt erzeugte periodische
Zeitstempel können durch eine Zyklendauer, einen Startversatz
und dgl. definiert werden. Durch den Ereignis-gesteuerten Nachrichtenpaketerzeugungsabschnitt
erzeugte Ereignis-gesteuerte Zeitstempel können durch den
Zeitstempel des Ereignisses, Entprellzeiten und dgl. bestimmt werden.
Zeitstempel der Ereignisse können dem Nachrichtenpaketerzeugungsabschnitt
als Nachrichtenspur, nach einer stochastischen Verteilungsfunktion
oder mit einem eigenen sie erzeugenden Simulationsprogramm zur Verfügung
gestellt werden. Durch den Anfrage-gesteuerten Nachrichtenpaketerzeugungsabschnitt
erzeugte Anfragenachrichtenzeitstempel sind durch den Zeitstempel
der Anfragenachrichten definiert. Diese ergeben sich direkt durch
den CAN-Busverkehr.
-
Des
Weiteren kann der Nachrichtenpaketerzeugungsabschnitt einen Scheduler
umfassen, mit dem die ersten Nachrichtenpakete entsprechend ihrer
Zeitstempel und/oder gemäß einer Priorisierung
an den Nachrichtenpaketsendeabschnitt übergeben werden.
Bei der ”Priorisierung” handelt es sich um eine
Information, welche gemäß einer vorgegebenen Regel
in Abhängigkeit eines Typs und/oder eines aktuellen Zustands des
CAN-Busses erzeugt wird. Es kann sich ebenfalls um Verhalten eines
Nachrichten erzeugenden und verarbeitenden Kommunikations-Softwarestapel
handeln. Der Kommunikations-Softwarestapel umfasst den Teil einer
Software einer eingebetteten Komponente, der für die Erzeugung,
Priorisierung und Übertragung von ersten Nachrichtenpaketen
bis in den Hardware-Bus-Controller zustän dig ist. Es können
somit besonders realitätsnahe Sendezeitpunkte erzeugt werden.
-
Nach
einer weiteren besonders vorteilhaften Ausgestaltung wird mit dem
Nachrichtenpaketsendeabschnitt zur Simulation von CAN-Busstörungen
die Ausgabe der ersten Nachrichtenpakete auf den CAN-Bus inhaltlich
verfälscht oder zeitlich verzögert. Damit wird
weiter die Realitätsnähe des vorgeschlagenen Simulationsprogramms
erhöht.
-
Die
Ausgabe der zweiten Nachrichtenpakete auf den CAN-Bus kann genau
wie die steuernde, regelnde oder überwachende Funktion
der eingebetteten Komponente durch einen im zweiten Simulationsprogrammabschnitt
vorgesehenen Ereignis-basierten Simulator veranlasst werden. Derartige
Ereignis-basierte Simulatoren sind nach dem Stand der Technik allgemein
bekannt. Es wird dazu beispielhaft verwiesen auf die für diesen
Zweck definierten Simulationssprachen SystemC und VHDL.
-
Bei
den von der eingebetteten Komponente erzeugten Signalen kann es
sich um auf den CAN-Bus ausgegebene zweite Nachrichtenpakete handeln.
Es kann sich bei den Signalen aber auch um Funktionen handeln, welche
durch die Verarbeitung von für die eingebettete Komponente
vorgesehenen ersten Nachrichtenpaketen ausgelöst werden.
Bei den Signalen kann es sich ebenfalls um die steuernden, regelnden
oder überwachenden Funktionen der eingebetteten Komponente
handeln, welche indirekt vom zeitlichen Ablauf der Kommunikation
auf den CAN-Bus beeinflusst werden. Bei ”für die
eingebettete Komponente vorgesehenen ersten Nachrichtenpaketen” handelt
es sich um eine Teilmenge der ersten und der, von anderen eingebetteten Komponente
gesendeten, zweiten Nachrichtenpakete, deren Vorkommen oder Dateninhalt
für die eingebettete Komponente relevant sind. – Die
Verarbeitung solcher an die eingebettete Komponente adressierter
erster Nachrichtenpakete löst Funktionen aus. Das durch
Sequenz und Zeitpunkte definierte Zeitverhalten der verschiedenen
erzeugten Signale dient der Prüfung der Funktionsfähigkeit
der eingebetteten Komponente. Dazu wird das jeweils beobachtete
Zeitverhalten mit einem vorgegebenen Zeitverhalten, z. B. einem
spezifizierten Zeitverhalten, verglichen.
-
Des
Weiteren wird es als vorteilhaft angesehen, dass zur Ermittlung
des Zeitverhaltens der über die CAN-Busse übertragenen
Nachrichtenpakete und/oder des Zeitverhaltens von mit der eingebetteten
Komponente ausgeführten Funktionen eine Protokolldatei
erzeugt wird. Ferner kann die Funktionsfähigkeit der eingebetteten
Komponente auch durch eine geeignete Grafik an einem Bildschirm
dargestellt werden.
-
Als
weitere Maßgabe der Erfindung ist ein Datenträger
mit einem Simulationsprogramm zur Durchführung des erfindungsgemäßen
Verfahrens vorgesehen. Bei dem Datenträger kann es sich
um einen optischen oder magnetischen Datenträger handeln.
Der Datenträger kann Bestandteil eines Computers sein.
-
Nachfolgend
werden Ausführungsbeispiele anhand der Zeichnungen näher
erläutert. Es zeigen:
-
1 Schematisch
die Architektur eines erfindungsgemäßen Simulationsprogramms,
-
2 schematisch
den Aufbau einer OBD-Anfraesystems in einem Kraftfahrzeug und
-
3 eine
Architektur eines Simulationsprogramms für das in 2 gezeigte
Beispiel.
-
Mit
dem Bezugszeichen 1 ist ein virtueller CAN-Bus bezeichnet,
der eine oder mehrere zu testende eingebettete Komponenten 2 zum
Nachrichtenaustausch mit zumindest einer weiteren eingebetteten
Komponente 3 verbindet. Die weitere eingebettete Komponente 3 wird
mit einem ersten Simulationsprogrammabschnitt 4, die eingebettete
Komponente 2 mit einem zweiten Simulationsprogrammabschnitt 5 und
der virtuelle CAN-Bus 1 mit einem dritten Simulationsprogrammabschnitt 6 eines
Simulationsprogramms simuliert.
-
Der
erste Simulationsprogrammabschnitt 4 umfasst eine Teilkommunikationsdatenbank 7 mit
Sollvorgabentabellen für periodische erste Nachrichtenpakete 8,
Ereignis-gesteuerte erste Nachrichtenpakete 9 und Anfrage-gesteuerte
erste Nachrichtenpakete 10. Die Sollvorgabentabelle für
periodische erste Nachrichtenpakete 8, eine lokale Uhr 11 und
ein Zählersatz 12 sind u. a. einem periodischen
Nachrichtenpaketerzeugungsabschnitt 13 zugeordnet. Die
Sollvorgabentabelle für Ereignisgesteuerte erste Nachrichtenpakete 9,
die lokale Uhr 11, der Zählersatz 12,
eine stochastische Verteilungsfunktion 14, eine Nachrichtenspur 15 und
ein Ereignis-Simulationsteilprogramm 16 sind einem Ereignis-gesteuerten
Nachrichtenpaketerzeugungsabschnitt 17 zugeordnet. Die
Sollvorgabentabelle für Anfrage-gesteuerte erste Nachrichtenpakete 10,
die lokale Uhr 11, der Zählersatz 12 und
ein CAN-Bus-Nachrichtenpaketfilter 18 sind einem Anfrage-gesteuerten
Nachrichtenpaketerzeugungsabschnitt 19 zugeordnet. Die
drei Nachrichtenpaketerzeugungsabschnitte 13, 17, 19 sind über
einen Einfügealgorithmus 20 mit einem Nachrichtenpaketspeicher 21 verbunden,
der wiederum über einen Scheduler 22 mit einem
Nachrichtenpaketsendeabschnitt 23 verbunden ist.
-
Der
zweite Simulationsprogrammabschnitt 5 umfasst für
jede zu testende eingebettete Komponente 2 jeweils einen
Ereignisbasierten Simulator 24 in Kombination mit einem
weiteren Nachrichtenpaketsendeabschnitt 25, mit welchem
zweite Nachrichtenpakete auf den virtuellen CAN-Bus 1 ausgegeben
werden.
-
Die
Funktion des ersten Simulationsprogrammabschnitts 4 ist
folgende:
Jede simulierte weitere eingebettete Komponente 3 gibt,
unter Berücksichtigung des weiteren CAN-Busverkehrs, eine
zeitlich besonders realitätsnahe Abfolge von ersten Nachrichtenpaketen über
den Nachrichtenpaketsendeabschnitt 23 auf den virtuellen
CAN-Bus 1 aus.
-
In
den Sollvorgabentabellen 8, 9 und 10 sind
jeweils insbesondere Nachrichtenpaket-Identifier und Nachrichtenpakettyp
enthalten. Die Sollvorgabentabellen für periodische erste
Nachrichtenpakete 8 enthält u. a. zusätzliche
Angaben über eine Periode und einen Startversatz, die Tabelle
für Ereignis-gesteuerte Nachrichtenpakete 9 enthält
u. a. zusätzlich eine Entprellzeit und die Tabelle für
Anfrage-gesteuerte Nachrichtenpakete 10 enthält
u. a. zusätzlich einen Anfragenachrichtenpaket-Identifier,
einen Anfragenachrichtenpakettyp, eine Antwortzeit und eine Entprellzeit.
- • Nachrichtenpaket-Identifier, ist
eine Nummer mit 11 oder 29 Bit, die sowohl die Bedeutung des Nachrichtenpakets
und ihres Inhalts kodiert als auch der Priorisierung der Ausgabe
auf dem CAN-Bus dient;
- • CAN-Nachrichtenpakettypen,
beschreibt, ob für
die Nachrichtenpakete Standard- oder Extended-Identifier mit oder
ohne Remote-Request-Markierung verwendet werden;
- • Periode,
gibt an, in welcher Zeitspanne periodische
Nachrichtenpakete wiederholt werden sollen;
- • Startversatz,
definiert, nach welchem Zeitraum
nach Systemstart damit begonnen werden soll, periodische Nachrichtenpakete
zu senden;
- • Entprellzeiten,
legen minimal einzuhaltende
Abstände fest, die zwischen zwei Erzeugungen der gleichem
Nachrichtenpakets vergehen muss;
- • Anfragenachricht-Identifier und -Typ,
beschreiben,
auf welche der auf dem virtuellen CAN-Bus 1 gesendeten
Nachrichtenpakete geantwortet werden soll. Der Anfragenachricht-Identifier
entspricht im Normalfall dem Nachrichtenpaket-Identifier, wobei
im Anfragetyp die Remote-Request-Markierung gesetzt ist;
- • Antwortzeit,
gibt an, wie lange nach Eingang
des Anfragenachrichtenpakets die Antwort erzeugt werden soll.
-
Der
periodische Nachrichtenpaketerzeugungsabschnitt 13 ist
zur Erzeugung der Sendewünsche der in der Sollvorgabentabelle 8 gespeicherten
periodischen erste Nachrichtenpakete, der Ereignis-gesteuerte Nachrichtenpaketerzeugungsabschnitt 17 für
die der in der Sollvorgabentabelle 9 gespeicherten Ereignis-gesteuerten
erste Nachrichtenpakete und der Anfragegesteuerte Nachrichtenpaketerzeugungsabschnitt 10 für die
der in der Sollvorgabentabelle 10 gespeicherten Abfragegesteuerten
erste Nachrichtenpakete zuständig.
-
Gemeinsam
ist ihnen die Verwendung der lokalen Uhr
11, welche der
im Allgemeinen in jeder weiteren eingebetteten Komponente enthaltenen
Hardware-Uhr entspricht. Zur Verbesserung der Zeitgenauigkeit der Simulation
können alle verwendeten Zeiten und insbesondere die durch
die Nachrichtenpaketerzeugungsabschnitte
13,
17 und
19 erzeugten
Sendewunschzeitstempel auf eine systemglobale Zeitbasis transponiert
werden. Dazu kann ein Verfahren benutzt werden, wie es z. B. in
der
DE 100 57 651
C2 beschrieben ist. Ein eventueller Jitter, der auf die
lokale Uhr
11 wirkt, kann zusätzlich Effekte simulieren,
wie sie beispielsweise durch Verdrängung von Prozessen
in den weiteren Komponenten bedingt werden können.
-
Des
Weiteren arbeiten alle drei Nachrichtenpaketerzeugungsabschnitte 13, 17, 19 mit
einem gemeinsamen Zählersatz 12, in dem u. a.
für jedes erste Nachrichtenpaket der letzte Sendewunschzeitstempel
zur Einhaltung eventueller Entprellzeiten gehalten wird.
-
Für
die Erzeugung der periodischen ersten Nachrichtenpakete der weiteren
eingebetteten Komponente verwendet der periodische CAN-Nachrichtenpaketerzeugungsabschnitt 13 neben
dem Beschriebenen mindestens eine Periode und einen Startversatz.
-
Die
Erzeugung der Ereignis-gesteuerten ersten Nachrichtenpakete ist
unter Verwendung von lokaler Uhr 11, Zählersatz 12,
Entprellzeit und dgl. auf verschiedene Weisen möglich:
- • Stochastisch nach der stochastischen
Verteilungsfunktion 14, welche für eine oder mehrere
Nachrichten und beliebig oft vorliegen kann;
- • Durch die Nachrichtenspur 15,
welche
sowohl eine als auch mehrere Nachrichtenpakete betreffen kann und
bspw. als eine Folge von Tupeln aus Nachrichtenpaket-Identifier
und Zeitstempel oder Nachrichtenpaket-Identifier und Zwischensendezeit
beliebig oft vorliegen kann;
- • Simulativ durch das Ereignis-Simulationsteilprogramm 16,
welches als nach dem Stand der Technik allgemein bekannter, Ereignis-basierter
Simulator beliebig oft vorliegen kann.
-
Der
CAN-Bus-Nachrichtenpaketfilter 18 steuert unter Verwendung
von lokaler Uhr 11, Zählersatz 12, Antwortzeit,
Entprellzeit und dgl. die Erzeugung der Anfrage-gesteuerte Nachrichtenpakete.
Hierbei wird eine Antwort ausgelöst, wenn eine entsprechende
Anfrage über den CAN-Bus übertragen wurde.
-
Die
Erzeugung selbst umfasst das Versehen jedes ersten Nachrichtenpakets
mit einem Sendewunschzeitstempel und einem Dateninhalt. Die enthaltenen
Daten können entweder leere Hülle oder vorzugsweise
mit Originalinhalt gefüllt sein, etwa folgendermaßen:
Nachrichten-Identifier | Datum
1 | Datum
2 | ... |
- – Nachrichten-Identifier,
welcher
die zu sendende Nachricht eindeutig identifiziert;
- – Datum 1 bis n,
welche die aktuelle Belegung
mit Daten, die in Nachrichtenpakete verpackt werden sollen, anzeigen.
Statt diese Liste sequenziell zu übertragen, kann den einzelnen
Daten auch jeweils ein Gültigkeitsintervall zugeordnet
werden.
-
Die
von den CAN-Nachrichtenpaketerzeugungsabschnitten 13, 17 und 19 erzeugten
ersten Nachrichtenpakete werden mittels des Einfügealgorithmus 20,
der ein entsprechendes Verhalten eines Kommunikations-Software-Stapels
simulieren kann, in eine Abfolge gebracht und im eventuell in seiner
Größe beschränkten Nachrichtenpaket-Speicher 21 gespeichert,
wobei auch, in Abhängigkeit von dessen Füllzustand,
einzufügende erste Nachrichtenpakete verworfen oder bereits
gespeicherte überschrieben werden können.
-
Der
Scheduler 22 entnimmt der mittels der Zeitstempel chronologisch
sortierten Abfolge der ersten Nachrichtenpakete den jeweils zeitlich
nächsten Zeitstempel und setzt damit seine Aufweckzeit
im System. Danach begibt er sich in eine inaktiven Wartezustand.
Sobald eine weiteres erstes Nachrichtenpaket eingefügt wird,
die Aufweckzeit erreicht wird oder der Nachrichtensendeabschnitt 23 erfolgreich
ein erstes Nachrichtenpaket übertragen hat, wählt
der Scheduler 22 gemäß den Eigenschaften
des virtuellen CAN-Busses 1 und/oder des Verhaltens eines
Kommunikations-Software-Stapels das nächste zu sendende
erste Nachrichtenpaket aus und übergibt es an den Nachrichtenpaketsendeabschnitt 23,
sofern dieser nicht bereits belegt ist.
-
Der
Nachrichtenpaketsendeabschnitt 23 konkurriert mit den anderen
Nachrichtenpaketsendeabschnitten 23 und den weiteren Nachrichtenpaketsendeabschnitten 25 um
die Ausgabe der zu sendenden Nachrichtenpakete auf den virtuellen
CAN-Bus 1. CAN-üblich dienen hierbei die Nachrichten-Identifier
und Typen der Priorisierung untereinander. Ist der virtuelle CAN-Bus 1 bei
Empfang des ersten Nachrichtenpakets vom Scheduler 22 durch
eine gerade laufende Übertragung bereits belegt oder hat
das erste Nachrichtenpaket nicht die CAN-spezifisch höchste
Priorität, so setzt der Nachrichtenpaketsendeabschnitt 23 seine
Aufweckzeit auf das Ende der gerade laufenden bzw. begonnenen Übertragung.
-
2 zeigt
schematisch den Aufbau eines OBD-Systems (On-Board-Diagnosis System)
in einem Kraftfahrzeug. Eine eingebettete Komponente ”Tester” 26 kommuniziert über
einen physischen CAN-Bus 27 mit einer eingebetteten Komponente ”Motorsteuerung” 28.
Es stellt zu Diagnosezwecken bestimmte Anfragen und erwartet darauf
bestimmte Antworten. Nebenher kommunizieren weitere eingebettete
Komponenten 29, wie bspw. Getriebesteuerung, Zugangskontrollsystem
oder dgl., untereinander und/oder mit den eingebetteten Komponenten 26 und 28 ebenfalls über
den CAN-Bus 27, welche aber nicht zu testen sind.
-
Hinsichtlich
der zu testenden eingebetteten Komponenten ”Tester” 26 und ”Motorsteuerung” 28 könnte im
vorliegenden. Beispiel die Spezifikation verlangen, dass die Gesamtdauer
Anfrage-Antwort eine bestimmte Grenze nicht überschreitet.
Zusätzlich könnte es aufschlussreich sein, zu
wissen, wie diese Antwortzeitdauern verteilt sind.
-
Infolgedessen
sind, neben den internen Prozessen der eingebetteten Komponenten 26 und 28 selbst, auf
dem CAN-Bus 1 die folgenden Nachrichten zu simulieren.
- – Die Anfragenachrichten der eingebetteten
Komponente ”Tester” 26 an ”Motorsteuerung” 28,
welche als Dateninhalte Parameter für den genauen Typ der
interessierenden Daten enthalten;
- – Die Antwortnachrichten der eingebetteten Komponente ”Motorsteuerung” 28 an ”Tester” 26,
welche als Dateninhalt die verlangten Informationen enthalten;
- – Nachrichten der weiteren eingebetteten Komponenten 29,
welche die internen Prozesse der eingebetteten Komponente ”Motorsteuerung” 28 beeinflussen;
- – Sonstige Nachrichten der untereinander kommunizierenden
weiteren eingebetteten Komponenten 3.
-
3 zeigt
schematisch eine mögliche Architektur eines Simulationsprogramms
für das in 2 gezeigte Beispiel. Der erste
Simulationsprogrammabschnitt 4 simuliert die Funktionen
der in 2 mit einer unterbrochenen Linie umgebenen weiteren
eingebetteten Komponenten. Die damit erzeugten ersten Nachrichtenpakete
werden über die Nachrichtenpaketsendeabschnitte 23 auf
den virtuellen CAN-Bus 1 ausgegeben. Mit dem zweiten Simulationsprogrammabschnitt 5 werden
die in 2 gezeigten eingebetteten Komponenten ”Tester” 26 und ”Motorsteuerung” 28 simuliert.
Es werden damit zweite Nachrichtenpakete entsprechend der jeweiligen
Anfrage und Antwort erzeugt.
-
Zur
Prüfung der Funktionsfähigkeit des simulierten
Systems wird das Zeitverhalten der erzeugten zweiten Nachrichtenpakete
durch einen Vergleich mit einem spezifizierten Zeitverhalten geprüft
und ausgewertet. Das spezifizierte Zeitverhalten wird vorteilhafterweise
nach dem Stand der Technik auf der Basis von zeitbehafteten Ereignissen
beschrieben. Zur Auswertung werden die Zeitstempel der Ereignisse
zueinander in Beziehung gesetzt und mit den spezifizierten Zeitschranken
verglichen.
-
- 1
- CAN-Bus
- 2
- eingebettete
Komponente
- 3
- weitere
eingebettete Komponente
- 4
- erster
Simulationsprogrammabschnitt
- 5
- zweiter
Simulationsprogrammabschnitt
- 6
- dritter
Simulationsprogrammabschnitt
- 7
- Teilkommunikationsdatenbank
- 8
- Sollvorgabentabelle
für periodische erste Nachrichtenpakete
- 9
- Sollvorgabentabelle
für Ereignis-gesteuerte erste Nachrichtenpakete
- 10
- Sollvorgabentabellen
für Anfrage-gesteuerte erste Nachrichtenpakete
- 11
- lokale
Uhr
- 12
- Zählersatz
- 13
- periodischer
Nachrichtenpaketerzeugungsabschnitt
- 14
- stochastische
Verteilungsfunktion
- 15
- Nachrichtenspur
- 16
- Ereignis-Simulationsteilprogramm
- 17
- Ereignis-gesteuerter
Nachrichtenpaketerzeugungsabschnitt
- 18
- CAN-Bus-Nachrichtenpaketfilter
- 19
- Anfrage-gesteuerter
Nachrichtenpaketerzeugungsabschnitt
- 20
- Einfügealgorithmus
- 21
- Nachrichtenpaketspeicher
- 22
- Scheduler
- 23
- Nachrichtenpaketsendeabschnitt
- 24
- Ereignis-basierter
Simulator
- 25
- weiterer
Nachrichtenpaketsendeabschnitt
- 26
- Tester
- 27
- physischer
CAN-Bus
- 28
- Motorsteuerung
-
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
-
- - DE 10057651
C2 [0019, 0039]
-
Zitierte Nicht-Patentliteratur
-