-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft ein Kommunikationssystem, bei welchem mehrere Kommunikationseinrichtungen Nachrichten übertragen und empfangen, wie etwa ein Controller Area Network (CAN), sowie eine Kommunikationssteuereinrichtung zum Erkennen eines Eindringens einer ungültigen Nachricht in das System.
-
TECHNISCHER HINTERGRUND
-
Herkömmlicherweise wurde weithin das CAN-Kommunikationsprotokoll zur Kommunikation zwischen mehreren in einem Fahrzeug montierten elektronischen Steuereinheiten (ECU – Electronic Control Units) verwendet. Ein Kommunikationssystem, welches das CAN-Kommunikationsprotokoll gebraucht, ist derart eingerichtet, dass mehrere ECUs mit einem gemeinsamen CAN-Bus verbunden sind und ein Übertragen und Empfangen von Nachrichten erfolgt, indem ein Signal, das von einer übertragungsseitigen ECU auf den CAN-Bus ausgegeben wird, von einer empfangsseitigen ECU erfasst wird. Bei einem derartigen Kommunikationssystem wurde Technologie zum Erkennen oder Verhindern eines Eindringens einer ungültigen Nachricht in eine gemeinsame Kommunikationsleitung untersucht.
-
Patentdokument Nr. 1 schlug eine Kommunikationsverwaltungseinrichtung für ein Fahrzeugnetzwerk vor, welche die Eingabe von externen Daten einschränkt. Die Kommunikationsverwaltungseinrichtung überwacht Daten auf einem CAN-Bus sowie Dateneingabe von außerhalb, und wenn die Aktivitätsrate des CAN-Busses einen Lastreferenzwert überschreitet oder vorhergesagt wird, dass sie den Lastreferenzwert beim Transferieren von externen Daten überschreiten wird, führt sie eine Übertragungskontrolle externer Daten durch.
-
VORBEKANNTE TECHNISCHE DOKUMENTE
-
PATENTDOKUMENTE
-
- Patentdokument Nr. 1: JP 2013-38711 A
-
ÜBERBLICK ÜBER DIE ERFINDUNG VON DER ERFINDUNG ZU LÖSENDE AUFGABEN
-
In einem fahrzeugeigenen Kommunikationssystem ist es möglich, dass zum Beispiel eine bösartige Einrichtung mit dem CAN-Bus verbunden ist. Eine derartige Einrichtung kann zum Beispiel eine ungültige Nachricht an den CAN-Bus senden, um eine mit dem CAN-Bus verbundene normale ECU oder dergleichen zu einer Fehlfunktion zu veranlassen. Da die in Patentdokument Nr. 1 beschriebene Kommunikationsverwaltungseinheit dazu eingerichtet ist, zu bestimmen, ob die Aktivitätsrate auf dem CAN-Bus den Lastreferenzwert übersteigt oder nicht, tritt ein Problem auf, nämlich, dass keine Übertragungskontrolle erfolgen kann, wenn die Nachrichtenübertragungsmenge einer bösartigen Einrichtung gering ist.
-
Die vorliegende Erfindung entstand angesichts der vorstehenden Umstände, und ihr liegt als Aufgabe zugrunde, eine Kommunikationssteuereinrichtung und ein Kommunikationssystem bereitzustellen, welche in der Lage sind, jede von einer ungültigen Einrichtung auf einer gemeinsamen Kommunikationsleitung übertragene Nachricht zu erkennen.
-
MITTEL ZUM LÖSEN DER AUFGABE
-
Eine Kommunikationssteuereinrichtung gemäß der vorliegenden Erfindung zum Steuern von Kommunikation, welche von einer Kommunikationseinrichtung mit einem Nachrichtenübertragungsteil zum periodischen Übertragen von Nachrichten durchgeführt wird, weist auf: ein Referenzzeitpunkt-Festlegungsteil zum Festlegen eines Referenzzeitpunkts, welcher eine Nachrichtenübertragung durch das Nachrichtenübertragungsteil betrifft, ein Erlaubniszeitraum-Festlegungsteil zum Festlegen, eines vorbestimmten Zeitraums, der einen geplanten Übertragungszeitpunkt umfasst, welcher durch Addieren eines Zeitraums, welcher einem ganzzahligen Vielfachen eines Nachrichtenübertragungszyklus des Nachrichtenübertragungsteils entspricht, zu dem Referenzzeitpunkt, welcher von dem Referenzzeitpunkt-Festlegungsteil festgelegt wurde, erhalten wird, als Erlaubniszeitraum, ein Nachrichtenerkennungsteil zum Erkennen einer Nachricht, welche von der Kommunikationseinrichtung übertragen wird, und ein Übertragbarkeits-Bestimmungsteil zum Bestimmen einer Übertragbarkeit der Nachricht in Übereinstimmung damit, ob die von dem Nachrichtenerkennungsteil erkannte Nachricht während des von dem Erlaubniszeitraum-Festlegungsteil festgelegten Erlaubniszeitraums übertragen wurde oder nicht.
-
Weiterhin sind in der Kommunikationssteuereinrichtung gemäß der vorliegenden Erfindung in einem Fall, in welchem mehrere zu steuernde Kommunikationseinrichtungen vorhanden sind, das Referenzzeitpunkt-Festlegungsteil und das Erlaubniszeitraum-Festlegungsteil dazu eingerichtet, den Referenzzeitpunkt und den Erlaubniszeitraum für jede der mehreren Kommunikationseinrichtungen festzulegen.
-
Weiterhin umfasst in der Kommunikationssteuereinrichtung gemäß der vorliegenden Erfindung die von der Kommunikationseinrichtung übertragene Nachricht Informationen, welche eine Prioritätsstufe der Nachricht angeben, und das Erlaubniszeitraum-Festlegungsteil ist dazu eingerichtet, den Erlaubniszeitraum für jede Prioritätsstufe der Nachricht festzulegen.
-
Weiterhin umfasst die Kommunikationssteuereinrichtung gemäß der vorliegenden Erfindung Arbitriermittel zum Arbitrieren einer Übertragungsreihenfolge gemäß jeweiligen, für von mehreren Kommunikationseinrichtungen übertragene Nachrichten bestimmten Prioritätsstufen, wenn die Nachrichten miteinander kollidieren, wobei das Übertragbarkeits-Bestimmungsteil dazu eingerichtet ist, eine Prioritätsstufe einer Nachricht zu prüfen, deren Übertragung in einem Zeitraum von dem geplanten Übertragungszeitpunkt für eine Bestimmungszielnachricht bis zum Abschluss einer Übertragung der Bestimmungszielnachricht abgeschlossen wird, und zu bestimmen, dass eine Übertragung der Bestimmungszielnachricht nicht erlaubt ist, wenn eine Nachricht mit einer niedrigeren Prioritätsstufe als der Prioritätsstufe der Bestimmungszielnachricht vorhanden ist.
-
Weiterhin ist in der Kommunikationssteuereinrichtung gemäß der vorliegenden Erfindung das Übertragbarkeits-Bestimmungsteil dazu eingerichtet, zu bestimmen, dass eine Übertragung der Bestimmungszielnachricht nicht erlaubt ist, wenn in einem Zeitraum von dem geplanten Übertragungszeitpunkt für eine Bestimmungszielnachricht bis zum Abschluss einer Übertragung der Bestimmungszielnachricht ein nachrichtenübertragungsfreier Zeitraum vorhanden ist, der eine vorbestimmte Länge überschreitet.
-
Weiterhin umfasst die Kommunikationssteuereinrichtung gemäß der vorliegenden Erfindung ein Hashwert-Anforderungsteil zum Senden einer Berechnungsanforderung für einen Hashwert an die Kommunikationseinrichtung, ein Hashwert-Empfangsteil zum Empfangen eines von der Kommunikationseinrichtung als Antwort auf die Berechnungsanforderung übertragenen Hashwerts und ein Hashwert-Bestimmungsteil zum Bestimmen, ob der durch das Hashwert-Empfangsteil empfangene Hashwert korrekt ist oder nicht, wobei das Referenzzeitpunkt-Festlegungsteil dazu eingerichtet ist, den Referenzzeitpunkt bezogen auf einen Zeitpunkt festzulegen, zu welchem ein Empfang eines korrekten Hashwerts von der Kommunikationseinrichtung abgeschlossen ist.
-
Weiterhin umfasst die Kommunikationssteuereinrichtung gemäß der vorliegenden Erfindung ein Verwerfen-Verarbeitungsteil zum Durchführen einer Verarbeitung, um eine Kommunikationseinrichtung dazu zu veranlassen, eine empfangene Nachricht, deren Übertragung von dem Übertragbarkeits-Bestimmungsteil als nicht erlaubt bestimmt wird, zu verwerfen.
-
Weiterhin umfasst ein Kommunikationssystem gemäß der vorliegenden Erfindung mehrere Kommunikationseinrichtungen zum Übertragen und Empfangen von Nachrichten an- und voneinander und eine Kommunikationssteuereinrichtung zum Steuern einer Kommunikation, welche von den Kommunikationseinrichtungen durchgeführt wird, wobei jede Kommunikationseinrichtung ein Nachrichtenübertragungsteil zum periodischen Übertragen von Nachrichten aufweist und die Kommunikationssteuereinrichtung aufweist: ein Referenzzeitpunkt-Festlegungsteil zum Festlegen eines Referenzzeitpunkts, welcher eine Nachrichtenübertragung durch das Nachrichtenübertragungsteil betrifft, ein Erlaubniszeitraum-Festlegungsteil zum Festlegen, dass ein vorbestimmter Zeitraum, der einen geplanten Übertragungszeitpunkt umfasst, welcher durch Addieren eines Zeitraums, welcher einem ganzzahligen Vielfachen eines Nachrichtenübertragungszyklus des Nachrichtenübertragungsteils entspricht, zu dem Referenzzeitpunkt, welcher von dem Referenzzeitpunkt-Festlegungsteil festgelegt wurde, erhalten wird, ein Erlaubniszeitraum für eine Nachrichtenübertragung ist, ein Nachrichtenerkennungsteil zum Erkennen der von einer Kommunikationseinrichtung übertragenen Nachricht und ein Übertragbarkeits-Bestimmungsteil zum Bestimmen einer Übertragbarkeit einer von dem Nachrichtenerkennungsteil erkannten Nachricht in Übereinstimmung damit, ob die Nachricht während des von dem Erlaubniszeitraum-Festlegungsteil festgelegten Erlaubniszeitraums übertragen wird oder nicht.
-
Weiterhin sind in dem Kommunikationssystem gemäß der vorliegenden Erfindung das Referenzzeitpunkt-Festlegungsteil und das Erlaubniszeitraum-Festlegungsteil dazu eingerichtet, den Referenzzeitpunkt und den Erlaubniszeitraum für jede der mehreren Kommunikationseinrichtungen festzulegen.
-
Weiterhin umfasst in dem Kommunikationssystem gemäß der vorliegenden Erfindung die von den mehreren Kommunikationseinrichtungen übertragene Nachricht Informationen, welche eine Prioritätsstufe der Nachricht angeben, und das Erlaubniszeitraum-Festlegungsteil dazu eingerichtet ist, den Erlaubniszeitraum für jede Prioritätsstufe der Nachricht festzulegen.
-
Weiterhin umfasst das Kommunikationssystem gemäß der vorliegenden Erfindung Arbitriermittel zum Arbitrieren einer Übertragungsreihenfolge gemäß jeweiliger, für von den mehreren Kommunikationseinrichtungen übertragene Nachrichten bestimmter Prioritätsstufen, falls die Nachrichten miteinander kollidieren, wobei das Übertragbarkeits-Bestimmungsteil dazu eingerichtet ist, eine Prioritätsstufe einer Nachricht zu prüfen, deren Übertragung in einem Zeitraum von dem geplanten Übertragungszeitpunkt für eine Bestimmungszielnachricht bis zum Abschluss einer Übertragung der Bestimmungszielnachricht abgeschlossen wird, und zu bestimmen, dass eine Übertragung der Bestimmungszielnachricht nicht erlaubt ist, wenn eine Nachricht mit einer niedrigeren Prioritätsstufe als der Prioritätsstufe der Bestimmungszielnachricht vorhanden ist.
-
Weiterhin ist in dem Kommunikationssystem gemäß der vorliegenden Erfindung das Übertragbarkeits-Bestimmungsteil dazu eingerichtet, zu bestimmen, dass eine Übertragung der Bestimmungszielnachricht nicht erlaubt ist, wenn in einem Zeitraum von dem geplanten Übertragungszeitpunkt für eine Bestimmungszielnachricht bis zum Abschluss einer Übertragung der Bestimmungszielnachricht ein nachrichtenübertragungsfreier Zeitraum vorhanden ist, der eine vorbestimmte Länge überschreitet.
-
Weiterhin umfasst die Kommunikationssteuereinrichtung im Kommunikationssystem gemäß der vorliegenden Erfindung: ein Hashwert-Anforderungsteil zum Senden einer Berechnungsanforderung für einen Hashwert an eine Kommunikationseinrichtung, ein Hashwert-Empfangsteil zum Empfangen eines von der Kommunikationseinrichtung als Antwort auf die Berechnungsanforderung übertragenen Hashwerts und ein Hashwert-Bestimmungsteil zum Bestimmen, ob der durch das Hashwert-Empfangsteil empfangene Hashwert korrekt ist oder nicht, wobei jede Kommunikationseinrichtung aufweist: ein Hashwert-Berechnungsteil zum Berechnen eines Hashwerts in Übereinstimmung mit einer Berechnungsanforderung von der Kommunikationssteuereinrichtung und ein Hashwert-Übertragungsteil zum Übertragen des von dem Hashwert-Berechnungsteil berechneten Hashwerts an die Kommunikationssteuereinrichtung, und wobei das Referenzzeitpunkt-Festlegungsteil dazu eingerichtet ist, den Referenzzeitpunkt bezogen auf einen Zeitpunkt festzulegen, zu welchem ein Empfang eines korrekten Hashwerts von der Kommunikationseinrichtung abgeschlossen ist.
-
Weiterhin ist in dem Kommunikationssystem gemäß der vorliegenden Erfindung das Nachrichtenübertragungsteil dazu eingerichtet, einen Referenzzeitpunkt bezogen auf den Zeitpunkt festzulegen, zu welchem eine Übertragung eines korrekten Hashwerts von dem Hashwert-Übertragungsteil abgeschlossen ist, und mit dem festgelegten Zeitpunkt als gesetzter Referenz periodisch Nachrichten zu übertragen.
-
Weiterhin weist in dem Kommunikationssystem gemäß der vorliegenden Erfindung die Kommunikationssteuereinrichtung ein Verwerfen-Verarbeitungsteil zum Durchführen einer Verarbeitung auf, welche eine Kommunikationseinrichtung dazu veranlasst, beim Empfangen einer Nachricht, deren Übertragung von dem Übertragbarkeits-Bestimmungsteil als nicht erlaubt bestimmt wird, die Nachricht zu verwerfen.
-
Gemäß einem Aspekt der vorliegenden Erfindung ist das Kommunikationssystem in einer Ausgestaltung, bei welcher mehrere Kommunikationseinrichtungen mit einer gemeinsamen Kommunikationsleitung verbunden sind und jede der Kommunikationseinrichtungen periodisch Nachrichten überträgt, mit einer Kommunikationssteuereinrichtung zum Erkennen ungültiger Nachrichtenübertragung bereitgestellt. Die Kommunikationssteuereinrichtung legt einen Referenzzeitpunkt (t0) für periodische Nachrichtenübertragung durch die Kommunikationseinrichtung fest, legt mehrere Zeitpunkte, welche jeweils durch Addieren eines Zeitraums, welcher einem ganzzahligen Vielfachen (n = 1, 2, 3, ...) des Übertragungszyklus (T) von Nachrichten entspricht, zu dem Referenzzeitpunkt (t0) erhalten werden, als geplante Übertragungszeitpunkte (t1 = t0 + T, t2 = t0 + 2T, t3 = t0 + 3T, ..., tn = t0 + nT) fest und legt einen vorbestimmten Zeitraum, welcher jeden der geplanten Zeitpunkte (t1, t2, t3, ... tn) umfasst, als einen Erlaubniszeitraum (t1 – A bis t1 + B, t2 – A bis t2 + B, t3 – A bis t3 + B, ..., tn – A bis tn + B) für Nachrichtenübertragung fest. Weiterhin überwacht die Kommunikationssteuereinrichtung eine gemeinsame Kommunikationsleitung, um eine von einer Kommunikationseinrichtung übertragene Nachricht zu erkennen. Durch Bestimmen, ob die erkannte Nachricht während des vorstehend beschriebenen Erlaubniszeitraums übertragen wurde oder nicht, kann die Kommunikationssteuereinrichtung bestimmen, ob diese Nachricht ungültig ist oder nicht und ob eine Übertragung dieser Nachricht erlaubt ist oder nicht.
-
Wie vorstehend beschrieben, ist die Kommunikationssteuereinrichtung gemäß einem Aspekt der vorliegenden Erfindung dazu eingerichtet, einen Erlaubniszeitraum für die nachfolgende Nachrichtenübertragung festzulegen, d. h., sie ist dazu eingerichtet, bezogen auf den in der Anfangsphase festgelegten Referenzzeitpunkt einen Erlaubniszeitraum auf einer absoluten Grundlage festzulegen. Im Gegensatz dazu kann auch eine Ausgestaltung dergestalt verwendet werden, dass ein vorbestimmter Zeitraum, welcher einen durch Addieren des Zyklus T zum Empfangszeitpunkt der Nachricht erhaltenen Zeitpunkt umfasst, als Erlaubniszeitraum festgesetzt wird, d. h., dass der Erlaubniszeitraum auf relativer Grundlage festgelegt wird. Im CAN-Kommunikationsprotokoll wird jedoch eine Arbitrierverarbeitung durchgeführt, wenn bei einer Nachrichtenübertragung eine Kollision auftritt. Bei der Übertragung einer Nachricht mit niedriger Prioritätsstufe kann somit eine Verzögerung auftreten. In der Ausgestaltung zum Vornehmen einer Festlegung auf relativer Grundlage ist es notwendig, einen Erlaubniszeitraum in gewissem Ausmaß zu verlängern, da der Erlaubniszeitraum zur Bestimmung variiert, wenn eine Verzögerung bei der Nachrichtenübertragung auftritt. Es ist deswegen schwierig, den Erlaubniszeitraum zu verkürzen. Wenn der Erlaubniszeitraum verlängert wird, wird ein Fehleinschätzen der Gültigkeit einer ungültigen Nachricht wahrscheinlicher. Darüber hinaus kann in der Ausgestaltung, bei welcher eine Festlegung auf relativer Grundlage vorgenommen wird, der Erlaubniszeitraum für die nächste Nachricht auf der Grundlage des Empfangens einer ungültigen Nachricht festgelegt werden. Wenn eine derartige Situation auftritt, ist es möglich, dass ungültige Nachrichten reihenweise als gültig fehleingeschätzt werden. Die Kommunikationssteuereinrichtung gemäß der vorliegenden Erfindung ist in der Lage, das Auftreten dieser Probleme zu vermeiden, indem sie einen Erlaubniszeitraum auf absoluter Grundlage festlegt.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung legt die Kommunikationssteuereinrichtung den Referenzzeitpunkt für jede in dem Kommunikationssystem vorhandene Kommunikationseinrichtung individuell fest. Darüber hinaus legt die Kommunikationssteuereinrichtung einen Erlaubniszeitraum für jede Kommunikationseinrichtung bezogen auf deren festgelegten Referenzzeitpunkt fest. Der Nachrichtenübertragungszyklus der Kommunikationssteuereinrichtung kann für jede Kommunikationseinrichtung unterschiedlich sein. Somit kann die Kommunikationssteuereinrichtung selbst in Fällen, bei denen Kommunikationseinrichtungen mit unterschiedlichen Nachrichten-Übertragungszyklen und Nachrichten-Übertragungstimings in dem Kommunikationssystem vorhanden sind, für jede Kommunikationseinrichtung die Übertragbarkeit einer Nachricht bestimmen.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung kann die Kommunikationseinrichtung Nachrichten unterschiedlichen Typs mit unterschiedlichen Übertragungszyklen übertragen, und die Kommunikationssteuereinrichtung legt für jeden Nachrichtentyp einen Erlaubniszeitraum fest. Es wird darauf hingewiesen, dass die Kommunikationssteuereinrichtung außerdem einen Referenzzeitpunkt für jeden Nachrichtentyp festlegen kann. Somit kann die Kommunikationssteuereinrichtung, selbst wenn eine Kommunikationseinrichtung Nachrichten mit unterschiedlichen Übertragungszyklen überträgt, die Übertragbarkeit für jeden Nachrichtentyp bestimmen.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung sind mehrere Kommunikationseinrichtungen mit der gemeinsamen Kommunikationsleitung verbunden, was dazu führen kann, dass mehrere Nachrichten auf der Kommunikationsleitung kollidieren, wenn die Kommunikationseinrichtungen gleichzeitig Nachrichten übertragen. In einem derartigen Fall wird eine Arbitrierverarbeitung unter Beteiligung der Kommunikationseinrichtungen durchgeführt, und die Nachrichten werden in einer Reihenfolge übertragen, die ihren Prioritätsstufen entspricht. Das heißt, von den kollidierten Nachrichten wird zuerst eine Nachricht mit einer hohen Prioritätsstufe übertragen und dann eine Nachricht mit einer niedrigen Prioritätsstufe. In dem Kommunikationssystem, welches eine derartige Arbitrierverarbeitung durchführt, kann eine periodisch von der Kommunikationseinrichtung zu übertragende Nachricht mit einer anderen Nachricht kollidieren und verzögert werden. Die Kommunikationssteuereinrichtung prüft deswegen für eine Nachricht, für welche eine Bestimmung erfolgen soll (diese wird auch als Bestimmungszielnachricht oder Zielnachricht bezeichnet), ob in einem Zeitraum vom geplanten Übertragungszeitpunkt bis zum Abschluss der Nachrichtenübertragung eine andere Nachricht übertragen wurde oder nicht. Falls eine andere Nachricht übertragen wurde, vergleicht die Kommunikationssteuereinrichtung die Prioritätsstufe der Bestimmungszielnachricht mit der Prioritätsstufe der anderen Nachricht. Wenn die Prioritätsstufe der anderen Nachricht höher ist als die Prioritätsstufe der Zielnachricht, ist es möglich, dass aufgrund ordnungsgemäßer Arbitrierverarbeitung eine Verzögerung bei der Übertragung der Zielnachricht auftritt, und die Kommunikationssteuereinrichtung erlaubt somit die Übertragung der Zielnachricht. Wenn hingegen die Prioritätsstufe der anderen Nachricht niedriger ist als die Prioritätsstufe der Zielnachricht, wird angenommen, dass die Verzögerung der Zielnachricht nicht durch ordnungsgemäße Arbitrierverarbeitung verursacht wird, und die Kommunikationssteuereinrichtung wird somit die Übertragung der Zielnachricht nicht gestatten. Demgemäß kann die Kommunikationssteuereinrichtung, selbst in dem Kommunikationssystem, bei welchem eine Verzögerung bei einer Nachrichtenübertragung aufgrund von Arbitrierung auftritt, die Übertragbarkeit einer Nachricht bestimmen.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung bestimmt die Kommunikationssteuereinrichtung, ob in einem Zeitraum von einem geplanten Übertragungszeitpunkt der Zielnachricht bis zum Abschluss der Übertragung der Nachricht ein nachrichtenübertragungsfreier Zeitraum vorhanden ist, der eine vorbestimmte Länge überschreitet, oder nicht. Wenn der nachrichtenübertragungsfreie Zeitraum vorhanden ist, wird angenommen, dass die Verzögerung der Zielnachricht nicht durch ordnungsgemäße Arbitrierverarbeitung verursacht wird, und die Kommunikationssteuereinrichtung wird somit die Übertragung der Zielnachricht nicht gestatten.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein vorbestimmtes Verfahren unter Beteiligung der Kommunikationssteuereinrichtung und der Kommunikationseinrichtung durchgeführt, um den Referenzzeitpunkt festzulegen. Die Kommunikationssteuereinrichtung überträgt eine Berechnungsanforderung eines Hashwerts an die Kommunikationseinrichtung. Hier kann die Kommunikationssteuereinrichtung zusammen mit einer Berechnungsanforderung für eine Berechnung eines Hashwerts notwendige Informationen senden. Die Kommunikationseinrichtung, welche eine Berechnungsanforderung von der Kommunikationssteuereinrichtung empfangen hat, berechnet einen Hashwert mittels einer vorbestimmten Hashfunktion auf der Grundlage der in ihrem Speicher gespeicherten Informationen und überträgt den berechneten Hashwert an die Kommunikationssteuereinrichtung. Die Kommunikationssteuereinrichtung, welche den Hashwert von der Kommunikationseinrichtung empfangen hat, bestimmt, ob der Hashwert korrekt ist oder nicht. Wenn der Hashwert korrekt ist, legt die Kommunikationssteuereinrichtung einen Referenzzeitpunkt bezogen auf den Zeitpunkt fest, zu welchem der Empfang des Hashwerts abgeschlossen wird. Die Kommunikationseinrichtung kann den Zeitpunkt, zu welchem der Empfang des korrekten Hashwerts abgeschlossen wird, als Referenzzeitpunkt festsetzen, oder sie kann den Zeitpunkt, welcher durch Addieren oder Subtrahieren eines vorbestimmten Zeitraums zu/von dem Zeitpunkt, zu welchem der Empfang abgeschlossen wird, als Referenzzeitpunkt festsetzen. Gleichermaßen legt die Kommunikationseinrichtung den Referenzzeitpunkt bezogen auf den Zeitpunkt fest, zu welchem die Übertragung des korrekten Hashwerts abgeschlossen wird, und überträgt periodisch Nachrichten mit dem festgelegten Zeitpunkt als gesetzter Referenz. Da der Referenzzeitpunkt anhand eines Ergebnisses einer hochgradig zuverlässigen, auf dem Hashwert basierenden Kommunikation festgelegt werden kann, kann die Kommunikationssteuereinrichtung eine ungültige Nachricht mit hoher Zuverlässigkeit erkennen.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung führt die Kommunikationssteuereinrichtung – die Nachricht betreffend, welche die Kommunikationssteuereinrichtung für ungültig erklärt hat und deren Übertragung sie nicht erlaubt hat – die Verarbeitung durch, die die Kommunikationseinrichtung, welche die Nachricht empfängt, dazu veranlasst, die Nachricht zu verwerfen. Dies kann verhindern, dass die Kommunikationseinrichtung eine ungültige Nachricht empfängt und eine Verarbeitung gemäß der Nachricht durchführt.
-
EFFEKT DER ERFINDUNG
-
Gemäß der vorliegenden Erfindung ist die Kommunikationssteuereinrichtung dazu eingerichtet, einen Erlaubniszeitraum festzulegen, der den Zeitpunkt umfasst, welcher durch Addieren eines Zeitraums, welcher einem ganzzahligen Vielfachen des Nachrichtenübertragungszeitraums entspricht, zu dem Referenzzeitpunkt erhalten wird, und zu bestimmen, ob die von der Kommunikationseinrichtung übertragene Nachricht innerhalb des Erlaubniszeitraums vorhanden ist oder nicht. Somit kann eine von einer ungültigen Einrichtung auf einer gemeinsamen Kommunikationsleitung übertragene Nachricht präzise erkannt werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine schematische Darstellung, die die Ausgestaltung eines Kommunikationssystems gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
2 ist ein Blockschaltbild, das die Ausgestaltung einer ECU veranschaulicht.
-
3 ist ein Blockschaltbild, das die Ausgestaltung einer Überwachungseinrichtung veranschaulicht.
-
4 ist eine schematische Ansicht, die die Ausgestaltung von in einer Speichereinheit der Überwachungseinrichtung gespeicherten kopierten Daten veranschaulicht.
-
5 ist eine schematische Ansicht, die die Ausgestaltung von in einer Speichereinheit der Überwachungseinrichtung gespeicherten Zyklusinformationen veranschaulicht.
-
6 ist eine schematische Ansicht zum Veranschaulichen einer von der Überwachungseinrichtung durchgeführten Verarbeitung zum Erkennen einer ungültigen Nachricht.
-
7 ist eine schematische Ansicht zum Veranschaulichen einer von einem Übertragbarkeits-Bestimmungsteil durchgeführten Bestimmung entsprechend einer Bedingung in Bezug auf eine Arbitrierverarbeitung.
-
8 ist eine schematische Ansicht zum Veranschaulichen einer von dem Übertragbarkeits-Bestimmungsteil durchgeführten Bestimmung entsprechend einer Bedingung in Bezug auf eine Arbitrierverarbeitung.
-
9 ist eine schematische Ansicht zum Veranschaulichen einer von dem Übertragbarkeits-Bestimmungsteil durchgeführten Bestimmung entsprechend einer Bedingung in Bezug auf eine Arbitrierverarbeitung.
-
10 ist eine schematische Ansicht zum Veranschaulichen einer von dem Übertragbarkeits-Bestimmungsteil durchgeführten Bestimmung entsprechend einer Bedingung in Bezug auf einen nachrichtenübertragungsfreien Zeitraum.
-
11 ist ein Flussdiagramm, das ein von der Überwachungseinrichtung durchgeführtes Verfahren zum Bestimmen von Nachrichtenübertragbarkeit veranschaulicht.
-
12 ist ein Flussdiagramm, das ein von der Überwachungseinrichtung durchgeführtes Verfahren zum Bestimmen von Nachrichtenübertragbarkeit veranschaulicht.
-
13 ist eine schematische Darstellung zum Veranschaulichen einer unter Beteiligung einer ECU und der Überwachungseinrichtung durchgeführten Verarbeitung zum Festlegen eines Referenzzeitpunkts.
-
14 ist eine schematische Darstellung zum Veranschaulichen einer unter Beteiligung der Überwachungseinrichtung und mehrerer ECUs durchgeführten Verarbeitung zum Festlegen eines Referenzzeitpunkts.
-
15 ist ein Flussdiagramm, welches das von der Überwachungseinrichtung durchgeführte Verfahren zum Festlegen eines Referenzzeitpunkts veranschaulicht.
-
16 ist ein Flussdiagramm, das ein von einer ECU durchgeführtes Verfahren gemäß einer Anforderung zum Berechnen eines Hashwerts von der Überwachungseinrichtung veranschaulicht.
-
17 ist ein Flussdiagramm, das ein von einer ECU durchgeführtes Verfahren gemäß einer Anforderung zum Bestätigen eines Hashwerts von der Überwachungseinrichtung veranschaulicht.
-
AUSFÜHRUNGSFORMEN DER ERFINDUNG
-
Ausgestaltung des Systems
-
1 ist eine schematische Darstellung, die die Ausgestaltung eines Kommunikationssystems gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Das Kommunikationssystem gemäß der vorliegenden Ausführungsform ist mit mehreren in dem Fahrzeug 1 montierten ECUs 3 und einer Überwachungseinrichtung 5 eingerichtet. Die ECUs 3 und die Überwachungseinrichtung 5 sind über eine in dem Fahrzeug 1 installierte gemeinsame Kommunikationsleitung miteinander verbunden und können Nachrichten untereinander übertragen und empfangen. Gemäß der vorliegenden Ausführungsform wird ein CAN-Bus als Kommunikationsleitung eingesetzt, und die ECUs 3 und die Überwachungseinrichtung 5 führen eine Kommunikation gemäß dem CAN-Protokoll durch. Die ECUs 3 können zum Beispiel diverse elektronische Steuereinrichtungen sein, wie etwa eine Motor-ECU, welche den Motor des Fahrzeugs 1 steuert, eine Karosserie-ECU, welche eine elektrische Komponente einer Fahrzeugkarosserie steuert, eine ABS-ECU, welche eine Steuerung in Zusammenhang mit einem Antiblockiersystem durchführt, oder eine Airbag-ECU, welche einen Airbag des Fahrzeugs 1 steuert. Die Überwachungseinrichtung 5 ist eine Einrichtung zum Überwachen ungültiger Nachrichtenübertragungen in einem fahrzeugeigenen Netzwerk. Die Überwachungseinrichtung 5 kann zum Beispiel als dediziert zum Überwachen vorgesehene Einrichtung bereitgestellt sein, sie kann als Überwachungsfunktion eingerichtet sein, die einer Einrichtung wie etwa einem Gateway hinzugefügt ist, oder sie kann als Überwachungsfunktion eingerichtet sein, die einer beliebigen der ECUs 3 hinzugefügt ist.
-
2 ist ein Blockschaltbild, das die Ausgestaltung einer der ECUs 3 veranschaulicht. In 2 sind für die in dem Fahrzeug 1 vorhandene ECU 3 in Blöcke in Bezug auf Kommunikation, Ungültigkeitserkennung und dergleichen herausgegriffen und veranschaulicht. Diese Blöcke sind allen ECUs 3 gemein. Die ECU 3 gemäß der vorliegenden Ausführungsform weist eine Verarbeitungseinheit 31, einen Nur-Lese-Speicher (ROM) 32, einen Speicher mit wahlfreiem Zugriff (RAM) 33, eine CAN-Kommunikationseinheit 34 und so weiter auf. Die Verarbeitungseinheit 31 ist mit einer Arithmetikverarbeitungseinheit wie etwa einer Zentralverarbeitungseinheit (CPU) oder einer Mikroverarbeitungseinheit (MPU – Micro-Processing Unit) eingerichtet. Die Verarbeitungseinheit 31 liest ein im ROM 32 gespeichertes Programm 32a aus und führt es aus, um verschiedene das Fahrzeug 1 betreffende Informationsverarbeitungen, Steuerverarbeitungen und dergleichen durchzuführen.
-
Das ROM 32 ist mit einem nichtflüchtigen Speicherelement wie etwa einem Flash-Speicher oder einem elektrisch löschbaren programmierbaren ROM (EEPROM – Electrically Erasable Programmable ROM) eingerichtet. Im ROM 32 sind ein von der Verarbeitungseinheit 31 auszuführendes Programm 32a und verschiedene Arten von Daten 32b gespeichert, welche für von dieser durchgeführte Verarbeitungen benötigt werden. Das Programm 32a und die Daten 32b, die im ROM 32 gespeichert sind, sind für jede ECU 3 unterschiedlich. Der RAM 33 ist mit einem wiederbeschreibbaren Speicherelement wie etwa einem statischen RAM (SRAM) oder einem dynamischen RAM (DRAM) eingerichtet. Der RAM 33 speichert darin verschiedene Arten von Daten, welche bei dem von der Verarbeitungseinheit 31 durchgeführten Verarbeiten erzeugt werden.
-
Die CAN-Kommunikationseinheit 34 führt eine Kommunikation mit einer weiteren ECU 3 oder der Überwachungseinrichtung 5 über den CAN-Bus in Übereinstimmung mit dem CAN-Kommunikationsprotokoll durch. Die CAN-Kommunikationseinheit 34 wandelt von der Verarbeitungseinheit 31 gesendete Informationen zur Übertragung in ein Signal gemäß dem CAN-Kommunikationsprotokoll um und gibt das umgewandelte Signal auf den CAN-Bus aus, um die Informationen an eine andere ECU 3 oder die Überwachungseinrichtung 5 zu übertragen. Die CAN-Kommunikationseinheit 34 erfasst ein von einer anderen ECU 3 oder der Überwachungseinrichtung 5 ausgegebenes Signal durch Abtasten des Potenzials auf dem CAN-Bus und empfängt Informationen durch Umwandeln des Signals in binäre Informationen gemäß dem CAN-Kommunikationsprotokoll, um die empfangenen Informationen an die Verarbeitungseinheit 31 zu senden.
-
Weiterhin führt die CAN-Kommunikationseinheit 34, falls eine Kollision zwischen ihrer eigenen Nachrichtenübertragung und der Nachrichtenübertragung durch eine andere ECU 3 oder die Überwachungseinrichtung 5 auftritt, eine Arbitrierung durch, um zu bestimmen, welche Nachricht zuerst übertragen werden soll – eine sogenannte Arbitrierverarbeitung. Für jede von den ECUs 3 übertragene Nachricht wird im Voraus eine ID in Übereinstimmung mit dem Typ der Nachricht bestimmt. Bei der ID handelt es sich um als Zahlenwert behandelte Informationen, und je kleiner der Wert ist, desto höher ist die Priorität der Nachrichtenübertragung. In dem Kommunikationssystem wird deswegen, wenn die Übertragungen mehrerer Nachrichten auf dem CAN-Bus kollidieren, eine Nachricht mit der höchsten Priorität übertragen, und nachdem die Übertragung dieser Nachricht abgeschlossen ist, wird eine andere Nachricht übertragen. Da die von der CAN-Kommunikationseinheit 34 durchgeführte Arbitrierverarbeitung eine bekannte Verfahrensweise ist, wird das Verfahren hier nicht ausführlich beschrieben.
-
Gemäß der vorliegenden Ausführungsform führt die Verarbeitungseinheit 31 in der ECU 3 das Programm 32a aus, um ein Nachrichtenverarbeitungsteil 41, ein Hashwert-Berechnungsteil 42 und dergleichen als Softwarefunktionsblöcke zu implementieren. Es sei darauf hingewiesen, dass das Nachrichtenverarbeitungsteil 41, ein Hashwert-Berechnungsteil 42 und dergleichen im Ganzen oder zum Teil als Hardwarefunktionsblöcke implementiert sein können. Das Nachrichtenverarbeitungsteil 41 führt periodisch ein Verarbeiten zum Beziehen von Informationen wie etwa von einem Sensor gemessener Informationen oder Feedbackinformationen von zu steuernder Ausrüstung durch, bei dem eine Nachricht gemäß dem CAN-Protokoll erstellt wird, welche die bezogenen Informationen umfasst, und die erstellte Nachricht an den CAN-Bus übertragen wird. Man beachte, dass der Übertragungszyklus von Nachrichten für jeden Nachrichtentyp (d. h. ID) bestimmt wird und das Nachrichtenverarbeitungsteil 41 somit Nachrichten für jeden der unterschiedlichen Nachrichtentypen zu unterschiedlichen Zyklen übertragen kann.
-
Das Hashwert-Berechnungsteil 42 führt eine Verarbeitung zum Berechnen eines Hashwerts in Übereinstimmung mit einer Berechnungsanforderung von der Überwachungseinrichtung 5 durch. Das Hashwert-Berechnungsteil 42 berechnet einen Hashwert unter Verwendung einer vorbestimmten Hashfunktion auf der Grundlage eines Teils oder der ganzen im ROM 32 gespeicherten Daten (welche sowohl das Programm 32a als auch die Daten 32b umfassen können) und eines zufälligen Seedwerts, welcher der Berechnungsanforderung der Überwachungseinrichtung 5 beigefügt ist. Das ausführliche Verfahren zur Berechnung eines Hashwerts durch das Hashwert-Berechnungsteil 42 wird später beschrieben. Das Hashwert-Berechnungsteil 42 überträgt den berechneten Hashwert als Antwort auf die Berechnungsanforderung an die Überwachungseinrichtung 5.
-
3 ist ein Blockschaltbild, das die Ausgestaltung der Überwachungseinrichtung 5 veranschaulicht. Die Überwachungseinrichtung 5 ist derart gestaltet, dass sie eine Verarbeitungseinheit 51, eine Speichereinheit 52, eine CAN-Kommunikationseinheit 53 und so weiter aufweist. Die Verarbeitungseinheit 51 ist mit einer Arithmetikverarbeitungseinheit wie etwa einer CPU oder MPU eingerichtet, welche ein Verarbeiten zum Überwachen des Verhaltens, der Kommunikation und dergleichen der ECUs 3 im Fahrzeug 1 durchführt, indem sie ein in der Speichereinheit 52 gespeichertes Programm einliest und ausführt. Die Speichereinheit 52 ist mit einem wiederbeschreibbaren nichtflüchtigen Speicherelement wie etwa einem Flash-Speicher oder einem EEPROM eingerichtet. Gemäß der vorliegenden Ausführungsform sind in der Speichereinheit 52 kopierte Daten 52a, welche durch Kopieren des Speicherinhalts des ROMs 32 jeder im Fahrzeug 1 montierten ECU 3 erhalten werden, und Zyklusinformationen 52b in Zusammenhang mit dem Nachrichtenübertragungszyklus für die einzelnen ECUs 3 gespeichert.
-
Die CAN-Kommunikationseinheit 53 führt eine Kommunikation mit einer ECU 3 über den CAN-Bus gemäß dem CAN-Kommunikationsprotokoll durch. Die CAN-Kommunikationseinheit 53 wandelt von der Verarbeitungseinheit 51 gesendete, zu übertragende Informationen in ein Signal gemäß dem CAN-Kommunikationsprotokoll um und gibt das umgewandelte Signal auf den CAN-Bus aus, um die Informationen an die ECU 3 zu übertragen. Die CAN-Kommunikationseinheit 53 erfasst ein von der ECU 3 ausgegebenes Signal durch Abtasten des Potenzials am CAN-Bus und empfängt Informationen durch Umwandeln des Signals in binäre Informationen gemäß dem CAN-Kommunikationsprotokoll, um die empfangenen Informationen an die Verarbeitungseinheit 51 zu senden.
-
Gemäß der vorliegenden Ausführungsform weist die Verarbeitungseinheit 51 in der Überwachungseinrichtung 5 ein Referenzzeitpunkt-Festlegungsteil 61, ein Erlaubniszeitraum-Festlegungsteil 62, ein Übertragbarkeits-Bestimmungsteil 63, ein Verwerfen-Verarbeitungsteil 64 und so weiter auf. Die Teile 61 bis 64 können als Hardwarefunktionsblöcke oder als Softwarefunktionsblöcke gestaltet sein. Das Referenzzeitpunkt-Festlegungsteil 61 und das Erlaubniszeitraum-Festlegungsteil 62 führen zum Beispiel eine Verarbeitung durch, mit der eine Bedingung festgelegt wird, entsprechend welcher die Überwachungseinrichtung 5 ungültige Nachrichtenübertragung erkennt. Das Übertragbarkeits-Bestimmungsteil 63 führt eine Verarbeitung zum Bestimmen der Übertragbarkeit einer auf den CAN-Bus ausgegebenen Nachricht entsprechend der von dem Referenzzeitpunkt-Festlegungsteil 61 und dem Erlaubniszeitraum-Festlegungsteil 62 festgelegten Bedingung durch. Das Verwerfen-Verarbeitungsteil 64 führt für eine Nachricht, deren Übertragung durch das Übertragbarkeits-Bestimmungsteil 63 nicht erlaubt wird, eine Verarbeitung durch, die die ECU 3 dazu veranlasst, die Nachricht zu verwerfen, um zu verhindern, dass die ECU 3 die Nachricht empfängt.
-
4 ist eine schematische Ansicht, die die Ausgestaltung von in einer Speichereinheit 52 der Überwachungseinrichtung 5 gespeicherten kopierten Daten 52a veranschaulicht. Für alle im Fahrzeug 1 montierten zu überwachenden ECUs 3 ist in der Überwachungseinrichtung 5 der mit dem Speicherhalt des ROMs 32 identische Inhalt als kopierte Daten 52a gespeichert. Für die kopierten Daten 52a sind mit jeder ECU 3 eindeutig verbundene Identifizierungsinformationen (ECUa, ECUb, ... in 4) verknüpft mit dem Speicherinhalt des ROMs 32 jeder ECU 3 gespeichert.
-
5 ist eine schematische Ansicht, die die Ausgestaltung von in einer Speichereinheit 52 der Überwachungseinrichtung 5 gespeicherten Zyklusinformationen 52b veranschaulicht. Als Zyklusinformationen 52b sind in der Überwachungseinrichtung 5 Identifizierungsinformationen (CAN-ID), welche mit der über das Netzwerk im Fahrzeug 1 übertragenen und empfangenen Nachricht verbunden sind, verknüpft mit dem Zyklus gespeichert, mit welchem die Nachricht mit der CAN-ID übertragen wird. In dem veranschaulichten Beispiel ist als Zyklusinformationen 52b der Sachverhalt gespeichert, dass eine Nachricht mit der CAN-ID 1 einen Übertragungszyklus von 10 ms aufweist, eine Nachricht mit der CAN-ID 2 einen Übertragungszyklus von 50 ms aufweist und eine Nachricht mit der CAN-ID 3 einen Übertragungszyklus von 32 ms aufweist. Es wird darauf hingewiesen, dass diese Zahlenwerte lediglich Beispiele darstellen.
-
Verarbeitung zum Erkennen ungültiger Nachrichten
-
In dem Kommunikationssystem gemäß der vorliegenden Ausführungsform erfolgt seitens der Überwachungseinrichtung 5 die Verarbeitung zum Erkennen, dass auf dem CAN-Bus, über den mehrere ECUs 3 Nachrichten übertragen und empfangen, eine ungültige Nachricht übertragen wird. Es ist möglich, dass zum Beispiel eine ungültige Kommunikationseinrichtung unsachgemäß mit dem CAN-Bus verbunden ist und eine ungültige Nachricht auf dem CAN-Bus übertragen kann. Es ist auch möglich, dass zum Beispiel unsachgemäße Veränderungen oder Modifizierungen an einer beliebigen der in dem Fahrzeug 1 montierten ECUs 3 durchgeführt werden und diese ECU 3 eine ungültige Nachricht übertragen kann. Dies sind lediglich Beispiele ungültiger Nachrichten, und eine von der Überwachungseinrichtung 5 erkannte ungültige Nachricht kann durch andere als die vorstehend beschriebenen Faktoren ausgelöst werden.
-
Eine ungültige Kommunikationseinrichtung kann eine ungültige Nachricht mit einer spezifischen CAN-ID gemäß dem CAN-Protokoll übertragen. Obwohl eine gültige, im Kommunikationssystem des Fahrzeugs 1 genutzte CAN-ID als CAN-ID einer derartigen ungültigen Nachricht verwendet wird, sind die anderen in der ungültigen Nachricht enthaltenen Daten ungültige Daten. Falls eine ECU 3 eine ungültige Nachricht basierend auf der CAN-ID empfängt, führt die ECU 3 eine Verarbeitung basierend auf ungültigen Daten durch. Das Kommunikationssystem gemäß der vorliegenden Ausführungsform ist dazu eingerichtet, eine ungültige Nachricht mit ordnungsgemäßer CAN-ID, eine sogenannte Spoofing-Nachricht, zu erkennen.
-
Die Überwachungseinrichtung 5 gemäß der vorliegenden Ausführungsform erkennt, ob eine Nachricht, die periodisch übertragen werden soll, mit dem richtigen Zyklus übertragen wird, um eine ungültige Nachricht zu erkennen. 6 ist eine schematische Ansicht zum Veranschaulichen einer von der Überwachungseinrichtung 5 durchgeführten Verarbeitung zum Erkennen einer ungültigen Nachricht. Die Überwachungseinrichtung 5 legt für jede CAN-ID, die mit einer in dem Kommunikationssystem übertragenen und empfangenen Nachricht verbundenen ist, einen Erlaubniszeitraum fest, in welchem Übertragung der Nachricht mit der CAN-ID erlaubt ist. 6 veranschaulicht einen von der Überwachungseinrichtung 5 festgelegten Erlaubniszeitraum für eine Nachricht mit einer mit ihr verbundenen CAN-ID. Es sei darauf hingewiesen, dass die vorliegende Ausführungsform keine Fälle umfasst, in welchen eine CAN-ID von mehr als einer ECU 3 verwendet wird, d. h. in welchen eine Nachricht mit der gleichen CAN-ID von mehreren ECUs 3 übertragen wird.
-
In dem vorliegenden Beispiel wird der Übertragungszyklus einer Nachricht, die von der Überwachungseinrichtung 5 überwacht werden soll, mit T bezeichnet. Das Referenzzeitpunkt-Festlegungsteil 61 in der Überwachungseinrichtung 5 führt mit der ECU 3, welche die Nachricht überträgt, ein vorbestimmtes Verfahren durch, um den Referenzzeitpunkt t0 der Nachrichtenübertragung festzulegen (Details der Verarbeitung zum Festlegen des Referenzzeitpunkts werden später beschrieben). Das Erlaubniszeitraum-Festlegungsteil 62 in der Überwachungseinrichtung 5 bezieht einen Übertragungszyklus T für eine zu überwachende Nachricht aus den in der Speichereinheit 52 gespeicherten Zyklusinformationen 52b. Das Erlaubniszeitraum-Festlegungsteil 62 setzt den Zeitpunkt t1, der durch Addieren des Übertragungszyklus T zum Referenzzeitpunkt t0 erhalten wird, als den geplanten Übertragungszeitpunkt t1 der Nachricht fest. Das Erlaubniszeitraum-Festlegungsteil 62 setzt ebenso den Zeitpunkt t2, der durch Addieren des Doppelten des Übertragungszyklus T zum Referenzzeitpunkt t0 erhalten wird, als den geplanten Übertragungszeitpunkt t2 fest, den Zeitpunkt t3, der durch Addieren des Dreifachen des Übertragungszyklus T zum Referenzzeitpunkt t0 erhalten wird, als den geplanten Übertragungszeitpunkt t3 fest, ... und den Zeitpunkt tn, der durch Addieren des n-fachen des Übertragungszyklus T zum Referenzzeitpunkt t0 erhalten wird, als den geplanten Übertragungszeitpunkt tn fest (n = 1, 2, 3, ...).
-
Das Erlaubniszeitraum-Festlegungsteil 62 der Überwachungseinrichtung 5 legt einen Zeitraum, welcher den geplanten Übertragungszeitpunkt t1 samt den hinzugefügten vorbestimmten Zeiträumen A und B umfasst, als Erlaubniszeitraum fest. Das Erlaubniszeitraum-Festlegungsteil 62 legt einen Zeitraum, welcher t1 – A ≤ t ≤ t1 + B entspricht, als Erlaubniszeitraum fest. Gleiches findet auf die geplanten Übertragungszeitpunkte t2, t3, ... Anwendung. Das heißt, das Erlaubniszeitraum-Festlegungsteil 62 legt fest, dass ein Zeitraum, welcher t0 + nT – A ≤ t ≤ t0 + nT + B (n = 1, 2, 3 ...) entspricht, ein Erlaubniszeitraum ist.
-
Der Zeitraum A und der Zeitraum B zum Festlegen des Erlaubniszeitraums werden im Voraus zum Beispiel auf Grundlage eines Messergebnisses oder dergleichen festgelegt, welches durch Simulation oder an einer realen Hardware in dem Kommunikationssystem ermittelt wird. Was den Zeitraum A und den Zeitraum B betrifft, kann der gleiche Wert für alle Nachrichten verwendet werden, oder es kann zum Beispiel für jede CAN-ID ein unterschiedlicher Wert verwendet werden. Falls für jede CAN-ID ein unterschiedlicher Wert verwendet wird, können der Zeitraum A und der Zeitraum B in den Zyklusinformationen 52b mit der CAN-ID verknüpft gespeichert sein. Der Zeitraum A kann anhand einer Taktabweichung oder dergleichen zwischen der Überwachungseinrichtung 5 und der ECU 3, welche die Nachricht überträgt, festgelegt werden. Der Zeitraum B wird unter Berücksichtigung der Zeitdauer festgelegt, um welche diese Nachricht aufgrund der Arbitrierverarbeitung verzögert wird.
-
Die CAN-Kommunikationseinheit 53 in der Überwachungseinrichtung 5 überwacht Nachrichtenübertragungen an den CAN-Bus und benachrichtigt die Verarbeitungseinheit 51 darüber, wenn die Übertragung einer Nachricht erkannt wird. Das Übertragbarkeits-Bestimmungsteil 63 der Verarbeitungseinheit 51 bezieht auf der Benachrichtigung von der CAN-Kommunikationseinheit 53 beruhende Informationen in Zusammenhang mit der CAN-ID der übertragenen Nachricht sowie mit dem Startzeitpunkt oder Endzeitpunkt der Nachrichtenübertragung. Weiterhin bezieht das Übertragbarkeits-Bestimmungsteil 63 einen von dem Erlaubniszeitraum-Festlegungsteil 62 für die bezogene CAN-ID festgelegten Erlaubniszeitraum ab. Das Übertragbarkeits-Bestimmungsteil 63 bestimmt, ob die Nachricht, deren Übertragung erkannt wurde, während des Erlaubniszeitraums übertragen wurde oder nicht.
-
Die Bedingung zur Bestimmung, ob die Nachricht während des Erlaubniszeitraums übertragen wurde oder nicht, kann zwei derartige Bedingungen umfassen, dass die Übertragung der Nachricht während des Erlaubniszeitraums beginnt oder dass die Übertragung der Nachricht während des Erlaubniszeitraums abgeschlossen wird. Es kann eine beliebige der beiden Bedingungen benutzt werden und die Länge des Zeitraums B kann in Übereinstimmung mit der benutzten Bedingung festgesetzt werden. In der vorliegenden Ausführungsform soll das Übertragbarkeits-Bestimmungsteil 63 entsprechend der Bedingung, dass die Nachrichtenübertragung während des Erlaubniszeitraums abgeschlossen wird, bestimmen, ob die Nachricht während des Erlaubniszeitraums übertragen wird oder nicht.
-
Falls die Nachricht nicht während des Erlaubniszeitraums übertragen wird, bestimmt das Übertragbarkeits-Bestimmungsteil 63, dass diese Nachricht eine ungültige Nachricht ist, und es bestimmt, dass die Übertragung der Nachricht nicht erlaubt ist. Wenn das Übertragbarkeits-Bestimmungsteil 63 bestimmt, dass die Übertragung der Nachricht nicht erlaubt ist, führt das Verwerfen-Verarbeitungsteil 64 in der Überwachungseinrichtung 5 eine Verarbeitung durch, welche die mit dem CAN-Bus verbundene ECU 3 dazu veranlasst, die Nachricht zu verwerfen. Die Details der Verarbeitung zum Verwerfen einer Nachricht werden später beschrieben.
-
Wenn die Nachricht während des Erlaubniszeitraums übertragen wird, führt das Übertragbarkeits-Bestimmungsteil 63 weiterhin eine Bestimmung gemäß einer weiteren Bedingung durch. Das Übertragbarkeits-Bestimmungsteil 63 führt eine Bestimmung gemäß der Bedingung in Bezug auf die Arbitrierverarbeitung und eine Bestimmung gemäß der Bedingung in Bezug auf den nachrichtenübertragungsfreien Zeitraum durch.
-
Die 7 bis 9 sind schematische Ansichten zum Veranschaulichen von Bestimmungen gemäß der Bedingung Bezug auf die Arbitrierverarbeitung, welche von dem Übertragbarkeits-Bestimmungsteil 63 durchgeführt werden. Im CAN-Kommunikationssystem wird, wie vorstehend beschrieben, eine Arbitrierverarbeitung durchgeführt, wenn bei der Übertragung mehrerer Nachrichten eine Kollision auftritt. Bei der Übertragung einer Nachricht mit niedriger Prioritätsstufe kann somit eine Verzögerung auftreten. 7 veranschaulicht den Zustand, bei welchem eine Bestimmungszielnachricht die CAN-ID 7 aufweist und drei Nachrichten (Nachrichten mit den CAN-IDs 3, 5 bzw. 2) mit höheren Prioritätsstufen als die Zielnachricht aufgrund der Arbitrierverarbeitung früher übertragen werden.
-
Das Übertragbarkeits-Bestimmungsteil 63 bestimmt, ob weitere Nachrichtenübertragungen vor Übertragung der Zielnachricht während des Erlaubniszeitraums der Zielnachricht durchgeführt werden oder nicht. Falls eine weitere Nachrichtenübertragung durchgeführt wird, überprüft das Übertragbarkeits-Bestimmungsteil 63 die CAN-ID(s) einer oder mehrerer übertragener Nachrichten und vergleicht diese mit der CAN-ID der Zielnachricht. Gemäß dem CAN-Protokoll zeigt die mit der Nachricht verbundene CAN-ID deren Priorität an. Je kleiner der Zahlenwert ist, desto höher ist die Priorität. Das Übertragbarkeits-Bestimmungsteil 63 bestimmt ausschließlich dann, wenn eine der nachstehend beschriebenen Bedingungen 1 oder 2 für alle weiteren zuvor übertragenen Nachrichten erfüllt ist, dass die Zielnachricht eine ordnungsgemäße Nachricht ist.
Bedingung 1: Die CAN-IDs anderer Nachrichten sind kleiner als die CAN-ID der Zielnachricht, d. h., alle vorhergehenden Nachrichten haben höhere Prioritätsstufen.
Bedingung 2: Eine andere Nachricht hat zwar eine niedrigere Prioritätsstufe als die Zielnachricht, die Übertragung der Nachricht mit der niedrigen Prioritätsstufe wird jedoch vor dem Beginn des Erlaubniszeitraums der Zielnachricht begonnen.
-
Was die Bedingung 1 betrifft, so bestimmt das Übertragbarkeits-Bestimmungsteil 63, dass die Zielnachricht eine ungültige Nachricht ist, wenn mindestens eine der CAN-IDs der zuvor übertragenen Nachrichten unter den Nachrichten, die nachdem sie erlaubt wurden, nacheinander übertragen wurden, größer ist als die CAN-ID der Zielnachricht, d. h., wenn eine Nachricht mit einer niedrigen Prioritätsstufe zuvor übertragen wurde. 8 veranschaulicht den Zustand, in welchem eine Bestimmungszielnachricht die CAN-ID 7 aufweist und die Nachrichten mit den CAN-IDs 3, 5 und 9 vor der Übertragung der Zielnachricht übertragen werden. Die Nachricht mit der CAN-ID 9 weist eine niedrigere Prioritätsstufe auf als die Zielnachricht mit der CAN-ID 7. Es ist somit möglich, dass die Zielnachricht nicht aufgrund der Arbitrierverarbeitung bis zu dem veranschaulichten Zeitpunkt verzögert wurde, sondern zu dem veranschaulichten Zeitpunkt von einer ungültigen Kommunikationseinrichtung übertragen wird. Wenn das Übertragbarkeits-Bestimmungsteil 63 bestimmt, dass die Zielnachricht eine ungültige Nachricht ist, deren Übertragung nicht erlaubt ist, führt das Verwerfen-Verarbeitungsteil 64 die Verarbeitung zum Verwerfen der Nachricht durch.
-
Die Bedingung 2 definiert eine Ausnahme zu der Bedingung 1. Das heißt, gemäß der Bedingung 1 muss eine andere, der Zielnachricht vorangehende Nachricht eine höhere Prioritätsstufe als die Zielnachricht aufweisen. Gemäß der Bedingung 2 kann jedoch eine zuerst übertragene Nachricht unter einer oder mehreren Nachrichten, welche während des Erlaubniszeitraums für Nachrichten übertragen werden, eine niedrigere Prioritätsstufe aufweisen als die Zielnachricht, wenn die zuerst übertragene Nachricht bereits vor dem Startzeitpunkt des Erlaubniszeitraums übertragen wurde. 9 veranschaulicht den Zustand, in welchem die Nachricht mit der CAN-ID 10 vor Beginn des Erlaubniszeitraums übertragen wird, sowie die in 7 veranschaulichten Nachrichten. Die Nachricht mit der CAN-ID 10 weist eine niedrigere Prioritätsstufe auf als die Zielnachricht mit der CAN-ID 7. Da die Nachricht mit der niedrigen Prioritätsstufe eine Nachricht ist, mit deren Übertragung vor dem Beginn des Erlaubniszeitraums der Zielnachricht begonnen wurde, erlaubt das Übertragbarkeits-Bestimmungsteil 63 die Übertragung der Zielnachricht.
-
10 ist eine schematische Ansicht zum Veranschaulichen der von dem Übertragbarkeits-Bestimmungsteil 63 durchgeführten Bestimmung entsprechend einer Bedingung in Bezug auf einen nachrichtenübertragungsfreien Zeitraum. Das Übertragbarkeits-Bestimmungsteil 63 prüft, ob in einem Zeitraum vom geplanten Übertragungszeitpunkt t1 bis zur Übertragung der Zielnachricht im Erlaubniszeitraum der Zielnachricht ein nachrichtenübertragungsfreier Zeitraum, während welchem keine Nachrichten auf dem CAN-Bus übertragen werden, vorhanden ist oder nicht. Falls der nachrichtenübertragungsfreie Zeitraum vorhanden ist, bestimmt das Übertragbarkeits-Bestimmungsteil 63, ob der nachrichtenübertragungsfreie Zeitraum eine vorbestimmte Länge überschreitet oder nicht. Falls mehr als ein nachrichtenübertragungsfreier Zeitraum vorhanden ist, vergleicht das Übertragbarkeits-Bestimmungsteil 63 jeden der nachrichtenübertragungsfreien Zeiträume mit der vorbestimmten Länge.
-
Als vorbestimmte Länge kann zum Beispiel ein für ein Übertragen von ungefähr drei bis zehn Bit einer Nachricht notwendiger Zeitraum festgesetzt sein. Dies basiert zum Beispiel auf einem Zeitraum von drei Bit für den Inter-Frame-Space (IFS – Zwischenraum zwischen Übertragungsrahmen) oder zehn Bit einschließlich sieben Bit für das End-of-Frame (EOF – Übertragungsrahmen-Ende) zusätzlich zum IFS. Diese Zahlenwerte stellen jedoch lediglich Beispiele dar, und die vorbestimmte Länge kann ein hiervon abweichender Zeitraum sein.
-
Wenn der nachrichtenübertragungsfreie Zeitraum, welcher in einem Zeitraum vom geplanten Übertragungszeitpunkt bis zur Nachrichtenübertragung vorhanden ist, eine vorbestimmte Länge überschreitet, kann bestimmt werden, dass die Verzögerung der Zielnachricht keine ordnungsgemäße Verzögerung ist. In einem derartigen Fall bestimmt das Übertragbarkeits-Bestimmungsteil 63 deswegen, dass die Zielnachricht eine ungültige Nachricht ist, deren Übertragung nicht erlaubt ist. Wenn das Übertragbarkeits-Bestimmungsteil 63 bestimmt, dass die Zielnachricht eine ungültige Nachricht ist, deren Übertragung nicht erlaubt ist, führt das Verwerfen-Verarbeitungsteil 64 die Verarbeitung zum Verwerfen der Nachricht durch.
-
Weiterhin bestimmt das Übertragbarkeits-Bestimmungsteil 63, falls in einem Zeitraum vom geplanten Übertragungszeitpunkt bis zur Nachrichtenübertragung kein nachrichtenübertragungsfreier Zeitraum vorhanden ist oder falls der nachrichtenübertragungsfreie Zeitraum zwar vorhanden ist, jedoch kürzer ist als die vorbestimmte Länge, dass die Zielnachricht eine ordnungsgemäße Nachricht ist, und erlaubt deren Übertragung.
-
So bestimmt das Übertragbarkeits-Bestimmungsteil 63, wenn die Übertragung der Nachricht mit der CAN-ID eines Bestimmungsziels während des Erlaubniszeitraums erkannt wird, ob außer der durch ordnungsgemäße Arbitrierverarbeitung verursachten Verzögerung eine weitere Verzögerung der Übertragung dieser Nachricht auftritt oder nicht. Das heißt, das Übertragbarkeits-Bestimmungsteil 63 setzt Bedingungen zum Erlauben einer Übertragung einer Bestimmungszielnachricht folgendermaßen fest: Die vor der Zielnachricht während des Erlaubniszeitraums übertragene Nachricht muss eine hohe Prioritätsstufe aufweisen (ausgenommen Nachrichten, mit deren Übertragung vor dem Erlaubniszeitraum begonnen wurde), und in einem Zeitraum vom geplanten Übertragungszeitpunkt bis zur Übertragung der Zielnachricht darf kein nachrichtenübertragungsfreier Zeitraum vorhanden sein, der eine vorbestimmte Länge überschreitet. Das Übertragbarkeits-Bestimmungsteil 63 erlaubt eine Übertragung der Zielnachricht, falls beide Bedingungen erfüllt sind, und sie erlaubt die Übertragung der Zielnachricht nicht, falls mindestens eine der Bedingungen nicht erfüllt ist.
-
Es wird darauf hingewiesen, dass die Überwachungseinrichtung 5 die Historie bzw. den Verlauf der auf dem CAN-Bus übertragenen Nachrichten in der Speichereinheit 52 speichert, damit das Übertragbarkeits-Bestimmungsteil 63 eine Bestimmung entsprechend diesen Bedingungen durchführen kann. Die Historie, die gespeichert werden soll, umfasst zum Beispiel Informationen in Bezug auf die CAN-IDs der übertragenen Nachrichten sowie den Übertragungs-Startzeitpunkt oder -Endzeitpunkt. Das Überwachen der Nachrichtenübertragung durch die Überwachungseinrichtung 5 wird für jede CAN-ID durchgeführt. Das heißt, die Überwachungseinrichtung 5 legt für jede CAN-ID einen Erlaubniszeitraum fest und bestimmt für jede CAN-ID, ob die Nachricht übertragen werden darf oder nicht. 7 veranschaulicht zum Beispiel ein Beispiel, bei welchem die Überwachungseinrichtung 5 eine Bestimmung für die Nachricht mit der CAN-ID 7 durchführt. Hier bestimmt die Überwachungseinrichtung 5 außerdem einzeln die Übertragbarkeit der Nachrichten mit den CAN-IDs 3, 5 bzw. 2.
-
11 und 12 zeigen ein Flussdiagramm, das ein von der Überwachungseinrichtung 5 durchgeführtes Verfahren zum Bestimmen von Nachrichtenübertragbarkeit veranschaulicht. Es wird darauf hingewiesen, dass die im vorliegenden Flussdiagramm verwendete Variable n unter Verwendung eines in der Verarbeitungseinheit 51 der Überwachungseinrichtung 5 enthaltenen Registers oder des Speicherbereichs wie etwa einem Speicher implementiert sein kann. Zuerst führt die Verarbeitungseinheit 51 in der Überwachungseinrichtung 5 eine Verarbeitung zum Festlegen des Referenzzeitpunkts t0 bei dem Referenzzeitpunkt-Festlegungsteil 61 durch (Schritt S1). Die Verarbeitungseinheit 51 liest in der Speichereinheit 52 gespeicherte Zyklusinformationen 52b aus (Schritt S2) und bezieht den Übertragungszyklus T einer Bestimmungszielnachricht. Anschließend initialisiert die Verarbeitungseinheit 51 den Wert der Variablen n auf 1 (Schritt S3). Das Erlaubniszeitraum-Festlegungsteil 62 der Verarbeitungseinheit 51 legt anhand des in Schritt S1 festgelegten Referenzzeitpunkts t0, des in Schritt S2 bezogenen Zyklus T, der vorbestimmten Konstanten A und B und der Variablen n einen Erlaubniszeitraum fest (Schritt S4). Als Erlaubniszeitraum kann der Zeitraum von (t0 + nT – A) bis (t0 + nT + B) festgelegt werden.
-
Das Übertragbarkeits-Bestimmungsteil 63 der Verarbeitungseinheit 51 bestimmt, ob der in Schritt S4 festgelegte Erlaubniszeitraum abgelaufen ist (Schritt S5). Wenn der Erlaubniszeitraum nicht abgelaufen ist (S5: NEIN), prüft das Übertragbarkeits-Bestimmungsteil 63, ob bei der CAN-Kommunikationseinheit 53 ein Nachrichtenempfang auf dem CAN-Bus erkannt wird (Schritt S7). Wenn kein Nachrichtenempfang erkannt wird (S7: NEIN), kehrt das Übertragbarkeits-Bestimmungsteil 63 mit dem Verarbeiten zu Schritt S5 zurück. Wenn ein Nachrichtenempfang erkannt wird (S7: JA), überprüft das Übertragbarkeits-Bestimmungsteil 63 die CAN-ID der erkannten Nachricht, um zu bestimmen, ob diese Nachricht eine Bestimmungszielnachricht ist oder nicht (Schritt S8). Wenn diese Nachricht keine Bestimmungszielnachricht ist (S8: NEIN), protokolliert das Übertragbarkeits-Bestimmungsteil 63 Informationen in Zusammenhang mit der Nachricht (Informationen wie etwa CAN-ID, Übertragungs-Startzeitpunkt und -Endzeitpunkt) in einer Historie (Schritt S9) und kehrt mit dem Verarbeiten zu Schritt S5 zurück. Wenn diese Nachricht eine Bestimmungszielnachricht ist (S8: JA), bestimmt das Übertragbarkeits-Bestimmungsteil 63, ob die Nachricht während des Erlaubniszeitraums übertragen wird oder nicht (Schritt S10). Wenn die Nachricht nicht während des Erlaubniszeitraums übertragen wird (S10: NEIN), führt die Verarbeitungseinheit 10 durch das Verwerfen-Verarbeitungsteil 64 ein Verarbeiten zum Verwerfen einer Nachricht durch (Schritt S11) und kehrt mit dem Verarbeiten zu Schritt S5 zurück.
-
Wenn die Bestimmungszielnachricht während des Erlaubniszeitraums übertragen wird (S10: JA), bestimmt das Übertragbarkeits-Bestimmungsteil 63 das Vorhandensein oder Nichtvorhandensein einer Verzögerung der Nachricht bezogen auf den geplanten Übertragungszeitpunkt tn (Schritt S12). Wenn keine Verzögerung vorhanden ist (S12: NEIN), bestimmt das Übertragbarkeits-Bestimmungsteil 63, dass die Übertragung erlaubt ist, da die Nachricht eine ordnungsgemäße Nachricht ist, und kehrt mit dem Verarbeiten zu Schritt S5 zurück, ohne die Verarbeitung zum Verwerfen einer Nachricht durchzuführen. Wenn eine Verzögerung einer Nachricht bezogen auf den geplanten Übertragungszeitpunkt tn vorhanden ist (S12: JA), bezieht das Übertragbarkeits-Bestimmungsteil 63 die in Schritt S9 protokollierte Nachrichtenübertragungs-Historie (Schritt S13).
-
Das Übertragbarkeits-Bestimmungsteil 63 bestimmt, ob während eines Zeitraums vom geplanten Übertragungszeitpunkt tn bis zur Übertragung der Zielnachricht eine Nachricht mit einer niedrigeren Prioritätsstufe als die Zielnachricht übertragen wurde oder nicht (Schritt S14). Wenn eine Nachricht mit niedriger Prioritätsstufe übertragen wurde (S14: JA), bestimmt das Übertragbarkeits-Bestimmungsteil 63, ob die Übertragung der Nachricht mit der niedrigen Prioritätsstufe vor dem Erlaubniszeitraum der Zielnachricht begonnen wurde oder nicht (Schritt S15).
-
Wenn keine Nachricht mit niedriger Prioritätsstufe übertragen wurde (S14: NEIN) oder mit der Übertragung der Nachricht mit der niedrigen Prioritätsstufe vor dem Erlaubniszeitraum begonnen wurde (S15: JA), bestimmt das Übertragbarkeits-Bestimmungsteil 63 das Vorhandensein oder Nichtvorhandensein eines nachrichtenübertragungsfreien Zeitraums, welcher eine vorbestimmte Länge überschreitet, in einem Zeitraum vom geplanten Übertragungszeitpunkt tn einer Bestimmungszielnachricht bis zum Abschluss der Übertragung der Nachricht. (Schritt S16). Wenn kein nachrichtenübertragungsfreier Zeitraum vorhanden ist (S16: NEIN), bestimmt das Übertragbarkeits-Bestimmungsteil 63, dass die Übertragung erlaubt ist, da die Nachricht eine ordnungsgemäße Nachricht ist, und kehrt mit dem Verarbeiten zu Schritt S5 zurück, ohne die Verarbeitung zum Verwerfen einer Nachricht durchzuführen.
-
Wenn die Übertragung der Nachricht mit der niedrigen Prioritätsstufe nicht vor dem Erlaubniszeitraum begonnen wurde (S15: NEIN) oder ein nachrichtenübertragungsfreier Zeitraum, welcher die vorbestimmte Länge überschreitet, vorhanden ist (S16: JA), bestimmt das Übertragbarkeits-Bestimmungsteil 63, dass die Übertragung nicht erlaubt ist, da die Nachricht keine ordnungsgemäße Nachricht ist, und das Verwerfen-Verarbeitungsteil 64 führt die Verarbeitung zum Verwerfen einer Nachricht durch (Schritt S17) und kehrt mit dem Verarbeiten zu Schritt S5 zurück.
-
Wenn bestimmt wird, dass der Erlaubniszeitraum in Schritt S5 abgelaufen ist (S5: JA), addiert die Verarbeitungseinheit 51 den Wert 1 zur Variablen n (Schritt S6), kehrt mit dem Verarbeiten zu Schritt S4 zurück und führt ein Überwachen für den nächsten Erlaubniszeitraum durch.
-
Verarbeitung zum Verwerfen einer Nachricht
-
In dem Kommunikationssystem gemäß der vorliegenden Ausführungsform veranlasst die Überwachungseinrichtung 5, falls bestimmt wird, dass die auf den CAN-Bus ausgegebene Nachricht keine ordnungsgemäße Nachricht ist und ihre Übertragung somit nicht erlaubt ist, die mit dem CAN-Bus verbundene ECU 3 dazu, eine Verarbeitung zum Verwerfen dieser Nachricht durchzuführen. Die in dem Kommunikationssystem gemäß der vorliegenden Ausführungsform übertragene und empfangene Nachricht ist mit dem CAN-Protokoll konform und ist derart gestaltet, dass sie einen CAN-Header, ein Datenfeld, ein Prüfsummenfeld (CRC – Cylic Redundancy Check), ein Bestätigungsfeld (ACK) und ein End-of-Frame (EOF) aufweist. Der CAN-Header weist den Start-of-Frame (SOF – Beginn des Übertragungsrahmens) gemäß dem herkömmlichen CAN-Protokoll, ein Arbitrierungsfeld, ein Kontrollfeld und so weiter auf; die vorstehend beschriebene CAN-ID befindet sich im Arbitrierungsfeld. Im Datenfeld sind die Informationen gespeichert, die zwischen den ECUs 3 übertragen und empfangen werden sollen, wie etwa eine Steueranweisung an eine ECU 3 oder das Messergebnis eines Sensors. Das CRC-Feld, das ACK-Feld und das EOF sind identisch mit den im herkömmlichen CAN-Protokoll verwendeten und werden deswegen nicht ausführlich beschrieben. Im CRC-Feld sind Informationen zur Fehlererkennung gespeichert. Das ACK-Feld ist ein Feld für eine Empfangsbestätigung der ECU 3, die den Frame empfängt. Das EOF ist eine spezielle Bitfolge, die das Ende des Felds anzeigt.
-
Das Verwerfen-Verarbeitungsteil 64 in der Überwachungseinrichtung 5 überträgt für die Nachricht, deren Übertragung von dem Übertragbarkeits-Bestimmungsteil 63 nicht erlaubt wird, während des Ausgabezeitraums des E-OFs der Nachricht einen Fehler-Frame an den CAN-Bus. Der Fehler-Frame ermöglicht es allen mit dem CAN-Bus verbundenen ECUs 3, ungültige Nachrichten während des Empfangens zu verwerfen.
-
Um die Nachricht auf diese Weise zu verwerfen, ist es notwendig, dass das Übertragbarkeits-Bestimmungsteil 63 in der Überwachungseinrichtung 5 die Bestimmung abschließt, bevor das EOF der Nachricht auf den CAN-Bus ausgegeben wird. Das Übertragbarkeits-Bestimmungsteil 63 beginnt die Verarbeitung zum Bestimmen, wie vorstehend beschrieben, zu dem Zeitpunkt, zu welchem die Ausgabe des CAN-Headers der Nachricht auf den CAN-Bus abgeschlossen wird, und schließt die Bestimmung vor der Ausgabe des EOFs ab. Da die Länge der Nachricht gemäß dem CAN-Protokoll definiert ist, kann das Übertragbarkeits-Bestimmungsteil 63 den Übertragungsendzeitpunkt sogar vor dem Ende der Nachrichtenübertragung berechnen.
-
Die Überwachungseinrichtung 5 kann außerdem dazu eingerichtet sein, die CAN-ID, welche von dem Übertragbarkeits-Bestimmungsteil 63 als zu einer ungültigen Nachricht gehörig bestimmt wurde, zu speichern, und wenn eine Nachricht mit der gleichen CAN-ID später auf den CAN-Bus ausgegeben wird, kann das Verwerfen-Verarbeitungsteil 64 die Nachricht ohne Bestimmung durch das Übertragbarkeits-Bestimmungsteil 63 verwerfen. Weiterhin kann die Verarbeitung eines Verwerfens einer Nachricht durch die Überwachungseinrichtung 5 mittels verschiedener weiterer Verfahren erfolgen, die nicht auf das vorstehend beschriebene Verfahren beschränkt sind. Darüber hinaus kann die Überwachungseinrichtung 5 dazu eingerichtet sein, wenn das Übertragbarkeits-Bestimmungsteil 63 bestimmt, dass eine Nachricht ungültig ist, andere Verarbeitungen als ein Verwerfen durchzuführen, wie etwa Übertragen einer Warnmeldung an die ECU 3, Berichten an den Nutzer des Fahrzeugs 1, Übertragen von Informationen an eine externe Servereinrichtung oder Herunterfahren des betreffenden Kommunikationssystems oder Kommunikationsnetzwerks.
-
Verarbeitung zum Festlegen eines Referenzzeitpunkts
-
In dem Kommunikationssystem gemäß der vorliegenden Ausführungsform ist es notwendig, ein Verarbeiten zum Festlegen des Referenzzeitpunkts t0 durchzuführen, bevor die Nachrichtenübertragung durch die ECU 3 und das Überwachen der Nachrichtenübertragung durch die Überwachungseinrichtung 5 begonnen werden. 13 ist eine schematische Darstellung zum Veranschaulichen einer unter Beteiligung einer ECU 3 und der Überwachungseinrichtung 5 durchgeführten Verarbeitung zum Festlegen eines Referenzzeitpunkts. Nachdem sie durch Einschalten der Stromversorgung oder dergleichen aktiviert wird, beginnt die Überwachungseinrichtung 5 in dem Kommunikationssystem gemäß der vorliegenden Ausführungsform das Verarbeiten zum Bestimmen des Referenzzeitpunkts durch das Referenzzeitpunkt-Festlegungsteil 61 der Verarbeitungseinheit 51.
-
Bei der Verarbeitung zum Festlegen eines Referenzzeitpunkts erzeugt das Referenzzeitpunkt-Festlegungsteil 61 in der Überwachungseinrichtung 5 zuerst Information, die zum Berechnen eines Hashwerts verwendet werden sollen. Gemäß der vorliegenden Ausführungsform erzeugt das Referenzzeitpunkt-Festlegungsteil 61 einen zufälligen Seedwert und Bereichsbezeichnungsinformationen. Das Referenzzeitpunkt-Festlegungsteil 61 betrachtet die Daten mit einer vorbestimmten Bitlänge, welche durch Erzeugen einer Zufallszahl anhand eines vorbestimmten Algorithmus erhalten werden, als den zufälligen Seedwert. Die Bereichsbezeichnungsinformationen dienen der Bezeichnung des Bereichs des ROMs 32, welcher ein Ziel einer Hashwertberechnung sein soll, und entsprechen Informationen wie etwa zum Beispiel einer Startadresse und einer Endadresse oder einer Startadresse und Datengröße. Das Referenzzeitpunkt-Festlegungsteil 61 kann zum Beispiel die Startadresse anhand einer Zufallszahl festlegen und die Endadresse durch Addieren einer vorbestimmten Zahl zu der Startadresse festlegen.
-
Das Referenzzeitpunkt-Festlegungsteil 61 in der Überwachungseinrichtung 5 überträgt den erzeugten zufälligen Seedwert und die Bereichsbezeichnungsinformationen gemeinsam mit der Berechnungsanforderung des Hashwerts an die ECU 3. Darüber hinaus liest das Referenzzeitpunkt-Festlegungsteil 61 den zu verarbeitenden Speicherinhalt der ECU 3 aus den kopierten Daten 52a der Speichereinheit 52 aus und berechnet einen Hashwert unter Verwendung des ausgelesenen Speicherinhalts und des erzeugten zufälligen Seedwerts sowie der Bereichsbezeichnungsinformationen. Das Referenzzeitpunkt-Festlegungsteil 61 extrahiert einen durch die Bereichsbezeichnungsinformationen bezeichneten Abschnitt aus dem kopierten Speicherinhalt und berechnet einen Hashwert durch Eingeben des extrahierten Speicherinhalts und des zufälligen Seedwerts an eine vorbestimmte Hashfunktion. Gemäß der vorliegenden Ausführungsform ist das Referenzzeitpunkt-Festlegungsteil 61 dazu eingerichtet, einen 160 Bit langen Hashwert unter Verwendung der Hashfunktion SHA-1 zu berechnen.
-
Die ECU 3, welche den zufälligen Seedwert und die Bereichsbezeichnungsinformationen von der Überwachungseinrichtung 5 empfangen hat, verwendet den Speicherinhalt ihres eigenen ROMs 32 und den empfangenen zufälligen Seedwert sowie die Bereichsbezeichnungsinformationen, um einen Hashwert durch das Hashwert-Berechnungsteil 42 der Verarbeitungseinheit 31 zu berechnen. Das Hashwert-Berechnungsteil 42 extrahiert den durch die Bereichsbezeichnungsinformationen bezeichneten Abschnitt aus dem ROM 32 und berechnet einen Hashwert durch Eingeben des extrahierten Speicherinhalts und des zufälligen Seedwerts an eine vorbestimmte Hashfunktion. Da die von der Überwachungseinrichtung 5 verwendete Hashfunktion mit der von der ECU 3 verwendeten Hashfunktion identisch ist und der von der Überwachungseinrichtung 5 in den kopierten Daten 52a gespeicherte Inhalt mit dem von der ECU 3 im ROM 32 gespeicherten Inhalt identisch ist, besteht die Erwartung, dass die Überwachungseinrichtung 5 und die ECU 3 den gleichen Hashwert berechnen. Wenn sich die Hashwerte unterscheiden, ist es möglich, dass der Speicherinhalt des ROMs 32 der ECU 3 verfälscht wurde.
-
Hier wird ein Verfahren zum Berechnen eines Hashwerts durch die Überwachungseinrichtung 5 und die ECU 3 kurz beschrieben. Die Überwachungseinrichtung 5 und die ECU 3 können zum Beispiel dazu eingerichtet sein, einen Hashwert durch Verwenden einer bestehenden Hashfunktion wie etwa Message Digest (MD) 4, MD 5, SHA-1, SHA-256, SHA-384, SHA-512, EIPEMD-160 oder SHA-3 zu berechnen. Diese sind alle sogenannte Einweg-Hashfunktionen, welche für die Eingabeinformationen genau einen Hashwert ausgeben. In der vorliegenden Ausführungsform umfassen die an die Hashfunktion einzugebenden Informationen die Daten 32b oder das Programm 32b, welche im ROM 32 der ECU 3 gespeichert sind, im Ganzen oder zum Teil. Unabhängig davon, ob die an die Hashfunktion eingegebenen Informationen nur das Programm 32a, nur die Daten 32b oder sowohl das Programm 32a als auch die Daten 32b umfassen, kann die Hashfunktion die eingegebenen Informationen einfach als Binärinformationen behandeln und einen Hashwert berechnen. Die Überwachungseinrichtung 5 und die ECU 3 speichern eine vorbestimmte Hashfunktion, welche verwendet wird, um einen Hashwert zu berechnen.
-
Nachstehend wird ein Berechnungsverfahren für den Fall beschrieben, dass die Überwachungseinrichtung 5 und die ECU 3 einen Hashwert unter Verwendung der Hashfunktion SHA-1 berechnen. Was die Details einer Verarbeitung für die Hashfunktion SHA-1 sowie den Fall, bei welchem die Überwachungseinrichtung 5 und die ECU 3 eine andere Hashfunktion verwenden, betrifft, so basieren diese Hashfunktionen auf vorhandener Technik und werden somit nicht beschrieben.
-
Falls die Hashfunktion SHA-1 verwendet wird, führen die Überwachungseinrichtung 5 und die ECU 3 zuerst eine Auffüll-Verarbeitung (Padding) durch. In der Auffüll-Verarbeitung passen die Überwachungseinrichtung 5 und die ECU 3 die Größe der zu verarbeitenden Informationen durch Anfügen zusätzlicher Daten an das Ende der eingegebenen Informationen derart an, dass die Größe einem ganzzahligen Vielfachen eines vorbestimmten Werts (512 Bit) entspricht. Als Nächstes führen die Überwachungseinrichtung 5 und die ECU 3 die erste Verarbeitung zum Aufteilen der aufgefüllten Informationen in Blöcke zu jeweils 512 Bit und Berechnen von achtzig Werten für jeden Block durch.
-
Anschließend führen die Überwachungseinrichtung 5 und die ECU 3 für den Anfangswert mit einer vorbestimmten Größe (160 Bit) eine arithmetische Operation unter Verwendung des von der ersten Verarbeitung berechneten Werts durch, und sie führen eine zweite Verarbeitung zum Festsetzen des aus der arithmetischen Operation erhaltenen 160 Bit langen Werts als Hashwert durch. In der zweiten Verarbeitung führen die Überwachungseinrichtung 5 und die ECU 3 zuerst eine arithmetische Operation mit achtzig Schritten für den 160 Bit langen Anfangswert unter Verwendung von achtzig für einen Block berechneter Werte durch. Durch diese arithmetische Operation mit achtzig Schritten können die Informationen des Blocks in den 160 Bit langen Anfangswert eingemischt werden, und der 160 Bit lange Wert kann als Ausgabe erhalten werden. Die Überwachungseinrichtung 5 und die ECU 3 setzen den erhaltenen 160 Bit langen Wert als den Anfangswert fest, um auf ähnliche Weise eine arithmetische Operation mit 80 Schritten, die achtzig für den nächsten Block berechnete Werte verwendet, durchzuführen. Die Überwachungseinrichtung 5 und die ECU 3 führen die Verarbeitung mit 80 Schritten auf ähnliche Weise für alle Blöcke durch und setzen den zuletzt erhaltenen 160 Bit langen Wert als Hashwert fest.
-
Weiterhin ist es gemäß der vorliegenden Ausführungsform notwendig, dass die Überwachungseinrichtung 5 und die ECU 3 einen Hashwert unter Verwendung des von der Überwachungseinrichtung 5 erzeugten zufälligen Seedwerts berechnen. Zum Beispiel können die Überwachungseinrichtung 5 und die ECU 3 den zufälligen Seedwert für die Daten verwenden, die in der vorstehend beschriebenen Auffüll-Verarbeitung an die eingegebenen Informationen angefügt werden sollen. Darüber hinaus können die Überwachungseinrichtung 5 und die ECU 3 den zufälligen Seedwert auch als den 160 Bit langen Anfangswert zum Beispiel in der vorstehend beschriebenen zweiten Verarbeitung verwenden. In der vorliegenden Ausführungsform wird angenommen, dass der zufällige Seedwert als Anfangswert der zweiten Verarbeitung verwendet wird.
-
Das Verfahren zur Verwendung des zufälligen Seedwerts durch die Überwachungseinrichtung 5 und die ECU 3 ist nicht auf das vorstehend beschriebene beschränkt. Zum Beispiel können die Überwachungseinrichtung 5 und die ECU 3 ein Ergebnis einer logischen Verknüpfung (Kontravalenz bzw. XOR oder dergleichen) des zufälligen Seedwerts mit dem Speicherinhalt des ROMs 32, welcher ein Ziel der Hashwertberechnung ist, als an die Hashfunktion eingegebene Informationen betrachten. Zum Beispiel können die Überwachungseinrichtung 5 und die ECU 3 die Informationen, welche den an einer vorbestimmten Position des Anfangsabschnitts, Endabschnitts oder dergleichen des Speicherinhalts des ROMs 32, welcher ein Ziel der Hashwertberechnung ist, angehängten zufälligen Seedwert umfassen, als an die Hashfunktion eingegebene Informationen betrachten.
-
Nach Abschluss der Übertragung des zufälligen Seedwerts sowie der Bereichsbezeichnungsinformationen an die ECU 3 und der Berechnung des Hashwerts führt das Referenzzeitpunkt-Festlegungsteil 61 in der Überwachungseinrichtung 5 eine Verarbeitung zum Extrahieren eines Teils des berechneten Hashwerts durch. Gemäß der vorliegenden Ausführungsform extrahiert das Referenzzeitpunkt-Festlegungsteil 61 einen 64 Bit langen Wert aus dem berechneten 160 Bit langen Hashwert und setzt den extrahierten Wert als Bestätigungsinformationen, d. h. für eine Bestätigung verwendete Informationen, fest. Das Referenzzeitpunkt-Festlegungsteil 61 überträgt eine Hashwertbestätigungsanforderung, welche die extrahierten Bestätigungsinformationen umfasst, an die ECU 3 eines Verarbeitungsziels.
-
Die ECU 3, welche die Hashwertbestätigungsanforderung von der Überwachungseinrichtung 5 erhalten hat, erhält in der empfangenen Hashwertbestätigungsanforderung enthaltene Bestätigungsinformationen. Die Verarbeitungseinheit 31 der ECU 3 vergleicht die von der Überwachungseinrichtung 5 erhaltenen Bestätigungsinformationen mit dem von der Verarbeitungseinheit 31 bei dem Hashwert-Berechnungsteil 42 selbst berechneten Hashwert. Die Verarbeitungseinheit 31 bestimmt, ob der von dem Hashwert-Berechnungsteil 42 berechnete Hashwert einen Teil des von der Überwachungseinrichtung 5 als Bestätigungsinformationen erhaltenen Hashwerts umfasst. Wenn bestimmt wird, dass der Hashwert der Bestätigungsinformationen nicht in dem eigenen Hashwert enthalten ist, ist es denkbar, dass der von der ECU 3 berechnete Hashwert nicht mit dem von der Überwachungseinrichtung 5 berechneten Hashwert übereinstimmt, und die Verarbeitungseinheit 31 unterbricht deswegen die Verarbeitung und sendet der Überwachungseinrichtung 5 eine Fehlermeldung.
-
Wenn bestimmt wird, dass der Hashwert der Bestätigungsinformationen in dem eigenen Hashwert enthalten ist, wird der von der ECU 3 berechnete Hashwert als identisch mit dem von der Überwachungseinrichtung 5 berechneten Hashwert betrachtet, und die Verarbeitungseinheit 31 führt die Verarbeitung zum Übertragen einer Antwort auf die Hashwertbestätigungsanforderung (Hashwertbestätigungsantwort) an die Überwachungseinrichtung 5 durch. Hier extrahiert die Verarbeitungseinheit 31 Informationen mit einer Länge von 64 Bit, welche der von der Überwachungseinrichtung 5 gesendeten Bestätigungsinformationen vorangehen, aus dem 160 Bit langen von dem Hashwert-Berechnungsteil 42 berechneten Hashwert als Antwortinformationen. Die Verarbeitungseinheit 31 überträgt die extrahierten 64 Bit langen Antwortinformationen, in der Hashwertbestätigungsantwort enthalten, an die Überwachungseinrichtung 5. Es wird darauf hingewiesen, dass das Verfahren zum Extrahieren der Bestätigungsinformationen und der Antwortinformationen aus dem Hashwert nicht hierauf beschränkt ist. Zum Beispiel können sich die Bestätigungsinformationen und die Antwortinformationen teilweise überlappen.
-
Das Referenzzeitpunkt-Festlegungsteil 61 in der Überwachungseinrichtung 5, welche die Hashwertbestätigungsantwort von der ECU 3 empfangen hat, erhält in der empfangenen Hashwertbestätigungsantwort enthaltene Antwortinformationen. Das Referenzzeitpunkt-Festlegungsteil 61 vergleicht die von der ECU 3 erhaltenen Antwortinformationen mit dem selbst berechneten Hashwert. Das Referenzzeitpunkt-Festlegungsteil 61 bestimmt, ob ein Abschnitt des selbst berechneten Hashwerts ohne die Bestätigungsinformationen einen Teil des als Antwortinformationen von der ECU 3 erhaltenen Hashwerts aufweist oder nicht. Wenn bestimmt wird, dass der Hashwert der Antwortinformationen nicht in dem eigenen Hashwert enthalten ist, ist es denkbar, dass der von der Überwachungseinrichtung 5 berechnete Hashwert nicht mit dem von der ECU 3 berechneten Hashwert übereinstimmt, und das Referenzzeitpunkt-Festlegungsteil 61 unterbricht deswegen die Verarbeitung und sendet der ECU 3 eine Fehlermeldung oder dergleichen.
-
Wenn bestimmt wird, dass der Hashwert der Antwortinformationen in dem eigenen Hashwert enthalten ist, betrachtet das Referenzzeitpunkt-Festlegungsteil 61 den von der Überwachungseinrichtung 5 berechneten Hashwert und den von der ECU 3 berechneten Hashwert als identisch. Hier kann das Referenzzeitpunkt-Festlegungsteil 61 an die ECU 3 melden, dass die Bestimmung des Hashwerts erfolgreich ist. Das Referenzzeitpunkt-Festlegungsteil 61 legt den Zeitpunkt, zu welchem der Empfang einer ordnungsgemäßen Hashwertbestätigungsantwort von der ECU 3 abgeschlossen wird, als Referenzzeitpunkt t0 fest. Nach dem Festlegen des Referenzzeitpunkts t0 legt die Überwachungseinrichtung 5 den geplanten Übertragungszeitpunkt und den Erlaubniszeitraum wie vorstehend beschrieben fest und beginnt damit, Nachrichtenübertragungen zu überwachen.
-
Die Verarbeitungseinheit 31 in der ECU 3 setzt weiterhin den Zeitpunkt, zu welchem die Übertragung einer Hashwertbestätigungsantwort an die Überwachungseinrichtung 5 abgeschlossen wird, als Referenzzeitpunkt t0 fest. Das Nachrichtenverarbeitungsteil 41 in der ECU 3 überträgt Nachrichten im Zyklus T bezogen auf den Referenzzeitpunkt t0.
-
In dem Kommunikationssystem gemäß der vorliegenden Ausführungsform sind mehrere ECUs 3 mit dem CAN-Bus verbunden und es ist somit notwendig, dass die Überwachungseinrichtung 5 für jede der ECUs 3 eine Verarbeitung zum Festlegen eines Referenzzeitpunkts durchführt. 14 ist eine schematische Darstellung zum Veranschaulichen einer von der Überwachungseinrichtung 5 mit mehreren ECUs 3 durchgeführten Verarbeitung zum Festlegen eines Referenzzeitpunkts. Zwar wird im vorliegenden Beispiel die Verarbeitung zum Festlegen eines Referenzzeitpunkts unter Beteiligung der Überwachungseinrichtung 5 und drei ECUs 3 durchgeführt, die Überwachungseinrichtung 5 führt die Verarbeitung zum Festlegen eines Referenzzeitpunkts jedoch auf ähnliche Weise mit weniger als oder mehr als drei ECUs 3 durch.
-
Die Überwachungseinrichtung 5 überträgt eine Hashwertberechnungsanforderung mit einem zufälligen Seedwert und Bereichsbezeichnungsinformationen nacheinander an jede der ECUs 3. Hier kann für den zufälligen Seedwert und die Bereichsbezeichnungsinformationen, welche in jeder Hashwertberechnungsanforderung enthalten sind, für jede der ECUs 3 ein gemeinsamer Wert festgesetzt sein, oder es können unterschiedliche Werte festgesetzt sein. Jede der ECUs 3, welche die Hashwertberechnungsanforderung von der Überwachungseinrichtung 5 empfangen hat, berechnet individuell einen Hashwert auf der Grundlage des Speicherinhalts ihres eigenen ROMs 32. Weiterhin liest die Überwachungseinrichtung 5 den Speicherinhalt jeder ECU 3 aus den kopierten Daten 52a der Speichereinheit 52 aus und berechnet für jede ECU 3 einen Hashwert.
-
Die Überwachungseinrichtung 5, welche die Berechnung des Hashwerts jeder ECU 3 abgeschlossen hat, überträgt eine Hashwertbestätigungsanforderung an eine der ECUs 3 und empfängt eine Hashwertbestätigungsantwort von der ECU 3. Die Überwachungseinrichtung 5 bestimmt, ob der in der empfangenen Hashwertbestätigungsantwort enthaltene Hashwert korrekt ist oder nicht, und legt, wenn der Hashwert korrekt ist, den Zeitpunkt, zu welchem der Empfang der Hashwertbestätigungsantwort abgeschlossen wird, als Referenzzeitpunkt t0 dieser ECU 3 fest.
-
Anschließend überträgt die Überwachungseinrichtung 5 eine Hashwertbestätigungsanforderung, sie empfängt eine Hashwertbestätigungsantwort und sie legt einen Referenzzeitpunkt für eine andere der ECUs 3 fest. Demgemäß wiederholt die Überwachungseinrichtung 5 nacheinander ein Übertragen einer Hashwertbestätigungsanforderung, ein Empfangen einer Hashwertbestätigungsantwort und ein Festlegen eines Referenzzeitpunkts für jede der in dem Kommunikationssystem enthaltenen ECUs 3. Nachdem die Referenzzeitpunkte aller ECUs 3 festlegt wurden, beginnt die Überwachungseinrichtung 5 damit, die Nachrichtenübertragung zu überwachen, und jede ECU 3 beginnt damit, Nachrichten zu übertragen und zu empfangen. Das Überwachen durch die Überwachungseinrichtung 5 und die Nachrichtenübertragung durch die ECUs 3 können der Reihe nach begonnen werden, beginnend mit derjenigen, deren Referenzzeitpunkt festgelegt wurde.
-
15 ist ein Flussdiagramm, welches das von der Überwachungseinrichtung 5 durchgeführte Verarbeiten zum Festlegen eines Referenzzeitpunkts veranschaulicht. Das Referenzzeitpunkt-Festlegungsteil 61 in der Überwachungseinrichtung 5 erzeugt einen zufälligen Seedwert, der zur Hashwertberechnung verwendet wird, und Bereichsbezeichnungsinformationen, welche einen Speicherbereich des ROMs 32 in der ECU 3 eines Ziels der Hashwertberechnung bezeichnet (Schritt S21). Das Referenzzeitpunkt-Festlegungsteil 61 überträgt eine Hashwertberechnungsanforderung, welche den erzeugten zufälligen Seedwert und die Bereichsbezeichnungsinformationen umfasst, über die CAN-Kommunikationseinheit 53 an die ECU 3 eines Verarbeitungsziels (Schritt S22).
-
Das Referenzzeitpunkt-Festlegungsteil 61 bezieht die kopierten Daten 52a des Speicherinhalts der ECU 3 eines Verarbeitungsziels von der Speichereinheit 52 und berechnet anhand der bezogenen kopierten Daten 52a sowie des zufälligen Seedwerts und der Bereichsbezeichnungsinformation, welche in Schritt S21 erzeugt wurden, einen Hashwert unter Verwendung einer vorbestimmten Hashfunktion (Schritt S23). Das Referenzzeitpunkt-Festlegungsteil 61 extrahiert einen Abschnitt aus dem in Schritt S23 berechneten Hashwert als Bestätigungsinformationen (Schritt S24). Das Referenzzeitpunkt-Festlegungsteil 61 überträgt eine Hashwertbestätigungsanforderung, welche die extrahierten Bestätigungsinformationen umfasst, über die CAN-Kommunikationseinheit 53 an die ECU 3 eines Verarbeitungsziels (Schritt S25).
-
Anschließend bestimmt das Referenzzeitpunkt-Festlegungsteil 61, ob die von der ECU 3 als Antwort auf die Hashwertbestätigungsanforderung übertragene Hashwertbestätigungsantwort von der CAN-Kommunikationseinheit 53 empfangen wurde (Schritt S26). Wenn die Hashwertbestätigungsantwort nicht empfangen wurde (S26: NEIN), bestimmt das Referenzzeitpunkt-Festlegungsteil 61, ob eine Fehlermeldung von der ECU 3 des Verarbeitungsziels empfangen wurde oder nicht (Schritt S27). Wenn die Fehlermeldung nicht empfangen wurde (S27: NEIN), kehrt das Referenzzeitpunkt-Festlegungsteil 61 mit der Verarbeitung zu Schritt S26 zurück und wartet, bis die Hashwertbestätigungsantwort oder Fehlermeldung von der ECU 3 empfangen wird.
-
Wenn die Hashwertbestätigungsantwort von der ECU 3 des Verarbeitungsziels empfangen wurde (S26: JA), bestimmt das Referenzzeitpunkt-Festlegungsteil 61, ob die Antwortinformationen korrekt sind oder nicht abhängig davon, ob die in der empfangenen Hashwertbestätigungsantwort enthaltenen Antwortinformationen in dem in Schritt S23 berechneten Hashwert enthalten sind (Schritt S28). Wenn die Fehlermeldung von der ECU 3 empfangen wurde (S27: JA) oder die von der ECU 3 empfangenen Antwortinformationen nicht korrekt sind (S28: NEIN), bestimmt das Referenzzeitpunkt-Festlegungsteil 61, dass der Speicherinhalt des ROMs 32 der Ziel-ECU 3 eventuell verändert wurde, es führt eine angemessene Fehlerverarbeitung zum Beispiel durch Anhalten des Betriebs der ECU 3 durch (Schritt S29) und beendet die Verarbeitung.
-
Wenn die von der ECU 3 empfangenen Antwortinformationen korrekt sind (S28: JA), legt das Referenzzeitpunkt-Festlegungsteil 61 fest, dass der Zeitpunkt, zu welchem der Empfang der Hashwertbestätigungsantwort von der ECU 3 abgeschlossen wird, der Referenzzeitpunkt ist (Schritt S30), und es beendet die Verarbeitung.
-
16 ist ein Flussdiagramm, das eine von einer ECU durchgeführte Verarbeitung gemäß einer Anforderung zum Berechnen eines Hashwerts von der Überwachungseinrichtung 5 veranschaulicht. Die Verarbeitungseinheit 31 der ECU 3 bestimmt, ob bei der CAN-Kommunikationseinheit 34 eine Hashwertberechnungsanforderung von der Überwachungseinrichtung 5 empfangen wurde oder nicht (Schritt S31). Wenn keine Hashwertberechnungsanforderung empfangen wurde (S31: NEIN), wartet die Verarbeitungseinheit 31, bis die Hashwertberechnungsanforderung empfangen wird. Wenn die Hashwertberechnungsanforderung empfangen wurde (S31: JA), bezieht die Verarbeitungseinheit 31 den zufälligen Seedwert und die Bereichsbezeichnungsinformationen, welche in der empfangenen Hashwertberechnungsanforderung enthalten sind (Schritt S32). Das Hashwert-Berechnungsteil 42 der Verarbeitungseinheit 31 berechnet einen Hashwert mittels einer vorbestimmten Hashfunktion auf Grundlage des Speicherinhalts des ROMs 32 und der Bereichsbezeichnungsinformationen sowie des zufälligen Seedwerts, welche in Schritt S32 bezogen wurden (Schritt S33). Die Verarbeitungseinheit 31 speichert den berechneten Hashwert im RAM 33 (Schritt S34) und beendet die Verarbeitung.
-
17 ist ein Flussdiagramm, das eine von einer ECU 3 als Antwort auf eine von der Überwachungseinrichtung 5 stammende Anforderung zum Bestätigen eines Hashwerts durchgeführte Verarbeitung veranschaulicht. Die Verarbeitungseinheit 31 der ECU 3 bestimmt, ob eine von der Überwachungseinrichtung 5 stammende Hashwertberechnungsanforderung bei der CAN-Kommunikationseinheit 34 empfangen wurde oder nicht (Schritt S41). Wenn die Hashwertbestätigungsanforderung nicht empfangen wurde (S41: NEIN), wartet die Verarbeitungseinheit 31, bis die Hashwertbestätigungsanforderung empfangen wird. Wenn die Hashwertbestätigungsanforderung empfangen wurde (S41: JA), liest die Verarbeitungseinheit 31 den im RAM 33 gespeicherten Hashwert aus (Schritt S42). Die Verarbeitungseinheit 31 bestimmt in Übereinstimmung damit, ob die Bestätigungsinformationen, welche in der in Schritt S41 empfangenen Hashwertbestätigungsanforderung umfasst sind, in dem in Schritt S42 ausgelesenen Hashwert enthalten sind, ob die Bestätigungsinformationen korrekt sind oder nicht (Schritt S43). Wenn die Bestätigungsinformationen nicht korrekt sind (S43: NEIN), überträgt die Verarbeitungseinheit 31 eine Fehlermeldung an die Überwachungseinrichtung 5 (Schritt S44) und beendet die Verarbeitung.
-
Wenn die Bestätigungsinformationen von der Überwachungseinrichtung 5 korrekt sind (S43: JA), extrahiert die Verarbeitungseinheit 31 einen Abschnitt mit einer vorbestimmten Länge, der den Bestätigungsinformationen vorangeht, aus dem in Schritt S42 ausgelesenen Hashwert als Antwortinformationen (Schritt S45). Die Verarbeitungseinheit 31 überträgt die Hashwertbestätigungsantwort, welche die extrahierten Antwortinformationen umfasst, über die CAN-Kommunikationseinheit 34 an die Überwachungseinrichtung 5 (Schritt S46). Die Verarbeitungseinheit 31 legt einen Zeitpunkt, zu welchem die Übertragung der Hashwertbestätigungsantwort abgeschlossen wird, als einen Referenzzeitpunkt fest (Schritt S47) und beendet die Verarbeitung.
-
Das Kommunikationssystem gemäß der vorliegenden Ausführungsform ist zwar dazu eingerichtet, eine Verarbeitung zum Bestimmen des Referenzzeitpunkts zum Zeitpunkt des Aktivierens der Überwachungseinrichtung 5 und der ECU 3 durchzuführen, das Timing der Verarbeitung ist jedoch nicht hierauf beschränkt. Weiterhin kann, zum Beispiel falls eine Zeitverzögerung oder dergleichen bei dem Timing des Übertragens einer Nachricht durch die ECU 3 auftritt oder der Nachrichtenübertragungszyklus geändert wird, ein Verarbeiten zur Neufestlegung des Referenzzeitpunkts unter Beteiligung der Überwachungseinrichtung 5 und der ECU 3 durchgeführt werden.
-
Falls der Referenzzeitpunkt neu festgelegt wird, kann eine Verarbeitung, die der vorstehend beschriebenen anfänglichen Verarbeitung zum Festlegen des Referenzzeitpunkts ähnlich ist, durchgeführt werden. Das heißt, die Überwachungseinrichtung 5 kann eine Hashwertberechnungsanforderung und eine Hashwertbestätigungsanforderung übertragen und die ECU 3 kann als Antwort darauf eine Hashwertbestätigungsantwort übertragen, um den Referenzzeitpunkt neu festzulegen. Es kann jedoch eine derartige Ausgestaltung vorliegen, dass die ECU 3 eine Anforderung zum Durchführen einer Verarbeitung zum Neufestlegen des Referenzzeitpunkts an die Überwachungseinrichtung 5 überträgt, und die Überwachungseinrichtung 5 als Antwort darauf mit der Verarbeitung zum Festlegen des Referenzzeitpunkts beginnt.
-
Alternativ kann der in der Verarbeitung zum Festlegen des Referenzzeitpunkts erhaltene Hashwert gespeichert werden, und die ECU 3 kann eine Anforderung zum Neufestlegen des Referenzzeitpunkts, welche diesen Hashwert umfasst, an die Überwachungseinrichtung 5 übertragen. Die Überwachungseinrichtung 5, welche die Anforderung zum Neufestlegen empfangen hat, setzt, wenn der in der Anforderung zum Neufestlegen enthaltene Hashwert korrekt ist, einen Zeitpunkt, zu welchem der Empfang der Anforderung zum Neufestlegen abgeschlossen wird, als neuen Referenzzeitpunkt fest. Die ECU 3 kann den Zeitpunkt, zu welchem die Übertragung der Anforderung zum Neufestlegen abgeschlossen wird, als neuen Referenzzeitpunkt festsetzen.
-
Schlussfolgerung
-
Das Kommunikationssystem gemäß der vorliegenden Ausführungsform mit der vorstehend beschriebenen Ausgestaltung ist dazu eingerichtet, mehrere mit einem CAN-Bus verbundene ECUs 3, welche alle periodisch Nachrichten übertragen, zu umfassen, und ist mit der Überwachungseinrichtung 5 zum Erkennen ungültiger Nachrichtenübertragungen bereitgestellt. Die Überwachungseinrichtung 5 legt den Referenzzeitpunkt t0 für eine periodische Nachrichtenübertragung an die ECU 3 fest, legt mehrere geplante Übertragungszeitpunkte t1 = t0 + T, t2 = t0 + 2T, ... fest, welche durch Addieren eines Zeitraums, welcher einem ganzzahligen Vielfachen des Übertragungszyklus T einer Nachricht entspricht, zu dem Referenzzeitpunkt t0 erhalten werden, und legt vorbestimmte Zeiträume t1 – A bis t1 + B, t2 – A bis t2 + b, ..., welche die jeweiligen geplanten Übertragungszeitpunkte umfassen, als Erlaubniszeitraum für Nachrichtenübertragungen fest.
-
Die Überwachungseinrichtung 5 überwacht weiterhin den CAN-Bus, um eine von der ECU 3 übertragene Nachricht zu erkennen. Durch Bestimmen, ob die erkannte Nachricht während des Erlaubniszeitraums übertragen wurde oder nicht, kann die Überwachungseinrichtung 5 bestimmen, ob diese Nachricht ungültig ist oder nicht und ob Übertragung dieser Nachricht erlaubt werden soll oder nicht.
-
Wie vorstehend beschrieben, ist die Überwachungseinrichtung 5 gemäß der vorliegenden Ausführungsform dazu eingerichtet, einen Erlaubniszeitraum für nachfolgende Nachrichtenübertragungen bezogen auf den in der Anfangsphase festgelegten Referenzzeitpunkt t0 festzulegen, d. h., sie ist dazu eingerichtet, einen Erlaubniszeitraum auf einer absoluten Grundlage festzulegen. Im Gegensatz dazu kann zum Beispiel auch eine derartige Ausgestaltung vorliegen, dass ein Zeitpunkt, welcher durch Addieren des Zyklus T zum Empfangszeitpunkt der Nachricht erhaltenen wird, als geplanter Übertragungszeitpunkt für den Empfang jeder Nachricht festgesetzt wird, um einen Erlaubniszeitraum festzulegen, d. h., der Erlaubniszeitraum kann auf relativer Grundlage festgelegt werden. Gemäß dem CAN-Kommunikationsprotokoll wird allerdings die Arbitrierverarbeitung durchgeführt, wenn bei einer Nachrichtenübertragung eine Kollision auftritt – bei der Übertragung einer Nachricht mit niedriger Prioritätsstufe kann somit eine Verzögerung auftreten. In der Ausgestaltung zum Vornehmen einer Festlegung auf relativer Grundlage variiert der Erlaubniszeitraum zum Bestimmen, wenn bei einer Nachrichtenübertragung eine Verzögerung auftritt. Es ist somit notwendig, den Erlaubniszeitraum in gewissem Ausmaß zu verlängern, und der Erlaubniszeitraum kann deswegen nicht auf einfache Weise verkürzt werden. Wenn der Erlaubniszeitraum verlängert wird, wird ein Fehleinschätzen der Gültigkeit einer ungültigen Nachricht wahrscheinlicher. Darüber hinaus kann in der Ausgestaltung zum Vornehmen einer Festlegung auf relativer Grundlage der Erlaubniszeitraum für die nächste Nachricht basierend auf dem Empfangen einer ungültigen Nachricht festgelegt werden. Falls eine derartige Situation auftritt, ist es möglich, dass ungültige Nachrichten sequenziell als gültig fehleingeschätzt werden. Die Überwachungseinrichtung 5 gemäß der vorliegenden Ausführungsform ist durch Festlegen eines Erlaubniszeitraums auf absoluter Grundlage in der Lage, das Auftreten dieser Probleme zu vermeiden.
-
Weiterhin legt die Überwachungseinrichtung 5 den Referenzzeitpunkt t0 individuell für jede der in dem Kommunikationssystem enthaltenen ECUs 3 fest. Die Überwachungseinrichtung 5 legt für jede der ECUs 3 den geplanten Übertragungszeitpunkt tn und den Erlaubniszeitraum bezogen auf den festgelegten Referenzzeitpunkt t0 fest. Demgemäß kann die Überwachungseinrichtung 5, selbst wenn das Kommunikationssystem ECUs 3 mit unterschiedlichen Nachrichten-Übertragungszyklen T, Nachrichten-Übertragungstimings und dergleichen aufweist, für jede der ECUs 3 bestimmen, ob eine Nachrichtenübertragung erlaubt ist oder nicht.
-
Weiterhin kann eine ECU 3 unterschiedliche Nachrichtentypen mit unterschiedlichen Übertragungszyklen übertragen, wobei die Überwachungseinrichtung 5 dann einen Erlaubniszeitraum für jede der CAN-IDs der Nachrichten festlegt. Dies ermöglicht es der Überwachungseinrichtung 5, die Übertragbarkeit für jeden Typ der Nachrichten zu bestimmen, selbst wenn eine ECU 3 Nachrichten mit unterschiedlichen Übertragungszyklen überträgt. In der vorliegenden Ausführungsform wird der Referenzzeitpunkt t0 zwar für jede ECU 3 festgelegt, die Erfindung ist jedoch nicht hierauf beschränkt, und der Referenzzeitpunkt t0 kann auch für jede CAN-ID festgelegt werden. In einem derartigen Fall kann die Überwachungseinrichtung 5 die Verarbeitung zum Festlegen des Referenzzeitpunkts für eine ECU 3 mehrmals (d. h. entsprechend der Anzahl an der ECU 3 zugewiesenen CAN-IDs) durchführen.
-
Weiterhin wird im CAN-Kommunikationsprotokoll die Arbitrierverarbeitung durchgeführt, wenn bei der Übertragung mehrerer Nachrichten eine Kollision auftritt. Bei der Übertragung einer Nachricht kann somit eine Verzögerung verursacht werden. Hier prüft die Überwachungseinrichtung 5, ob eine Nachricht in einem Zeitraum vom geplanten Übertragungszeitpunkt tn einer Bestimmungszielnachricht bis zum Abschluss der Übertragung der Nachricht übertragen wurde oder nicht. Falls eine Nachricht übertragen wurde, vergleicht die Überwachungseinrichtung 5 die Prioritätsstufe der Zielnachricht mit der Prioritätsstufe der übertragenen Nachricht. Wenn die Prioritätsstufe der übertragenen Nachricht höher ist als die Prioritätsstufe der Zielnachricht, wird angenommen, dass die Übertragung der Zielnachricht aufgrund der Arbitrierverarbeitung verzögert wurde. Die Überwachungseinrichtung 5 erlaubt somit die Übertragung der Zielnachricht. Wenn hingegen die übertragene Nachricht eine niedrigere Prioritätsstufe aufweist als die Zielnachricht (mit Ausnahme der Nachricht, die übertragen wurde, bevor der Erlaubniszeitraum begann), wird angenommen, dass die Verzögerung der Zielnachricht nicht durch die ordnungsgemäße Arbitrierverarbeitung verursacht wurde. Die Überwachungseinrichtung 5 erlaubt somit die Übertragung der Zielnachricht nicht. Demgemäß kann die Überwachungseinrichtung 5 selbst in dem Kommunikationssystem, bei dem eine Verzögerung bei einer Nachrichtenübertragung aufgrund von Arbitrierverarbeitung auftritt, bestimmen, ob die Nachrichtenübertragung erlaubt ist oder nicht.
-
Weiterhin bestimmt die Überwachungseinrichtung 5, ob in einem Zeitraum von dem geplanten Übertragungszeitpunkt tn der Zielnachricht bis zum Abschluss der Übertragung der Nachricht ein nachrichtenübertragungsfreier Zeitraum vorhanden ist, der eine vorbestimmte Länge überschreitet. Wenn ein nachrichtenübertragungsfreier Zeitraum vorhanden ist, erlaubt die Überwachungseinrichtung 5 die Übertragung der Zielnachricht nicht, da angenommen wird, dass die Verzögerung der Zielnachricht nicht durch ordnungsgemäße Arbitrierverarbeitung verursacht wird.
-
Weiterhin wird in dem Kommunikationssystem gemäß der vorliegenden Ausführungsform ein vorbestimmtes Verfahren unter Beteiligung der Überwachungseinrichtung 5 und der ECU 3 durchgeführt, um den Referenzzeitpunkt t0 festzulegen. Die Überwachungseinrichtung 5 überträgt eine Hashwertberechnungsanforderung an die ECU 3. Hier sendet die Überwachungseinrichtung 5 der ECU 3 einen zufälligen Seedwert und Bereichsbezeichnungsinformationen, welche für die Hashwertberechnung benötigt werden. Die ECU 3, welche die Hashwertberechnungsanforderung von der Überwachungseinrichtung 5 empfangen hat, berechnet einen Hashwert mittels einer vorbestimmten Hashfunktion auf Grundlage des zufälligen Seedwerts sowie der Bereichsbezeichnungsinformationen, welche in der Hashwertberechnungsanforderung enthalten sind, und der im ROM 32 gespeicherten Daten. Die ECU 3 überträgt die Hashwertbestätigungsantwort, welche den berechneten Hashwert umfasst, als Antwort auf die Hashwertbestätigungsanforderung der Überwachungseinrichtung 5 an die Überwachungseinrichtung 5. Die Überwachungseinrichtung 5, welche die Hashwertbestätigungsantwort von der ECU 3 empfangen hat, bestimmt, ob der in der Hashwertbestätigungsantwort enthaltene Hashwert korrekt ist oder nicht. Wenn der empfangene Hashwert korrekt ist, legt die Überwachungseinrichtung 5 den Referenzzeitpunkt t0 bezogen auf den Zeitpunkt fest, zu welchem der Empfang der Hashwertbestätigungsantwort abgeschlossen ist. Zum Beispiel setzt die Überwachungseinrichtung 5 den Zeitpunkt, zu welchem der Empfang der Hashwertbestätigung oder dergleichen abgeschlossen ist, als Referenzzeitpunkt t0 fest. Der Referenzzeitpunkt t0 ist jedoch nicht darauf beschränkt und kann zum Beispiel der Übertragungsstartpunkt der Hashwertbestätigungsantwort sein, oder er kann zum Beispiel der Zeitpunkt sein, der durch Hinzufügen oder Abziehen eines vorbestimmten Zeitraums zu/von dem Zeitpunkt, zu welchem der Empfang der Hashwertbestätigungsantwort abgeschlossen wird, erhalten wird. In einem derartigen Fall legt die ECU 3 den Referenzzeitpunkt t0 bezogen auf den Zeitpunkt fest, zu welchem die Übertragung der Hashwertbestätigungsantwort, welche einen korrekten Hashwert umfasst, abschlossen ist, und überträgt Nachrichten im Zyklus T mit dem festgelegten Zeitpunkt als gesetzter Referenz. Da der Referenzzeitpunkt t0 anhand der Übertragung und des Empfangs hochgradig zuverlässiger, auf einem Hashwert basierender Informationen festgelegt wird, kann die Überwachungseinrichtung 5 ein Verarbeiten zum Erkennen einer ungültigen Nachricht mit hoher Zuverlässigkeit durchführen.
-
Weiterhin führt die Überwachungseinrichtung 5, wenn bestimmt wurde, dass die Übertragung einer ungültigen Nachricht nicht erlaubt ist, die Verarbeitung durch, die die ECU 3, welche die Nachricht empfangen soll, dazu veranlasst, die Nachricht zu verwerfen. Zum Beispiel kann die Überwachungseinrichtung 5 während des Zeitraums eines Ausgebens des EOFs in einer ungültigen Nachricht einen Fehler-Frame an den CAN-Bus übertragen, um die ECU 3 dazu zu veranlassen, die Nachricht zu verwerfen. Dies kann verhindern, dass die ECU 3 eine ungültige Nachricht empfängt und Verarbeitungen gemäß der Nachricht durchführt.
-
In der vorliegenden Ausführungsform werden das Verarbeiten zum Festlegen eines Referenzzeitpunkts, das Verarbeiten zum Festlegen eines Erlaubniszeitraums, das Verarbeiten zum Bestimmen der Übertragbarkeit, das Verarbeiten zum Verwerfen einer ungültigen Nachricht und so weiter von der Verarbeitungseinheit 51 (der sogenannten CPU oder dergleichen) der Überwachungseinrichtung 5 durchgeführt, die Erfindung ist jedoch nicht hierauf beschränkt und diese Verarbeitungen können auch von der CAN-Kommunikationseinheit 53 (dem sogenannten CAN-Controller oder dergleichen) durchgeführt werden. Ebenso kann das Verarbeiten zum Festlegen eines Referenzzeitpunkts wie etwa die Hashwertberechnungsverarbeitung für die ECU 3 von der CAN-Kommunikationseinheit 34 und nicht von der Verarbeitungseinheit 31 durchgeführt werden.
-
Weiterhin wird der Referenzzeitpunkt t0 zwar durch Austauschen von Informationen unter Verwendung eines Hashwerts zwischen der Überwachungseinrichtung 5 und der ECU 3 festgelegt, der Referenzzeitpunkt t0 kann jedoch auch durch ein Verfahren, das keinen Hashwert verwendet, festgelegt werden. Zum Beispiel können Informationen, welche unter Verwendung eines öffentlichen Schlüssels, eines geheimen Schlüssels oder dergleichen verschlüsselt wurden, unter Beteiligung der Überwachungseinrichtung 5 und der ECU 3 übertragen und empfangen werden, und der Referenzzeitpunkt t0 kann anhand des Ergebnisses der Übertragung und des Empfangs festgelegt werden. Die Überwachungseinrichtung 5 und die ECU 3 können eine hochgradig zuverlässige Kommunikation betreiben, um den Referenzzeitpunkt t0 anhand des Ergebnisses der Kommunikation festzulegen. Weiterhin kann der Referenzzeitpunkt t0, falls die Überwachungseinrichtung 5 und die ECU 3 eine Zeitsynchronisationsfunktion besitzen, unter Verwendung der durch diese Funktion synchronisierten Zeit festgelegt werden.
-
Weiterhin ist die Überwachungseinrichtung 5 zwar dazu eingerichtet, die kopierten Daten 52a, welche durch Kopieren des Speicherinhalts des ROMs 32 der ECU 3 erhalten werden, in der Speichereinheit 52 zu speichern, die Erfindung ist jedoch nicht hierauf beschränkt. Zum Beispiel können die kopierten Daten 52a in einer anderweitigen Servereinrichtung oder dergleichen gespeichert sein, und die Überwachungseinrichtung 5 kann die kopierten Daten 52a nach Bedarf von der Servereinrichtung beziehen. Weiterhin kann die Servereinrichtung mit der Hashwertberechnungsfunktion bereitgestellt sein, damit die Überwachungseinrichtung 5 einen benötigten Hashwert von der Servereinrichtung beziehen kann. Gemäß der vorliegenden Ausführungsform wurde zwar das an dem Fahrzeug 1 montierte Kommunikationssystem beschrieben, das Kommunikationssystem ist jedoch nicht auf das an dem Fahrzeug 1 montierte beschränkt, sondern es kann ein an einem beweglichen Objekt wie etwa einem Flugzeug oder einem Wasserfahrzeug montiertes System sein, oder es kann in einer Fabrik, einem Büro, einer Schule oder dergleichen montiert sein und nicht in einem beweglichen Objekt.
-
Abgewandeltes Beispiel
-
In der Überwachungseinrichtung 5 gemäß der vorstehend beschriebenen Ausführungsform bestimmt das Übertragbarkeits-Bestimmungsteil 63, falls in einem Zeitraum vom geplanten Übertragungszeitpunkt bis zur Nachrichtenübertragung kein nachrichtenübertragungsfreier Zeitraum vorhanden ist, oder falls der nachrichtenübertragungsfreie Zeitraum zwar vorhanden ist, jedoch kürzer ist als eine vorbestimmte Länge, dass die Zielnachricht eine ordnungsgemäße Nachricht ist und erlaubt deren Übertragung. Die Überwachungseinrichtung 5 gemäß dem abgewandelten Beispiel ist dazu eingerichtet, die Bestimmungsbedingung des Übertragbarkeits-Bestimmungsteils 63 zu der vorstehend beschriebenen Ausgestaltung der Überwachungseinrichtung 5 hinzuzufügen.
-
Zum Beispiel ist es, falls zwei oder mehr Nachrichten, welche Ziele sein sollen, innerhalb des Übertragungserlaubniszeitraums ankommen, nicht möglich, zu bestimmen, welche der Nachrichten eine gültige Nachricht ist. Falls eine derartige Situation häufig auftritt, kann eine beliebige der Nachrichten möglicherweise ungültig sein.
-
Wenn bestimmt wird, dass zwei oder mehr Zielnachrichten innerhalb des Übertragungserlaubniszeitraums angekommen sind, erlaubt das Übertragbarkeits-Bestimmungsteil 63 in der Überwachungseinrichtung 5 gemäß dem abgewandelten Beispiel für alle Nachrichten die anschließende Nachrichtenübertragung nicht. Dies ermöglicht es der Überwachungseinrichtung 5 gemäß dem abgewandelten Beispiel, eine Übertragung einer Nachricht, welche ungültig sein kann, zu verhindern.
-
Die Überwachungseinrichtung 5 gemäß dem abgewandelten Beispiel kann zum Beispiel dazu eingerichtet sein, die Anzahl Ankünfte zweier oder mehrerer Zielnachrichten innerhalb des Übertragungserlaubniszeitraums zu zählen, und, wenn die Anzahl eine vorbestimmte Zahl übersteigt, die Übertragung von Nachrichten zu untersagen.
-
Bezugszeichenliste
-
- 1
- Fahrzeug
- 3
- ECU (Kommunikationseinrichtung)
- 5
- Überwachungseinrichtung (Kommunikationssteuereinrichtung)
- 31
- Verarbeitungseinheit (Hashwert-Übertragungsteil)
- 32
- ROM
- 32a
- Programm
- 32b
- Daten
- 33
- RAM
- 34
- CAN-Kommunikationseinheit (Arbitriermittel)
- 41
- Nachrichtenverarbeitungsteil (Nachrichtenübertragungsteil)
- 42
- Hashwert-Berechnungsteil
- 51
- Verarbeitungseinheit
- 52
- Speichereinheit
- 52a
- kopierte Daten
- 52b
- Zyklusinformationen
- 53
- CAN-Kommunikationseinheit (Nachrichtenerkennungsteil)
- 61
- Referenzzeitpunkt-Festlegungsteil (Hashwert-Anforderungsteil, Hashwert-Empfangsteil, Hashwert-Bestimmungsteil)
- 62
- Erlaubniszeitraum-Festlegungsteil
- 63
- Übertragbarkeits-Bestimmungsteil
- 64
- Verwerfen-Verarbeitungsteil