-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf ein Kommunikationssystem, bei dem mehrere Kommunikationsgeräte Nachrichten übertragen und empfangen, und auf eine Kommunikationsvorrichtung, die das System einrichtet.
-
Technischer Hintergrund
-
Herkömmlich wird weitgehend ein Kommunikationsprotokoll nach dem Controller-Area-Network (CAN) für die Kommunikation zwischen mehreren elektronischen Steuereinheiten (ECUs) verwendet, die in einem Fahrzeug angebracht sind. Ein Kommunikationssystem mit dem CAN-Kommunikationsprotokoll ist derart eingerichtet, dass mehrere ECUs an einen gemeinsamen CAN-Bus angeschlossen sind, und die Übertragung bzw. der Empfang von Nachrichten von einer ECU auf der Empfangsseite durchgeführt wird, die ein Signal erhält, das von einer ECU auf der Übertragungsseite an den CAN-Bus ausgegeben wird. Weiterhin wird, falls mehrere ECUs gleichzeitig Signale senden, die dann auf dem CAN-Bus miteinander kollidieren, eine Anpassungs-(Arbitrierungs-)Verarbeitung zwischen Kommunikationsvorrichtungen basierend auf CAN-IDs durchgeführt, die den Nachrichten hinzugefügt sind. Gemäß der Arbitrierungsverarbeitung wird eine Nachricht mit einer CAN-ID mit einer hohen Priorität zunächst übertragen, und damit wird die Übertragung der Nachricht mit einer CAN-ID mit einer niedrigen Priorität verzögert. Da die Arbitrierungsverarbeitung eine Verzögerung einer Nachricht verursachen kann, kann die ECU, die die Nachricht empfangen hat, nicht erfahren, wann diese Nachricht erzeugt wurde (oder den Zeitpunkt, zu dem der erste Versuch zur Übertragung der Nachricht unternommen wurde).
-
Das Patentdokument 1 schlägt ein verteiltes Steuersystem vor, das eingerichtet ist, eine Zeitsynchronisierungsnachricht zu übertragen, um anzuweisen, dass eine einen Aktuator antreibende elektronische Steuervorrichtung Sensorinformation eines Einlassventilhubsensors erhält, während eine einen Motor ansteuernde Steuervorrichtung gleichzeitig Sensorinformation von einem Einlassdrosselsensor erhält, wobei die den Aktuator antreibende Steuervorrichtung Sensorinformation eines Einlassventilhubsensors basierend auf der Zeitsteuerung erhält, die durch die Zeitsynchronisierungsnachricht vorgegeben ist, und die erhaltene Sensorinformation zusammen mit der Zeitangabe des Erhalts an die den Motor ansteuernde elektronische Steuervorrichtung überträgt.
-
Dokumente des Standes der Technik
-
Patentdokument
-
- Patentdokument 1: Offenlegungsschrift einer japanischen Patentanmeldung mit der Veröffentlichungsnummer 2006-316739
-
Kurze Beschreibung der Erfindung
-
Durch die Erfindung zu lösenden Aufgaben
-
Das verteilte Steuersystem gemäß dem Patentdokument 1 hat jedoch ein Problem der zusätzlichen Verwendung von begrenzten Nutzdaten von Nachrichten, da Zeitinformation an eine Nachricht zur Übertragung angehängt werden soll. Zur Implementierung des verteilten Steuersystems soll eine CAN-Steuereinheit oder dergleichen, die in der Kommunikationsvorrichtung enthalten ist, weiterhin eine Funktion zur Übertragung bzw. zum Empfangen einer Nachricht mit Zeitinformation sowohl auf der Sende- als auch auf der Empfangsseite der Nachricht aufweisen. In einigen Fällen ist es erforderlich, dass die CAN-Steuereinheit in jeder der Kommunikationsvorrichtungen, die ein einem Kommunikationssystem enthalten sind, eine derartige Funktion aufweist. Dies führt zu Problemen der deutlich erhöhten Kosten und geringer Durchführbarkeit für die Implementierung des verteilten Steuersystems gemäß dem Patentdokument 1 für das bestehende CAN-Kommunikationssystem.
-
Die vorliegende Erfindung wurde in dem Hinblick auf die oben beschriebenen Umstände entwickelt und zielt darauf ab, ein Kommunikationssystem und eine Kommunikationsvorrichtung bereitzustellen, die Verzögerungszeit oder einen Erzeugungszeitpunkt einer Nachricht schätzen können und eine Schätzfunktion kostengünstig implementieren können.
-
Mittel zur Lösung der Aufgaben
-
Bei einem Kommunikationssystem gemäß der vorliegenden Erfindung, das umfasst: eine Mehrzahl von Kommunikationsvorrichtungen, die über eine gemeinsame Kommunikationsleitung miteinander verbunden sind, und jeweils einen Nachrichtenerzeugungsteil, der eine Nachricht mit Information betreffend eine Priorität erzeugt, einen Nachrichtenübertragungsteil, der ein Signal in Übereinstimmung mit einer Nachricht, die durch den Nachrichtenerzeugungsteil erzeugt ist, an die Kommunikationsleitung ausgibt, um die Nachricht zu übertragen, und einen Nachrichtenempfangsteil enthalten, der ein Signal durch Abtasten aus einer Kommunikationsleitung empfängt, um eine Nachricht betreffend das Signal in Übereinstimmung mit der Information zu empfangen; und eine Arbitrierungseinrichtung zum Arbitrieren einer Übertragungsreihenfolge in Übereinstimmung mit einer Priorität der Nachricht, falls die Übertragung von Nachrichten durch die Kommunikationsvorrichtungen miteinander kollidiert, wobei die Vielzahl von Kommunikationsvorrichtungen eine Nachricht über eine gemeinsame Kommunikationsleitung aneinander überträgt bzw. voneinander empfängt, umfasst mindestens eine der Kommunikationsvorrichtungen: einen Feststellungsteil, der feststellt, ob eine von dem Nachrichtenempfangsteil empfangene Nachricht sequentiell mit einer anderen Nachricht übertragen wurde oder nicht; und einen Verzögerungszeitschätzteil, der, wenn der Feststellungsteil feststellt, dass die empfangenen Nachrichten sequentiell übertragen wurden, die Verzögerungszeit der empfangenen Nachricht schätzt, die durch die Arbitrierung der Arbitrierungseinrichtung in Übereinstimmung mit der Priorität einer oder mehrerer sequentieller Nachrichten verursacht ist, die der empfangenen Nachricht vorangehen.
-
Darüber hinaus ist der Verzögerungszeitschätzteil bei dem Kommunikationssystem gemäß der vorliegenden Erfindung eingerichtet, die Verzögerungszeit in Übereinstimmung mit einer Übertragungszeitspanne für eine andere Nachricht mit einer hohen Priorität zu schätzen, die der empfangenen Nachricht sequentiell vorangeht.
-
Darüber hinaus umfasst die mindestens eine Kommunikationsvorrichtung bei dem Kommunikationssystem gemäß der vorliegenden Erfindung einen Erzeugungszeitpunktschätzteil, der einen Zeitpunkt schätzt, zu dem die empfangene Nachricht durch den Nachrichtenerzeugungsteil erzeugt wird, basierend auf der Zeit, die durch den Verzögerungszeitschätzteil geschätzt wird.
-
Darüber hinaus schätzt der Erzeugungszeitpunktschätzteil bei dem Kommunikationssystem gemäß der vorliegenden Erfindung einen Zeitpunkt, zu dem eine Nachricht erzeugt wird, auf der Basis von: einer Verzögerungszeit von dem Zeitpunkt, zu dem eine Nachricht durch den Nachrichtenerzeugungsteil erzeugt wird, bis zu dem Zeitpunkt, zu dem die Nachricht durch den Nachrichtenübertragungsteil übertragen wird; einer Verzögerungszeit, die durch den Verzögerungszeitschätzteil geschätzt wird; eine Zeitspanne von Anfang bis Ende der Nachrichtenübertragung; und Verzögerungszeit von Abschluss der Nachrichtenübertragung durch eine Kommunikationsvorrichtung auf der Übertragungsseite bis Abschluss des Nachrichtenempfangs durch eine Kommunikationsvorrichtung auf der Empfangsseite.
-
Darüber hinaus, wenn ein Intervall zwischen einem Zeitpunkt, zu dem die Übertragung einer Nachricht abgeschlossen ist, und einem Zeitpunkt, zu dem die Übertragung einer nachfolgenden Nachricht gestartet wird, kleiner als eine vorbestimmte Zeitspanne ist, stellt der Feststellungsteil bei dem Kommunikationssystem gemäß der vorliegenden Erfindung fest, dass die beiden Nachrichten sequentiell übertragen wurden.
-
Darüber hinaus weist die mindestens eine Kommunikationsvorrichtung bei dem Kommunikationssystem gemäß der vorliegenden Erfindung für eine Nachricht, die von dem Sequentiellübertragung-Erfassungsteil als zumindest sequentiell übertragen erfasst wird, einen Verlaufsspeicherteil auf, der einen Verlauf der Nachrichtenübertragung einschließlich der Information betreffend einen Zeitpunkt, zu dem die Nachricht übertragen wurde, und betreffend eine Priorität der Nachricht speichert, und der Feststellungsteil ist eingerichtet, eine Feststellung basierend auf dem in dem Verlaufsspeicherteil gespeicherten Verlauf vorzunehmen.
-
Darüber hinaus, bei einer Kommunikationsvorrichtung gemäß der vorliegenden Erfindung, die mit einer anderen Vorrichtung über eine gemeinsame Kommunikationsleitung verbunden ist, die umfasst: einen Nachrichtenerzeugungsteil, der eine Nachricht mit Information betreffend eine Priorität erzeugt; einen Nachrichtenübertragungsteil, der ein Signal in Übereinstimmung mit einer Nachricht, die durch den Nachrichtenerzeugungsteil erzeugt ist, an die Kommunikationsleitung ausgibt, um die Nachricht zu übertragen; einen Nachrichtenempfangsteil, der ein Signal durch Abtasten aus der Kommunikationsleitung empfängt, um eine Nachricht betreffend das Signal in Übereinstimmung mit der Information zu empfangen; und eine Arbitrierungseinrichtung zum Arbitrieren einer Übertragungsreihenfolge in Übereinstimmung mit einer Priorität der Nachricht, falls die Übertragung von Nachrichten zwischen der Kommunikationsvorrichtung und der anderen Vorrichtung miteinander kollidiert, wobei die Kommunikationsvorrichtung, welche eine Nachricht an die andere Vorrichtung überträgt und eine Nachricht von der anderen Vorrichtung über eine gemeinsame Kommunikationsleitung empfängt, ferner umfasst: einen Feststellungsteil, der feststellt, ob eine von dem Nachrichtenempfangsteil empfangene Nachricht, sequentiell mit einer anderen Nachricht übertragen wurde oder nicht; und einen Verzögerungszeitschätzteil, der, wenn der Feststellungsteil feststellt, dass die empfangene Nachricht sequentiell übertragen wurde, die Verzögerungszeit der empfangenen Nachricht schätzt, die durch Arbitrierung der Arbitrierungseinrichtung in Übereinstimmung mit einer Priorität von einer oder mehreren sequentiellen Nachrichten verursacht wird, die der empfangenen Nachricht vorangehen.
-
Gemäß der vorliegenden Erfindung erzeugt und überträgt jede der Kommunikationsvorrichtungen, die in dem Kommunikationssystem enthalten sind, eine Nachricht mit Information betreffend eine Priorität (z.B. CAN-ID) an eine andere der Kommunikationsvorrichtungen, und empfängt ferner die Nachricht, die von der anderen der Kommunikationsvorrichtungen übertragen wird. Falls mehrere Kommunikationsvorrichtungen gleichzeitig Nachrichten übertragen und die Übertragungen von Nachrichten miteinander kollidiert, wird eine Anpassungs-(Arbitrierungs-)Verarbeitung in der Übertragungsreihenfolge in Übereinstimmung mit den Prioritäten der Nachrichten durchgeführt. Bei dem wie oben beschriebenen Kommunikationssystem führt mindestens eine der Kommunikationsvorrichtungen die Verarbeitung zur Schätzung der Verzögerungszeit einer Nachricht durch, wie es nachfolgend beschrieben wird.
-
Mindestens eine der Kommunikationsvorrichtungen erfasst eine sequentielle Übertragung von Nachrichten an eine Kommunikationsleitung und stellt fest, ob eine von der Kommunikationsvorrichtung selbst empfangene Nachricht sequentiell mit einer anderen Nachricht übertragen wurde oder nicht. Wenn die empfangene Nachricht sequentiell mit einer anderen Nachricht übertragen wurde, kann die empfangene Nachricht aufgrund einer Arbitrierungsverarbeitung verzögert werden. Die Kommunikationsvorrichtung prüft dann die Priorität einer oder mehrerer sequentieller Nachrichten, die der empfangenen Nachricht vorangehen, und schätzt die Verzögerungszeit der empfangenen Nachricht aufgrund der Arbitrierungsverarbeitung in Übereinstimmung mit der Priorität der jeweiligen Nachricht.
-
Eine solche Ausgestaltung der Schätzung der Verzögerungszeit einer Nachricht beseitigt die Notwendigkeit, dass die die Nachricht übertragende Kommunikationsvorrichtung irgendeine spezielle Verarbeitung durchführt, und somit kann eine solche Funktion nur an der Kommunikationsvorrichtung angebracht sein, die erforderlich ist, um die Verzögerungszeit von einer empfangenen Nachricht zu schätzen. Da die Funktionserweiterung für das herkömmliche Kommunikationssystem nur für eine erforderliche Kommunikationsvorrichtung durchgeführt werden kann, kann das vorliegende Kommunikationssystem kostengünstig implementiert werden.
-
Falls andere sequentielle Nachrichten, die der empfangenen Nachricht vorangehen, eine höhere Priorität als die der empfangenen Nachricht aufweisen, ist es möglich, dass die empfangene Nachricht aufgrund einer Kollision mit diesen anderen Nachrichten verzögert wird. Wenn andererseits die Prioritäten anderer Nachrichten niedriger sind als die Priorität der empfangenen Nachricht, wird die Übertragung der empfangenen Nachricht in der Arbitrierungsverarbeitung priorisiert, und somit wird die empfangene Nachricht nicht verzögert aufgrund einer Kollision mit anderen Nachrichten. Gemäß der vorliegenden Erfindung wird daher die Verzögerungszeit in Übereinstimmung mit einer Übertragungszeitspanne für andere sequentielle Nachrichten mit einer hohen Priorität geschätzt, die der empfangenen Nachricht vorangehen.
-
Dies ermöglicht es einer Kommunikationsvorrichtung zu schätzen, ob die empfangene Nachricht aufgrund einer Arbitrierungsverarbeitung verzögert wird oder nicht, und die Verzögerungszeit aufgrund einer Arbitrierungsverarbeitung zu schätzen.
-
Gemäß der vorliegenden Erfindung wird ein Zeitpunkt, zu dem die empfangene Nachricht durch eine Kommunikationseinrichtung erzeugt wurde, die die Nachricht übertragen hat, basierend auf einem geschätzten Ergebnis der Verzögerungszeit der empfangenen Nachricht geschätzt.
-
Ein Zeitpunkt der Nachrichtenerzeugung kann beispielsweise basierend auf der Verzögerungszeit von dem Zeitpunkt, zu dem die Nachricht erzeugt wird, bis zu dem Zeitpunkt, zu dem die Nachricht von der Kommunikationsvorrichtung auf der Übertragungsseite übertragen wird, der Verzögerungszeit aufgrund einer Arbitrierungsverarbeitung, einer Zeitspanne von dem Beginn bis zum Ende der Nachrichtenübertragung (d.h. die für die Übertragung der Nachricht erforderliche Zeit) und der Verzögerungszeit von dem Zeitpunkt, zu dem die Übertragung einer Nachricht durch die Kommunikationseinrichtung auf der Übertragungsseite abgeschlossen ist, bis zu dem Zeitpunkt, zu dem der Empfang der Nachricht durch die Kommunikationseinrichtung auf der Empfangsseite geschlossen ist, geschätzt werden. Es sei angemerkt, dass die Verzögerungszeit von Erzeugung bis Übertragung einer Nachricht oder die Verzögerungszeit von dem Zeitpunkt, zu dem die Übertragung einer Nachricht durch die Kommunikationsvorrichtung auf der Übertragungsseite abgeschlossen ist, bis zu dem Zeitpunkt, zu dem der Empfang der Nachricht durch die Kommunikationsvorrichtung auf der Empfangsseite abgeschlossen ist, für einen Entwurf oder einen experimentellen Zweck im Voraus bestimmt werden kann, und den Kommunikationsvorrichtungen als konstante Werte zur Verfügung gestellt werden kann.
-
Dies ermöglicht es der Kommunikationsvorrichtung, den Zeitpunkt der Nachrichtenerzeugung zu schätzen und den geschätzten Zeitpunkt zu verwenden, indem der geschätzte Zeitpunkt als ein synchronisierter Zeitpunkt mit einer anderen Kommunikationsvorrichtung eingestellt wird, oder indem eine arithmetische Operationsverarbeitung zur Steuerung unter Berücksichtigung der Differenz zwischen dem Zeitpunkt des Empfangs und dem geschätzten Zeitpunkt durchgeführt wird.
-
Gemäß der vorliegenden Erfindung stellt die Kommunikationsvorrichtung fest, ob mehrere Nachrichten sequentiell übertragen wurden oder nicht, wie nachfolgend beschrieben wird. Wenn das Intervall zwischen dem Zeitpunkt, zu dem die Übertragung einer Nachricht abgeschlossen ist, und dem Zeitpunkt, zu dem die Übertragung der nachfolgenden Nachricht gestartet wird, kleiner als eine vorbestimmte Zeitspanne ist, stellt die Kommunikationsvorrichtung fest, dass diese zwei Nachrichten sequentiell sind. Dies ermöglicht es der Kommunikationsvorrichtung, die sequentielle Übertragung von Nachrichten leicht zu erfassen.
-
Gemäß der vorliegenden Erfindung speichert die Kommunikationsvorrichtung für mindestens eine Nachricht, bei der erfasst wird, dass sie sequentiell mit einer anderen Nachricht übertragen wurde, Information betreffend einen Übertragungszeitpunkt und die Priorität der Nachricht. Dies ermöglicht es der Kommunikationsvorrichtung, in dem Falle des Empfangens einer Nachricht, eine Verarbeitung z.B. zur Feststellung, ob die empfangene Nachricht sequentiell mit einer anderen Nachricht übertragen wurde oder nicht, und zur Schätzung der Verzögerungszeit basierend auf der Priorität einer anderen Nachricht, die sequentiell mit der empfangenen Nachricht übertragenen wurde, durchzuführen.
-
Gemäß der vorliegenden Erfindung beseitigt die Ausgestaltung, bei der die aufgrund einer Arbitrierungsverarbeitung auftretende Verzögerungszeit einer Nachricht geschätzt wird, die Notwendigkeit einer Funktionserweiterung in allen Kommunikationsvorrichtungen, die in dem Kommunikationssystem enthalten sind, und erfordert eine Funktionserweiterung nur in der Kommunikationsvorrichtung, die eine Zeitschätzung benötigt, wodurch das Kommunikationssystem implementiert wird, das in der Lage ist, einen Zeitpunkt der Nachrichtenerzeugung kostengünstig zu schätzen.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt ein schematisches Diagramm, das eine Ausgestaltung eines Kommunikationssystems nach Ausführungsform 1 veranschaulicht.
-
2 zeigt ein Blockdiagramm, das eine Ausgestaltung einer ECU veranschaulicht.
-
3 zeigt ein schematisches Diagramm zum Veranschaulichen einer Verarbeitung zur Schätzung von Erzeugungszeitpunkt, die durch einen Erzeugungszeitpunktschätzteil in einer ECU durchgeführt wird.
-
4 zeigt ein schematisches Diagramm zum Veranschaulichen einer Verarbeitung zur Schätzung von Verzögerungszeit, die durch einen Verzögerungszeitschätzteil in einer ECU durchgeführt wird.
-
5 zeigt ein Ablaufdiagramm, das den Ablauf einer Verarbeitung zur Schätzung von Nachrichtenerzeugungszeit veranschaulicht, die durch eine ECU durchgeführt wird.
-
6 zeigt ein schematisches Diagramm, das eine Ausgestaltung eines Kommunikationssystems nach Ausführungsform 2 veranschaulicht.
-
7 zeigt ein Blockdiagramm, das eine Ausgestaltung einer Überwachungsvorrichtung veranschaulicht.
-
8 zeigt eine schematische Ansicht zum Veranschaulichen einer Verarbeitung zur Erfassung einer fehlerhaften Nachricht, das von der Überwachungsvorrichtung durchgeführt wird.
-
Ausführungsarten der Erfindung
-
Ausführungsform 1
-
1 zeigt ein schematisches Diagramm, das eine Ausgestaltung eines Kommunikationssystems nach Ausführungsform 1 veranschaulicht. Das Kommunikationssystem nach Ausführungsform 1 ist ausgestaltet durch das Umfassen einer oder mehrerer ECUs 2 und einer oder mehrerer ECUs 3, die an einem Fahrzeug 1 angebracht sind. Die ECUs 2 und 3 sind über eine gemeinsame Kommunikationsleitung, die in dem Fahrzeug 1 installiert ist, miteinander verbunden, und können Nachrichten aneinander übertragen und voneinander empfangen. Gemäß der vorliegenden Ausführungsform wird ein CAN-Bus als Kommunikationsleitung verwendet, und die ECUs 2 und 3 führen eine Kommunikation gemäß dem CAN-Protokoll durch. Die ECUs 2 und 3 können beispielsweise verschiedene elektronische Steuervorrichtungen wie eine Motor-ECU sein, die den Motor des Fahrzeugs 1 ansteuert, eine Karosserie-ECU, die eine elektrische Komponente einer Fahrzeugkarosserie steuert, eine ABS-ECU, die die Steuerung bezüglich eines Antiblockiersystems (ABS) ausführt, oder eine Airbag-ECU, die einen Airbag des Fahrzeugs 1 steuert.
-
Gemäß der vorliegenden Ausführungsform weisen die ECU 2 und die ECU 3 Unterschiede in den Funktionen mit Bezug auf die Kommunikation auf. Die ECU 2 führt eine CAN-Kommunikation wie herkömmlich aus. Im-Vergleich dazu weist die ECU 3 neben der herkömmlichen CAN-Kommunikation eine Funktion der Schätzung eines Zeitpunktes der Nachrichtenerzeugung für den Fall des Empfangens einer Nachricht auf. Während 1 ein Kommunikationssystem veranschaulicht, das eingerichtet ist, sieben ECUs 2 und eine ECU 3 zu umfassen, ist die dargestellte Anzahl von ECUs 2 und 3 lediglich ein Beispiel und nicht darauf beschränkt. Zum Beispiel können alle die in dem Kommunikationssystem enthaltenen ECUs die ECUs 3 sein. Das Kommunikationssystem benötigt mindestens eine ECU 3.
-
2 ist ein Blockdiagramm, das eine Ausgestaltung der ECU 3 veranschaulicht. In der 2 sind für die in dem Fahrzeug 1 enthaltene ECU 3 die Blöcke, die sich auf die Kommunikation und Schätzung für den Zeitpunkt der Nachrichtenerzeugung beziehen, entnommen und illustriert. Darüber hinaus hat die ECU 2 eine Ausgestaltung, die einer herkömmlichen ECU ähnlich ist, die eine CAN-Kommunikation vollzieht, und daher ist ein Blockdiagramm hiervon nicht dargestellt. Die ECU 3 gemäß der vorliegenden Ausführungsform ist eingerichtet, eine Verarbeitungseinheit 31, einen Nur-Lesespeicher (ROM) 32, einen Schreib-Lesespeicher (RAM) 33, eine CAN-Kommunikationseinheit 34 und so weiter zu umfassen. Die Verarbeitungseinheit 31 ist mit einer arithmetischen Prozessorvorrichtung wie einer zentralen Verarbeitungseinheit (CPU) oder einer Mikroverarbeitungseinheit (MPU) ausgebildet. Die Verarbeitungseinheit 31 liest ein in dem ROM 32 gespeichertes Programm 32a aus und führt es aus, um verschiedene Informationsverarbeitung, Steuerverarbeitung oder dergleichen auszuführen, die das Fahrzeug 1 betreffen.
-
Der ROM 32 ist mit einem nichtflüchtigen Speicherelement wie einem Flash-Speicher oder einem elektrisch löschbaren programmierbaren ROM (EEPROM) konfiguriert. Der ROM 32 speichert darin ein Programm 32a, das von der Verarbeitungseinheit 31 ausgeführt wird, und verschiedene Arten von Daten, die für die Verarbeitung erforderlich sind, die basierend auf dem Programm 32a durchgeführt wird. Gemäß der vorliegenden Ausführungsform wird eine Verzögerungszeitkonstante 32b, die zur Schätzung eines Zeitpunkts der Nachrichtenerzeugung verwendet wird, in dem ROM 32 gespeichert.
-
Der RAM 33 ist mit einem Daten-wiederbeschreibbaren Speicherelement wie einem statischen Schreib-Lesespeicher (SRAM) oder einem dynamischen Schreib-Lesespeicher (DRAM) ausgebildet. Der RAM 33 speichert verschiedene Arten von Daten, die durch die von der Verarbeitungseinheit 31 ausgeführte Verarbeitung erzeugt werden. Gemäß der vorliegenden Ausführungsform ist der RAM 33 mit einem Übertragungsverlaufsspeicherteil 33a versehen, der einen Verlauf von Nachrichten speichert, die auf dem CAN-Bus in dem Fahrzeug 1 übertragen wurden (gegebenenfalls einschließlich einer von ihr selbst übertragenen Nachricht und einer von einer anderen ECU 2 übertragenen Nachricht).
-
Die CAN-Kommunikationseinheit 34 führt eine Kommunikation mit den ECUs 2 über den CAN-Bus gemäß dem CAN-Kommunikationsprotokoll durch. Die CAN-Kommunikationseinheit 34 wandelt eine Information für die von der Verarbeitungseinheit 31 gesendete Übertragung in ein Signal gemäß dem CAN-Kommunikationsprotokoll um und gibt das umgewandelte Signal an den CAN-Bus aus, um eine Nachricht an die ECUs 2 zu senden. Die CAN-Kommunikationseinheit 34 erhält ein Signal, das von der ECU 2 ausgegeben wird, indem das Potential am CAN-Bus abgetastet wird, und empfängt eine Nachricht, indem das Signal in Übereinstimmung mit dem CAN-Kommunikationsprotokoll in binäre Informationen umgewandelt wird, um die empfangene Nachricht an die Verarbeitungseinheit 31 zu senden.
-
Wenn eine Kollision zwischen ihrer eigenen Nachrichtenübertragung und der Nachrichtenübertragung einer anderen ECU 2 auftritt, führt die CAN-Kommunikationseinheit 34 eine Verarbeitung zum Anpassen der Reihenfolge der Nachrichtenübertragung, d.h. eine Arbitrierungsverarbeitung, durch. Für eine Nachricht, die jeweils von der ECUs 2 und 3 übertragen wird, wird in dem Voraus eine ID gemäß der Art der Nachricht bestimmt. Die ID ist eine als numerischer Wert verarbeitete Information. Je kleiner der Wert ist, desto höher ist die Priorität der Nachrichtenübertragung. Bei dem Kommunikationssystem wird also, wenn die Übertragung mehrerer Nachrichten auf dem CAN-Bus miteinander kollidiert, die Übertragung einer Nachricht mit der höchsten Priorität durchgeführt und die Übertragung einer anderen Nachricht nach Abschluss dieser Nachrichtenübertragung durchgeführt. Da die von der CAN-Kommunikationseinheit 34 durchgeführte Arbitrierungsverarbeitung eine bekannte Technologie ist, wird hier die Beschreibung des detaillierten Verarbeitungsverfahrens hiervon nicht beschrieben.
-
Die CAN-Kommunikationseinheit 34 gemäß der vorliegenden Ausführungsform enthält einen Sequentiellübertragung-Erfassungsteil 34a, der eine sequentielle Übertragung von Nachrichten an den CAN-Bus erfasst. Der Sequentiellübertragung-Erfassungsteil 34a überwacht Nachrichten, die auf dem CAN-Bus übertragen werden, erhält eine Zeitspanne von dem Zeitpunkt, zu dem die Übertragung einer Nachricht abgeschlossen ist, bis zu dem Zeitpunkt, zu dem die Übertragung der nächsten Nachricht gestartet wird, und bestimmt, dass diese beiden Nachrichten sequentiell übertragen wurden, wenn die erhaltene Zeitspanne kleiner als eine vorgegebene Zeitspanne ist. Genauer gesagt detektiert der Sequentiellübertragung-Erfassungsteil 34a das Vorhandensein eines Zwischenrahmenraums (IFS), der aus zwei oder drei rezessiven Bits zwischen sieben rezessiven Bits am Ende des Rahmens (End of Frame, EOF) in der vorangehenden Nachricht und dem Anfang des Rahmens (Start of Frame, SOF) in der nachfolgenden Nachricht besteht, um die Übertragung von zwei sequentiellen Nachrichten zu erfassen. Falls der Sequentiellübertragung-Erfassungsteil 34a die Übertragung von sequentiellen Nachrichten erfasst, sendet die CAN-Kommunikationseinheit 34 eine Information, die sich auf die zwei sequentiellen Nachrichten beziehen, an die Verarbeitungseinheit 31.
-
Gemäß der vorliegenden Ausführungsform führt die Verarbeitungseinheit 31 in der ECU 3 das Programm 32a aus, um einen Verzögerungszeitschätzteil 41, einen Erzeugungszeitpunktschätzteil 42 und dergleichen als Softwarefunktionsblöcke zu implementieren. Es ist anzumerken, dass ein Teil oder die Gesamtheit des Verzögerungszeitschätzteils 41, des Erzeugungszeitpunktschätzteils 42 und dergleichen als Hardwarefunktionsblöcke implementiert werden kann. in dem Fall des Empfangs einer Nachricht, die von einer anderen ECU 2 über die CAN-Kommunikationseinheit 34 übertragen wurde, führt der Verzögerungszeitschätzteil 41 eine Verarbeitung zur Schätzung der Zeit durch, wodurch die Nachricht aufgrund einer Arbitrierungsverarbeitung verzögert wird. Hier führt der Verzögerungszeitschätzteil 41 eine Verarbeitung zur Schätzung basierend auf der Verlaufsinformation durch, die in dem Übertragungsverlaufsspeicherteil 33a in dem RAM 33 gespeichert ist. Der Erzeugungszeitpunktschätzteil 42 führt eine Verarbeitung zur Schätzung des Zeitpunkts durch, an dem die empfangene Nachricht an der ECU 2 erzeugt wird, von welcher die Nachricht übertragen wird, basierend auf der Verzögerungszeit, die durch den Verzögerungszeitschätzteil 41 und die Verzögerungszeitkonstante 32b, die in dem ROM 32 gespeichert ist, geschätzt wird.
-
<Verarbeitung zur Schätzung>
-
3 ist eine schematische Ansicht, die die Verarbeitung zur Schätzung eines Erzeugungszeitpunkts illustriert, der durch den Erzeugungszeitpunktschätzteil 42 der ECU 3 durchgeführt wird, die ein Zeitdiagramm für den Fall zeigt, indem beispielsweise eine der ECUs 2 eine Nachricht M überträgt und die ECU 3 die Nachricht M empfängt. Wenn infolge der von einer ECU 2a durchgeführten Verarbeitung eine Bedingung erfüllt ist, unter welcher eine Information an andere ECUs 2 und 3 übertragen werden soll, erzeugt die ECU 2 eine Nachricht M, die die zu übermittelnde Information, eine CAN-ID und so weiter enthält. In 3 wird der Zeitpunkt, zu dem die ECU 2 die Erzeugung der Nachricht M abgeschlossen, mit t1 bezeichnet. Nach der Erzeugung der Nachricht M wird in der ECU 2 die Nachricht M beispielsweise von der Verarbeitungseinheit an die CAN-Kommunikationseinheit gesendet, die die Ausgabe des anfänglichen Bits in der Nachricht M an den CAN-Bus startet. In 3 ist die Zeitspanne von dem Zeitpunkt t1, an dem die Nachricht M zu dem Zeitpunkt erzeugt wird, bis zu dem Zeitpunkt, zu dem die erste Ausgabe der Nachricht M an den CAN-Bus gestartet wird, d.h. dem Zeitpunkt t2, zu dem der Versuch der Übertragung der Nachricht M erfolgt, als übertragungsseitige interne Verzögerungszeit D1 dargestellt.
-
Falls eine der ECUs 2 versucht, die Nachricht M zu übertragen, während andere ECUs 2 und 3 versuchen, Nachrichten zu übertragen, kollidiert die Übertragung mehrerer Nachrichten miteinander, und es wird eine Arbitrierungsverarbeitung unter den ECUs 2 und 3 durchgeführt. Als Ergebnis der Arbitrierungsverarbeitung wird zunächst eine Nachricht mit hoher Priorität (Nachricht mit einem kleinen numerischen Wert von CAN-ID) übertragen, und es tritt eine Verzögerung bei der Übertragung einer Nachricht mit niedriger Priorität auf. In 3 ist eine Zeitspanne von einem Zeitpunkt t2, zu dem die Übertragung der Nachricht M zum ersten Mal versucht wird, bis zu einem Zeitpunkt t3, zu dem die Übertragung der Nachricht M tatsächlich gestartet wird, durch eine Arbitrierungsverzögerungszeit D2 dargestellt. Wenn keine Kollision bei der Übertragung von Nachrichten auftritt, sind t2 = t3 und D2 = 0 erfüllt.
-
Die ECU 2, die die Übertragung der Nachricht M gestartet hat, schließt die Übertragung der Nachricht M durch Ausgabe von Signalen, die allen Bits in der Nachricht M entsprechen, an den CAN-Bus ab. In 3 ist eine Zeitspanne, während der eine ECU 2 eine Nachricht überträgt, durch eine Nachrichtenübertragungszeit D3 dargestellt, während der Zeitpunkt, zu dem die Übertragung der Nachricht M abgeschlossen ist, durch t4 dargestellt ist.
-
Die von der ECU 2 übertragene Nachricht M wird von den ECUs 2 und 3 empfangen, die die Nachricht M benötigen. Die CAN-Kommunikationseinheit 34 der ECU 3 kann alle Bits in der Nachricht M empfangen, die von der ECU 2 zum Zeitpunkt t4 übertragen wird, indem der Signalpegel des CAN-Busses abgetastet wird. Die CAN-Kommunikationseinheit 34 sendet die empfangene Nachricht M an die Verarbeitungseinheit 31, die die Verarbeitung des Empfangs der Nachricht M durch die ECU 3 durchführt. In 3 ist eine Zeitspanne von dem Zeitpunkt t4, zu dem die Übertragung der Nachricht M durch die ECU 2 abgeschlossen ist, bis zu dem Zeitpunkt, zu dem der Empfang der Nachricht M durch die ECU 3 abgeschlossen ist, durch empfangsseitige interne Verzögerungszeit D4 dargestellt.
-
Die ECU 3, die die Nachricht M von der ECU 2 empfangen hat, kann den Zeitpunkt t5 erkennen, sobald der Empfang der Nachricht M abgeschlossen ist. Der Erzeugungszeitpunktschätzteil 42 der ECU 3 führt eine Verarbeitung zur Schätzung des Zeitpunkts t1 der Nachrichtenerzeugung durch Zurückrechnen von dem Zeitpunkt t5 durch, zu dem der Empfang der Nachricht abgeschlossen ist. Genauer gesagt subtrahiert der Erzeugungszeitpunktschätzteil 42 vier Abschnitte der Verzögerungszeit D1 bis D4 von dem Zeitpunkt t5, an dem der Empfang der Nachricht abgeschlossen ist, um den Zeitpunkt t1 der Nachrichtenerzeugung zu schätzen.
-
Die übertragungsseitige interne Verzögerungszeit D1, die von der ECU 2 auf der Übertragungsseite verursacht wird, entspricht einer Zeitspanne, die in Abhängigkeit von der Gerätekonfiguration der ECU 2 bestimmt wird. Somit wird ein theoretischer Wert, ein Designwert oder dergleichen der Verzögerungszeit D1 berechnet, beispielsweise in der Designphase der ECU 2, oder die Verzögerungszeit D1 wird beimtatsächlichen Betrieb der ECU 2 gemessen, und der theoretische Wert, der Messwert oder dergleichen der übertragungsseitigen internen Verzögerungszeit D1 wird in dem ROM 32 als die Verzögerungszeitkonstante 32b gespeichert. Die zu speichernde übertragungsseitige interne Verzögerungszeit D1 kann ein gemeinsamer Wert für alle ECUs 2 oder ein individueller Wert für jede der ECUs 2 sein. Der Erzeugungszeitpunktschätzteil 42 kann die Verzögerungszeitkonstante 32b aus dem ROM 32 auslesen, um die übertragungsseitige interne Verzögerungszeit D1 zu erhalten.
-
Die Arbitrierungsverzögerungszeit D2 ist eine Zeitspanne, die sich in Übereinstimmung mit der Anzahl der kollidierten Nachrichten bei der Übertragung und den Prioritäten der kollidierten Nachrichten wesentlich ändert. Somit führt die ECU 3 Verarbeitung zur Schätzung der Arbitrierungsverzögerungszeit D2 an dem Verzögerungszeitschätzteil 41 mit Bezug auf den Verlauf der übertragenen Nachrichten durch. Die Verarbeitung zur Schätzung durch den Verzögerungszeitschätzteil 41 wird später detailliert beschrieben.
-
Die Nachrichtenübertragungszeit D3 ist eine Zeitspanne, die einzeln anhand der Anzahl von Bits in der empfangenen Nachricht M bestimmt wird. Der Erzeugungszeitpunktschätzteil 42 erhält die Nachrichtenübertragungszeit D3 in Übereinstimmung mit der Anzahl von Bits in der empfangenen Nachricht. Wenn eine zwischen den ECUs 2 und 3 übertragene und empfangene Nachricht eine feste Länge in dem System hat, kann der Erzeugungszeitpunktschätzteil 42 die Nachrichtenübertragungszeit D3 als einen festen Wert speichern. Wenn ferner die ECU 3 eingerichtet ist, die Verzögerungszeit D1 bis D4 als die Anzahl von Bits, und nicht als die tatsächliche Zeit, zu behandeln, entspricht die Nachrichtenübertragungszeit D3 der Anzahl von Bits in der empfangenen Nachricht M.
-
Die empfangsseitige interne Verzögerungszeit D4, die durch die ECU 3 auf der Empfangsseite verursacht wird, ist eine Zeitspanne, die in Abhängigkeit von der Gerätekonfiguration der ECU 3 bestimmt wird. Somit wird, wie bei der übertragungsseitigen internen Verzögerungszeit D1, ein theoretischer Wert, ein Designwert oder dergleichen der Verzögerungszeit D4 beispielsweise bei der Designphase oder dergleichen der ECU 3 berechnet, oder die Verzögerungszeit D4 wird in dem tatsächlichen Betrieb der ECU 3 gemessen, und der theoretische Wert, der gemessene Wert oder dergleichen der übertragungsseitigen internen Verzögerungszeit D4 wird in dem ROM 32 als die Verzögerungszeitkonstante 32b gespeichert. Der Erzeugungszeitpunktschätzteil 42 kann die Verzögerungszeitkonstante 32b aus dem ROM 32 auslesen, um die empfangsseitige interne Verzögerungszeit D4 zu erhalten. Falls die Verarbeitungseinheit 31 den Zeitpunkt erhalten kann, an dem die Nachricht M aus der CAN-Kommunikationseinheit 34 empfangen wird (d.h. den Zeitpunkt t4, zu dem die Übertragung der Nachricht abgeschlossen ist), kann der Erzeugungszeitpunktschätzteil 42 den Zeitpunkt t1 der Nachrichtenerzeugung durch Zurückrechnen von dem Zeitpunkt t4 schätzen, zu dem die Übertragung der Nachricht abgeschlossen ist, ohne die empfangsseitige interne Verzögerungszeit D4 zu verwenden.
-
Im Vergleich zu der Arbitrierungsverzögerungszeit D2 und der Nachrichtenübertragungszeit D3 haben die übertragungsseitige interne Verzögerungszeit D1 und die empfangsseitige interne Verzögerungszeit D4 sehr kleine Werte. Dementsprechend kann der Erzeugungszeitpunktschätzteil 42 eingerichtet sein, den Nachrichtenerzeugungszeitpunkt t1 (= t2) abzuschätzen, wobei angenommen wird, dass D1 = 0 und D4 = 0 sind.
-
4 ist ein schematisches Diagramm zur Veranschaulichung der Verarbeitung zur Schätzung der Verzögerungszeit, die durch den Verzögerungszeitschätzteil 41 in der ECU 3 durchgeführt wird, das drei Muster von Beispielen von auf den CAN-Bus übertragenen Nachrichten zeigt. Die rechteckigen Bereiche, die in 4 dargestellt sind, entsprechen Nachrichten, und numerische Werte, die in den rechteckigen Bereichen angegeben sind, entsprechen den CAN-IDs. Weiterhin empfängt die ECU 3 eine schraffierte Nachricht mit der CAN-ID von 6, und der Verzögerungszeitschätzteil 41 schätzt die Verzögerungszeit D2, die aufgrund einer Arbitrierung für diese Nachricht auftritt.
-
Die CAN-Kommunikationseinheit 34 der ECU 3 erkennt die Übertragung von sequentiellen Nachrichten an den CAN-Bus durch den Sequentiellübertragung-Erfassungsteil 34a. Wenn eine Zeitspanne von dem Zeitpunkt, zu dem die Übertragung einer Nachricht abgeschlossen ist, bis zu dem Zeitpunkt, zu dem die Übertragung der nächsten Nachricht gestartet wird, kleiner als eine vorbestimmte Zeitspanne ist, bestimmt der Sequentiellübertragung-Erfassungsteil 34a, dass diese zwei Nachrichten sequentiell übertragen wurden. Falls der Sequentiellübertragung-Erfassungsteil 34a die Übertragung von sequentiellen Nachrichten erfasst, benachrichtigt der Sequentiellübertragung-Erfassungsteil 34a die Verarbeitungseinheit 31 von Information, die sich auf die sequentiellen Nachrichten bezieht. Hierbei benachrichtigt der Sequentiellübertragung-Erfassungsteil 34a die Verarbeitungseinheit 31 über die Information betreffend einen Zeitpunkt, zu dem die Übertragung der sequentiellen Nachrichten gestartet wurde, einen Zeitpunkt, zu dem die Übertragung der sequentiellen Nachrichten abgeschlossen ist (oder die Länge der Nachricht), CAN-IDs und so weiter. Die Verarbeitungseinheit 31 speichert die benachrichtigte Information in einem Übertragungsverlaufsspeicherteil 33a des RAMs 33. Die in dem Übertragungsverlaufsspeicherteil 33a gespeicherte Information kann gelöscht werden, wenn beispielsweise eine vorbestimmte Zeit verstrichen ist.
-
Falls eine Nachricht von der ECU 2 empfangen wird, bestimmt der Verzögerungszeitschätzteil 41 der ECU 3, ob eine andere Nachricht vorhanden ist oder nicht, die sequentiell der empfangenen Nachricht vorangegangen ist, indem auf den Verlauf Bezug genommen wird, der in dem Übertragungsverlaufsspeicherteil 33a gespeichert ist. Wenn keine andere sequentiell vorangehende Nachricht vorhanden ist, stellt der Verzögerungszeitschätzteil 41 fest, dass die Arbitrierungsverzögerungszeit D2 gleich 0 ist. Wenn irgendeine andere sequentiell vorangehende Nachricht oder Nachrichten vorhanden sind, prüft der Verzögerungszeitschätzteil 41 die CAN-ID(s) von dieser einen oder diesen mehreren anderen Nachrichten und vergleicht sie mit der CAN-ID der empfangenen Nachricht. Der Verzögerungszeitschätzteil 41 sucht nach kontinuierlichen Nachrichten mit hohen Prioritäten, die der empfangenen Nachricht sequentiell vorangehen, erhält einen Zeitpunkt, zu dem die Übertragung der ersten übertragenen Nachricht unter den Nachrichten gestartet wurde, und schätzt, dass eine Zeitspanne von dem Zeitpunkt, zu dem die Übertragung der ersten Nachricht gestartet wurde, bis zu dem Zeitpunkt, zu dem die Übertragung der empfangenen Nachricht gestartet wurde, die der Arbitrierungsverzögerungszeit D2 entspricht.
-
In dem in dem oberen Teil der 4 gezeigten Beispiel werden beispielsweise vier Nachrichten mit den CAN-IDs 2, 3, 1 und 6 in dieser Reihenfolge übertragen, und die Nachricht mit der CAN-ID von 6 wird von der ECU 3 empfangen. Da die drei Nachrichten, die vor der empfangenen Nachricht übertragen wurden, allesamt hohe Prioritäten besitzen, erhält der Verzögerungszeitschätzteil 41 in der ECU 3 aus einem Verlauf einen Zeitpunkt, zu dem die Nachricht mit der CAN-ID von 2, welche am frühesten von den drei Nachrichten übertragen wurde. Der Verzögerungszeitschätzteil 41 schätzt, dass eine Zeitspanne von dem Zeitpunkt, zu dem die Übertragung der Nachricht mit der CAN-ID von 2 gestartet ist, bis zu dem Zeitpunkt, zu dem die Übertragung der empfangenen Nachricht mit der CAN-ID von 6 gestartet ist, der Arbitrierungsverzögerungszeit D2 entspricht.
-
In dem in dem mittleren Teil der 4 gezeigten Beispiel werden beispielsweise vier Nachrichten mit den CAN-IDs von 8, 2, 1 und 6 in dieser Reihenfolge übertragen und die Meldung mit der CAN-ID von 6 wird von der ECU 3 empfangen. Der Verzögerungszeitschätzteil 41 in der ECU 3 stellt fest, dass von den drei Nachrichten, die vor der empfangenen Nachricht übertragen wurden, zwei Nachrichten mit den CAN-IDs von 2, 1 Nachrichten mit hohen Prioritäten sind, die kontinuierlich ohne Unterbrechungen vor der empfangenen Nachricht sind. Der Verzögerungszeitschätzteil 41 erhält aus dem Verlauf einen Zeitpunkt, zu dem die Übertragung der Nachricht mit der CAN-ID von 2, die am frühesten dieser beiden Nachrichten übertragen wurde, gestartet wurde. Der Verzögerungszeitschätzteil 41 schätzt, dass eine Zeitspanne von dem Zeitpunkt, zu dem die Übertragung der Nachricht mit der CAN-ID von 2 gestartet wurde, bis zu dem Zeitpunkt, zu dem die Übertragung der empfangenen Nachricht mit der CAN-ID von 6 gestartet wurde, der Arbitrierungsverzögerungszeit D2 entspricht.
-
In dem in dem unteren Teil der 4 gezeigten Beispiel werden beispielsweise vier Nachrichten mit den CAN-IDs von 2, 8, 1 und 6 in dieser Reihenfolge übertragen und die Nachricht mit der CAN-ID von 6 wird von der ECU 3 empfangen. Der Verzögerungszeitschätzteil 41 in der ECU 3 stellt fest, dass von den drei Nachrichten, die vor der empfangenen Nachricht übertragen wurden, die Nachricht mit der CAN-ID von 1 die einzige Nachricht mit einer hohen Priorität ist, die der empfangenen Nachricht ohne Unterbrechungen sequentiell vorangeht. Der Verzögerungszeitschätzteil 41 schätzt, dass eine Zeitperiode von dem Zeitpunkt, zu dem die Übertragung der Nachricht mit der CAN-ID von 1 gestartet wurde, bis zu dem Zeitpunkt, zu dem die Übertragung der empfangenen Nachricht mit der CAN-ID von 6 gestartet wurde, der Arbitrierungsverzögerungszeit D2 entspricht.
-
Es wird angemerkt, dass die durch den Verzögerungszeitschätzteil 41 geschätzte Arbitrierungsverzögerungszeit D2 lediglich ein geschätzter Wert ist und möglicherweise nicht mit der tatsächlichen Verzögerungszeit übereinstimmt. Zum Beispiel, in dem oberen Teil der 4, falls die Nachricht mit der CAN-ID von 2 gleichzeitig mit der Nachricht mit der CAN-ID von 6, die zu schätzen ist, übertragen wird und die Arbitrierungsverarbeitung durchgeführt wird, stimmt die geschätzte Arbitrierungsverzögerungszeit D2 mit der tatsächlichen Verzögerungszeit überein. Dagegen ist die tatsächliche Verzögerungszeit kürzer als die geschätzte Arbitrierungsverzögerungszeit D2, wenn zum Beispiel in dem oberen Teil der 4 die Nachricht mit der CAN-ID von 6, die zu schätzen ist, zu dem Zeitpunkt der Übertragung der Nachricht mit der CAN-ID von 2 nicht übertragen wurde, und die Nachricht mit der CAN-ID von 6, die zu schätzen ist, zum ersten Mal gleichzeitig mit der nachfolgenden Nachricht mit der CAN-ID von 3 oder 1 übertragen wird. Zum Beispiel ist es möglich, dass die Nachricht mit der CAN-ID von 6, die zu schätzen ist, zum ersten Mal unmittelbar nach dem Abschluss der Übertragung der Nachricht mit der CAN-ID von 1 übertragen wurde. Das heißt, die Arbitrierungsverzögerungszeit D2, die durch den Verzögerungszeitschätzteil 41 geschätzt wird, entspricht einer maximalen Verzögerungszeit für die empfangene Nachricht, und die tatsächliche Verzögerungszeit liegt in dem Bereich zwischen 0 und D2.
-
Basierend auf der durch den Verzögerungszeitschätzungsteil 41 geschätzten Arbitrierungsverzögerungszeit D2, der übertragungsseitigen internen Verzögerungszeit D1 sowie der empfangsseitigen internen Empfangszeit D4, die in dem ROM 32 als Verzögerungszeitkonstante 32b gespeichert ist, und der Nachrichtenübertragungszeit D3 der empfangenen Nachricht kann der Erzeugungszeitpunktschätzteil 42 den Erzeugungszeitpunkt t1 für die empfangene Nachricht schätzen.
-
5 ist ein Ablaufdiagramm, das das Verfahren einer Verarbeitung zur Schätzung von Nachrichtenerzeugungszeit veranschaulicht, die durch die ECU 3 durchgeführt wird. Die Verarbeitungseinheit 31 der ECU 3 stellt fest, ob eine gewünschte Nachricht von einer ECU 2 an der CAN-Kommunikationseinheit 34 empfangen wurde oder nicht (Schritt S1). Wenn die Nachricht nicht empfangen wurde (S1: NEIN), wartet die Verarbeitungseinheit 31, bis die Nachricht empfangen wird. Wenn die gewünschte Nachricht empfangen wurde (S1: JA), greift der Verzögerungszeitschätzteil 41 der Verarbeitungseinheit 31 auf einen Übertragungsverlauf zu, der in dem Übertragungsverlaufsspeicherteil 33a des RAM 33 gespeichert ist (Schritt S2). Der Verzögerungszeitschätzteil 41 stellt basierend auf dem gespeicherten Übertragungsverlauf fest, ob eine andere Nachricht vorhanden ist, die der empfangenen Nachricht, die bei Schritt S1 empfangen wurde, sequentiell vorangehend übertragen wurde (Schritt S3). Wenn keine andere sequentiell vorangehende Nachricht vorhanden ist (S3: NEIN), stellt der Verzögerungszeitschätzteil 41 fest, dass die Arbitrierungsverzögerungszeit D2 Null ist (Schritt S8) und geht zu Schritt S9 über.
-
Falls eine andere Nachricht vorhanden ist, die der empfangenen Nachricht sequentiell vorangehend übertragen wurde, (S3: JA), überprüft der Verzögerungszeitschätzteil 41 die Priorität dieser anderen vorangehenden Nachricht basierend auf der Verlaufsinformation, die in dem Übertragungsverlaufsspeicherteil 33a gespeichert ist (Schritt S4). Der Verzögerungszeitschätzteil 41 stellt fest, ob eine Nachricht mit einer höheren Priorität als die der empfangenen Nachricht in einer oder mehreren anderen Nachrichten vorhanden ist oder nicht, die der empfangenen Nachricht sequentiell vorangehen (Schritt S5). Wenn keine andere sequentiell vorhergehende Nachricht mit einer höheren Priorität vorhanden ist (S5: NEIN), stellt der Verzögerungszeitschätzteil 41 fest, dass die Arbitrierungsverzögerungszeit D2 Null ist (Schritt S8) und geht zu Schritt S9 über.
-
Wenn eine Nachricht mit einer höheren Priorität vorhanden ist (S5: JA), erhält der Verzögerungszeitschätzteil 41 aus dem in dem Übertragungsverlaufsspeicherteil 33a gespeicherten Übertragungsverlauf den Zeitpunkt, zu dem die Übertragung der frühesten Nachricht (d.h. die Nachricht mit dem frühesten Startzeitpunkt der Übertragung) unter den Nachrichten mit hohen Prioritäten, die ohne Unterbrechungen sequentiell vor der empfangenen Nachricht übertragen wurden, gestartet wurde (Schritt S6). Der Verzögerungszeitschätzteil 41 berechnet die Arbitrierungsverzögerungszeit D2 basierend auf der Differenz zwischen dem Zeitpunkt, zu dem die früheste Nachricht mit einer hohen Priorität bei Schritt S6 erhalten wurde, und dem Zeitpunkt, zu dem die Übertragung der empfangenen Nachricht gestartet wird, die bei Schritt S1 empfangen wird (Schritt S7) und geht zu Schritt S9 über.
-
Anschließend erhält der Erzeugungszeitpunktschätzteil 42 der Verarbeitungseinheit 31 die übertragungsseitige interne Verzögerungszeit D1 und die empfangsseitige interne Verzögerungszeit D4, die in dem ROM 32 als die Verzögerungszeitkonstante 32b gespeichert ist (Schritt S9), und erhält auch die Übertragungszeit D3 der empfangenen Nachricht, die bei Schritt S1 empfangen wird (Schritt S10). Der Erzeugungszeitpunktschätzteil 42 berechnet den Erzeugungszeitpunkt t1 der empfangenen Nachricht basierend auf der übertragungsseitigen internen Verzögerungszeit D1, der Arbitrierungsverzögerungszeit D2, der Nachrichtenübertragungszeit D3, der empfangsseitigen internen Empfangszeit D4 und dem Zeitpunkt t4, zu dem der Empfang der empfangenen Nachricht abgeschlossen ist (Schritt S11) und beendet die Verarbeitung.
-
Das Kommunikationssystem gemäß der vorliegenden Ausführungsform, das wie oben beschrieben ausgestaltet ist, umfasst eine Funktion mindestens einer ECU 3, die die Verzögerungszeit D2 der Nachricht abschätzt, die aufgrund einer Arbitrierungsverarbeitung auftritt. Die ECU 3 erfasst eine sequentielle Übertragung von Nachrichten durch die ECU 2 an den CAN-Bus mittels der Sequentiellübertragung-Erfassungseinheit 34a der CAN-Kommunikationseinheit 34 und stellt mittels des Verzögerungszeitschätzteils 41 fest, ob die von ihr empfangene Nachricht sequentiell mit einer anderen Nachricht übertragen wurde oder nicht. Wenn die empfangene Nachricht sequentiell mit einer anderen Nachricht übertragen wurde, kann die empfangene Nachricht aufgrund der Arbitrierungsverarbeitung verzögert werden, und somit überprüft der Verzögerungszeitschätzteil 41 die Priorität (CAN-IDs) einer oder mehrerer anderer Nachrichten, die der empfangenen Nachricht sequentiell vorangehen und schätzt die Zeitspanne, um die die empfangene Nachricht aufgrund der Arbitrierungsverarbeitung in Übereinstimmung mit der Priorität der jeweiligen Nachricht verzögert wird.
-
Eine solche Ausgestaltung der Schätzung der Verzögerungszeit einer empfangenen Nachricht, die aufgrund einer Arbitrierungsverarbeitung auftritt, hebt die Notwendigkeit einer speziellen Verarbeitung auf, die von der ECU 2 auf der Nachrichtenübertragungsseite durchgeführt wird, so dass diese Funktion nur in der ECU 3 implementiert sein kann, die für die Schätzung der Verzögerungszeit der empfangenen Nachricht erforderlich ist. Da eine Funktionserweiterung nur für eine Kommunikationsvorrichtung in dem herkömmlichen Kommunikationssystem durchgeführt, das eine Kommunikation basierend auf dem CAN-Protokoll durchführt, erforderlich ist, kann das Kommunikationssystem gemäß der vorliegenden Ausführungsform kostengünstig implementiert werden.
-
Falls andere Nachrichten, die der empfangenen Nachricht sequentiell vorangehen, höhere Prioritäten als die Priorität der empfangenen Nachricht haben, ist es möglich, dass die empfangene Nachricht aufgrund einer Kollision mit diesen anderen Nachrichten verzögert wird. Wenn andererseits die Prioritäten anderer Nachrichten niedriger sind als die Priorität der empfangenen Nachricht, wird die Übertragung der empfangenen Nachricht in der Arbitrierungsverarbeitung priorisiert und somit wird die empfangene Nachricht aufgrund einer Kollision mit anderen Nachrichten nicht verzögert. Der Verzögerungszeitschätzteil 41 sucht nach Nachrichten mit hohen Prioritäten, die der empfangenen Nachricht ohne Unterbrechungen sequentiell vorausgehen, und schätzt die Verzögerungszeit in Übereinstimmung mit dem Zeitpunkt, zu dem die Übertragung der frühesten der solchen Nachrichten mit einer hohen Priorität gestartet wurde. Dementsprechend kann die Zeitspanne geschätzt werden, um welche die empfangene Nachricht aufgrund einer Arbitrierungsverarbeitung mit einer anderen Nachricht mit einer hohen Priorität verzögert wird.
-
Der Erzeugungszeitpunktschätzteil 42 der ECU 3 schätzt den Zeitpunkt, zu dem die empfangene Nachricht von der ECU 2 erzeugt wurde, von der die Nachricht übertragen wird, basierend auf der Verzögerungszeit, die durch den Verzögerungszeitschätzteil 41 geschätzt wird. Der Erzeugungszeitpunktschätzungsteil 42 schätzt einen Erzeugungszeitpunkt t1 der Nachricht basierend auf der Verzögerungszeit D1 von einer Erzeugung bis zur Übertragung einer Nachricht durch die ECU 2 auf der Übertragungsseite, wobei die Verzögerungszeit D2 aufgrund der geschätzten Arbitrierungsverarbeitung, der Übertragungszeit D3 der Nachricht und der Verzögerungszeit D4 vom Abschluss der Nachrichtenübertragung durch die ECU 2 auf der Übertragungsseite bis Abschluss des Nachrichtenempfangs durch die ECU 3 auf der Empfangsseite auftritt. Die übertragungsseitige interne Verzögerungszeit D1 und die empfangsseitige interne Verzögerungszeit D4 werden als ein Designwert, ein Messwert oder dergleichen in dem ROM 32 der ECU 3 als eine Verzögerungszeitkonstante 32b gespeichert.
-
Dies ermöglicht es der ECU 3, einen Zeitpunkt zu schätzen, zu dem die empfangene Nachricht erzeugt wurde. Beispielsweise überträgt die ECU 2 einen erfassten Wert, der durch einen Sensor wie einen Fahrzeuggeschwindigkeitssensor oder einen Temperatursensor erhalten wird, und falls die ECU 3 in einem System vorliegt, das eine Rückkopplungssteuerung oder dergleichen in Übereinstimmung mit einem erfassten Wert ausführt, der in der Nachricht enthalten ist, schätzt die ECU 3 die Verzögerungszeit für die Nachricht und den Erzeugungszeitpunkt der Nachricht, um sich eine Steuerung mit höherer Genauigkeit zu ermöglichen. Falls die ECU 3 beispielsweise eine Synchronverarbeitung in Übereinstimmung mit einer Nachricht zum Beispiel von der ECU 2 ausführt, kann die ECU 3 die Verzögerungszeit für die Nachricht schätzen, um eine Synchronisierung mit höherer Genauigkeit implementieren.
-
Wenn das Intervall zwischen dem Zeitpunkt, zu dem die Übertragung einer Nachricht abgeschlossen ist, und dem Zeitpunkt, zu dem die Übertragung der nachfolgenden Nachricht gestartet wird, kleiner als eine vorbestimmte Zeitspanne ist (z.B. eine vorbestimmte Zeitspanne in Übereinstimmung mit zwei Bits oder drei Bits in IFS), stellt der Kommunikationsübertragungserfassungsteil 34a fest, dass diese zwei Nachrichten sequentiell miteinander sind. Die ECU 3 speichert Information wie einen Zeitpunkt, zu dem die Übertragung gestartet wurde, und Prioritäten der Nachrichten, die durch den Sequentiellübertragung-Erfassungsteil 24a als sequentiell festgestellt werden, in dem Übertragungsverlaufsspeicherteil 33a des RAMs 33. Dies ermöglicht es dem Verzögerungszeitschätzteil 41, eine Verarbeitung zum Beispiel zur Feststellung, ob die empfangene Nachricht sequentiell mit einer anderen Nachricht übertragen wurde oder nicht, und zur Schätzung der Verzögerungszeit basierend auf der Priorität einer anderen Nachricht, die sequentiell mit der empfangenen Nachricht übertragen wurde, durchzuführen.
-
Während die vorliegende Ausführungsform eine derartige Ausgestaltung hat, dass die Verarbeitung, wie beispielsweise die Verarbeitung zur Schätzung der Verzögerungszeit durch den Verzögerungszeitschätzteil 41 und die Verarbeitung zur Schätzung des Erzeugungszeitpunkts durch den Erzeugungszeitpunktschätzteil 42, durch die Verarbeitungseinheit 31 (so genannte CPU oder dergleichen) durchgeführt wird, ist dies nicht darauf beschränkt, sondern es können solche Verarbeitungsverfahren auch durch die CAN-Kommunikationseinheit 53 (so genannte CAN-Steuereinheit) durchgeführt werden. Weiterhin kann die Verarbeitung zum Erfassen der sequentiellen Übertragung von Nachrichten mittels des Sequentiellübertragung-Erfassungsteils 34a durch die Verarbeitungseinheit 31, und nicht durch den CAN-Kommunikationsteil 34, durchgeführt werden.
-
Obwohl darüber hinaus die ECU 3 eingerichtet ist, eine Information über die Nachrichten, die von dem sequentiellen Übertragungserfassungsteil 34a als sequentiell festgestellt sind, in dem Übertragungsverlaufsspeicherteil 33a zu speichern, ist dies nicht darauf beschränkt, sondern es kann beispielsweise der Verlauf aller Nachrichten, die auf dem CAN-Bus übertragen werden, gespeichert werden. In diesem Fall ist es nicht erforderlich, dass die CAN-Kommunikationseinheit 34 eine Verarbeitung mittels des Sequentiellübertragung-Erfassungsteils 34a durchführt, sondern es kann festgestellt werden, ob die in dem Übertragungsverlaufsspeicherteil 33a gespeicherten Nachrichten sequentiell sind oder nicht, wenn die Verarbeitungseinheit 31 die Verarbeitung zur Schätzung der Verzögerungszeit durchführt.
-
Gemäß der vorliegenden Ausführungsform ist die Beschreibung auf ein Beispiel des in dem Fahrzeug 1 angeordneten Kommunikationssystems gerichtet, wobei das Kommunikationssystem nicht auf eines beschränkt ist, das an dem Fahrzeug 1 angebracht ist, sondern es kann auch ein System sein, das an einem beweglichen Objekt, wie z.B. einem Flugzeug oder einem Wasserfahrzeug, vorgesehen ist, oder es kann auch in einem nicht beweglichen Objekt, zum Beispiel in einer Fabrik, einem Büro, einer Schule oder dergleichen, installiert sein.
-
Ausführungsform 2
-
6 ist ein schematisches Diagramm, das eine Ausgestaltung eines Kommunikationssystems gemäß der Ausführungsform 2 veranschaulicht. Das Kommunikationssystem gemäß der Ausführungsform 2 ist ausgestaltet, indem es mehrere ECUs 2 und eine Überwachungsvorrichtung 203 umfasst, die in oder an dem Fahrzeug 1 angebracht sind. Die ECUs 2 und die Überwachungsvorrichtung 203 sind über einen in dem Fahrzeug 1 installierten CAN-Bus miteinander verbunden, und können Nachrichten aneinander übertragen und voneinander empfangen. Die Überwachungsvorrichtung 203 ist eine Vorrichtung zur Überwachung einer fehlerhaften Nachrichtenübertragung an ein fahrzeuginternes Netzwerk. Die Überwachungsvorrichtung 203 kann als eine zur Überwachung vorgesehene Vorrichtung vorgesehen sein, die zum Beispiel mit einer Überwachungsfunktion ausgestaltet ist, die einem Gerät, wie beispielsweise einem Gateway, hinzugefügt ist, oder mit einer Überwachungsfunktion ausgestaltet ist, die der ECU 3 gemäß der Ausführungsform 1 hinzugefügt ist.
-
Die ECU 2 gemäß der vorliegenden Ausführungsform führt periodisch einen Vorgang zum Erhalten von einer Information, wie z. B. eine Information, die von einem Sensor erfasst wird, oder eine Rückmeldeinformation von zu steuernden Geräten, zum Erzeugen einer Nachricht, die die erhaltene Information basierend auf dem CAN-Protokoll enthält, und zum Übertragen der erzeugten Nachricht an den CAN-Bus durch. Es wird angemerkt, dass der Übertragungszyklus von Nachrichten für jede CAN-ID bestimmt ist und die ECU 2 somit Nachrichten für verschiedene CAN-IDs in verschiedenen Zyklen übertragen kann.
-
7 ist ein Blockdiagramm, das eine Ausgestaltung der Überwachungsvorrichtung 203 veranschaulicht. Die Überwachungsvorrichtung 203 gemäß Ausführungsform 2 weist eine Verzögerungszeitschätzfunktion sowie eine Erzeugungszeitpunktschätzfunktion auf, die ähnlich zu denen der ECU 3 gemäß der Ausführungsform 1 sind, wobei sie in der Verarbeitungseinheit 31 einen Überwachungsverarbeitungsteil 43 umfasst, der die Verarbeitung zur Überwachung von Übertragung einer fehlerhaften Nachricht durchführt.
-
Was eine fehlerhafte Nachricht betrifft, kann beispielsweise eine fehlerhafte Kommunikationsvorrichtung nicht ordnungsgemäß an den CAN-Bus angeschlossen sein, die eine fehlerhafte Nachricht auf den CAN-Bus übertragen kann. Zum Beispiel wird eine nicht ordnungsgemäße Modifikation oder Veränderung an irgendeiner der an dem Fahrzeug 1 angebrachten ECUs 2 vorgenommen, sodass diese ECU 2 eine fehlerhafte Nachricht senden kann. Dies sind nur Beispiele für fehlerhafte Nachrichten, und die fehlerhafte Nachricht, die von der Überwachungsvorrichtung 203 erfasst wird, kann durch einen anderen Faktor als die obigen verursacht sein.
-
Eine fehlerhafte Kommunikationsvorrichtung kann eine fehlerhafte Nachricht mit einer bestimmten CAN-ID in Übereinstimmung mit dem CAN-Protokoll senden. Während die CAN-ID, die an eine solche fehlerhafte Nachricht angehängt ist, eine gültige CAN-ID ist, die in dem Kommunikationssystem des Fahrzeugs 1 verwendet wird, sind die anderen Daten, die in der fehlerhaften Nachricht enthalten sind, fehlerhaft. Wenn eine ECU 2 eine fehlerhafte Nachricht basierend auf einer CAN-ID empfängt, führt sie eine Verarbeitung basierend auf fehlerhaften Daten durch. Das Kommunikationssystem gemäß der Ausführungsform 2 soll eine fehlerhafte Nachricht mit einer daran angehängten gültigen CAN-ID, eine sogenannte Spoofing-Nachricht, erfassen.
-
Die Überwachungsvorrichtung 203 gemäß der Ausführungsform 2 stellt fest, ob eine periodisch zu übertragende Nachricht in korrekten Zyklen übertragen ist oder nicht, um eine fehlerhafte Nachricht zu erfassen. 8 zeigt eine schematische Ansicht zur Veranschaulichung einer Verarbeitung zur Erfassung von fehlerhaften Nachrichten, die durch die Überwachungsvorrichtung 203 durchgeführt wird. Die Überwachungsvorrichtung 203 entscheidet für jede CAN-ID, die an die Nachricht angehängt ist, die in dem Kommunikationssystem übertragen und empfangen ist, eine Erlaubnisperiode, während der die Übertragung einer Nachricht mit einer CAN-ID erlaubt ist. 8 veranschaulicht eine Erlaubnisperiode, die durch die Überwachungsvorrichtung 203 entschieden wird, für eine Nachricht mit einer daran angehängten CAN-ID. Es ist anzumerken, dass die Ausführungsform 2 nicht den Fall einschließt, bei dem eine CAN-ID von mehr als einer ECU 2 verwendet wird, d.h. einen Fall, bei dem eine Nachricht mit derselben CAN-ID durch mehrere ECUs 2 übertragen wird.
-
Bei der vorliegenden Ausführungsform wird ein Übertragungszyklus einer Nachricht, die von der Überwachungsvorrichtung 203 zu überwachen ist, mit T bezeichnet. Ein Überwachungsverarbeitungsteil 43 in der Überwachungsvorrichtung 203 führt ein vorbestimmtes Verfahren mit der ECU 2 durch, an die die Nachricht übertragen wird, um über einen Referenzzeitpunkt ta der Nachrichtenübertragung zu entscheiden. Beispielsweise überträgt die Überwachungsvorrichtung 203 eine Nachricht, die eine Anforderung zum Durchführen einer Verarbeitung zur Entscheidung des Referenzzeitpunkts ta an die ECU 2 überträgt. Die ECU 2, die die Nachricht empfangen hat, überträgt eine Antwortnachricht an die Überwachungsvorrichtung 203, während sie den Zeitpunkt, zu dem die Antwortnachricht erzeugt ist, als Referenzzeitpunkt ta einstellt. Die Überwachungsvorrichtung 203, die die Antwortnachricht von der ECU 2 empfangen hat, führt eine Verarbeitung zur Schätzung der Verzögerungszeit mittels des Verzögerungszeitschätzteils 41 und eine Verarbeitung zur Schätzung des Erzeugungszeitpunkts mittels des Erzeugungszeitpunktschätzteils 42 bezüglich der Antwortnachricht durch, mit einem Verfahren, das demjenigen für die ECU 3 gemäß der Ausführungsform 1 ähnlich ist. Die Überwachungsvorrichtung 203 stellt den geschätzten Zeitpunkt der Nachrichtenerzeugung mit Bezug auf die Antwortnachricht als den Referenzzeitpunkt ta ein.
-
Obwohl der Zeitpunkt, zu dem die Antwortnachricht erzeugt wird (t1 in 3), als Referenzzeitpunkt ta in der vorliegenden Ausführungsform gesetzt ist, kann auch ein anderer Zeitpunkt als der Referenzzeitpunkt ta eingestellt werden. Beispielsweise kann auch ein Zeitpunkt, zu dem die ECU 2 versucht, eine Antwortnachricht (t2 in 3) zu übertragen, als Referenzzeitpunkt ta eingestellt werden. Darüber hinaus können, falls beispielsweise die Verzögerungszeit, die durch den Verzögerungszeitschätzteil 41 geschätzt wird, eine vorbestimmte Zeit oder mehr ist, die ECU 2 und die Überwachungsvorrichtung 203 die Verarbeitung zur Entscheidung des Referenzzeitpunkts ta erneut durchführen.
-
Der Überwachungsverarbeitungsteil 43 in der Überwachungsvorrichtung 203 stellt einen Zeitpunkt tb, der durch Hinzufügen des Übertragungszyklus T zu dem Referenzzeitpunkt ta erhalten wird, als geplanten Übertragungszeitpunkt tb für eine Nachricht ein. Ebenso stellt der Überwachungsverarbeitungsteil 43 einen Zeitpunkt tc, der durch Hinzufügen von dem Zweifachen des Übertragungszyklus T zu dem Referenzzeitpunkt ta erhalten wird, als einen geplanten Übertragungszeitpunkt tc ein. Gleiches gilt für die nachfolgenden geplanten Übertragungszeitpunkte. Der Überwachungsverarbeitungsteil 43 legt eine Zeitspanne, die durch Einstellen einer Differenz einer vorbestimmten Zeitspanne A und einer Zeitspanne B gegenüber dem geplanten Übertragungszeitpunkt tb erhalten wird, als eine Erlaubnisperiode fest. Der Überwachungsverarbeitungsteil 43 legt eine Periode von tb – A ≤ t ≤ tb + B als eine Erlaubnisperiode fest. Gleiches gilt für den geplanten Übertragungszeitpunkt tc und später. Die Zeitspanne A und die Zeitspanne B zur Ermittlung der Erlaubnisperiode werden im Voraus beispielsweise basierend auf der Simulation des Kommunikationssystems oder eines Messergebnisses in einer tatsächlichen Maschine bestimmt. Für die Zeitspanne A und die Zeitspanne B kann derselbe Wert für alle Nachrichten verwendet werden, oder es können beispielsweise unterschiedliche Werte für einzelne CAN-IDs verwendet werden. Die Zeitspanne A kann beispielsweise basierend auf einem Taktfehler zwischen der Überwachungsvorrichtung 203 und der ECU 2, die die Nachricht überträgt, festgelegt werden. Die Zeitspanne B kann unter Berücksichtigung der Zeitspanne, um welche die Nachricht aufgrund der Arbitrierungsverarbeitung verzögert wird, festgelegt werden.
-
Die CAN-Kommunikationseinheit 34 in der Überwachungsvorrichtung 203 überwacht die Übertragung einer Nachricht an den CAN-Bus und benachrichtigt, bei Erfassung der Nachrichtenübertragung, die Verarbeitungseinheit 31 hiervon. Der Überwachungsverarbeitungsteil 43 der Verarbeitungseinheit 31 erhält eine Information, die sich auf die CAN-ID einer übertragenen Nachricht bezieht, und einen Zeitpunkt, zu dem die Nachrichtenübertragung gestartet oder beendet wird, basierend auf der Benachrichtigung von der CAN-Kommunikationseinheit 34. Darüber hinaus stellt der Verarbeitungsteil 43 fest, ob die Nachricht, die für ihre Übertragung erfasst ist, während einer Erlaubnisperiode übertragen wurde oder nicht. Wenn die Nachricht keine Nachricht ist, die während der Erlaubnisperiode übertragen wurde, stellt der Überwachungsverarbeitungsteil 43 fest, dass die Nachricht eine fehlerhafte Nachricht ist, und veranlasst die ECU 2, die mit dem CAN-Bus verbunden ist, die Nachricht zu verwerfen.
-
Eine Nachricht, die in dem Kommunikationssystem gemäß der vorliegenden Ausführungsform übertragen und empfangen ist, ist in Übereinstimmung mit dem CAN-Protokoll und eingerichtet, einen CAN-Header, ein Datenfeld, ein Cyclic-Redundancy-Check(CRC)-Feld, ein ACK-Feld, ein End-of-Frame (EOF) und so weiter zu enthalten. Der CAN-Header enthält einen Start-of-Frame (SOF), ein Arbitrationsfeld, ein Steuerfeld und so weiter basierend auf dem herkömmlichen CAN-Protokoll, und eine oben beschriebene CAN-ID wird in das Arbitrationfeld gesetzt. Das Datenfeld speichert darin den Hauptteil an Informationen, die zwischen den ECUs 2 übertragen und empfangen werden sollen, wie beispielsweise eine Anweisung zum Steuern einer ECU 2, ein Ergebnis, das beispielsweise von einem Sensor erfasst wird, oder dergleichen. Das CRC-Feld, das ACK-Feld und das EOF sind die gleichen wie bei dem herkömmlichen CAN-Protokoll und werden daher nicht detailliert beschrieben. Das CRC-Feld speichert darin Information zum Erfassen eines Fehlers. Das Feld ACK ist ein Feld für den erwidernden Empfang durch eine ECU 2, die den Frame empfängt. Die EOF ist eine bestimmte Bitfolge, die das Ende eines Feldes anzeigt.
-
Der Überwachungsverarbeitungsteil 43 in der Überwachungsvorrichtung 203 überträgt für eine Meldung, für die festgestellt wird, dass ihre Übertragung nicht erlaubt ist, einen Fehlerrahmen an den CAN-Bus während der Ausgabeperiode des EOF der Nachricht. Dieser Fehlerrahmen erlaubt es allen ECUs 2, die an dem CAN-Bus angeschlossen sind, fehlerhafte Meldungen während des Empfangs zu verwerfen.
-
Das Kommunikationssystem gemäß der Ausführungsform 2 mit der oben beschriebenen Ausgestaltung kann die Zuverlässigkeit des Fahrzeugs 1 mittels der Überwachungsvorrichtung 203 verbessern, die eine fehlerhafte Nachrichtenübertragung zu dem CAN-Bus von einer fehlerhaften Vorrichtung erfasst. Bei der Verarbeitung zur Entscheidung eines Zeitpunkts mit der ECU 2, der für die Verarbeitung zur Überwachung erforderlich ist, schätzt die Überwachungsvorrichtung 203 einen Zeitpunkt, zu dem eine Antwortnachricht, die von der ECU 2 empfangen ist, erzeugt wurde, und stellt den geschätzten Zeitpunkt als Referenzzeitpunkt ta ein. Dies ermöglicht es dem Referenzzeitpunkt ta der Überwachungsvorrichtung 203, genau mit dem Referenzzeitpunkt ta der ECU 2 übereinzustimmen, wodurch es der Überwachungsvorrichtung 203 ermöglicht wird, die Verarbeitung zur Überwachung präzise durchzuführen.
-
Bezugszeichenliste
-
- 1
- Fahrzeug
- 2
- ECU (Kommunikationsvorrichtung)
- 3
- ECU (mindestens eine Kommunikationsvorrichtung)
- 31
- Verarbeitungseinheit (Nachrichtenerzeugungsteil, Feststellungsteil)
- 32
- ROM
- 32a
- Programm
- 32b
- Verzögerungszeitkonstante
- 33
- RAM
- 33a
- Übertragungsverlaufsspeicherteil (Verlaufsspeicherteil)
- 34
- CAN-Kommunikationseinheit (Nachrichtenübertragungsteil, Nachrichtenempfangsteil, Arbitrierungseinrichtung)
- 34a
- Sequentiellübertragung-Erfassungsteil
- 41
- Verzögerungszeitschätzteil
- 42
- Erzeugungszeitpunktschätzteil
- 43
- Überwachungsverarbeitungsteil
- 203
- Überwachungsvorrichtung (Kommunikationssteuervorrichtung)