-
Die Erfindung betrifft ein Verfahren zur Funktionsprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit gemäß dem Oberbegriff des unabhängigen Patentanspruchs 1 sowie ein System zur Funktionsprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit gemäß dem Oberbegriff des nebengeordneten Patentanspruchs 9.
-
CAN-Bus-Systeme sind aus dem Stand der Technik bereits hinlänglich bekannt. Derartige CAN-Bus-Systeme bestehen aus einem CAN-Datenbus, an dem mehrere elektrische Steuereinheiten, sog. ECUs (Electric Control Units) angeschlossen sind. Mit Hilfe des CAN-Datenbus können die daran angeschlossenen Steuereinheiten untereinander Informationen austauschen, d.h. sie können insbesondere selbst Informationen an andere Steuereinheiten versenden und derartige Informationen von anderen Steuereinheiten empfangen.
-
Eine an den CAN-Datenbus anschließbare bzw. angeschlossene Steuereinheit weist zumindest eine CAN-Bus-Controllereinheit auf, die auch als CAN-Controller bezeichnet wird. Die CAN-Bus-Controllereinheit erhält Daten von einem Prozessor oder einem Mikro-Computer der Steuereinheit, die anschließend über den CAN-Datenbus gesendet werden sollen. Die CAN-Bus-Controllereinheit bereitet diese Daten auf und gibt diese an eine ebenfalls in der Steuereinheit vorgesehene Anschlusseinheit weiter. Diese Anschlusseinheit stellt ein Bindeglied zwischen der CAN-Bus-Controllereinheit und dem CAN-Datenbus dar. Die Anschlusseinheit ist insbesondere als Sender und Empfänger ausgebildet und wandelt die Daten, die von der CAN-Bus-Controllereinheit bereitgestellt werden, in über den CAN-Datenbus übertragbare Daten um und sendet sie anschließend auf den CAN-Datenbus. In um gekehrter Richtung empfängt die Anschlusseinheit auch Daten, die von weiteren, am CAN-Datenbus angeschlossenen Steuereinheiten versendet werden und wandelt diese in von der CAN-Bus-Controllereinheit lesbare Daten um. Nach der Umwandlung werden diese empfangenen Daten der CAN-Bus-Controllereinheit zur Verfügung gestellt, die diese ebenfalls aufbereitet und an den in der Steuereinheit vorgesehenen Prozessor bzw. Mikrocomputer weiter gibt. Somit kann mittels der CAN-Bus-Controllereinheit und der Anschlusseinheit eine bidirektionale Datenverbindung zu den weiteren am CAN-Datenbus angeschlossenen Steuereinheiten realisiert werden.
-
Da CAN-Bus-Systeme insbesondere in Kraftfahrzeugen eingesetzt werden, bei denen hohe Sicherheitsstandards zu erfüllen sind, weisen CAN-Bus-Systeme mehrere Einrichtungen bzw. Verfahren zur Fehlererkennung auf. Insbesondere weist ein zur Übertragung auf dem CAN-Datenbus vorgesehener Datenübertragungsrahmen zumindest ein CRC-Prüfbit (CRC: Cyclic Redundancy Check) auf, um einen durch das zumindest eine CRC-Prüfbit geschützten Bereich des Datenübertragungsrahmens vor Übertragungsfehlern zu schützen bzw. Übertragungsfehler zu erkennen. Vorzugsweise werden bei CAN-Bus-Systemen mehrere CRC-Prüfbits, vorzugsweise 15-Bits vorgesehen, welche insbesondere ein Datenfeld zur Übertragung von Steuerungsinformationen sichern. Nach Empfang eines derartigen Datenübertragungsrahmens durch den CAN-Controller wird dieser in Bezug auf den korrekten Wert des zumindest einen CRC-Prüfbits bzw. der CRC-Prüfbit-Sequenz überprüft. Für den Fall, dass das CRC-Bit bzw. die CRC-Bit-Sequenz nicht zu dem CRC-gesicherten Bereich des Übertragungsfeldes passt, wird der empfangene Rahmen als fehlerhaft verworfen und eine Fehlermeldung über den CAN-Bus übertragen. Die Validierung des CRC-Prüfbits bzw. der CRC-Bit-Sequenz erfolgt hardwareseitig innerhalb der CAN-Bus-Controllereinheit, d.h. innerhalb der CAN-Bus-Controllereinheit ist eine Fehlererkennungseinheit vorgesehen, die die Richtigkeit des CRC-Prüfbits bzw. der CRC-Prüfbit-Sequenz in Bezug auf den CRC-gesicherten Bereich des Übertragungsrahmens überprüft.
-
Zur Reduzierung der Wahrscheinlichkeit, dass ein fehlerhafter CAN Datenübertragungsrahmen nicht als solcher erkannt wird, ist das CANopen Safety Protokoll gemäß Standard EN50235-5 vorgesehen. Gemäß diesem wird zu jedem Datenübertragungsrahmen ein so genannter Validierungsdatenübertragungsrahmen erzeugt, der im Vergleich zum zugehörigen Datenübertragungsrahmen im „Identifier“-Datenfeld zumindest zwei unterschiedliche Bits aufweist und bei dem die Daten des Datenübertragungsrahmens bitweise invertiert sind. Nachteilig ist jedoch mittels des CANopen Safety Protokolls nicht belastbar überprüfbar, ob die Fehlererkennungseinheit für die CRC-Prüfung fehlerfrei funktioniert. Um dennoch eine Überprüfung der Fehlererkennungseinheit zu ermöglichen, werden bei bekannten Systemen zwei redundant arbeitende CAN-Bus-Controllereinheiten verwendet, die jeweils empfangenen Datenübertragungsrahmen und zugehörigen Validierungsdatenübertragungsrahmen zu verarbeiten. Anschließend werden die in den beiden CAN-Bus-Controllereinheiten verarbeiteten Daten über einen Kreuzvergleich verifiziert. Nachteilig an dem zuvor beschriebenen Verfahren ist, dass stets zwei redundant arbeitende CAN-Bus-Controllereinheiten nötig sind, um den gewünschten Sicherheitsstandard zu erfüllen.
-
Ferner ist aus der
US 2006/0101317 A1 bereits ein CAN-BUS-System mit zumindest einer CAN-Bus-Controllereinheit bekannt, bei dem die Fehlererkennungseinheit der zumindest einen CAN-Bus-Controllereinheit dadurch verifiziert wird, dass ein fehlerbehafteter Datenübertragungsrahmen in der CAN-Bus-Controllereinheit dadurch erzeugt wird, dass in einem Register der CAN-Bus-Controllereinheit abgespeicherte Fehlerdaten ausgelesen und in ein vorgegebenes Datenfeld des Datenübertragungsrahmen eingefügt werden. Die CAN-Bus-Controllereinheit wird zur Überprüfung der ordnungsgemäßen Funktion der integrierten Fehlererkennungseinheit in einem so genannten „Loop back mode“ betrieben, in dem der von der CAN-Bus-Controllereinheit erzeugte fehlerbehaftete Datenübertragungsrahmen gesendet und wieder empfangen wird, um einen Selbsttest des Bausteins durchführen zu können. Nachteilig ist hierzu die Bereitstellung zumindest eines Registers und zugehöriger Fehlerdaten in der CAN-Bus-Controllereinheit, d.h. eine hardwaremäßige Anpassung eines entsprechenden Bausteins erforderlich.
-
Ausgehend hiervon ist es Aufgabe der Erfindung, ein Verfahren zur Funktionsüberprüfung einer Fehlererkennungseinheit zumindest einer CAN-Bus-Controllereinheit anzugeben, das mit reduziertem Hardware-Aufwand und bei Verwendung von herkömmlich im Handel befindlichen CAN-Bus-Controllereinheiten eine zuverlässige Funktionsüberprüfung der CRC-Prüfeinheit ermöglicht. Die Aufgabe wird ausgehend vom Oberbegriff des unabhängigen Patentanspruchs 1 durch dessen kennzeichnende Merkmale gelöst. Ein System zur Funktionsüberprüfung einer Fehlererkennungseinheit zumindest einer CAN-Bus-Controllereinheit ist Gegenstand des nebengeordneten Patentanspruchs 9.
-
Der wesentliche Aspekt des erfindungsgemäßen Verfahrens zur Funktionsüberprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit, die zur Übertragung von Datenübertragungsrahmen über zumindest eine Empfangs- und Sendeleitung mit einer Anschlusseinheit verbunden ist, die an einen CAN-Datenbus angeschlossen ist, bei dem ein Datenübertragungsrahmen zumindest einen Header-, Nutz- und CRC-Prüfdatenbereich umfasst und zumindest ein Teil des im Nutzdatenbereich aufgenommenen Datenfeldes über zumindest ein im CRC-Prüfdatenbereich aufgenommenes CRC-Prüfbit gesichert ist, besteht darin, dass an die zu prüfende CAN-Bus-Controllereinheit in einem Testzyklus ein fehlerhafter Übertragungsrahmen übertragen wird, wobei der Datenübertragungsrahmen im durch das zumindest eine CRC-Prüfbit gesicherten Datenfeld zumindest einen Bitfehler aufweist, dass der fehlerhafte Datenübertragungsrahmen in die zwischen der CAN-Bus-Controllereinheit und der Anschlusseinheit verlaufende Empfangsleitung eingebracht wird und dass während des Testzyklus die Verifikation des fehlerhaften Datenübertragungsrahmen als fehlerbehaftet durch die Fehlererkennungseinheit überprüft wird. Damit ist eine Funktionsüberprüfung der Fehlererkennungseinheit in der Steuereinheit selbst ohne erheblichen zusätzlichen Hardwareaufwand möglich, und zwar vorzugsweise ohne dass der fehlerhafte Datenrahmen auf dem externen Datenbus erscheint und dabei die übrigen am externen Datenbus angeschlossenen Steuereinheiten beeinflusst.
-
In einem bevorzugten Ausführungsbeispiel wird der fehlerhafte Übertragungsrahmen durch einen programierbaren Logikbaustein, insbesondere einen FPGA erzeugt. Der Logikbaustein überträgt einen fehlerhaften, d.h. einen CRC-Fehler aufweisenden Datenübertragungsrahmen an die zu testende CAN-Bus-Controllereinheit. Dabei wird der Bitstrom in die Empfangsleitung der CAN-Bus-Controllereinheit eingebracht. Da ein gesamter fehlerhafter Übertragungsrahmen erzeugt wird, ist keine Synchronisation mit weiteren Signalen auf der Empfangsleitung notwendig. Es muss lediglich sichergestellt sein, dass der CAN-Datenbus im Zustand „idle“ ist, d.h. beide Leitungen des CAN-Datenbus eine Spannung von +2,5V aufweisen.
-
In einem bevorzugten Ausführungsbeispiel wird der fehlerhafte Übertragungsrahmen durch einen die zu prüfende CAN-Bus-Controllereinheit aufweisenden Mikro-Controller erzeugt. Dabei wird durch den Mikro-Controller ein fehlerhafter Datenübertragungsrahmen an dem Empfangs-Pin der CAN-Bus-Controllereinheit emuliert. Damit kann der Mikro-Controller selbst die CAN-Bus-Controllereinheit überprüfen.
-
In einem weiteren bevorzugten Ausführungsbeispiel wird der fehlerhafte Übertragungsrahmen dadurch erzeugt, dass ein korrekt gebildeter Übertragungsrahmen, bei dem das zumindest eine CRC-Prüfbit in Bezug auf den Inhalt des Übertragungsrahmen den korrekten Wert aufweist, durch eine zweite CAN-Bus-Controllereinheit generiert wird, die zusammen mit der zu testenden CAN-Bus-Controllereinheit Bestandteil eines Mikro-Controllers ist und anschließend der korrekt gebildete Übertragungsrahmen durch Bitverfälschung in den fehlerhaften Übertragungsrahmen umgewandelt wird. Damit können bei Mikro-Controllern, die mehrere CAN-Bus-Controllereinheiten auf sich vereinen, die Mikro-Controller derart miteinander verschalten werden, dass eine Mikro-Controller-interne Funktionsüberprüfung möglich wird. Da die Mikro-Controller jedoch bei korrekter Funktionalität lediglich korrekt gebildete Übertragungsrahmen erzeugen können, ist eine Manipulation des korrekt gebildeten Übertragungsrahmens in einen fehlerhaften notwendig.
-
Vorzugsweise wird die zu testende CAN-Bus-Controllereinheit mit der zweiten CAN-Bus-Controllereinheit durch einen internen CAN-Datenbus verbunden. Über diesen internen CAN-Datenbus kann der Mikro-Controller im sog. Loopback-Modus betrieben werden, in dem die einzelnen auf dem Mikro-Controller vorgesehenen CAN-Bus-Controllereinheiten untereinander kommunizieren können. Dadurch ist eine controllerinterne Verschaltung der CAN-Bus-Controllereinheiten ohne der Notwendigkeit einer Änderung der äußeren Verschaltung möglich.
-
Besonders bevorzugt erfolgt die Bitverfälschung durch kurzzeitiges Einprägen eines definierten Spannungspegels auf die Empfangsleitung. Dabei sind Schaltmittel vorgesehen, die das Wegschalten der zu prüfenden CAN-Bus-Controllereinheit von dem internen Datenbus und das kurzzeitige gezielte Aufschalten eines definierten Spannungspegels (High- oder Low-Pegels) auf die Empfangsleitung der zu prüfenden CAN-Bus-Controllereinheit ermöglichen. Durch diese Schaltmittel können damit gezielte Bitfehler an den gewünschten Stellen im Bitdatenstrom erzeugt werden.
-
Besonders bevorzugt ist zumindest eine dritte CAN-Bus-Controllereinheit auf dem Mikro-Controller vorgesehen, die ebenfalls mit dem internen CAN-Datenbus derart verschalten wird, dass dieser den von der zweiten CAN-Bus- erzeugten, korrekt gebildeten Übertragungsrahmen empfängt. Diese dritte CAN-Bus-Controllereinheit ist vorzugsweise dafür vorgesehen, ein entsprechendes Bestätigungsbit zu erzeugen und der sendenden CAN-Bus-Controllereinheit zuzuführen. Ohne Bestätigungsbit würde die sendende CAN-Bus-Controllereinheit eine Fehlermeldung generieren, die den Fehlerspeicher der zu prüfenden CAN-Bus-Controllereinheit, in dem der erkannte CRC-Fehler abgelegt wird, überschreibt.
-
Besonders bevorzugt wird der Zeitpunkt der Bitverfälschung in Abhängigkeit des Beginns eines Übertragungsrahmens und der am internen CAN-Datenbus übertragenen Bitrate ermittelt. In Abhängigkeit der übertragenen Bitrate kann die Zeitdauer berechnet werden, nach der ein zu verfälschendes Bit auf dem internen CAN-Datenbus bzw. der der zu prüfenden CAN-Bus-Controllereinheit zugeordneten Empfangsleitung anliegt. Zu diesem Zeitpunkt wird dann die Bitverfälschung durchgeführt, beispielsweise durch Umschalten der Empfangsleitung auf einen definierten Spannungspegel.
-
Ein weiterer Aspekt der Erfindung betrifft ein System zur Funktionsüberprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit, die zur Übertragung von Datenübertragungsrahmen über zumindest eine Empfangs- und Sendeleitung mit einer Anschlusseinheit verbunden ist, die an einen CAN-Datenbus angeschlossen ist, bei dem ein Datenübertragungsrahmen zumindest einen Header-, Nutz- und CRC-Prüfdatenbereich umfasst und zumindest ein Teil des im Nutzdatenbereich aufgenommenen Datenfeldes über zumindest ein im CRC-Prüfdatenbereich aufgenommenes CRC-Prüfbit gesichert ist, Das System zeichnet sich dadurch aus, dass Mittel zur Erzeugung eines fehlerhaften Datenübertragungsrahmens vorgesehen sind, wobei der fehlerhafte Datenübertragungsrahmen im durch das zumindest eine CRC-Prüfbit gesicherten Datenfeld zumindest einen Bitfehler aufweist und dass die Mittel zur Einbringung eines fehlerhaften Datenübertragungsrahmens in die zwischen der CAN-Bus-Controllereinheit und der Anschlusseinheit verlaufende Empfangsleitung ausgebildet sind.
-
Der Ausdruck „im Wesentlichen“ bedeutet im Sinne der Erfindung Abweichungen von jeweils exakten Werten um +/–10%, bevorzugt um +/–5% und/oder Abweichungen in Form von für die Funktion unbedeutenden Änderungen.
-
Weiterbildungen, Vorteile und Anwendungsmöglichkeiten der Erfindung ergeben sich auch aus der nachfolgenden Beschreibung von Ausführungsbeispielen und aus den Figuren. Dabei sind alle beschriebenen und/oder bildlich dargestellten Merkmale für sich oder in beliebiger Kombination grundsätzlich Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung. Auch wird der Inhalt der Ansprüche zu einem Bestandteil der Beschreibung gemacht.
-
Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels im Zusammenhang mit den Figuren näher erläutert werden. Es zeigen
-
1 beispielhaft ein CAN-Bus-System in einer schematischen Darstellung;
-
2 beispielhaft ein erfindungsgemäßes System zur Funktionsüberprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit gemäß einem ersten Ausführungsbeispiel;
-
3 beispielhaft ein erfindungsgemäßes System zur Funktionsüberprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit gemäß einem zweiten Ausführungsbeispiel;
-
4 beispielhaft ein erfindungsgemäßes System zur Funktionsüberprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit gemäß einem dritten Ausführungsbeispiel.
-
In 1 ist mit dem Bezugszeichen 1 ein CAN-Bus-System bezeichnet. Das CAN-Bus-System weist mehrere Steuereinheiten 2, auch als ECU bezeichnet auf, die zur Kommunikation über einen CAN-Datenbus 5 ausgebildet und über diesen miteinander verbunden sind. Die Steuereinheit 2 weist zumindest einen Mikro-Controller 3 auf, der seinerseits wiederum zumindest mit einer CAN-Bus-Controllereinheit 3.1 ausgestattet ist. Die CAN-Bus-Controllereinheit 3.1 ist über zumindest eine Sendeleitung 3.2 und zumindest eine Empfangsleitung 3.3 mit einer Anschlusseinheit 4 verbunden, über die die Anbindung der CAN-Bus-Controllereinheit 3.1 an den CAN-Datenbus 5 erfolgt. Dadurch kann eine Steuereinheit 2 Steuerungsinformationen auf den CAN-Datenbus einbringen und diese zu einer oder mehreren weiteren Steuereinheiten 2 übertragen. Des Weiteren ist ebenso ein Empfangen von Steuerungsinformationen von anderen Steuereinheiten 2 über den CAN-Datenbus 5 möglich.
-
Um das CAN-Bus-System 1 auch für sicherheitsrelevante Anwendungen verwendbar zu machen, weist dieses verschiedene Sicherungsmaßnahmen auf. U.a. ist eine sogenannte CRC-Prüfung (CRC: Cyclic Redundancy Check) vorgesehen, die zur Sicherung gegen Bitfehler, die beispielsweise durch Übertragungsfehler entstehen, dient. Dabei weist ein über den CAN-Datenbus übertragener Datenübertragungsrahmen, der aus einer Abfolge von aufeinanderfolgenden digitalen Werten besteht, neben dem Nutzdatenbereich auch einen CRC-Prüfdatenbereich auf, in dem zumindest ein CRC-Prüfbit mitübertragen wird. Mittels des zumindest einen CRC-Prüfbits ist es möglich, den von dem CRC-Prüfdatenbereich gesicherten Datenfeld Übertragungsfehler zu erkennen und gegebenenfalls eine erneute Übertragung des Übertragungsrahmens nach erkanntem Fehler einzuleiten. Hierbei weist die CAN-Bus-Controllereinheit 3 zumindest eine Fehlererkennungseinheit auf, mittels der überprüft wird, ob das zumindest eine CRC-Prüfbit im Bezug auf den Inhalt des durch das CRC-Prüfbit gesicherten Übertragungsrahmenbereichs einen falschen Wert aufweist. Dies ist beispielsweise dann der Fall, wenn ein Übertragungsfehler aufgetreten ist. Durch diese hardwareseitig implementierte Fehlererkennungseinheit können fehlerhafte Datenübertragungsrahmen frühzeitig erkannt und deren Weiterleitung an höhere Protokollschichten vermieden werden.
-
Erfindungsgemäß wird vorgeschlagen, dass die Fehlererkennungseinheit in einem Testzyklus dahingehend überprüft wird, ob ein fehlerhafter Datenübertragungsrahmen als fehlerbehaftet durch die Fehlerkennungseinheit erkannt wird. Ein derartiger Testzyklus kann beispielsweise Bestandteil einer Startroutine der Steuereinheit 2 sein oder zyklisch in definierten Zeitabständen durchgeführt werden.
-
In 2 ist ein erstes Ausführungsbeispiel eines erfindungsgemäßen Systems zur Funktionsüberprüfung der Fehlererkennungseinheit gezeigt. Dabei ist innerhalb der Steuereinheit 2 ein frei programmierbarer Logikbaustein, beispielsweise ein FPGA 6 vorgesehen, der zur Erzeugung eines Bitstroms ausgebildet ist, der einem fehlerhaften Datenübertragungsrahmen entspricht. Der programmierbare Logikbaustein 6 weist hierbei eine Sendeleitung 6.1 auf, die mit der Empfangsleitung 3.3 zumindest zeitweise verbunden ist und über die der vom programmierbaren Logikbaustein 6 erzeugte Bitstrom auf die Empfangsleitung 3.3 direkt übertragen wird. Die Erzeugung des einem fehlerhaften Datenübertragungsrahmen entsprechenden Bitstroms erfolgt vorzugsweise getriggert durch den Mikro-Controller 3, insbesondere durch ein über die Steuerleitung 6.2 gesendetes Triggersignal. Vorzugsweise ist eine weitere Steuerleitung 6.3 vorgesehen, die beispielsweise zwischen dem programmierbaren Logikbaustein 6 und der Anschlusseinheit 4 verläuft. Über diese Steuerleitung 6.3 kann die Anschlusseinheit 4 in einen Ruhezustand (Standby) versetzt werden, sodass sichergestellt ist, dass sich keine vom CAN-Datenbus 5 kommende Übertragung auf der Empfangsleitung 3.3 befindet.
-
Ein beispielhafter Testzyklus zur Funktionsüberprüfung der Fehlererkennungseinheit der CAN-Bus-Controllereinheit 3.1 könnte darin bestehen, dass zunächst sichergestellt wird, dass keine Übertragung von Daten auf der Empfangsleitung 3.3 stattfindet. Dazu wird beispielsweise die Anschlusseinheit 4 mittels eines auf der Steuerleitung 6.3 übertragenen Trigger-Signals in den Ruhezustand (Standby) versetzt und anschließend solange gewartet bis eine gegebenenfalls gerade stattfindende Übertragung abgebrochen wird und die CAN-Bus-Controllereinheit 3.1 für den Empfang eines neuen Datenübertragungsrahmens bereit ist. Anschließend erfolgt die Konfiguration der CAN-Bus-Controllereinheit 3.1. Dabei werden insbesondere Timing-Parameter eingestellt und festgelegt, dass ohne Filterung sämtliche Datenübertragungsrahmen empfangen werden sollen und zwar ohne Berücksichtigung von Sendekennungen (sogenannte IDs). Zudem werden sämtliche Fehlerspeicher, insbesondere Fehlerflags zurückgesetzt. Anschließend erfolgt die Generierung des fehlerhaften Datenübertragungsrahmens durch den programmierbaren Logikbaustein 6, und zwar unter Einhaltung der in der zu testenden CAN-Bus-Controllereinheit 3.1 eingestellten Timingparameter. Nach Übertragung des fehlerhaften Übertragungsrahmens wird überprüft, ob die Fehlererkennungseinheit der CAN-Bus-Controllereinheit 3.1 den fehlerhaften Datenübertragungsrahmen erkannt hat. Dabei wird insbesondere überprüft, ob der CRC-Fehler erkannt wurde, der Fehlerzähler erhöht wurde und ob der fehlerhafte CAN-Übertragungsrahmen nicht weiterverarbeitet worden ist, insbesondere nicht als sogenanntes CAN-Message-Objekt abgespeichert worden ist.
-
Für den Fall, dass die Fehlererkennungseinheit den verfälschten Datenübertragungsrahmen als fehlerbehaftet erkannt hat, ist davon auszugehen, dass die Fehlererkennungseinheit der CAN-Bus-Controllereinheit 3.1 korrekt funktioniert. Der fehlerhafte Datenübertragungsrahmen erscheint vorzugsweise nicht auf dem CAN-Datenbus 5, sodass durch den Testzyklus lediglich intern die jeweilige Steuereinheit 2, jedoch nicht weitere Steuereinheiten 2, die an dem CAN-Datenbus angeschlossen sind, beeinflusst werden. Alternativ ist es möglich, den fehlerhaften Datenübertragungsrahmen mittels der Anschlusseinheit 4 an den CAN-Datenbus 5 zu übertragen und damit auch die weiteren, am CAN-Datenbus 5 angeschlossenen Steuereinheiten 2 im Bezug auf die Funktionsfähigkeit deren Fehlererkennungseinheiten zu überprüfen.
-
3 zeigt ein weiteres Ausführungsbeispiel eines Systems zur Funktionsüberprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit. Die Steuereinheit 2 weist im gezeigten Ausführungsbeispiel einen Mikro-Controller 3 mit zumindest einer CAN-Bus-Controllereinheit 3.1 auf, welche über Sende- bzw. Empfangsleitungen 3.2, 3.3 mit der Anschlusseinheit 4 verbunden ist. Die Anschlusseinheit 4 weist wiederum eine Schnittstelle zu dem CAN-Datenbus 5 auf. Im Unterschied zum vorherigen Ausführungsbeispiel weist die Steuereinheit 2 keinen programmierbaren Logikbaustein auf, mit Hilfe dessen der fehlerhafte Datenübertragungsrahmen erzeugt wird. Vielmehr erfolgt im gezeigten Ausführungsbeispiel die Erzeugung des fehlerbehafteten Datenübertragungsrahmens durch den Mikro-Controller 3 selbst. Dabei wird durch den Mikro-Controller 3 auf der Empfangsleitung 3.3 bzw. an dem Empfangspin, an dem die Empfangsleitung 3.3 angeschlossen ist, ein Bitstrom erzeugt, der einem fehlerhaften Datenübertragungsrahmen entspricht. Die Erzeugung des fehlerhaften Übertragungsrahmens erfolgt vorzugsweise mittels des sogenannten Bit-Banging softwarebasiert am Empfangspin der zu testenden CAN-Bus-Controllereinheit 3.1. Dabei wird das von der Anschlusseinheit 4 gegebenenfalls auf der Empfangsleitung 3.3 übertragene Signal überschrieben. Der fehlerhafte Datenübertragungsrahmen erscheint jedoch nicht auf dem CAN-Datenbus 5, sodass durch den Testzyklus lediglich intern die jeweilige Steuereinheit 2, jedoch nicht weitere Steuereinheiten 2, die an dem CAN-Datenbus angeschlossen sind, beeinflusst werden. Alternativ ist es möglich, den fehlerhaften Datenübertragungsrahmen mittels der Anschlusseinheit 4 an den CAN-Datenbus 5 zu übertragen und damit auch die weiteren, am CAN-Datenbus 5 angeschlossenen Steuereinheiten 2 im Bezug auf die Funktionsfähigkeit deren Fehlererkennungseinheiten zu überprüfen.
-
Der Ablauf des Testzyklus dieses Ausführungsbeispiels erfolgt in analoger Weise zu dem zuvor beschriebenen, ersten Ausführungsbeispiel. Es sei daher auf die zuvor getroffenen Ausführungen verwiesen.
-
In 4 ist ein drittes Ausführungsbeispiel eines Systems zur Funktionsüberprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit 3.1 gezeigt. Der in der Steuereinheit 2 vorgesehene, zumindest eine Mikro-Controller 3 weist mehrere CAN-Bus-Controllereinheiten 3.1, 3.1’, 3.1’’ auf. Den CAN-Bus-Controllereinheiten 3.1, 3.1’, 3.1’’ ist jeweils eine Anschlusseinheit 4 zugeordnet, über die diese Daten auf einem CAN-Datenbus 5 senden bzw. von diesem empfangen können. Im Mikro-Controller 3 selbst ist ein interner CAN-Datenbus 7 vorgesehen, über den die einzelnen CAN-Bus-Controllereinheiten 3.1, 3.1’, 3.1’’ miteinander derart verschaltet werden können, dass eine Kommunikation zwischen diesen CAN-Bus-Controllereinheiten 3.1, 3.1’, 3.1’’ möglich ist. Hierzu sind Schaltmittel 8 vorgesehen, die ein Umschalten der Sende- bzw. Empfangsleitung 3.3 von einer ersten Stellung, in der die jeweilige CAN-Bus-Controllereinheit 3.1 mit der ihr zugeordneten Anschlusseinheit 4 verbunden ist, in eine zweite Schaltstellung, in der die jeweilige CAN-Bus-Controllereinheit 3.1, 3.1’, 3.1’’ mit dem internen CAN-Datenbus 7 verbunden ist, ermöglichen. Damit kann beispielsweise ein durch eine zweite CAN-Bus-Controllereinheit 3.1’ generierter Datenübertragungsrahmen an eine erste CAN-Bus-Controllereinheit 3.1 übertragen werden, die diesen Datenübertragungsrahmen empfängt und auswertet. Diese interne Kommunikation der CAN-Bus-Controllereinheiten 3.1, 3.1’, 3.1’’ untereinander, die auch als Loopback-Modus bezeichnet wird, wird erfindungsgemäß dafür verwendet, um zumindest eine CAN-Bus-Controllereinheit 3.1, 3.1’, 3.1’’ bezüglich der Funktionalität ihrer Fehlererkennungseinheit zu überprüfen.
-
Beispielsweise wird die zweite CAN-Bus-Controllereinheit 3.1’ dazu verwendet, einen Datenübertragungsrahmen zu generieren. Da grundsätzlich davon auszugehen ist, dass dieser Datenübertragungsrahmen korrekt gebildet ist, d.h., dass die CRC-Prüfbit-Sequenz zu dem durch diese CRC-Prüfbit-Sequenz geschützten Datenbereich passt, ist es notwendig, diesen korrekt gebildeten Datenübertragungsrahmen vor der Zuführung zu der zu testenden CAN-Bus-Controllereinheit 3.1 zu verfälschen. Diese Verfälschung erfolgt mittels Schaltmittel 9, die in der Empfangsleitung 3.3 der zu testenden CAN-Bus-Controllereinheit 3.1 vorgesehen sind. Die Schaltmittel 9 weisen zumindest eine erste Stellung auf, in der die Empfangsleitung 3.3 der CAN-Bus-Controllereinheit 3.1 mit der ihr zugeordneten Anschlusseinheit 4 verbunden ist und zumindest eine weitere Schaltstellung, über die auf die Empfangsleitung 3.3 der zu testenden CAN-Bus-Controllereinheit 3.1 ein fester Logikpegel eingeprägt werden kann. Im gezeigten Ausführungsbeispiel sind zwei weitere Schaltstellungen vorgesehen, und zwar eine zweite Schaltstellung, mittels der ein positiver Logikpegel eingeprägt wird und eine dritte Schaltstellung, in der ein Low-Pegel, eingeprägt wird.
-
Die Manipulation des korrekt gebildeten Datenübertragungsrahmen in einen fehlerbehafteten Datenübertragungsrahmen erfolgt durch kurzzeitiges Umschalten der Schaltmittel 9 auf den High-Pegel bzw. den Low-Pegel und anschließendes Rückschalten auf den internen CAN-Datenbus 7. Dadurch kann aktiv eine Bitverfälschung in dem durch die CRC-Prüfbit-Sequenz geschützten Datenbereich erreicht werden. Auch hier erscheint der verfälschte Datenübertragungsrahmen nicht auf dem externen CAN-Datenbus 5, sondern er wird lediglich innerhalb des Mikro-Controllers 3 verwendet.
-
Im gezeigten Ausführungsbeispiel ist eine dritte CAN-Bus-Controllereinheit 3.1’’ vorgesehen, die ebenfalls zum Empfang der von der zweiten CAN-Bus-Controllereinheit 3.1’ versendeten Datenübertragungsrahmen mit dem internen CAN-Datenbus verschalten ist. Diese dritte CAN-Bus-Controllereinheit 3.1’’ ist vorzugsweise dafür vorgesehen, dass ein Bestätigungsbit (sogenanntes Acknowledge-Bit) erzeugt und an die zweite, den Datenübertragungsrahmen generierende CAN-Bus-Controllereinheit 3.1’ gesendet wird. Die zu prüfende erste CAN-Bus-Controllereinheit 3.1 sendet aufgrund des erkannten Übertragungsfehlers kein derartiges Bestätigungs-Bit, worauf die ersten CAN-Bus-Controllereinheit 3.1 ein Fehlersignal, sogenanntes Error-Flag sendet. Dieses Fehlersignal würde den in der ersten CAN-Bus-Controllereinheit 3.1 erkannten CRC-Fehlereintrag überschreiben, sodass nicht mehr festgestellt werden könnte, ob die erste CAN-Bus-Controllereinheit 3.1 den fehlerhaften Datenübertragungsrahmen als fehlerbehaftet bewertet hat. Hierbei sei darauf hingewiesen, dass die Verfälschung des korrekt erzeugten Datenübertragungsrahmen nicht auf dem internen CAN-Datenbus 7 erfolgt, sondern im Bereich der der zu prüfenden CAN-Bus-Controllereinheit 3.1’ zugeordneten Empfangsleitung 3.3. Somit empfängt lediglich die zu prüfende CAN-Bus-Controllereinheit 3.1 den verfälschten Datenübertragungsrahmen, nicht jedoch die dritte CAN-Bus-Controllereinheit, die zur Generierung des Bestätigungsbits benötigt wird.
-
Nachfolgend wird der Ablauf des Testzyklus gemäß dem dritten Ausführungsbeispiel näher beschrieben. Zunächst wird sichergestellt, dass keine Übertragung von Daten auf der Empfangsleitung 3.3 stattfindet. Dazu wird beispielsweise die Anschlusseinheit 4 mittels eines auf der Steuerleitung 6.3 übertragenen Trigger-Signals in den Ruhezustand (Standby) versetzt und anschließend solange gewartet, bis eine gegebenenfalls gerade stattfindende Übertragung abgebrochen wird und die CAN-Bus-Controllereinheit 3.1 für den Empfang eines neuen Datenübertragungsrahmens bereit ist. Anschließend erfolgt die Konfiguration der CAN-Bus-Controllereinheit 3.1. Dabei werden insbesondere Timing-Parameter eingestellt und festgelegt, dass ohne Filterung sämtliche Datenübertragungsrahmen empfangen werden sollen und zwar ohne Berücksichtigung von Sendekennungen (sogenannte IDs). Zudem werden sämtliche Fehlerspeicher, insbesondere Fehlerflags zurückgesetzt. Anschließend werden die CAN-Bus-Controllereinheiten 3.1, 3.1’, 3.1’’ derart konfiguriert, dass eine Kommunikation dieser Controllereinheiten untereinander über den internen CAN-Datenbus 7 möglich ist, d.h. es wird in den Loopback-Modus geschalten. Dabei werden die jeweiligen Sende- bzw. Empfangsleitungen 3.2, 3.3 mittels der Schaltmittel 8 mit dem internen CAN-Datenbus 7 verbunden. Anschließend wird die Sendung des korrekt gebildeten Datenübertragungsrahmens in der zweiten CAN-Bus-Controllereinheit 3.1’ initiiert. Anschließend wird überbracht, wann der tatsächliche Beginn der Übertragung des korrekt gebildeten Datenübertragungsrahmens durch die zweite CAN-Bus-Controllereinheit 3.1’ erfolgt. Dies stellt den Referenzzeitpunkt für die nachfolgende Messung dar. Anschließend wird unter Verwendung der bei der Datenübertragung verwendeten Bitrate die Zeit errechnet, wann das gewünschte, zu manipulierende Bit am internen CAN-Datenbus 7 anliegt.
-
Wenn dieser errechnete Zeitpunkt erreicht ist, wird die zu prüfende CAN-Bus-Controllereinheit 3.1 mittels der Schaltmittel 8 vom internen CAN-Datenbus 7 weggeschaltet und auf die Empfangsleitung 3.3 ein gewünschter fehlerhafter Pegel eingeprägt, d.h. beispielsweise ein zu dem errechneten Zeitpunkt vorliegender High-Pegel wird in einen Low-Pegel umgewandelt oder umgekehrt. Nach Ablauf der Zeit, an der die zu manipulierende Bitfolge bzw. das zu manipulierende Bit übertragen wurde, wird die CAN-Bus-Controllereinheit 3.1 wieder auf den internen CAN-Datenbus 7 geschaltet und abgewartet, bis der gesamte CAN-Datenübertragungsrahmen übertragen worden ist. Damit wird der zu prüfenden CAN-Bus-Controllereinheit 3.1 ein gezielt verfälschter, manipulierter Datenübertragungsrahmen zugeführt. Anschließend erfolgt die Prüfung der Reaktion der zu überprüfenden CAN-Bus-Controllereinheit 3.1 auf den fehlerhaften Datenübertragungsrahmen. Dabei wird insbesondere überprüft, ob der CRC-Fehler erkannt wurde, der Fehlerzähler erhöht wurde und ob der fehlerhafte CAN-Übertragungsrahmen nicht weiterverarbeitet worden ist, insbesondere nicht als sogenanntes CAN-Message-Objekt abgespeichert worden ist. Es versteht sich, dass über das zuvor beschriebene Verfahren im Loopback-Modus sämtliche über den internen CAN-Datenbus 7 verbindbare CAN-Bus-Controllereinheiten 3.1, 3.1’, 3.1’’ auf ihre korrekte Funktionsfähigkeit überprüft werden kann, wobei die Aufgaben, die die jeweiligen CAN-Bus-Controllereinheiten 3.1, 3.1’, 3.1’’ währen des Testzyklus zu erfüllen haben, durchgetauscht werden, d.h. in jedem Testzyklus wird beispielsweise eine andere CAN-Bus-Controllereinheit 3.1, 3.1’, 3.1’’ in ihrer Funktionalität überprüft.
-
Allgemein ist darauf zu achten, dass der fehlerhaft generierte bzw. aus einem korrekten Datenübertragungsrahmen durch Manipulation entstehende Datenübertragungsrahmen zwar einen CRC-Fehler aufweist, jedoch keine weiteren Formatfehler enthält. Der Grund hierfür ist, dass ein CRC-Fehler erst am Ende eines Datenübertragungsrahmens erkannt werden kann. Andere Fehler jedoch, beispielsweise sogenannte Stuffing-Fehler, bei dem der Datenübertragungsrahmen fünf gleiche, aufeinanderfolgende Bits, beispielsweise fünf mal einen High-Pegel aufweist, können direkt an der entsprechenden Stelle im Bitstrom erkannt werden. Wird ein derartiger Fehler erkannt, führt dies zum sofortigen Abbruch der Übertragung. Eine Funktionsüberprüfung der Fehlererkennungseinheit im Bezug auf den CRC-Fehler ist damit nicht mehr möglich.
-
Die Erfindung wurde voranstehend an einem Ausführungsbeispiel beschrieben. Es versteht sich, dass zahlreiche Modifikationen und Änderungen möglich sind, ohne dass hierdurch der Erfindungsgedanke verlassen wird.
-
Bezugszeichenliste
-
- 1
- CAN-Bus-System
- 2
- Steuereinheit
- 3
- Mikro-Controller
- 3.1
- CAN-Bus-Controllereinheit
- 3.2
- Sendeleitung
- 3.3
- Empfangsleitung
- 4
- Anschlusseinheit
- 5
- CAN-Datenbus
- 6
- programmierbarer Logikbaustein
- 6.1
- Sendeleitung
- 6.2
- Steuerleitung
- 6.3
- Steuerleitung
- 7
- interner CAN-Datenbus
- 8
- Schaltmittel
- 9
- Schaltmittel
-
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
-
- US 2006/0101317 A1 [0006]
-
Zitierte Nicht-Patentliteratur
-
- Standard EN50235-5 [0005]