-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft eine Kommunikationsvorrichtung und ein Datenkommunikationsverfahren zum Senden und Empfangen von Daten zwischen elektronischen Steuerungseinheiten in einem Fahrzeug.
-
TECHNISCHER HINTERGRUND
-
Daten, die zwischen elektronischen Steuerungseinheiten gesendet und empfangen werden, sind mit Identifikationsinformationen versehen, um zum Beispiel Dateninhalte und Sendeknoten zu identifizieren. Aufgrund der verbesserten Funktionalität von Bordsystemen etc. nehmen Identifikationsinformationen, die den zwischen elektronischen Steuerungseinheiten gesendeten und empfangenen Daten beigefügt sind, zu. Darüber hinaus besteht eine Einschränkung dahingehend, dass die Gesamtheit der Identifikationsinformationen, die jeder einen Knoten bildende Kanal empfangen kann, in einer in die elektronische Steuerungseinheit eingebauten Kommunikationsvorrichtung begrenzt ist. Daher wurde, wie in Patentdokument 1 beschrieben, eine Technik zur integralen Verwendung mehrerer Kanäle vorgeschlagen, die in einer Kommunikationsschnittstelle bereitgestellt werden, um Daten zu empfangen, die eine Reihe von Teilen von Identifikationsinformationen enthalten, die nicht auf einem einzigen Kanal empfangen werden können.
-
LISTE DER BEZUGNAHMEN
-
PATENTDOKUMENT
-
Patentdokument 1:
JP 2012-142646 A
-
DARSTELLUNG DER ERFINDUNG
-
PROBLEM, DAS DURCH DIE ERFINDUNG GELÖST WERDEN SOLL
-
Daten, die von einem Kanal der Kommunikationsschnittstelle gesendet werden, fließen durch einen Kommunikationsbus, der ein bordeigenes Netz bildet, und werden an alle an den Kommunikationsbus angeschlossenen Kanäle weitergegeben. Zur Spiegelung muss eine Kommunikationsvorrichtung zum Beispiel Daten von dem Kommunikationsbus empfangen und verarbeiten, wenn diese von der Kommunikationsvorrichtung an den Kommunikationsbus gesendet werden. Es gibt jedoch Fälle, in denen die Kommunikationsvorrichtung von anderen Kommunikationsvorrichtungen Daten empfängt, die mit denselben Identifikationsinformationen versehen sind wie die an den Kommunikationsbus gesendeten Daten. Es kann nicht unterschieden werden, ob es sich um Daten handelt, die an den Kommunikationsbus gesendet wurden, oder um Daten, die von anderen Kommunikationsvorrichtungen gesendet wurden, wodurch eine angemessene Verarbeitung der Daten erschwert wird.
-
Eine Aufgabe der vorliegenden Erfindung ist es daher, eine Kommunikationsvorrichtung und ein Datenkommunikationsverfahren bereitzustellen, welche in Bezug auf Daten, die mit denselben Identifikationsinformationen versehen sind, identifizieren können, ob die Daten von dem Knoten der Kommunikationsvorrichtung gesendet wurden oder von dem Knoten einer anderen Kommunikationsvorrichtung gesendet wurden.
-
MITTEL ZUR LÖSUNG DES PROBLEMS
-
Eine Kommunikationsvorrichtung weist zumindest einen Sendepuffer und zumindest einen Empfangspuffer auf. Die Kommunikationsvorrichtung sendet mit Identifikationsinformationen versehene Daten von dem Sendepuffer an einen Kommunikationsbus, empfängt die durch den Kommunikationsbus fließenden Daten und speichert die Daten in dem Empfangspuffer. In Bezug auf die Daten, die in dem Empfangspuffer gespeichert sind, erkennt die Kommunikationsvorrichtung die Daten, die von ihrem eigenen Knoten gesendet wurden, und verarbeitet diese dementsprechend.
-
WIRKUNGEN DER ERFINDUNG
-
Gemäß der vorliegenden Erfindung kann die Kommunikationsvorrichtung identifizieren, ob die mit denselben Identifikationsinformationen versehenen Daten von ihrem eigenen Knoten gesendet wurden oder von dem Knoten einer anderen Vorrichtung gesendet wurden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
- 1 ist eine schematische Ansicht eines Beispiels eines bordeigenen Netzes.
- 2 ist eine Darstellung, die ein Beispiel eines Datenrahmen veranschaulicht.
- 3 ist eine Darstellung, die ein Beispiel eines entfernten Rahmen veranschaulicht.
- 4 ist eine schematische Ansicht eines Beispiels einer Kommunikationsvorrichtung, die in eine elektronische Steuerungseinheit eingebaut ist.
- 5 ist eine Darstellung, die ein Beispiel einer Empfangsregeltabelle veranschaulicht.
- 6 ist eine Darstellung, die ein Beispiel einer Konfigurationstabelle veranschaulicht.
- 7 ist eine Darstellung, die Beispiele von Empfangsregeltabellen veranschaulichen, die vermittels einer Konfigurationstabelle festgelegt wurden.
- 8 ist eine schematische Darstellung eines weiteren Beispiels einer Kommunikationsvorrichtung, die in eine elektronische Steuerungseinheit eingebaut ist.
- 9 ist eine Darstellung, die eine Datenblockierungsfunktion zu dem Zeitpunkt veranschaulicht, wenn die Datenblockierungsschaltung in Betrieb ist.
- 10 ist eine Darstellung, welche die Datenblockierungsfunktion zu dem Zeitpunkt zeigt, zu dem die Datenblockierungsschaltung nicht in Betrieb ist.
- 11 ist eine schematische Ansicht eines weiteren Beispiels einer Empfangsregeltabelle.
-
AUSFÜHRUNGSFORM DER ERFINDUNG
-
Nachfolgend wird eine Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen ausführlich beschrieben.
-
1 zeigt ein Beispiel für ein leitungsgebundenes Bordnetz, das in einem Fahrzeug, wie etwa einem Pkw, einem Bus, einem Lkw oder einer Baumaschine, eingebaut ist. Mehrere elektronische Steuerungseinheiten bzw. Steuergeräte (ECUs) 100, die Systeme wie ein Motorsystem, ein Automatikgetriebesystem, ein Antiblockiersystem und ein automatisches Fahrsystem elektronisch steuern, sind zum Beispiel über einen Controller Area Network (CAN)-Bus 200 verbunden, um gegenseitig Daten senden und empfangen zu können. Der CAN-Bus 200 bestimmt dominante und rezessive Zustände auf Grundlage der Spannungsdifferenz zwischen zwei Kommunikationsleitungen CAN_H und CAN_L, um weniger durch Rauschen beeinträchtigt zu werden.
-
Der CAN-Bus 200 ist hierbei ein Beispiel für einen Kommunikationsbus. Der Kommunikationsbus ist jedoch nicht auf den CAN-Bus 200 beschränkt, sondern kann auch ein beliebiger bekannter Bus sein, zum Beispiel ein LIN-Bus (Local Interconnect Network) und ein FlexRay®-Bus. In dem in 1 gezeigten Beispiel für das bordeigene Netzwerk ist das Fahrzeug mit fünf elektronischen Steuerungseinheiten 100 ausgestattet; die Anzahl der elektronischen Steuerungseinheiten 100 kann jedoch beliebig festgelegt werden.
-
Als Beispiel für Daten, die mit Identifikationsinformationen versehen sind, wird ein Datenrahmen DF oder ein entfernter bzw. remote Rahmen RF, die in einem CAN-Protokoll verwendet werden, unter mehreren elektronischen Steuerungseinheiten 100 gesendet und empfangen.
-
Wie in 2 dargestellt, umfasst der Datenrahmen DF den Rahmenanfang (SOF), die Kennung (ID), die Fernübertragungsanforderung (RTR), ein Steuerfeld, ein Datenfeld, ein CRC-Feld (Cyclic Redundancy Check) und ein Bestätigungsfeld (ACK) sowie das Rahmenende (EOF). ID ist ein Beispiel für Identifikationsinformationen, die den Daten beigefügt sind.
-
SOF gibt den Beginn des Datenrahmens DF an. ID wird zur Identifizierung von Dateninhalten und Sendeknoten sowie zur Angabe einer Priorität der Kommunikationsentscheidung verwendet. RTR wird zur Unterscheidung von Datenrahmen DF und entfernter Rahmen RF verwendet. Das Steuerfeld enthält die Identifier Extension (IDE), das reservierte Bit r, sowie den Data Length Code (DLC), der angibt, wie viele Bytes an Daten in dem Datenfeld gesendet werden. Das Datenfeld wird zur Speicherung des Körpers von gesendeten Daten verwendet. Das CRC-Feld enthält eine CRC-Sequenz, um zu bestimmen, ob die Daten erfolgreich empfangen wurden, sowie ein CRC-Begrenzungszeichen, welches das Ende der CRC-Sequenz angibt. Das ACK-Feld enthält einen ACK-Schlitz und ein ACK-Begrenzungszeichen, welches das Ende des ACK-Schlitzes angibt. Das EOF-Feld gibt das Ende des Datenrahmens DF an. Der in 2 dargestellte Datenrahmen DF ist ein Beispiel für einen Datenrahmen in einem Standardformat, kann aber auch in einem erweiterten Format vorliegen.
-
Der entfernte Rahmen RF wird verwendet, um den Datenrahmen DF anzufordern, und enthält SOF, ID, RTR, ein Steuerfeld, ein CRC-Feld, ein ACK-Feld und EOF, wie in 3 dargestellt. Das heißt, der entfernte Rahmen RF hat eine Grundstruktur, die durch Entfernen des Datenfelds aus dem Datenrahmen DF erhalten wird. Daher wird der entfernet Rahmen RF nicht ausführlich erläutert, um doppelte Erklärungen zu vermeiden. Siehe bei Bedarf die Beschreibung des Datenrahmens DF.
-
Wie in 4 dargestellt enthält die elektronische Steuerungseinheit 100 zusätzlich zu einem Mikrocomputer (nicht dargestellt) zur Steuerung einer Steuerzielvorrichtung zumindest eine Kommunikationsvorrichtung 120, die mit dem CAN-Bus 200 verbunden ist, um Daten zu senden und zu empfangen. Die Kommunikationsvorrichtung 120 umfasst einen Mikrocontroller 140 zum Senden und Empfangen von Daten, und einen CAN-Sendeempfänger 160.
-
Der Mikrocontroller 140 umfasst ein Puffermodul 140A, einen nichtflüchtigen Speicher 140B, einen flüchtigen Speicher 140C und einen internen Bus 140D, um sie in einer gegenseitig kommunizierenden Art und Weise miteinander zu verbinden.
-
Die Kommunikationsschnittstelle des Puffermoduls 140A weist eine Vielzahl von Kanälen CH_1 bis CH_N (N: zwei oder mehr natürliche Zahlen) auf, die als ein Knoten fungieren. Dabei kann die Anzahl der Kanäle des Puffermoduls 140A entsprechend eingestellt werden, zum Beispiel unter Berücksichtigung der von der elektronischen Steuerungseinheit 100 zu steuernden Vorrichtungen und der Anzahl der in dem Fahrzeug montierten elektronischen Steuerungseinheiten 100.
-
Der Kanal CH_1 weist zumindest einen Sendepuffer Tx und zumindest einen Empfangspuffer Rx auf. Darüber hinaus weisen die Kanäle CH_2 bis CH_N jeweils zumindest einen Empfangspuffer Rx auf. In dem in 4 dargestellten Beispiel ist für jeden Kanal CH_1 bis CH_N ein Empfangspuffer Rx vorgesehen. Es wird angemerkt, dass der Empfangspuffer Rx eine kollektive Darstellung ist, die mehrere Empfangspuffer umfassen kann. In der folgenden Beschreibung wird der Empfangspuffer des Kanals CH_i (i: eine natürliche Zahl von 1 bis N) bei Bedarf als „Rxi“ dargestellt. Wenn der Empfangspuffer Rxi mehrere Empfangspuffer enthält, wird jeder Empfangspuffer als „Rxn(j)“ (j: die Anzahl der in dem Empfangspuffer Rxn enthaltenen Empfangspuffer) dargestellt.
-
In Kanal CH_i ist eine ID, die von jedem Empfangspuffer Rxi (j) zu empfangenden Daten beigefügt ist, gemäß einer Empfangsregeltabelle RTBL (Einzelheiten dazu werden weiter unten beschrieben) vordefiniert, die dem Kanal CH_i eins-zu-eins zugeordnet ist. Das heißt, Empfangspuffer Rxi (j) sind jeweiligen ID von Daten zugeordnet. Dabei kann zumindest ein Teil der Empfangspuffer Rxi (j) des Kanals CH_i derart konfiguriert sein, dass er mehrere Daten mit unterschiedlichen IDs, welche die Anzahl der Empfangspuffer Rxi (j) überschreiten, durch ein Maskenverfahren unter Verwendung eines Platzhalters empfängt.
-
Der nichtflüchtige Speicher 140B umfasst zum Beispiel einen Flash-Festwertspeicher (ROM) oder einen elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), der Daten auch bei unterbrochener Stromversorgung vorhalten kann, und speichert eine Konfigurationstabelle CTBL und eine Vielzahl von Empfangsregeltabellen RTBL. Hier sind die Konfigurationstabelle CTBL und jede Empfangsregeltabelle RTBL, die in dem nichtflüchtigen Speicher 140B gespeichert sind, jeweils Beispiele für eine zweite Tabelle und eine erste Tabelle.
-
Der flüchtige Speicher 140C umfasst zum Beispiel einen dynamischen Direktzugriffsspeicher (DRAM) oder einen statischen Direktzugriffsspeicher (SRAM), der Daten verliert, wenn die Stromversorgung unterbrochen wird, und speichert die Puffer A und B sowie einen FIFO-Puffer (First In, First Out), welche die in den Empfangspuffern Rxi des Puffermoduls 140A gespeicherten Daten übermitteln und zwischenspeichern. Dabei kann die Anzahl der in dem flüchtigen Speicher 140C gespeicherten Puffer und FIFO-Puffer zum Beispiel gemäß dem Steuerinhalt der Steuerzielvorrichtung verändert werden.
-
Der CAN-Sendeempfänger 160, bei dem es sich um einen integrierten Schaltkreis (IC) für die Busschnittstelle handelt, der zur Verbindung des Mikrocontrollers 140 mit anderen Mikrocontrollern verwendet wird, erzeugt zum Beispiel die Busübertragungsspannung und passt diese an, stellt einen Betriebsstrom sicher und schützt eine Verdrahtung bzw. Verkabelung. Ein Dateneingangsanschluss des CAN-Sendeempfängers 160 ist mit dem Sendepuffer Tx1 des Kanals CH_1 in dem Puffermodul 140A verbunden. Ein Datenausgangsanschluss des CAN-Sendeempfängers 160 ist mit allen Empfangspuffern Rx1 bis RxN der Kanäle CH_1 bis CH_N in dem Puffermodul 140A verbunden. Zwei Anschlüsse zur seriellen Kommunikation des CAN-Sendeempfängers 160 sind jeweils mit den Kommunikationsleitungen CAN_H und CAN_L des CAN-Bus 200 verbunden.
-
Dementsprechend kann das Puffermodul 140A durch integrales Verwenden der Empfangspuffer Rx1 bis RxN mehrerer Kanäle CH_1 bis CH_N Daten mit einer Anzahl von IDs empfangen, die auf einem einzelnen Kanal CH_i nicht empfangen werden können. Falls zum Beispiel ein Kanal CH_i Daten mit 128 IDs empfangen kann, können Daten mit 128×N verschiedenen IDs durch integrales Verwenden von N Kanälen empfangen werden.
-
Die in dem nicht-flüchtigen Speicher 140B gespeicherten Empfangsregeltabellen RTBLs sind jeweils für den entsprechenden Kanal CH_i des Puffermoduls 140A vorgesehen. In jeder Empfangsregeltabelle RTBL, wie in 5 dargestellt, ist zumindest ein Datensatz definiert, dem eine Kanalnummer, die den Empfangspuffer Rxi (j) angeben kann, in dem Daten empfangen werden, die ID der empfangenen Daten (Empfangs-ID) und das Speicherziel zugeordnet sind.
-
Die in 5 dargestellte Empfangsregeltabelle RTBL basiert auf der Annahme, dass es in jedem Kanal CH_i 128 Empfangspuffer Rx gibt. Der Empfangspuffer Rxi (0), dem die Kanalnummer „0“ beigefügt ist, ist für den Empfang von Daten, die mit der Empfangskennung „0x100“ versehen sind, sowie für die Speicherung der Daten in dem Puffer A des flüchtigen Speichers 140C definiert. Der Empfangspuffer Rxi (1), an den die Kanalnummer „1“ beigefügt ist, ist für den Empfang von Daten, die mit der Empfangs-ID „0x111“ versehen sind, und für die Speicherung der Daten in dem Puffer B des flüchtigen Speichers 140C definiert. Ferner ist der Empfangspuffer Rxi (127), an den die Kanalnummer „127“ beigefügt ist, für den Empfang mehrerer Daten, die mit unterschiedlichen IDs durch einen Maskenprozess vermittels eines Platzhalters versehen sind, und für die Speicherung der Daten in einem FIFO-Puffer, der aus mehreren Puffern in einem First-in-First-out-Format gebildet ist, definiert.
-
Die in dem nichtflüchtigen Speicher 140B gespeicherte Konfigurationstabelle CTBL wird verwendet, um das Erkennen von Daten zu ermöglichen, die mit derselben ID wie jener der gesendeten Daten versehen sind, zum Beispiel zur Spiegelung oder für andere Zwecke. In der Konfigurationstabelle CTBL, wie in 6 dargestellt, ist zumindest ein Datensatz derart spezifiziert, dass er einer ID der gesendeten Daten (Sende-ID), einer ID der empfangenen Daten (Empfangs-ID) und einem Sendeknoten zugeordnet ist, der in der Lage ist, zu identifizieren, ob die empfangenen Daten von dem Knoten der Kommunikationsvorrichtung oder von dem Knoten einer anderen Kommunikationsvorrichtung gesendet wurden. Mit anderen Worten ist jeder Datensatz in der Konfigurationstabelle CTBL zumindest der ID der gesendeten Daten und der ID der empfangenen Daten zugeordnet. Optional ist jeder Datensatz der Konfigurationstabelle CTBL zusätzlich zur ID der gesendeten Daten und der ID der empfangenen Daten einem Sendeknoten zugeordnet, der in der Lage ist zu identifizieren, ob die empfangenen Daten von dem Knoten der Kommunikationsvorrichtung oder von dem Knoten einer anderen Kommunikationsvorrichtung gesendet wurden.
-
In dem ersten Datensatz der Konfigurationstabelle CTBL in 6 ist definiert, dass die Sende-ID „0x100“, die Empfangs-ID „0x100“ und der Sendeknoten „ein anderer Knoten“ ist, d.h., dass die mit der Empfangs-ID „0x100“ versehenen Daten von dem Knoten einer anderen Vorrichtung gesendet wurden. In dem nächsten Datensatz der Konfigurationstabelle CTBL wird festgelegt, dass die Sende-ID „0x105“, die Empfangs-ID „0x105“ und der Sendeknoten „der Knoten“ ist, d.h. dass die mit der Empfangs-ID „0x105“ versehenen Daten von dem Knoten der Kommunikationsvorrichtung gesendet wurden.
-
Die Kommunikationsvorrichtung 120 der elektronischen Steuerungseinheit 100 legt die Empfangsregeltabelle RTBL unter Bezugnahme auf die Konfigurationstabelle CTBL zum Zeitpunkt der Initialisierung, wenn die Kommunikationsvorrichtung 120 gestartet wird, fest.
-
Es wird beschrieben, wie die Kommunikationsvorrichtung 120 die Empfangsregeltabelle RTBL unter Verwendung der in 6 gezeigten Konfigurationstabelle CTBL einstellt. Die Kommunikationsvorrichtung 120 bezieht sich auf die Konfigurationstabelle CTBL, scannt sie sequentiell von dem ersten Datensatz bis zu dem letzten Datensatz und extrahiert Datensätze, die jeweils die gleiche Sende-ID und Empfangs-ID haben, zum Beispiel den ersten Datensatz und den nächsten Datensatz. Dann, wie in 7 gezeigt, legt die Kommunikationsvorrichtung 120 in Bezug auf die mehreren Empfangsregeltabellen RTBLs, die jeweils eins-zu-eins den jeweiligen Kanälen CH_1 bis CH_N entsprechen, für jeden Datensatz mit der in dem extrahierten Datensatz enthaltenen Empfangs-ID entweder „den Knoten“ oder „einen anderen Knoten“ als den Sendeknoten fest. Das heißt, dass in jedem Datensatz der Empfangsregeltabellen RTBLs zumindest die ID der von dem CAN-Bus 200 empfangenen Daten und der Sendeknoten, der in der Lage ist, zu identifizieren, ob die empfangenen Daten von dem Knoten der Kommunikationsvorrichtung oder von dem Knoten einer anderen Kommunikationsvorrichtung gesendet wurden, zugeordnet sind. Weil das Festlegen bzw. Einstellen der Empfangsregeltabellen RTBLs durch Hardware wie etwa eine elektronische Schaltung durchgeführt wird, die das Puffermodul 140A der Kommunikationsvorrichtung 120 bildet, kann eine Zunahme der Verarbeitungslast an dem Mikrocomputer der elektronischen Steuerungseinheit 100 unterbunden werden.
-
Wenn in einer solchen Kommunikationsvorrichtung 120 zum Beispiel Daten mit der ID „0x100“ von der elektronischen Steuerungseinheit 100 an den CAN-Bus 200 gesendet werden, speichert ein in den Zeichnungen nicht dargestellter Mikrocomputer die Daten in dem Sendepuffer Tx1 des Kanals CH_1 des Puffermoduls 140A. Sobald die Daten in dem Sendepuffer Tx1 gespeichert wurden, sendet das Puffermodul 140A die Daten in dem Sendepuffer Tx1 an den Dateneingangsanschluss des CAN-Sendeempfängers 160 und löscht den Sendepuffer Tx1 durch einen Hardwareprozess. Nach dem Empfang der Daten sendet der CAN-Sendeempfänger 160 die von dem Mikrocontroller 140 empfangenen Daten über die beiden Anschlüsse zur seriellen Kommunikation an den CAN-Bus 200 und wandelt die Daten in ein mit dem CAN-Bus 200 kompatibles Protokoll um.
-
Die an den CAN-Bus 200 gesendeten Daten fließen durch den CAN-Bus 200 und werden an Kommunikationsvorrichtungen 120 aller an den CAN-Bus 200 angeschlossenen elektronischen Steuerungseinheiten 100 übermittelt. Insbesondere sendet der an den CAN-Bus 200 angeschlossene CAN-Sendeempfänger 160 die von dem CAN-Bus 200 empfangenen Daten über den Datenausgangsanschluss an alle Empfangspuffer Rx1 bis RxN der Kanäle CH_1 bis CH_N, während die Daten in ein mit dem Mikrocontroller 140 kompatibles Protokoll umgewandelt werden.
-
Das Puffermodul 140A zieht die in dem nichtflüchtigen Speicher 140B gespeicherten mehreren Empfangsregeltabellen RTBLs heran und speichert Daten in den entsprechenden Empfangspuffer Rx gemäß den darin definierten Empfangsregeln. Dieser Vorgang wird anhand eines konkreten Beispiels beschrieben. Wenn die ID der empfangenen Daten „0x100“ ist, speichert das Puffermodul 140A unter Bezugnahme auf die in 7 dargestellten Empfangsregeltabellen RTBLs die Daten in dem Empfangspuffer Rx des Kanals CH_1, der der mit der Empfangs-ID „0x100“ verbundenen Kanalnummer 0 entspricht. Nach dem Speichern der Daten in dem Empfangspuffer Rx speichert das Puffermodul 140A die Daten in dem Puffer A, dem Speicherziel, das der Empfangs-ID „0x100“ zugeordnet ist, unter Bezugnahme auf die in 7 gezeigten Empfangsregeltabellen RTBLs, und löscht den Empfangspuffer Rx.
-
Zu diesem Zeitpunkt kann das Puffermodul 140A identifizieren, ob die empfangenen Daten von dem Knoten der Kommunikationsvorrichtung oder von dem Knoten einer anderen Kommunikationsvorrichtung gesendet wurden, indem es die Empfangs-ID und den Sendeknoten in den in 7 dargestellten Empfangsregeltabellen RTBLs heranzieht. Mit anderen Worten extrahiert das Puffermodul 140A die ID aus den empfangenen Daten und bestimmt, ob diese ID in den Empfangsregeltabellen RTBLs vorhanden ist oder nicht. Wenn das Puffermodul 140A bestimmt, dass die ID der empfangenen Daten in den Empfangsregeltabellen RTBLs vorhanden ist, zieht es den Sendeknoten in dem dieser ID zugeordneten Datensatz heran, und falls der Sendeknoten „der Knoten“ ist, identifiziert es die empfangenen Daten als von dem Knoten der Kommunikationsvorrichtung selbst gesendet. Ist der Sendeknoten des Datensatzes, der der ID der empfangenen Daten zugeordnet ist, hingegen „ein anderer Knoten“, identifiziert das Puffermodul 140A die empfangenen Daten als von dem Knoten einer anderen Kommunikationsvorrichtung gesendet.
-
Der Identifikationsprozess wird unter Verwendung der in 7 dargestellten Empfangsregeltabellen RTBLs als ein Beispiel beschrieben. Wenn die ID der empfangenen Daten „0x100“ ist, spezifiziert das Puffermodul 140A unter Bezugnahme auf die Empfangsregeltabellen RTBLs einen Datensatz mit der Empfangs-ID „0x100“. Dann identifiziert das Puffermodul 140A unter Bezugnahme auf den Sendeknoten dieses Datensatzes und die Feststellung, dass es sich bei dem Sendeknoten um einen „anderen Knoten“ handelt, dass die empfangenen Daten von einem Knoten einer anderen Kommunikationsvorrichtung gesendet wurden. Wenn die ID der empfangenen Daten „0x105“ ist, spezifiziert das Puffermodul 140A unter Bezugnahme auf die Empfangsregeltabellen RTBLs einen Datensatz mit der Empfangs-ID „0x105“. Dann identifiziert das Puffermodul 140A unter Bezugnahme auf den Sendeknoten dieses Datensatzes und die Feststellung, dass es sich bei dem Sendeknoten um „den Knoten“ handelt, dass die empfangenen Daten von dem Knoten der Kommunikationsvorrichtung, d. h. einem zur Spiegelung, gesendet wurden.
-
Deshalb kann die Kommunikationsvorrichtung 120 bei empfangenen Daten, die mit der gleichen ID wie jener der gesendeten Daten versehen sind, durch Bezugnahme auf die Empfangsregeltabellen RTBLs identifizieren, ob die empfangenen Daten von dem Knoten der Kommunikationsvorrichtung oder von dem Knoten einer anderen Kommunikationsvorrichtung gesendet wurden. Die Kommunikationsvorrichtung 120 kann somit die empfangenen Daten gemäß dem Identifikationsergebnis verarbeiten.
-
Wenn in der elektronischen Steuerungseinheit 100 keine Spiegelung erforderlich ist, werden die empfangenen Daten, selbst wenn die Kommunikationsvorrichtung 120 Daten empfängt, die mit der gleichen ID wie die von ihr gesendeten Daten versehen sind, nicht zur Steuerung der Steuerzielvorrichtung verwendet, weshalb die Ressourcen möglicherweise nicht effektiv genutzt werden. Deshalb kann, wie in 8 gezeigt, eine Datenverwerfungsschaltung 180, die Daten von dem CAN-Sendeempfänger 160 während der Datenübertragung verwirft, auf den beiden Leitungen angeordnet sein, die das Puffermodul 140A des Mikrocontrollers 140 und den CAN-Sendeempfänger 160 verbinden. Mit anderen Worten kann die Datenverwerfungsschaltung 180 zwischen dem Sendepuffer Tx1 und den Empfangspuffern Rx1 bis RxN und dem CAN-Bus 200 angeordnet sein. Bevorzugt ist die Datenverwerfungsschaltung 180 zum Beispiel ein dedizierter IC, um die Verarbeitungslast an dem Mikrocomputer der elektronischen Steuerungseinheit 100 zu verringern.
-
Wie in 9 gezeigt, verwirft die Datenverwerfungsschaltung 180 Daten, die von dem CAN-Sendeempfänger 160 an das Puffermodul 140A gesendet werden sollen, während Daten von dem Sendepuffer Tx1 des Kanals CH_1 des Puffermoduls 140A an den CAN-Sendeempfänger 160 gesendet werden. Insbesondere wenn die Daten rezessiv sind, bestimmt die Datenverwerfungsschaltung 180, dass Daten an den CAN-Sendeempfänger 160 gesendet werden, und ändert die von dem CAN-Sendeempfänger 160 gesendeten Daten zwangsweise von rezessiv zu dominant (siehe gestrichelte Linie in der Figur). Die Datenverwerfungsschaltung 180 verhindert, dass sinnvolle Daten an das Puffermodul 140A gesendet werden und verwirft die Daten im Wesentlichen dadurch.
-
Durch Hinzufügen der Datenverwerfungsschaltung 180 werden die Daten, die von dem CAN-Sendeempfänger 160 an die Empfangspuffer Rx1 bis RxN der Kanäle CH_1 bis CH_N gesendet werden sollen, verworfen, während die Daten von dem Sendepuffer Tx1 des Kanals CH_1 in dem Puffermodul 140A gesendet werden. Wenn also keine Spiegelung erforderlich ist, empfängt die Kommunikationsvorrichtung 120 keine Daten zur Spiegelung, die nicht Gegenstand der Verarbeitung sind, und dadurch können die Empfangspuffer Rx1 bis RxN des Puffermoduls 140A effektiv verwendet werden. Um die Datenverwerfungsschaltung 180 zu aktivieren oder zu deaktivieren, kann eine Schaltfunktion wie etwa ein mechanischer Schalter oder Software-Schalter bereitgestellt werden.
-
Wenn mehrere Daten durch einen Maskenprozess in dem FIFO-Puffer gespeichert wurden und bestimmte Daten verwendet werden sollen, muss der Mikrocomputer der elektronischen Steuerungseinheit 100 den FIFO-Puffer scannen und Daten durch ein Anwendungsprogramm auswählen. Darüber hinaus muss der Mikrocomputer der elektronischen Steuerungseinheit 100 die Daten in einem bestimmten Zeitraum scannen, um zu vermeiden, dass der FIFO-Puffer voll wird und keine Daten mehr speichern kann. Daher wird die für das Scannen des FIFO-Puffers erforderliche Verarbeitungslast weiter auf den Mikrocomputer der elektronischen Steuerungseinheit 100 aufgebracht. Die Puffereinheit 120A der Kommunikationsvorrichtung 120 kann die in dem Empfangspuffer Rx gespeicherten Daten vermittels Direct Memory Access (DMA) an einen virtuellen Speicher transferieren; dabei tritt jedoch das gleiche Problem auf, das beim FIFO-Puffer auftritt.
-
Deshalb können die Daten, wie in 11 gezeigt, in der Empfangsregeltabelle RTBL gemäß einer vorgegebenen Regel wie etwa dem Datenempfangszyklus oder -funktion gruppiert werden, so dass die Daten in verschiedenen FIFO-Puffern für jede Gruppe gespeichert werden können. In einem in 11 gezeigten Beispiel ist für Maske 1 der Kanalnummer „125“ definiert, dass Daten mit einem Empfangszyklus von 10 ms in dem FIFO-Puffer A zu speichern sind, und für Maske 2 der Kanalnummer „126“ ist definiert, dass Daten für die Funktion „Sicherheit“ in dem FIFO-Puffer B zu speichern sind. Mit anderen Worten kann die Kommunikationsvorrichtung 120 mehrere Maskenprozesse für jeweilige Gruppen mit IDs festlegen, die gemäß vorgegebenen Regeln klassifiziert werden. Für die Maske 3 des Kanals mit der Nummer „127“ ist angegeben, dass die Empfangs-ID und das Speicherziel gemäß einer vorgegebenen Regel definiert sind.
-
Dies ermöglicht eine Optimierung der Datenscanfrequenz und des Scanziels, indem zum Beispiel der Scanzyklus des FIFO-Puffers für Daten mit einem kurzen Empfangszyklus verkürzt und der Scanzyklus des FIFO-Puffers für Daten mit einem langen Empfangszyklus verlängert wird. Darüber hinaus kann bei Daten, die für eine bestimmte Funktion verwendet werden, das Scannen irrelevanter Daten, die nicht für diese Funktion verwendet werden, vermieden werden, indem der FIFO-Puffer in einem Zyklus gescannt wird, der unter Berücksichtigung der Funktion der Daten festgelegt wird, etc. Die Scanfrequenz und das Scan-Ziel können dadurch optimiert werden. Das Optimieren der Datenscanfrequenz und des Scanziels kann es möglich machen, zu vermeiden, dass der FIFO-Puffer voll wird und keine Daten mehr speichern kann, und die Verarbeitungslast an dem Mikrocomputer der elektronischen Steuerungseinheit 100 zu verringern.
-
Deshalb muss der Mikrocontroller 140 selbst gemäß der Kommunikationsvorrichtung 120 der vorliegenden Ausführungsform nicht unbedingt ein Mikrocontroller mit hoher Funktionalität und überschüssigen Ressourcen sein, sondern die Ressourcen des Mikrocontrollers 140 können genutzt werden, um die Anzahl der IDs zu erhöhen, die empfangen werden können.
-
Ein Fachmann erkennt, dass eine neue Ausführungsform durch Weglassen, geeignetes Kombinieren oder Ersetzen eines Teils einer Vielzahl von technischen Ideen der obigen Ausführungsform erhalten werden kann.
-
Zum Beispiel kann nicht nur das Puffermodul 140A, sondern jeder Kanal CH_1 bis CH_N, der Daten empfangen hat, die empfangenen Daten in den Puffern oder dem FIFO-Puffer speichern.
-
Zudem kann sich das Puffermodul 140A auf die in 6 gezeigte Konfigurationstabelle CTBL anstelle der in 7 gezeigten Empfangsregeltabellen RTBLs beziehen, um zu identifizieren, ob die empfangenen Daten von dem Knoten der Kommunikationsvorrichtung oder von dem Knoten einer anderen Kommunikationsvorrichtung gesendet wurden. In diesem Fall kann anstelle der in 7 dargestellten Empfangsregeltabellen die in 5 dargestellte ursprüngliche Empfangsregeltabelle als Empfangsregeltabelle RTBL verwendet werden.
-
Ferner können die in 7 gezeigten Empfangsregeltabellen RTBL vorab erzeugt werden, zum Beispiel von einem Designer, ohne die Konfigurationstabelle CTBL zu verwenden. In diesem Fall ist es natürlich nicht erforderlich, dass die Kommunikationsvorrichtung 120 eine Konfigurationstabelle CTBL aufweist.
-
BEZUGSZEICHENLISTE
-
- 120
- Kommunikationsvorrichtung
- 140A
- Puffermodul
- 200
- CAN-Bus (Kommunikationsbus)
- ID
- Identifikationsinformationen
- CAN_H
- Kommunikationsleitung
- CAN_L
- Kommunikationsleitung
- CH_1 bis CH_N
- Kanäle
- Tx1
- Sendepuffer
- Rx1 bis RxN
- Empfangspuffer
- DF
- Datenrahmen (Daten)
- RF
- entfernter Rahmen (Daten)
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-