-
Die Erfindung betrifft eine in einem Fahrzeug zu verbauende Weiterleitungs-Verbindungseinheit. Insbesondere bezieht sich die Erfindung auf eine Weiterleitungs-Verbindungseinheit, die die Daten einer Nachricht, in welcher ein Fehler erfasst worden ist, in geeignete Daten umschreibt, um die Nachricht als eine vollständige Nachricht weiterzuleiten.
-
Herkömmlich wird ein in einem Fahrzeug zu verbauendes Kommunikationssystem verwendet, in welchem Kommunikationsleitungen (nachstehend als ein Bus bezeichnet), die mit elektronischen Steuereinheiten (ECU: Electronic Control Unit) verbunden sind, welche den Betrieb von in dem Fahrzeug verbauten Einrichtungen steuern, mit einer Weiterleitungs-Verbindungseinheit wie beispielsweise einem Gateway oder einer Schnittstelle verbunden sind, um Nachrichten zwischen den elektronischen Steuereinheiten zu senden und zu empfangen.
-
In den zurückliegenden Jahren nahm mit einer Zunahme der Funktionen in dem Fahrzeug die Anzahl der elektronischen Steuereinheiten zu, und nahm die Anzahl von zwischen den elektronischen Steuereinheiten zu sendenden und zu empfangenden Nachrichten rasch zu. Daher besteht ein Bedarf, dass Nachrichten zwischen den elektronischen Steuereinheiten effizient gesendet und empfangen werden, und dass ein Kommunikationslastfaktor des Busses verringert wird.
-
Um die Kommunikationslast zu verringern, ist es denkbar, dass ein Anhalten der Übertragung einer unvollständigen Nachricht, in welcher ein Fehler aufgetreten ist, wirkungsvoll ist. In diesem Fall ist eine elektronische Steuereinheit, an welche die Nachricht zu senden ist, nicht in der Lage, die Nachricht periodisch zu empfangen.
-
Die Fehlernachricht wird in einem Fall, in welchem eine unwahrscheinliche plötzliche Änderung in Daten mit Bezug zu einer Fahrzeuggeschwindigkeit, einer Temperatur, einer Lichtintensität, zu Regen und dergleichen aufgetreten ist; einem Fall, in welchen Daten einen normalen Einstellbereich überschreiten; und einem Fall, in welchem eine unwahrscheinliche Kombination aus einer Vielzahl von Daten hergestellt wird, erzeugt.
-
Folglich wird in der japanischen Patentanmeldungs-Offenlegungsschrift
JP 2002-016614 A (Patentdokument 1) eine Gateway-Anordnung vorgeschlagen, welche eine unvollständige Nachricht, in welcher ein Fehler aufgetreten ist, nicht übermittelt.
-
Bei der in dem Patentdokument 1 vorgeschlagenen Gateway-Anordnung wird jedoch nach einem durch Prüfen des Inhalts der Nachricht erfolgenden Beurteilen, ob ein Fehler aufgetreten ist, ermittelt, ob die Nachricht zu überfragen ist. Bis die Nachricht vollständig empfangen ist, ist es daher unmöglich, zu ermitteln, ob die Nachricht zu überfragen ist.
-
Wenn ermittelt wird, dass die Nachricht nicht übertragen wird, ist eine elektronische Steuereinheit auf einer Empfangsseite nicht in der Lage, eine zwischen den elektronischen Steuereinheiten periodisch gesendete und empfangene Nachricht periodisch zu empfangen.
-
Ferner ist die Gateway-Anordnung in der Lage, mit einem Verfahren zum Speichern und Weiterleiten zum Beginnen der Übertragung, nachdem die Nachricht vollständig empfangen ist, zurecht zu kommen, aber nicht in der Lage, mit einem Durchgriffsverfahren mit einer günstigen Übertragungseffizienz zum Ermitteln eines Ziels, an welches die Nachricht übertragen wird, wenn der Identifikator (ID) empfangen wird, bevor die Nachricht vollständig empfangen ist, und Beginnen der Übertragung zurecht zu kommen. Folglich ist die Gateway-Anordnung in der Lage, den Kommunikationslastfaktor des Busses zu verringern, hat jedoch Raum zur Verbesserung im Hinblick auf ein effizientes Senden und Empfangen der Nachricht.
-
Darüber hinaus offenbart die Druckschrift
JP 2007-081484 A eine Netzübergangs- bzw. Schnittstelleneinrichtung in einem lokalen Netzwerk (LAN) eines Fahrzeugs mit einer Kommunikationssteuereinheit und einer Weiterleitungseinrichtung. Wenn zu übertragende oder weiterzuleitende Daten innerhalb eines normalen Zyklus nicht normal empfangen werden, werden neueste Daten, d. h. Daten, deren Empfang erwartet wird, vollständig durch Standarddaten, d. h. Daten, die in der Vergangenheit empfangen und in einer Datenspeichertabelle gespeichert wurden, substituiert und anstelle der neuesten Daten verwendet, um zu vermeiden, dass ein Betriebsablauf aufgrund nicht empfangbarer Daten angehalten wird. Dabei können Daten, welche periodisch übertragen werden sollten, von der Kommunikationssteuereinheit interpoliert werden.
-
Außerdem betrifft die Druckschrift
US 2004/0120333 A1 ein Verfahren und eine Vorrichtung zum Steuern eines Informationsflusses durch eine Protokollbrücke. Dabei können ringförmige Warteschlangen in einem Dual-Port-Speicher für eine Übergabe von Kopfrahmeninformation und Steuerinformation zwischen festverdrahteten Schaltungsteilen und einem Prozessor verwendet werden. Ferner kann ein Steuerbit in jedem Element in dem Dual-Port-Speicher als ein Signalisierungsmechanismus für eine Übergabe der Steuerung der Elemente der ringförmigen Warteschlange zwischen den festverdrahteten Schaltungsteilen und der Software dienen. Außerdem kann ein Auslassbit dazu verwendet werden, eine Fehlerhandhabung dadurch zu vereinfachen, dass ermöglicht wird, die Elemente der ringförmigen Warteschlange auch unter Fehlerbedingungen in einer bestimmten Reihenfolge zu verarbeiten.
-
Weiter werden in der Druckschrift
JP 2007-038904 A eine in einem Fahrzeug verbaute Weiterleitungseinrichtung und ein in der Weiterleitungseinrichtung verwendetes Nachrichtenweiterleitungsverfahren beschrieben, bei welchen zur Unterdrückung eines Anstiegs einer Last auf einem Bus in einem elektronischen Fahrzeug-Steuernetzwerk eine elektronische Steuereinheit der Weiterleitungseinrichtung eine fehlerhafte Nachricht auch dann als widerrufen ausschließen kann, wenn diese durch einen Knoten einer elektronischen Steuereinheit empfangen wird. Dazu ist die in dem Fahrzeug verbaute Weiterleitungseinrichtung mit einer Nachrichtennormalität-Überprüfungseinrichtung und einer Nachrichtenweiterleitungs-Steuereinrichtung versehen. Eine Steuerung erfolgt derart, dass eine als anomal ermittelte Nachricht nicht an eines von elektronischen Fahrzeug-Steuernetzwerken weitergeleitet wird.
-
Die Druckschrift
JP 2007-028377 A schließlich bezieht sich auf ein Verfahren zum Festlegen einer Kommunikationsspezifikation einer Weiterleitungsvorrichtung für ein lokales Fahrzeugnetzwerk und ein Verfahren zum Festlegen einer Kommunikationsbetriebsart. Hierbei werden in einer Datensammelvorrichtung ein zu verwendendes Protokoll und dessen detaillierte Spezifikationen festgelegt. Eine Einstelldatei mit Information darüber wird per Funk an die Weiterleitungsvorrichtung übertragen. Die Weiterleitungsvorrichtung führt dann einen Weiterleitungsvorgang in Übereinstimmung mit dem in der Einstelldatei enthaltenen Protokoll und dessen detaillierten Spezifikationen durch und überträgt Daten von einer elektronischen Steuereinheit an die Datensammelvorrichtung.
-
Der Erfindung liegt in Anbetracht dessen als eine Aufgabe zugrunde, eine Weiterleitungs-Verbindungseinheit zu schaffen, die in der Lage ist, eine unvollständige Nachricht mit einem Fehler neu zu schreiben, die Nachricht als eine vollständige Nachricht zu senden, und die vollständige Nachricht effizient zu übertragen.
-
Erfindungsgemäß wird diese Aufgabe durch eine Weiterleitungs-Verbindungseinheit mit den in Anspruch 1 angegebenen Merkmalen gelöst. Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand der beigefügten Unteransprüche.
-
Um die vorstehend beschriebene Aufgabe zu lösen, wird somit eine Weiterleitungs-Verbindungseinheit bereitgestellt, die in ein Fahrzeug zu verbauen ist und welche mit einer Vielzahl von Bussen verbunden ist, an welche die Weiterleitungs-Verbindungseinheit eine Nachricht weiterleitet. Kennzeichnend für die Erfindung ist, dass die Weiterleitungs-Verbindungseinheit einen Datenprüfabschnitt aufweist, der einen Fehler in einem Datenabschnitt einer empfangenen Nachricht erfasst. Ein Speicherabschnitt speichert der festgelegte Daten und/oder vorangehend gesendete Daten zur Verwendung für ein Neuschreiben einer Nachricht für jeden an die Nachricht angefügten Identifikator. Außerdem kennzeichnend für die Erfindung ist ein Datenneuschreibabschnitt, der den Datenabschnitt der Nachricht, in welcher der Fehler durch den Datenprüfabschnitt erfasst wurde, in den festgelegten Daten oder den vorangehend gesendeten Daten, die in dem Speicherabschnitt gespeichert sind, neu schreibt.
-
Der die festgelegten Daten und/oder die vorangehend gesendeten Daten zur Verwendung für ein Neuschreiben speichernde Speicherabschnitt ist ein Schreib-Lese-Speicher.
-
Der Datenabschnitt, der durch den Datenprüfabschnitt zu prüfenden Nachricht aus einer Vielzahl von Unterdaten besteht, und Abbruchstellen-Unterscheidungsdaten, die eine Abbruchstelle jeder der Unterdaten angeben, werden in dem Schreib-Lese-Speicher gespeichert; dass der Datenprüfabschnitt ein oberstes Bit von Unterdaten, in welchen ein Fehler durch den Fehlererfassungsabschnitt desselben erfasst wurde, aus den in dem Schreib-Lese-Speicher gespeicherten Abbruchstellen-Unterscheidungsdaten erfasst; dass der Datenneuschreibabschnitt desselben die Unterdaten ausgehend von dem obersten Bit der Unterdaten neu in die festgelegten Daten oder die vorangehend gesendeten Daten schreibt; und dass die neu geschriebenen Daten in dem Schreib-Lese-Speicher gespeichert werden.
-
Der Speicherabschnitt weist einen Festwertspeicher auf, der eine Leitwegtabelle, die ein Weiterleitungsziel der empfangenen Nachricht bestimmt, und Abbruchstellen-Unterscheidungsdaten speichert; und der Schreib-Lese-Speicher und der Festwertspeicher sind mit dem Datenprüfabschnitt und dem Datenneuschreibabschnitt verbunden.
-
Wenn die Energiezufuhr eingeschaltet wird, werden die Abbruchstellen-Unterscheidungsdaten des Festwertspeichers aus dem Festwertspeicher in den Direktzugriffspeicher kopiert. Danach werden die Abbruchstellen-Unterscheidungsdaten lediglich in dem Direktzugriffspeicher gespeichert, und wird lediglich auf den Schreib-Lese-Speicher zugegriffen.
-
In der Weiterleitungs-Verbindungseinheit mit dem vorstehend beschriebenen Aufbau werden die festgelegten Daten und/oder die vorangehend gesendeten Daten zur Verwendung für ein Neuschreiben einer Nachricht für jeden Identifikator (ID) der Nachricht in dem Speicherabschnitt (Schreib-Lese-Speicher bzw. RAM) gespeichert. Daher können unter Bezugnahme auf die festgelegten Daten oder die vorangehend gesendeten Daten mit einem Identifikator, der mit dem Identifikator einer Nachricht übereinstimmt, in welcher ein Fehler erfasst wurde, Daten neu geschrieben werden.
-
Wenn der Datenprüfabschnitt einen Fehler der empfangenen Nachricht erfasst, schreibt der Datenneuschreibabschnitt den Datenabschnitt einer unvollständigen Nachricht, in welcher der Fehler erfasst wurde, in den in dem Schreib-Lese-Speicher gespeicherten festgelegten Daten oder den vorangehend gesendeten Daten neu, so dass die empfangene Nachricht als eine vollständige Nachricht an den notwendigen Bus gesendet wird. Dadurch ist es möglich, die Übertragung einer unvollständigen Nachricht einschließlich des Fehlers zu verhindern. Ferner ist, weil die Übertragung der Nachricht nicht angehalten wird, eine elektronische Steuereinheit, welche Nachrichten periodisch empfangen soll, in der Lage, periodisch normale Nachrichten zu empfangen.
-
Als Norm zum Erfassen des Fehlers der Nachricht ist zum Beispiel der Datenprüfabschnitt mit den folgenden Standards versehen:
- (1) In dem Fall, in dem das Kommunikationsprotokoll des Kommunikationssystems CAN (Controller Area Network) ist, und in dem Fall, in dem anhand einer CRC-Prüfung bzw. zyklischen Redundanzprüfung geprüft wird, dass Signale mit demselben Pegel in einer Nachricht mit 6 Bits aufeinanderfolgend sind, und dass ein Fehler eines Personals durch Nichtempfangen der Nachricht aufgetreten ist.
- (2) Ein Fall, in welchem Daten eine unwahrscheinliche plötzliche Änderung anzeigen. Zum Beispiel ein Fall, in welchem eine Innentemperatur und eine Außentemperatur, erfasst durch einen Temperatursensor, eine unwahrscheinliche plötzliche Änderung anzeigen, und ein Fall, in welchem sich ein durch einen Fahrzeuggeschwindigkeitssensor erfasster Wert um mehr als einen gewissen Wert in Bezug auf einen dadurch vorangehend erfassten Wert ändert.
- (3) Ein Fall, in welchem ein erfasster Wert größer ist als ein oberer Grenzwert oder kleiner als ein unterer Grenzwert. Zum Beispiel ein Fall, in welchem die durch den Temperatursensor erfasste Außentemperatur 70° überschreitet oder ein Standardwert ist.
- (4) Ein Fall, in welchem eine unwahrscheinliche Kombination aus einer Vielzahl von Daten hergestellt wird. Zum Beispiel, dass sich nur ein Reifen in der Drehzahl von Umdrehungen von vier Rädern in umgekehrter Richtung dreht.
-
Die erfindungsgemäße Weiterleitungs-Verbindungseinheit weist einen Sende-/Empfangsabschnitt auf, der die Nachricht durch Verwenden eines Durchgriffsverfahrens zum Beginnen einer Übertragung zu einer Zeit, zu der der Identifikator der Nachricht empfangen wird, weiterleitet, bevor der Datenprüfabschnitt den Datenabschnitt der empfangenen Nachricht vollständig prüft.
-
Das heißt, das Verfahren des Speicherns und Weiterleitens zum nach dem Bestätigen durch Prüfen der gesamten Nachricht, ob die Nachricht einen Fehler aufweist, Ermitteln, ob es notwendig ist, die Nachricht zu übertragen, wird in der vorliegenden Erfindung nicht verwendet, sondern in der vorliegenden Erfindung wird das Durchgriffsverfahren zum Beginnen der Übertragung verwendet, wobei der Datenprüfabschnitt auf einen Fehler der Nachricht prüft, wenn der Identifikator der Nachricht empfangen wird. Bei diesem Verfahren wird dann, wenn ein Fehler erfasst wird, der Fehler korrigiert, und wird die korrigierte Nachricht gesendet. Daher ist es möglich, die Nachricht schnell weiterzuleiten.
-
Als ein Verfahren zum Übertragen der Nachricht ist es möglich, das Verfahren zum Speichern und Weiterleiten zum Beginnen der Übertragen nach dem vollständigen Empfangen einer Nachricht zum Senden einer Nachricht durch Korrigieren der einen Fehler aufweisenden Daten der Nachricht zu verwenden. Jedoch wird das Durchgriffsverfahren zum schnellen Senden der Nachricht bevorzugt.
-
Die vorangehend gesendeten Daten, die in dem Schreib-Lese-Speicher gespeichert sind, bestehen aus neuesten vorangehend gesendeten Daten, die durch Neuschreiben der vorangehenden Daten jedes Mal, wenn die Nachricht gesendet wird, gespeichert wurden.
-
Durch verwenden der neuesten vorangehend gesendeten Daten zum Neuschreiben der Fehlerdaten ist es möglich, einen Fehler zwischen korrekten gesendeten Daten und den neuesten vorangehend gesendeten Daten zu minimieren.
-
Wenn der Bereich des Schreib-Lese-Speichers groß ist, können die gesamten gesendeten Daten oder Daten, die vorangehend mehrere Male gesendet wurden, gespeichert werden, um die neuesten gesendeten Daten zu verwenden.
-
In dem vorstehend beschriebenen Aufbau wird nicht der gesamte Datenabschnitt der Nachricht, in welcher der Fehler erfasst wurde, neu geschrieben, sondern es werden nur die Unterdaten, die auf die Unterdaten folgen, in welchen der Fehler erfasst wurde, neu in die festgelegten Daten oder die vorangehend gesendeten Daten geschrieben. Unterdaten vor den Unterdaten, in welchen der Fehler erfasst wurde, werden gesendet, ohne sie neu zu schreiben. Daher kann die Nachricht effizient gesendet werden.
-
Wenn der Datenneuschreibabschnitt ein Neuschreiben ausgehend von dem Bit, an dem der Fehler aufgetreten ist, ausführt, sind Daten vor dem Neuschreiben und Daten nach dem Neuschreiben gemischt in einem (Satz von) Unterdaten bzw. einem Unterdatum vorhanden. Folglich besteht eine Möglichkeit, dass ungeeignete Daten erzeugt werden. In der vorliegenden Erfindung werden jedoch die Unterdaten, in welchen der Fehler aufgetreten ist, vollständig neu geschrieben. Daher ist es möglich, die Unterdaten, in welchen der Fehler aufgetreten ist, sicher auf die vollständigen Daten zu korrigieren.
-
In den Abbruchstellen-Unterscheidungsdaten wird der Bereich jeder Unterdaten dadurch ausgedrückt, dass Bits mit einem gleichen Wert aufeinanderfolgend gemacht werden. Der Wert des Bits wird an einer Abbruchstellenposition der Unterdaten geändert.
-
Wenn zum Beispiel die Abbruchstellen-Unterscheidungsdaten als ”1110011110...” ausgedrückt werden, bedeutet dies, dass ein Bereich von einem ersten Bit bis zu einem dritten Bit, in welchem ”1” aufeinanderfolgend ist, erste Unterdaten sind, dass ein viertes Bit und ein fünftes Bit mit aufeinanderfolgender ”0” zweite Unterdaten sind, und dass ein Bereich von einem sechsten Bit bis zu einem neunten Bit mit aufeinanderfolgender ”1” dritte Unterdaten sind. Daher wird dann, wenn ein Fehler an einem achten Bit erfasst wird, unter Bezugnahme auf die Abbruchstellen-Unterscheidungsdaten, erfasst, dass das achte Bit beinhaltende Unterdaten an dem sechsten Bit beginnen, und werden auf das sechste Bit folgende Daten in die festgelegten Daten oder die vorangehend gesendeten Daten neu geschrieben.
-
Die Abbruchstellen-Unterscheidungsdaten können für jede Unterdaten bereitgestellt sein, um ein den Unterdaten entsprechendes Bit als ”1” und ein den Unterdaten nicht entsprechendes Bit als ”0” auszudrücken. In diesem Fall werden die Abbruchstellen-Unterscheidungsdaten in dem Speicherabschnitt durch Ausdrücken der Abbruchstellen-Unterscheidungsdaten zum Erfassen des Bereichs der ersten Unterdaten als ”1110000000...”, durch Ausdrücken der Abbruchstellen-Unterscheidungsdaten zum Erfassen des Bereichs der zweiten Unterdaten als ”001100000...”, und durch Ausdrücken der Abbruchstellen-Unterscheidungsdaten zum Erfassen des Bereichs der dritten Unterdaten als ”0000011110...” gespeichert.
-
Es wird bevorzugt, dass der Schreib-Lese-Speicher sowohl die festgelegten Daten als auch die vorangehend gesendeten Daten zur Verwendung für ein Neuschreiben der Nachricht speichert; und dass für jeden Identifikator der Nachricht und/oder jedes Unterdatum der Datenneuschreibabschnitt die festgelegten Daten oder die vorangehend gesendeten Daten als einen neu zu schreibenden Wert auswählt.
-
In dem vorstehend beschriebenen Aufbau ist der Datenneuschreibabschnitt in Abhängigkeit von der Art von Daten in der Lage, die festgelegten Daten oder die vorangehend gesendeten Daten als den neu zu schreibenden Wert festzulegen. Dadurch ist der Datenneuschreibabschnitt in der Lage, die Daten der Nachricht, in welcher der Fehler erfasst wurde, neu in geeignete Daten umzuschreiben.
-
Wenn sich zum Beispiel die Daten der Nachricht auf eine Türverriegelung, ein Schlüsselbestätigungsergebnis, einen Schaltzustand und dergleichen beziehen, wird es bevorzugt, die Nachricht, in welcher der Fehler erfasst wurde, in die im Voraus festgelegten Daten neu zu schreiben. In dem Fall von sich auf eine Fahrzeuggeschwindigkeit, eine Temperatur, einen Beleuchtungszustand, auf Regenfall und dergleichen beziehenden Daten wird es bevorzugt, die Nachricht, in welcher der Fehler erfasst wurde, in die vorangehend gesendeten Daten neu zu schreiben.
-
Das heißt, eine sich auf Sicherheit wie beispielsweise die Türverriegelung beziehende Nachricht wird in Daten neu geschrieben, in welchen Wert auf Sicherheit gelegt wird, wenn die Nachricht einen Fehler aufweist. In dem Fall einer eine Fahrzeuggeschwindigkeit, eine Temperatur, einen Beleuchtungszustand und dergleichen angebenden Nachricht, deren Inhalt sich nicht plötzlich ändert, wird die Nachricht, in welcher ein Fehler aufgetreten ist, in die vorangehend gesendeten Daten neu geschrieben, um den Inhalt der Nachricht durch Widerspiegeln des Inhalt der zuletzt gesendeten Nachricht beizubehalten.
-
Wie vorstehend beschrieben wurde, schreibt erfindungsgemäß dann, wenn der Datenprüfabschnitt einen Fehler der empfangenen Nachricht erfasst, der Datenneuschreibabschnitt den Datenabschnitt der unvollständigen Nachricht, in welcher der Fehler erfasst wurde, in den festgelegten Daten oder den vorangehend gesendeten Daten, die in dem Schreib-Lese-Speicher gespeichert sind, neu, so dass die empfangene Nachricht als die vollständige Nachricht an bzw. auf den notwendigen Bus gesendet wird. Dadurch ist es möglich, zu verhindern, dass die unvollständige Nachricht, d. h. die den Fehler beinhaltende, nutzlose Nachricht gesendet wird.
-
Das Verfahren zum Speichern und Weiterleiten zum Ermitteln nach dem Prüfen des gesamten Datenabschnitts der Nachricht, ob es notwendig ist, die Nachricht zu übertragen, wird in der vorliegenden Erfindung nicht verwendet, sondern in der vorliegenden Erfindung wird das Durchgriffsverfahren zum Beginnen der Übertragung, wenn der Identifikator der Nachricht empfangen wird, verwendet, um die Nachricht mit einem in dem Datenabschnitt der Nachricht korrigierten Fehler weiterzuleiten. Daher ist es möglich, die Nachricht schnell weiterzuleiten.
-
1 zeigt ein Kommunikationssystem, das in einem Fahrzeug zu verbauen ist, in welchem eine Weiterleitungs-Verbindungseinheit eines ersten Ausführungsbeispiels der Erfindung verwendet wird.
-
2 zeigt das Format einer Nachricht.
-
3(A) zeigt einen Leitwegtabellen-Speicherabschnitt; und 3(B) zeigt einen Abbruchstellen-Unterscheidungsdaten-Speicherabschnitt.
-
4 zeigt Daten zur Verwendung zum Neuschreiben des Datenspeicherabschnitts.
-
5 ist eine Aufbauansicht, die eine Korrelation in einer innerhalb der Weiterleitungs-Verbindungseinheit auszuführenden Datenverarbeitung zeigt.
-
6 ist ein Ablaufdiagramm einer Nachrichtenübertragungsverarbeitung, die von der Weiterleitungs-Verbindungseinheit auszuführen ist.
-
7 zeigt den Datenfluss, wenn ein Fehler in einer Nachricht nicht erfasst wird.
-
8 zeigt den Datenfluss, wenn ein Fehler in einer Nachricht erfasst wird.
-
9 zeigt Daten zur Verwendung zum Neuschreiben in einem zweiten Ausführungsbeispiel.
-
Nachstehend werden Ausführungsbeispiele der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
-
Die 1 bis 7 zeigen das erste Ausführungsbeispiel der vorliegenden Erfindung.
-
In einem Kommunikationssystem 10 gemäß dem ersten Ausführungsbeispiel, das in einem Fahrzeug zu verbauen ist (nachstehend als ein Kommunikationssystem 10 bezeichnet), sind Kommunikationsleitungen (Busse) CAN1, CAN2, die CAN als ihr Kommunikationsprotokoll verwenden, über eine Weiterleitungs-Verbindungseinheit (Schnittstelle bzw. Gateway) 20 miteinander verbunden, um ein Kommunikationsnetzwerk aufzubauen. Eine Vielzahl von elektronischen Steuereinheiten (ECUs) 30 ist mit jeder der Kommunikationsleitungen CAN1, CAN2 verbunden.
-
Wie in 1 gezeigt ist, ist die Weiterleitungs-Verbindungseinheit 20 über einen Empfangsabschnitt 21 und einen Sendeabschnitt 22 mit den Kommunikationsleitungen CAN1 und CAN2 verbunden. Der Empfangsabschnitt 21 und der Sendeabschnitt 22 sind mit einer zentralen Verarbeitungseinheit 23 verbunden. Die zentrale Verarbeitungseinheit 23 in 3 gezeigten Speicherabschnitt K verbunden. Der Speicherabschnitt K weist einen Festwertspeicher bzw. ein ROM 24-1, der aus einem Identifikator-Speicherabschnitt besteht, einen Festwertspeicher bzw. ein ROM 24-2, der aus einem Abbruchstellen-Unterscheidungsdaten-Speicherabschnitt besteht, und einen Schreib-Lese-Speicher bzw. ein RAM 25, das aus einem Datenspeicherabschnitt besteht, auf.
-
Wie in den 4 und 5 gezeigt ist, weist die zentrale Verarbeitungseinheit bzw. CPU 23 einen Vergleichsberechnungsabschnitt 26 auf, der ermittelt, ob es notwendig ist, eine Nachricht weiterzuleiten, und einen Bus ermittelt, über welchen die Nachricht weiterzuleiten ist, unter Bezugnahme auf eine in dem Festwertspeicher 24-1 gespeicherte Leitwegtabelle T, und einen Datenprüfabschnitt 27, der aus einem Fehlererfassungsabschnitt 29 besteht, welcher einen Fehler der Nachricht erfasst, die über den Bus CAN zu senden ist, der durch den Vergleichsberechnungsabschnitt 26 ermittelt wurde, und einem Datenneuschreibabschnitt 28, der die Nachricht neu schreibt, in welcher der Fehler erfasst wurde, unter Bezugnahme auf Daten D zur Verwendung zum Neuschreiben, die in dem Schreib-Lese-Speicher 25 gespeichert sind.
-
Als ein Übertragungsverfahren verwendet der Vergleichsberechnungsabschnitt 26 ein Durchgriffsverfahren zum Beginnen des Sendens einer Nachricht, bevor der der Vergleichsberechnungsabschnitt 26 die gesamte Nachricht empfängt, wenn er den Identifikator der Nachricht empfängt und ein Ziel ermittelt, an welches die Nachricht zu senden ist.
-
Der Fehlererfassungsabschnitt 29 prüft, ob die in vorstehend (1) bis (4) beschriebenen Fehler in einem Datenabschnitt der Nachricht, welcher noch beschrieben wird, aufgetreten sind. Zum Beispiel prüft der Fehlererfassungsabschnitt 29, ob der Fehler durch Personal in der zyklischen Redundanzprüfung wie in (1) vorliegt, ob Daten die unwahrscheinliche plötzliche Änderung wie in (2) beschrieben anzeigen, ob die Daten den festgelegten Referenzwert wie in (3) beschrieben überschreiten, und ob die unwahrscheinliche Kombination zwischen einer Vielzahl von Daten wie in (4) beschrieben hergestellt wird. Wenn ein Fehler erfasst wird, schreibt der Datenneuschreibabschnitt 28 den Datenabschnitt der Nachricht neu.
-
Wie in 3(A) gezeigt ist, speichert der Festwertspeicher 24-1 des Speicherabschnitts K die Leitwegtabelle, die die Korrelation zwischen dem Identifikator (ID) und den Bussen (CAN1, CAN2, ...), über welche die Nachricht zu senden ist, angibt. Wie in 3(B) gezeigt ist, speichert der Festwertspeicher 24-2 den Identifikator, ein DLC, und die Abbruchstellen-Unterscheidungsdaten. Wie in 4 gezeigt ist, speichert der Schreib-Lese-Speicher 25 die Daten D zur Verwendung zum Neuschreiben. Die Daten D zur Verwendung zum Neuschreiben beinhalten festgelegte Daten D1 zur Verwendung zum Neuschreiben, vorangehend gesendete Daten D2 zur Verwendung zum Neuschreiben, und Abbruchstellen-Unterscheidungsdaten D3, die für jeden Identifikator der Nachricht bereitgestellt sind.
-
Wenn die Energieversorgung eingeschaltet wird, werden die Abbruchstellen-Unterscheidungsdaten des Festwertspeichers 24-2 in den Schreib-Lese-Speicher 25 kopiert. Danach werden die Abbruchstellen-Unterscheidungsdaten in dem Schreib-Lese-Speicher 25 gespeichert. Dadurch ist es möglich, die Abbruchstellen-Unterscheidungsdaten durch nur einen Zugriff auf den Schreib-Lese-Speicher zu erhalten.
-
Die festgelegten Daten D1 des RAM 24 zur Verwendung zum Neuschreiben und die vorangehend gesendeten Daten D2 desselben zur Verwendung zum Neuschreiben sind die Daten zum Neuschreiben der Nachricht, in welcher ein Fehler erfasst wurde. Die festgelegten Daten D1 werden im Voraus festgelegt und haben einen konstanten Wert, wohingegen die vorangehend gesendeten Daten D2 die Daten sind, die vorangehend gesendet und jedes Mal, wenn die Nachricht gesendet wird, neu geschrieben wurden. Der Schreib-Lese-Speicher 25 speichert nur die neuesten bzw. letzten vorangehend gesendeten Daten für jeden Identifikator.
-
Entweder die festgelegten Daten D1 oder die vorangehend gesendeten Daten D2 werden für jeden Identifikator gespeichert.
-
Die festgelegten Daten D1 zur Verwendung zum Neuschreiben werden für die Daten mit Bezug zu einer Türverriegelung, einem Schlüsselbestätigungsergebnis, einem Schaltzustand bzw. Übergangszustand und dergleichen gespeichert.
-
Die vorangehend gesendeten Daten D2 zur Verwendung zum Neuschreiben werden für die Daten mit Bezug zu einer Fahrzeuggeschwindigkeit, einer Temperatur, einem Beleuchtungszustand, zu Regenfall und dergleichen gespeichert.
-
Die Abbruchstellen-Unterscheidungsdaten D3 sind die Daten zum Unterscheiden oder Erkennen einer Abbruchstelle jeder von Unterdaten, die in dem Datenabschnitt der Nachricht beschrieben sind, wie noch zu beschreiben ist. Die Abbruchstellen-Unterscheidungsdaten D3 ermöglichen es, den Bereich des Datenabschnitts der Nachricht zu erkennen, in welche jede von Unterdaten beschrieben sind. Bei dem Neuschreiben der Nachricht, in welcher der Fehler aufgetreten ist, wird ein Daten-Neuschreibbereich unter Bezugnahme auf die Abbruchstellen-Unterscheidungsdaten D3 ermittelt.
-
In den Abbruchstellen-Unterscheidungsdaten D3 wird der Bereich jeder Unterdaten dadurch ausgedrückt, dass Bits mit einem gleichen Wert aufeinanderfolgend gemacht werden. Der Wert der Bits ändert sich an einer Abbruchstellenposition der Unterdaten.
-
Zum Beispiel werden, wie schematisch in 2 gezeigt ist, dann, wenn ein Datenabschnitt MD einer Nachricht M (ID100) aus ersten Unterdaten SD1 (10 Bits) mit Bezug zu einer Fahrzeuggeschwindigkeit, zweiten Unterdaten SD2 (4 Bits) mit Bezug zu einer Temperatur, und dritten Unterdaten SD3 (2 Bits) mit Bezug zu einer Feststellbremseninformation zusammengesetzt ist ..., in der Reihenfolge der ersten Unterdaten SD1, der zweiten Unterdaten SD2, und der dritten Unterdaten SD3 die Abbruchstellen-Unterscheidungsdaten D3 als ”11111111110000110...” ausgedrückt, wie in 4 gezeigt ist.
-
Anhand der Abbruchstellen-Unterscheidungsdaten D3 kann erkannt werden, dass in dem Datenabschnitt einer Nachricht mit einem Identifikator 100 der Bereich von dem ersten Bit bis zu dem zehnten Bit, in welchem ”1” aufeinanderfolgend ist, erste Unterdaten SD1 sind; dass der Bereich von dem elften Bit bis zu dem vierzehnten Bit, in welchem ”1” auf ”0” übergeht und ”0” aufeinanderfolgend ist, zweite Unterdaten SD2 sind; und dass das fünfzehnte Bit und das sechzehnte Bit, in welchen ”0” auf ”1” übergeht und ”1” aufeinanderfolgend ist, dritte Unterdaten SD2 sind.
-
Die Nachricht M, die über die Busse in dem Kommunikationssystem 10 des ersten Ausführungsbeispiels gesendet und empfangen wurde, ist aus einem Format zusammengesetzt, wie es schematisch in 2 gezeigt ist. Der Identifikator ist in einem Entscheidungsfeld beschrieben. Der Datenabschnitt MD ist aus einer Vielzahl von Unterdaten SD zusammengesetzt, die sich auf unterschiedliche Informationen beziehen.
-
Ein SOF(Start of Frame)-Code bzw. ein Rahmenanfangscode zeigt den Beginn der Nachricht an. Ein DLC(Data Length Code)-Code bzw. Datenlängencode gibt die Länge des Datenabschnitts an. Ein CRC(Cyclic Redundancy Code)-Code bzw. zyklischer Redundanzcode gibt ein Feld zum Prüfen eines Fehlers in der Übertragung der Nachricht an.
-
Die Nachrichtenübertragungsverarbeitung, welche durch die Weiterleitungs-Verbindungseinheit 20 des Kommunikationssystems 10, das in einem Fahrzeug zu verbauen ist, wird nachstehend unter Bezugnahme auf die 5 und 6 beschrieben.
-
Zu Beginn werden dann, wenn eine Energieversorgung eingeschaltet wird, die Abbruchstellen-Unterscheidungsdaten des Festwertspeichers 24-2 in den Schreib-Lese-Speicher 25 kopiert.
-
Wenn der Empfangsabschnitt 21 der Weiterleitungs-Verbindungseinheit 20 eine Nachricht empfängt (Schritt S1 von 6), ermittelt der Vergleichsberechnungsabschnitt 26 der zentralen Verarbeitungseinheit 23 unter Bezugnahme auf die Leitwegtabelle T, die in 3(A) gezeigt ist und welche in dem Festwertspeicher 24-1 gespeichert ist, ob es notwendig ist, die Nachricht zu übertragen, und den Bus, über welchen die Nachricht zu senden ist (Schritt S2 von 6).
-
Danach prüft der Fehlererfassungsabschnitt 29 des Datenprüfabschnitts 27 der zentralen Verarbeitungseinheit 23, ob die zu sendende Nachricht einen Fehler aufweist (Schritt S3 von 6). Eine nicht zu sendende Nachricht wird verworfen.
-
Wenn der Fehlererfassungsabschnitt 29 keinen Fehler erfasst, wird die Nachricht über den Sendeabschnitt 22 an ein notwendiges CAN gesendet, wie in 7 gezeigt ist (Schritte S4, S5 von 6).
-
Wenn der Fehlererfassungsabschnitt 29 einen Fehler erfasst und wenn der Datenabschnitt der empfangenen Nachricht in den vorangehend gesendeten Daten D2 neu zu schreiben ist, wird die Nachricht über den Sendeabschnitt 22 an das notwendige CAN gesendet, wie vorstehend beschrieben wurde, und wird die zu sendende Nachricht als die vorangehend gesendeten Daten D2 in den Schreib-Lese-Speicher 25 geschrieben, um die vorangehend gesendeten Daten als die neuesten vorangehend gesendeten Daten zu aktualisieren (Schritt S5 von 6).
-
Andererseits schreibt dann, wenn der Fehlererfassungsabschnitt 29 erfasst, dass die Nachricht einen Fehler aufweist, wie in 8 gezeigt ist, der Datenneuschreibabschnitt 28 den Datenabschnitt der Nachricht neu (Schritt S6 von 6). Zu dieser Zeit werden unter Bezugnahme auf die Abbruchstellen-Unterscheidungsdaten D3 Unterdaten des Datenabschnitts, in dem der Fehler aufgetreten ist, erfasst, um Bits in dem Bereich von einem obersten Bit der Unterdaten, in welchen der Fehler aufgetreten ist, bis zu einem letzten Bit des Datenabschnitts als die festgelegten Daten D1 zur Verwendung zum Neuschreiben oder die vorangehend gesendeten Daten D2 zur Verwendung zum Neuschreiben neu zu schreiben.
-
Zum Beispiel wird dann, wenn der Datenabschnitt einer Nachricht mit einem Identifikator 100 als ”10101010111111...” ausgedrückt wird, und wenn ein Fehler in dem vierzehnten Bit erfasst wird, für welches dasselbe Bit sechs mal aufeinanderfolgt, unter Bezugnahme auf die in 4 gezeigten Abbruchstellen-Unterscheidungsdaten D3 erfasst, dass das vierzehnte Bit in den zweiten Unterdaten beginnend an dem elften Bit enthalten ist, und werden die dem elften Bit, welches das oberste Bit der zweiten Unterdaten ist, nachfolgenden Bits von ”1111...” in den vorangehend gesendeten Daten D2 neu geschrieben, die den Identifikator 100 haben, welches als ”0011...” ausgedrückt wird. Die vorangehend gesendeten Daten D2 mit dem Identifikator 100, wie in 4 gezeigt ist, werden mittels einer hexadezimalen Schreibweise als ”aacc...” ausgedrückt. Die vorstehend beschriebene Nachricht wird durch Daten in einem notwendigen Bereich von ”1010101011001100...”, welcher durch eine gegenüber ”aacc...” geänderte binäre Schreibweise ausgedrückt wird, neu geschrieben.
-
Dadurch wird die Nachricht, in welcher der Fehler aufgetreten ist, neu in eine vollständige Nachricht umgeschrieben, welche über den Sendeabschnitt 22 an den notwendigen Bus gesendet wird (Schritt S7 von 6), wie in 8 gezeigt ist.
-
In dem vorstehend beschriebenen Aufbau wird dann, wenn der Fehlererfassungsabschnitt 29 den Fehler der durch den Datenprüfabschnitt 27 empfangenen Nachricht erfasst, der Datenabschnitt der Nachricht, in welcher der Fehler erfasst wurde, in den festgelegten Daten D1 oder den vorangehend gesendeten Daten D2, die in dem Schreib-Lese-Speicher 25 gespeichert sind, neu geschrieben, so dass die empfangene Nachricht als die vollständige Nachricht an den notwendigen Bus gesendet wird. Dadurch ist es möglich, die Übertragung einer unvollständigen Nachricht einschließlich des Fehlers, d. h. einer nutzlosen Nachricht, zu verhindern.
-
Ob eine Übertragung notwendig ist oder nicht wird nicht nach dem Prüfen, ob die Nachricht einen Fehler aufweist, ermittelt, sondern der Fehler der Nachricht wird unter der Annahme korrigiert, dass die Nachricht übertragen wird. Daher ist es möglich, damit zu beginnen, die Nachricht zu senden, bevor die Nachricht vollständig empfangen ist, und die Nachricht unter Verwendung des Durchgriffsverfahrens effizient zu senden.
-
Ferner wird der Datenabschnitt der Nachricht, in welcher ein Fehler erfasst wurde, nicht vollständig neu geschrieben, sondern es werden nur die Unterdaten, die auf die Unterdaten folgen, in welchen der Fehler erfasst wurde, in den festgelegten Daten D1 oder den vorangehend gesendeten Daten D2 neu geschrieben. Die Unterdaten vor den Unterdaten, in welchen der Fehler erfasst wurde, werden ohne ein Neuschreiben derselben gesendet. Daher kann die Nachricht effizient gesendet werden.
-
Wenn der Datenneuschreibabschnitt ein Neuschreiben ausgehend von dem Bit, an dem der Fehler aufgetreten ist, durchführt, sind Daten vor dem Neuschreiben und Daten nach dem Neuschreiben gemischt in einem Satz Unterdaten vorhanden. Folglich besteht die Möglichkeit, dass ungeeignete Daten erzeugt werden. Jedoch werden erfindungsgemäß die Unterdaten, in welchen der Fehler aufgetreten ist, insgesamt neu geschrieben. Daher ist es möglich, die Unterdaten, in welchen der Fehler aufgetreten ist, sicher auf die vollständigen Daten zu korrigieren.
-
9 zeigt das zweite Ausführungsbeispiel.
-
Die Daten des zweiten Ausführungsbeispiels zur Verwendung zum Neuschreiben, die in dem Schreib-Lese-Speicher 25 gespeichert sind, unterscheiden sich von denen des ersten Ausführungsbeispiels. Die festgelegten Daten D1, die vorangehend gesendeten Daten D2 und die Abbruchstellen-Unterscheidungsdaten D3 sind für alle Unterdaten bereitgestellt.
-
Im Einzelnen ist in den Abbruchstellen-Unterscheidungsdaten D3 das gegebenen Unterdaten entsprechende Bit ”1”, während das den gegebenen Unterdaten nicht entsprechende Bit ”0” ist. Die Abbruchstellen-Unterscheidungsdaten zum Unterscheiden der ersten Unterdaten SD1 des ersten Ausführungsbeispiels werden als ”11111111110000000...” ausgedrückt. Die Abbruchstellen-Unterscheidungsdaten zum Unterscheiden der zweiten Unterdaten SD2 werden als 00000000001111000... ausgedrückt. Die Abbruchstellen-Unterscheidungsdaten zum Erfassen des Bereichs der dritten Unterdaten SD3 werden als ”00000000000000110...” ausgedrückt.
-
Daher werden in der Nachricht mit dem Identifikator 100 dann, wenn ein Fehler in dem vierzehnten Bit des Datenabschnitts erfasst wird, die Abbruchstellen-Unterscheidungsdaten mit ”1” an dem vierzehnten Bit gesucht bzw. nach diesen gesucht. Weil das vierzehnte Bit der Abbruchstellen-Unterscheidungsdaten der zweiten Unterdaten ”1” ist, ist es möglich, zu erfassen, dass der Fehler in den zweiten Unterdaten aufgetreten ist. Der Datenabschnitt der Nachricht wird ausgehend von dem elften Bit, welches das oberste Bit der zweiten Unterdaten ist, neu geschrieben.
-
In dem vorstehend beschriebenen Aufbau ist es unter Bezugnahme auf die Abbruchstellen-Unterscheidungsdaten möglich, die Unterdaten-Unterscheidungsverarbeitung und die Neuschreibverarbeitung effizient auszuführen. Darüber hinaus ist es möglich, die Unterdaten auf einen Wert umzuschreiben, der aus den festgelegten Daten D1 und den vorangehend gesendeten Daten D2 für jede Unterdaten ausgewählt wurde. Das heißt, dass es selbst in ein und derselben Nachricht möglich ist, die ersten Unterdaten in den vorangehend gesendeten Daten und die zweiten Unterdaten in den festgelegten Daten neu zu schreiben.
-
Weil andere Ausgestaltungen des zweiten Ausführungsbeispiels sowie die Funktionsweise und die Wirkung desselben ähnlich zu denen des ersten Ausführungsbeispiels sind, sind zu solchen es ersten Ausführungsbeispiels gleiche Teile des zweiten Ausführungsbeispiels mit denselben Bezugszeichen und Symbolen wie in dem ersten Ausführungsbeispiel bezeichnet.