-
Die
Erfindung betrifft ein Verfahren zum Testen des Verhaltens von Busteilnehmern
in einem Flexray-Bussystem bei Signalkollisionen. Sie betrifft auch
ein Flexray-Bussystem.
-
Bei
einem ereignisgesteuerten Bussystem, beispielsweise einem CAN-Bussystem, können die Busteilnehmer,
die an dem Bus angeschlossen sind, zu beliebigen Zeiten Signale
aussenden. Die Signale enthalten eine Identifizierung. Kommt es
zum Fall, dass zwei unterschiedliche Busteilnehmer gleichzeitig
Signale aussenden, wird eine Kollision dadurch vermieden, dass die
so genannte Arbitrierung stattfindet. Je nach der Identifizierung
wird einem Signal gegenüber
dem anderen der Vorzug gegeben. Bei einem zeitgesteuerten Bussystem,
wie beispielsweise einem Flexray-Bussystem, werden Zeitfenster (”Slots”) vergeben,
und jeder Busteilnehmer kann in einem bestimmten Zeitfenster Signale
senden. Dadurch werden grundsätzlich
Kollisionen vermieden. Voraussetzung bei einem zeitgesteuerten Bussystem ist,
dass sämtliche
Busteilnehmer zeitlich abgeglichen sind. Der zeitliche Abgleich
erfolgt üblicherweise
beim Einschalten. Während
des zeitlichen Abgleichs (der Synchronisierung) können durchaus noch
Kollisionen stattfinden. Im Rahmen des zeitlichen Abgleichs wird
zunächst
eine Aufweckphase (”wake-up-Phase”) durchlaufen,
in der alle Busteilnehmer aktiviert werden. Dann erfolgt eine Startphase
(”start-up-Phase”), in deren
Rahmen eine den Busteilnehmern gemeinsame Zeit definiert wird. In der
Aufweckphase wird üblicherweise
ein Aufwecksignal durch zumindest einen Busteilnehmer gesendet. Es
hängt von
Spezifikationen des Bussystems ab, also von der genauen Programmierung
der Busteilnehmer, welcher Busteilnehmer ein Aufwecksignal abgibt
und welcher nicht. Der Fall, dass nur ein einziger Busteilnehmer
ein Aufwecksignal abgibt, ist eher selten, vielmehr geben üblicherweise
mehrere solcher Busteilnehmer Aufwecksignale ab. Es kann zu Signalkollisionen
der unterschiedlichen Aufwecksignale untereinander kommen. Im Rahmen der
Startphase senden ebenfalls zumeist mehrere Busteilnehmer ein Startsignal
(Vorrangsignal), und es kann durch zeitgleiches Absenden von Startsignalen
auch zu Signalkollisionen zwischen den Startsignalen verschiedener
Busteilnehmer kommen. Theoretisch kann auch ein Aufwecksignal mit
einem Startsignal kollidieren. Zwar treten Signalkollisionen nicht
notwendigerweise häufig
auf; wenn sie auftreten, können
sie jedoch zu schweren Fehlfunktionen des Bussystems führen. Das
genaue Verhalten des Bussystems hängt von seiner Spezifizierung
ab und muss getestet werden.
-
In
der Druckschrift
US
2004/0081079 A1 wird ein Busteilnehmer beschrieben, der
neben einer Kommunikations-Steuereinheit zum Senden und Empfangen
von Daten über
einen Bus eine zusätzliche
Bus-Überwachungseinheit
aufweist. Die Bus-Überwachungseinheit überwacht
die Funktionstüchtigkeit
der Kommunikations-Steuereinheit und verhindert, dass diese im Falle
eines Defektes durch unkontrolliertes Senden von Daten den Datenbus
für andere
Busteilnehmer blockiert. Die Bus-Überwachungseinheit überprüft die Funktionsfähigkeit
der Kommunikations-Steuereinheit, indem sie das Sendeverhalten der
letzteren beobachtet und mit den durch ein Sendeprotokoll vorgegebenen
möglichen Sendemustern
vergleicht. Die Bus-Überwachungseinheit
ist dabei in der Lage, mögliche
Unregelmäßigkeiten
im Sendeverhalten der Kommunikations-Steuereinheit während einer
Initialisierungsphase des Busteilnehmers als lediglich vorübergehende
Störungen
zu erkennen. Dadurch wird ein unnötiges Eingreifen der Bus-Überwachungseinheit während der Initialisierungsphase
verhindert.
-
In
der Druckschrift
US
2003/0131283 A1 wird im Zusammenhang mit parallel verarbeitenden
Datenverarbeitungsanlagen ein Verfahren zum Erkennen von Kollisionen
bei Zugriffen auf einen Speicherbereich durch zwei parallel ablaufende
Programme beschrieben. Um erkennen zu können, ob es bei dieser Zugriffkollision
zu Fehlern im Ablauf wenigstens eines der beiden Programme kommt,
wird nach Beenden beider Programme derselbe Datenverarbeitungsprozess
noch einmal gestartet, wobei allerdings bei Erreichen des Zeitpunktes,
an dem die Zugriffskollision stattfindet, die Zugriffsreihenfolge
der beiden Programme auf den fraglichen Speicherbereich im Vergleich
zum ersten Durchlauf des Datenverarbeitungsprozesses vertauscht
wird. Nach Beenden des zweiten Durchlaufs der beiden Programme kann durch
Vergleichen der Ergebnisse der Berechnungen erkannt werden, ob die
Zugriffskollision einen Einfluss auf den Ablauf der Programme hat.
-
Für lokale
Computernetzwerke (local area network, LAN) wird es über den
Mechanismus des „Wake
on LAN” ermöglicht,
einen an das Computernetzwerk angeschlossenen Computer, der sich
in einem inaktiven Zustand befindet, durch Senden einer Nachricht
an diesen Computer zu bewirken, dass der Computer aktiviert wird.
-
Es
ist nun bisher schwer möglich,
das Verhalten von Busteilnehmern in einem zeitgesteuerten Bussystem
bei Signalkollisionen zu testen, weil es bisher nicht möglich ist,
vorherzusagen, wann und wo Signalkollisionen stattfinden.
-
Es
ist Aufgabe der vorliegenden Erfindung, in einem Flexray-Bussystem
prinzipiell selten vorkommende schwere Fehlfunktionen aufgrund von
Signalkollsionen auszuschließen.
-
Die
Aufgabe wird durch ein Verfahren nach Patentanspruch 1 und ein zeitgesteuertes
Bussystem nach Patentanspruch 8 gelöst.
-
Im
Rahmen des erfindungsgemäßen Verfahrens
werden zumindest für
einen ersten Busteilnehmer und einen zweiten Busteilnehmer jeweils
ein Zeitmessverfahren durchgeführt,
wobei das Zeitmessverfahren die Schritte umfasst:
- a)
Aktivieren des jeweiligen Busteilnehmers unabhängig von den anderen Busteilnehmern,
damit das Abgeben eines Aufwecksignals und/oder eines Startsignals
durch den jeweiligen Busteilnehmer ausgelöst wird, und
- b) Messen der Zeit, die zwischen dem Aktivieren des jeweiligen
Busteilnehmers und dem Abgeben des Aufwecksignals und/oder des Startsignal
verstreicht.
-
Nach
dem Durchführen
der Zeitmessverfahren an den jeweiligen Busteilnehmern werden folgende
Schritte durchgeführt:
- c) Berechnen eines Zeitverlaufs des möglichen Aktivierens
aller Busteilnehmer, für
die das Zeitmessverfahren durchgeführt wurde, bei dem mit zumindest
einer vorbestimmten Wahrscheinlichkeit eine Signalkollision auftritt,
- d) Aktivieren des Busteilnehmer entsprechend dem berechneten
Zeitverlaufs.
-
Die
Erfindung beruht auf der Erkenntnis, dass gezielt die Situation
erzeugt werden kann, bei der Aufwecksignale und/oder Startsignale
durch den jeweiligen Busteilnehmer abgegeben werden können. Es
wird nämlich
eine Einschaltsituation real über die
Ansteuerung der Spannung erzeugt oder durch Aktivierungssignale
simuliert. Dann wird gezielt die Zeit gemessen, die der Busteilnehmer
benötigt.
Es wird von einer bestimmten Deterministik des Busteilnehmers ausgegangen,
d. h. es wird davon ausgegangen, dass sich der Zeitablauf zwischen
dem Aktivieren des Busteilnehmers und dem Abgeben des Aufwecksignals
und/oder des Startsignals wiederholt oder dass er zumindest einer
Statistik unterliegt. Beispielsweise wird man so feststellen, dass
nach dem Aktivieren ein erster Busteilnehmer eine besonders lange
Zeit benötigt,
bis er ein Aufwecksignal abgibt, und dass ein zweiter Busteilnehmer
eine besonders kurze Zeit benötigt,
bis er ein Aufwecksignal abgibt. Würden nun beide Busteilnehmer
gleichzeitig aktiviert, käme
es zu keiner Signalkollision. Wird dagegen im Einklang mit der gemessenen
Zeit der zweite Busteilnehmer nach dem ersten Busteilnehmer aktiviert,
und entspricht der Zeitabstand zwischen dem Aktivieren des ersten
Busteilnehmers und dem zweiten Busteilnehmer dem Zeitunterschied
der gemessenen Zeiten, so besteht eine hohe Wahrscheinlichkeit dafür, dass
eine Signalkollision hervorgerufen wird, und dies ist ja gewünscht, damit
das Verhalten der Busteilnehmer untersucht werden kann.
-
Das
Verfahren kann um den eigentlichen Test insofern erweitert werden,
als es folgende Schritte zusätzlich
umfassen kann:
- e) Überprüfen, ob tatsächlich eine
Signalkollision auftritt, und
- f1) falls keine Signalkollision auftritt, Wiederholen von Schritt
d), und
- f2) falls eine Signalkollision auftritt, Durchführen einer
Analyse des Verhaltens der Busteilnehmer.
-
Worin
genau die Analyse des Verhaltens der Busteilnehmer besteht, ist
von dem genauen Aufbau des Bussystems und der Spezifierung der Busteilnehmer
abhängig.
Es ist möglich,
dass im Rahmen der Analyse des Verhaltens der Busteilnehmer sämtliche
Busteilnehmer gleichzeitig überprüft werden müssen, zum
Beispiel ob sie in Antwort auf die Kollision automatisch in einen Ruhezustand übergehen. Es
ist auch möglich,
dass das Bussystem so spezifiziert ist, dass ein besonderer Busteilnehmer
eine Steuerungsaufnahme übernimmt
oder Daten der anderen Busteilnehmer sammelt, so dass die Analyse auf
diesen besonderen Busteilnehmer konzentriert erfolgen kann. Im Rahmen
der Analyse können
von den Busteilnehmern vorgenommene Speichereinträge überprüft werden,
zum Beispiel Fehlerspeichereinträge.
Zur Spezifikation der Busteilnehmer gehört unter anderem die Spezifikation
des Busprotokolls und die Vorgabe der Fehlerspeichereinträge.
-
Nicht
alle Busteilnehmer verhalten sich völlig deterministisch. Vielmehr
zeigen die Busteilnehmer häufig
eine Art statistisches Verhalten. Um dieser Statistik Rechnung zu
tragen, werden beim Durchführen
des Zeitmessverfahrens für
die jeweiligen Busteilnehmer die Schritte a) und b) bevorzugt mehrfach
wiederholt, die gemessenen Zeitwerte in eine Wertetabelle eingetragen,
und aus den gemessenen Zeitwerten in der Wertetabelle wird dann
ein Durchschnittszeitwert bestimmt. Der Durchschnittszeitwert ist
dann derjenige, der zur Grundlage der Berechnung in Schritt c) des
erfindungsgemäßen Verfahrens
dient. Um die Wahrscheinlichkeit einer Signalkollision zu berechnen,
kann es sinnvoll sein, auch eine statistische Größe zu berechnen, die eine Information über das
Abweichen der Werte in der Wertetabelle vom Durchschnittszeitwert
gibt. Typischerweise ist dies der statistische Fehler, der in Form
einer Varianz angegeben werden kann.
-
Bei
einer bevorzugten Ausführungsform
wird das Zeitmessverfahren für
jeden Busteilnehmer durchgeführt.
Entsprechend wird bei dem Zeitverlauf, der den Test bestimmt, auch
jeder Busteilnehmer berücksichtigt.
-
So
kann der Zeitverlauf des Aktivierens aller Busteilnehmer so gewählt sein,
dass mit einer vorbestimmten (insbesondere hohen) Wahrscheinlichkeit möglichst
alle Busteilnehmer gleichzeitig ein Aufwecksignal oder ein Startsignal
abgeben. Es wird gewissermaßen
eine Mehrfachkollision vorbereitet, was zur Folge hat, dass im tatsächlichen
System mit besonders hoher Wahrscheinlichkeit zumindest eine Signalkollision
stattfindet, die für
den Test benötigt
wird.
-
Es
ist auch möglich,
jeweils Signalkollisionen gezielt für Kombinationen von jeweils
zwei Busteilnehmern stattfinden zu lassen, bzw. für die von
diesen abgegebenen Signale. Hierzu werden die Schritte c) und d)
mehrfach für
verschiedene Kombinationen von jeweils zwei Busteilnehmern wiederholt, und es
wird jeweils der Zeitverlauf des Aktivierens der zwei Busteilnehmern
aus der Kombination so gewählt,
dass beide Busteilnehmer mit einer vorbestimmten Wahrscheinlichkeit
gleichzeitig ein Aufwecksignal oder ein Startsignal abgeben.
-
Es
gibt verschiedene Arten, wie einzelne Busteilnehmer dazu gebracht
werden können,
ein Aufwecksignal oder ein Startsignal abzugeben. Unter den hier
verwendeten Begriff des Aktivierens fällt beispielsweise die Möglichkeit,
dass das Abgeben eines Aufwecksignals und/oder eines Startsignals
durch den jeweiligen Busteilnehmer über ein von einem zentralen
Testgerät über den
Bus gesandtes Signal ausgelöst
wird. Dieses Signal kann ein Signal nach Art eines anderen Aufwecksignals
sein, das die Abgabe von Folge-Aufwecksignalen
oder Folge-Startsignalen triggert.
-
Das
Aktivieren der Busteilnehmer kann im Rahmen des erfindungsgemäßen Verfahrens
auch besonders realistisch durch Senden von (Aktivierungs-)Signalen über eine
Datenverbindung eines zentralen Testgeräts mit Eingängen der Busteilnehmer, die
von den Buseingängen
verschieden sind, erfolgen. Üblicherweise
hat ein Busteilnehmer zumindest einen Spannungs(steuer)eingang,
der so anschließbar
ist, dass über
ihn ein Ein- und Ausschalten des Busteilnehmers erfolgen kann. Ein
Busteilnehmer hat häufig
auch zusätzlich
(gelegentlich auch alternativ) zu dem Spannungsversorgungseingang
einen lokalen Weckeingang, über
das er Aufwecksignale erhalten kann. Das zentrale Testgerät sollte gleichzeitig
an den Bus angeschlossen sein, um die von den Busteilnehmern an
den Bus abgegebenen Aufwecksignale bzw. Startsignale erfassen zu
können
und so den zeitlichen Abstand zwischen dem Abgeben des Aktivierungssignals über die
Datenverbindung zum Spannungsversorgungseingang/lokalen Weckeingang
der Busteilnehmer und dem Erfassen des Aufweck- oder Startsignals
in dem Bus zu messen.
-
Das
erfindungsgemäße zeitgesteuerte
Bussystem umfasst eine Mehrzahl von an einen Bus angeschlossenen
Busteilnehmern, die Spannungseingänge aufweisen, an denen ihre
Spannungsversorgung ein- und ausschaltbar ist. Es ist gekennzeichnet durch
ein zentrales Testgerät,
das über
Datenverbindungen mit den Spannungseingängen aller Busteilnehmer verbunden
und gleichzeitig an dem Bus angeschlossen ist, und das dazu ausgelegt
ist, die Busteilnehmer über
ein Steuer- oder Spannungssignal, das über eine jeweilige Datenverbindung
gesendet wird, unabhängig
von den anderen Busteil nehmern, einzuschalten und den Zeitabstand
zwischen der Abgabe des Steuersignals und einem Erfassen eines von
dem jeweiligen Busteilnehmer an den Bus abgegebenen Aufweck- oder
Startsignals zu messen. Das zentrale Testgerät in dem erfindungsgemäßen zeitgesteuerten
Bussystem dient somit zur Durchführung des
erfindungsgemäßen Verfahrens.
-
Hierzu
gehört
die bevorzugte Ausführungsform,
dass das zentrale Testgerät
dazu ausgelegt ist, die Busteilnehmer über die Datenverbindungen in
einer anhand der gemessenen Zeitabstände vorgegebenen zeitlichen
Reihenfolge einzuschalten (um so eine gezielte Signalkollision im
Bus zu bewirken).
-
Auch
hier sei darauf hingewiesen, dass manche Busteilnehmer zusätzlich zu
dem Spannungssteuereingang einen lokalen Weckeingang aufweisen,
der von dem zentralen Testgerät über eine
Datenverbindung aktivierbar ist. Häufig übernimmt dieser lokale Weckeingang
nicht nur die Aufgabe, lediglich Signale zu empfangen, sondern schaltet
auch die Spannung teilweise zu, so dass er den Spannungssteuereingang
teilweise nicht nur ergänzt,
sondern auch völlig
ersetzen kann.
-
Bevorzugt
ist das erfindungsgemäße zeitgesteuerte
Bussystem ein Flexray-Bussystem.
In einem Kraftfahrzeug mit einem Flexray-Bussystem kann die Erfindung
verwirklicht sein.
-
Nachfolgend
wird nun eine bevorzugte Ausführungsform
der Erfindung unter Bezug auf die Zeichnung beschrieben, wobei die
Figur schematisch den Aufbau eines zeitgesteuerten Bussystems gemäß der Erfindung
veranschaulicht.
-
Die
in der Figur gezeigte Ausführungsform zeigt
ein Bussystem, das ein zeitgesteuertes Bussystem, beispielsweise
ein Flexray-Bussystem sein soll. An den eigentlichen Bus 10 ist
eine Mehrzahl von Busteilnehmern 12 angeschlossen, wobei
die Busteilnehmer vorliegend mit ”ECU 1...n” bezeichnet sind,
wobei ”ECU” für ”embedded
computing unit”, eingebettete
Berechungseinheit, steht. Die Busteilnehmer 12 sind üblicherweise
Steuergeräte.
Die Busteilnehmer 12 sind mit dem Bus 10 über einen ersten
Anschluss 14 verbunden. Sie weisen jeweils einen von einem
Busanschluss verschiedenen Spannungseingang 16 auf, über den
sie vermittels der Zufuhr von Steuersignalen an Relais ein- und
ausschaltbar sind. Es kann auch direkt die Spannung zugeführt werden.
Die Eingänge 16 der
Busteilnehmer 12 sind sämtlich
mit einem zentralen Testgerät 18 verbunden.
Das zentrale Testgerät 18 ist über einen
Eingang 20 auch mit dem Bus 10 verbunden. In der
Figur ist auch ein an das zentrale Testgerät 18 über eine
Verbindungsleitung 22 angeschlossener Personalcomputer 24 gezeigt.
Dieser stellt die Rechen- und
Speicherkapazität
für das
zentrale Testgerät 18 zur
Verfügung.
Das zentrale Testgerät
muss nicht notwendigerweise mit einem externen Personalcomputer 24 verbunden
sein, sondern die Rechen- und Speicherkapazität kann auch intern durch einen
Prozessor und einen Speicher zur Verfügung gestellt sein. In diesem
Fall kommt das zentrale Testgerät 18 selbst
einem Personalcomputer gleich.
-
Das
zentrale Testgerät 18 aktiviert
nun nacheinander die Busteilnehmer. Beispielsweise beginnt es mit
dem Busteilnehmer ECU 1 und gibt für dessen Eingang 16 ein
Steuersignal ab (oder direkt die Spannung), wodurch der Busteilnehmer
ECU 1 eingeschaltet wird. Was nach dem Einschalten des
Busteilnehmers ECU 1 passiert, hängt von dessen Spezifikation
ab. Üblicherweise
sind die Busteilnehmer dazu ausgelegt, ein Aufwecksignal abzugeben
und zu einem späteren
Zeitpunkt ein Startsignal abzugeben. Diese Signale werden über den
Eingang 14 in den Bus abgegeben und sind daher von dem
zentralen Testgerät über dessen
Eingang 20 erfassbar. Das zentrale Testgerät 18 umfasst
eine Uhr 26, mit der es genau den zeitlichen Abstand zwischen
der Abgabe des Steuersignals bzw. des Spannungssignals an den Eingang 16 des
Busteilnehmers 12 und dem Erfassen des Aufwecksignals oder
Startsignals über den
Eingang 20 messen kann. Bevorzugt wird dies so oft wiederholt,
bis eine gewisse statistische Gewissheit über die Zuverlässigkeit
der Messwerte, insbesondere deren Durchschnittswert, erzielt ist.
Anschließend
wird zum zweiten Busteilnehmer ECU 2 übergegangen, und auch dieser
wird über
den Eingang 16 wieder aktiviert, damit er ein Aufwecksignal und/oder
ein Startsignal abgibt, und auch hier wird die Zeit von der Abgabe
eines Aktivierungssignals durch das zentrale Testgerät 18 zum
Erfassen eines Aufwecksignals oder Startsignals als Antwortsignal gemessen.
Diese Messung erfolgt ebenfalls bevorzugt wiederholt, bis mit einer
gewissen Wahrscheinlichkeit (definiert über beispielsweise die Varianz)
ein Durchschnittswert für
die gemessene Zeitspanne angegeben werden kann. Das Verfahren wird
dann noch für
die weiteren Busteilnehmer ECU 3 bis ECU n durchgeführt. Im
Ergebnis ist dem zentralen Testgerät 18 jeweils die Zeit
bekannt, die die Busteilnehmer 12 jeweils benötigen, um
nach dem Aktivieren des Eingangs 16 ein Aufwecksignal oder
ein Startsignal abzugeben. Das zentrale Testgerät 18 entwirft nun
einen genauen Zeitverlauf des An steuerns der Eingänge 16 der
Busteilnehmer 12 derart, dass sämtliche Busteilnehmer 12 möglichst
(wie statistisch mit hoher Wahrscheinlichkeit feststehend) zum gleichen Zeitpunkt
ein Aufwecksignal oder Startsignal abgeben. Damit ist die Wahrscheinlichkeit,
dass es in dem Bus 10 zu einer Signalkollision kommt, besonders hoch.
Dies ist gewünscht,
damit getestet werden kann, wie sich die Busteilnehmer 12 bei
Signalkollision verhalten. Die Erfindung stellt zunächst eine
Möglichkeit
bereit, wie die Testsituation als solche überhaupt hervorgerufen werden
kann, wie es also zu definierten Signalkollisionen (im Rahmen der
statistischen Genauigkeit) kommen kann. Was dann genau als Analyse
der einzelnen Busteilnehmer 12 durchgeführt wird, hängt von den genauen Aufgaben
des Bussystems und den hinsichtlich der Aufgaben des Bussystems
vorgenommenen Spezifikationen ab.
-
Durch
das erstmalige Bereitstellen der Möglichkeit, gezielt Signalkollisionen
bei einem zeitgesteuerten Bussystem in dessen Synchronisierungsphase,
also nach dem Aktivieren der Busteilnehmer 12, zu erzeugen,
eröffnen
sich für
die Analyse neue Möglichkeiten.