-
HINTERGRUND DER ERFINDUNG
-
Die Erfindung bezieht sich auf einen Netzwerkknoten, insbesondere auf einen Netzwerkknoten für CAN-Bussysteme, und auf ein Verfahren zur Steuerung eines Netzwerkknotens. Außerdem bezieht sich die Erfindung allgemein auf eine elektrische oder elektronische Vorrichtung und insbesondere auf eine Vorrichtung, die dafür eingerichtet ist, mit einem Bus, insbesondere einem CAN-Bus, verbunden zu sein.
-
In elektrischen oder elektronischen Systemen kommunizieren verschiedene individuelle Systemmodule, zum Beispiel verschiedene elektronische/elektrische Baugruppen, verschiedene elektronische/elektrische Komponenten (Bauteile), zum Beispiel verschiedene Halbleiterbauteile wie etwa integrierte Schaltkreise, etc., verschiedene Teilkomponenten, die in ein und derselben Komponente bzw. in ein und demselben Bauteil oder in ein und demselben integrierten Schaltkreis, etc. vorgesehen sind, über ein Transfermedium wie etwa ein Bussystem.
-
Ein Bussystem kann eine oder mehrere Transferleitung(en) aufweisen. Bussysteme können gemeinsam von mehreren, insbesondere von zwei oder mehr als zwei Modulen (Bausteinen)/Komponenten (Bauteilen)/Elementen (Bauelementen) eines jeweiligen Systems verwendet werden.
-
Viele herkömmliche Bussysteme weisen mehrere Teilsysteme auf, zum Beispiel einen Datenbus – der aus einer oder mehreren Datenleitung(en) besteht –, und/oder einen Adressbus – der aus einer oder mehreren Adressleitung(en) besteht –, und/oder einen Steuerbus – der aus einer oder mehreren Steuerleitung(en) besteht –, und so weiter.
-
Im Vergleich dazu sind andere Bussysteme von einer viel einfacheren Konstruktion. So weist zum Beispiel ein sogenannter IBCB-Bus (IBCB = Inter Block Communication Bus; Bus zur Kommunikation zwischen Blöcken) im Allgemeinen lediglich zwei Übertragungsleitungen auf, um zwei jeweilige Module/Komponenten/Elemente zu verbinden.
-
Weitere Beispiele für relativ einfache Bussysteme sind LIN-Busse (LIN = Local Interconnect Network; lokales Verbindungsnetzwerk), die im Allgemeinen nur eine einzige Übertragungsleitung aufweisen, und CAN-Busse (CAN = Controller Area Network; Controller-Bereichsnetzwerk), die im Allgemeinen nur zwei oder drei Leitungen aufweisen (z. B. CAN_HIGH, CAN_LOW, und – optional – CAN_GND (Masse)), und so weiter.
-
Gemäß dem CAN-Protokoll, zum Beispiel dem CAN 2.0-Protokoll, weist jeder Daten-Frame (Datenrahmen), der über einen CAN-Bus übertragen wird, eine Vielzahl von vordefinierten Feldern auf (wie dies z. B. in dem „Base Frame Format” (Basisrahmenformat) definiert ist), z. B. ein „SoF(Start of Frame)”-Feld (Rahmenbeginn-Feld), ein „ID(identifier)”-Feld (Kennungs-Feld), ein „DLC-(data length code/Datenlängencode)”-Feld, auf das ein „Data”-Feld (Datenfeld) folgt (das die tatsächlichen Nutzdaten enthält, die übertragen werden sollen), ein „CRC-(Cyclic redundancy checksum/zyklische Redundanzprüfsumme)”-Feld, und so weiter und so fort, und ein „EOF-(End of Frame/Rahmenende)”-Feld.
-
Des Weiteren werden die Daten, die in den Frames enthalten sind, entsprechend dem CAN-Protokoll mit einer vordefinierten Datenrate, z. B. 1 Mbit/s in dem Falle eines Highspeed-Busses (Hochgeschwindigkeitsbusses) und z. B. 125 kbit/s im Falle eines Lowspeed-Busses (Niedriggeschwindigkeitsbusses), übertragen.
-
Um die Datenrate weiter zu steigern, wurde das sogenannte CAN-FD-(CAN flexible data rate/CAN flexible Datenrate)-Protokoll definiert.
-
Gemäß dem CAN-FD-Protokoll werden die Daten, die in dem „Data”-Feld eines CAN-Frame enthalten sind (d. h. die tatsächlichen Nutzdaten) – aber nicht die Daten, die in den anderen Feldern eines CAN-Frame enthalten sind – mit einer höheren Übertragungsrate übertragen, als dies in dem CAN 2.0-Protokoll vorgeschrieben ist.
-
Aber aufgrund der oben genannten unterschiedlichen Datenraten sind CAN-FD-Protokoll-Module/-Komponenten/-Elemente im Allgemeinen nicht kompatibel mit CAN 2.0-Protokoll-Modulen/-Komponenten/-Elementen. Folglich kann es zu Problemen kommen, wenn sowohl CAN-FD-Protokoll-Module/-Komponenten/-Elemente als auch CAN 2.0-Protokoll-Module/-Komponenten/-Elemente mit ein und demselben CAN-Bus verbunden sind.
-
In der Druckschrift
DE 10 2012 224 031 A1 ist eine Fehlerüberwachung beschrieben, die dazu eingerichtet ist, deaktiviert zu werden, wenn ein Signal entsprechend einem ersten Protokoll empfangen wird, und die dazu eingerichtet ist, nicht deaktiviert zu werden, wenn ein Signal entsprechend einem zweiten, vom ersten Protokoll abweichenden Protokoll empfangen wird.
-
Die Erfindung hat zur Aufgabe, einen neuartigen Netzwerkknoten, insbesondere einen neuartigen Netzwerkknoten für CAN-Bussysteme, ein neuartiges Verfahren zur Steuerung eines Netzwerkknotens, und eine neuartige elektrische oder elektronische Vorrichtung, die dafür eingerichtet ist, mit einem Bus, insbesondere mit einem CAN-Bus, verbunden zu sein, zur Verfügung zu stellen.
-
Gemäß der Erfindung wird ein Netzwerkknoten, ein Verfahren zur Steuerung eines Netzwerkknotens, ein System mit einer ersten Komponente und einer zweiten Komponente, und eine elektronische Vorrichtung gemäß den Gegenständen der unabhängigen Ansprüche zur Verfügung gestellt.
-
Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
In Übereinstimmung mit einem Aspekt der Erfindung wird ein Netzwerkknoten bereitgestellt, der einen Mikroprozessor oder Mikrocontroller aufweist, der immer dann von einem Stromsparmodus in einen normalen Betriebsmodus gebracht wird, wenn Datenverkehr auf einem mit dem Netzwerkknoten gekoppelten Bus stattfindet, und wobei der Netzwerkknoten eine Fehlererkennung aufweist, die dazu eingerichtet ist, deaktiviert zu werden, wenn ein Signal entsprechend einem ersten Protokoll oder entsprechend einer ersten Version eines ersten Protokolls empfangen wird, und die dazu eingerichtet ist, nicht deaktiviert zu werden, wenn ein Signal entsprechend einem zweiten Protokoll oder entsprechend einer zweiten Version des ersten Protokolls empfangen wird.
-
Vorteilhafterweise weist die Schaltung eine Fehlererkennungslogik auf.
-
Vorteilhafterweise ist die Fehlererkennungslogik dafür eingerichtet, ein Bitstopfen (Bit Stuffing) und/oder eine Prüfsummenprüfung und/oder eine Formfehlerprüfung durchzuführen.
-
Vorteilhafterweise ist die erste Version des ersten Protokolls eine erste Version eines CAN-Bus-Protokolls und ist die zweite Version des ersten Protokolls eine zweite Version eines CAN-Bus-Protokolls.
-
Vorteilhafterweise ist die erste Version des ersten Protokolls ein CAN-FD-Protokoll und ist die zweite Version des ersten Protokolls ein CAN 2.0-Protokoll.
-
Vorteilhafterweise umfasst das Verfahren zur Steuerung eines Netzwerkknotens des Weiteren den folgenden Schritt: kein Deaktivieren der Fehlererkennung, wenn festgestellt wird, dass in dem Bus ein Daten-Frame gemäß einem zweiten Protokoll oder gemäß einer zweiten Version des ersten Protokolls vorhanden ist.
-
Vorteilhafterweise umfasst das Verfahren den folgenden Schritt: Reaktivieren der Fehlererkennung, wenn ein Ende des Daten-Frame erfasst wird.
-
Vorteilhafterweise ist die erste Version des ersten Protokolls ein CAN-FD-Protokoll und ist die zweite Version des ersten Protokolls ein CAN 2.0-Protokoll.
-
In Übereinstimmung mit einem Aspekt ist eine elektrische oder elektronische Vorrichtung bereitgestellt, die einen Protokoll-Handler aufweist, der dafür eingerichtet ist, das oben genannte Verfahren durchzuführen.
-
Vorteilhafterweise weisen bei dem System mit einer ersten Komponente und einer zweiten Komponente die erste Komponente und die zweite Komponente jeweils einen Oszillator auf, wobei der Oszillator der ersten Komponente genauer ist als der Oszillator der zweiten Komponente.
-
Vorteilhafterweise ist die erste Komponente dafür eingerichtet, Daten mit einer ersten maximalen Datenrate zu empfangen, und ist die zweite Komponente dafür eingerichtet, Daten mit einer zweiten maximalen Datenrate zu empfangen, wobei die zweite maximale Datenrate niedriger als die erste maximale Datenrate ist.
-
Vorteilhafterweise weist die zweite Komponente einen Fehlerdetektor auf, der dafür eingerichtet ist, deaktiviert zu werden, wenn festgestellt wird, dass ein Signal entsprechend dem ersten Protokoll oder entsprechend der ersten Version des Protokolls empfangen wird, und der dafür eingerichtet ist, nicht deaktiviert zu werden, wenn festgestellt wird, dass ein Signal entsprechend dem zweiten Protokoll oder entsprechend der zweiten Version des ersten Protokolls empfangen wird.
-
Vorteilhafterweise ist die erste Version des ersten Protokolls ein CAN-FD-Protokoll und ist die zweite Version des ersten Protokolls ein CAN 2.0-Protokoll.
-
Vorteilhafterweise ist die Schaltung dafür eingerichtet, die Fehlererkennungslogik nicht zu deaktivieren, wenn festgestellt wird, dass in dem Bus ein Daten-Frame gemäß einem zweiten Protokoll oder gemäß einer zweiten Version des ersten Protokolls vorhanden ist.
-
Vorteilhafterweise weist die elektronische Vorrichtung außerdem eine End-of-Frame-Erkennungslogik (Rahmenende-Erkennungslogik) auf.
-
Vorteilhafterweise ist die Schaltung dafür eingerichtet, die Fehlererkennungslogik zu reaktivieren, wenn ein Ende des Daten-Frame durch die End-of-Frame-Erkennungslogik erfasst wird.
-
Vorteilhafterweise weist die End-of-Frame-Erkennungslogik einen Zähler auf.
-
Vorteilhafterweise weist die End-of-Frame-Erkennungslogik ein Filter oder einen Flankendetektor auf.
-
Vorteilhafterweise ist das Filter oder der Flankendetektor dafür eingerichtet, den Zähler in Reaktion auf das Erfassen einer Aktivität in dem Bus zurückzusetzen.
-
KURZE BESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNGEN
-
Die beigefügten Zeichnungen sind einbezogen, um ein weiteres Verständnis der vorliegenden Erfindung bereitzustellen, und sie sind in die vorliegende Patentspezifikation eingegliedert und bilden einen Teil davon. Die Zeichnungen veranschaulichen Ausführungsformen der vorliegenden Erfindung, und zusammen mit der Beschreibung dienen sie dazu, die Prinzipien der Erfindung zu erläutern. Andere Ausführungsformen der vorliegenden Erfindung und viele der beabsichtigten Vorteile der vorliegenden Erfindung werden ohne Weiteres erkannt werden, wenn sie durch die Bezugnahme auf die nachfolgende ausführliche Beschreibung besser verstanden werden.
-
1 veranschaulicht eine schematische Struktur eines beispielhaften elektronischen/elektrischen Systems, das einen Bus aufweist und in dem ein Netzwerkknoten mit einem Protokoll-Handler in Übereinstimmung mit einer Ausführungsform der Erfindung benutzt werden kann;
-
2 veranschaulicht schematisch ein Beispiel eines Protokoll-Handler eines Netzwerkknotens in Übereinstimmung mit einer Ausführungsform der Erfindung;
-
3 veranschaulicht schematisch ein Beispiel einer End-of-Frame-Erkennungslogik in Übereinstimmung mit einer Ausführungsform der Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
In der nachfolgenden ausführlichen Beschreibung wird Bezug auf die beigefügten Zeichnungen genommen, die einen Teil davon bilden und in denen durch Veranschaulichung spezifische Ausführungsformen gezeigt sind, in denen die Erfindung praktiziert werden kann. Es soll klar sein, dass andere Ausführungsformen verwendet werden können und dass strukturelle oder andere Änderungen vorgenommen werden können, ohne dass von dem Schutzumfang der vorliegenden Erfindung abgewichen wird. Die nachfolgende ausführliche Beschreibung soll daher nicht in einem beschränkenden Sinne betrachtet werden, und der Schutzumfang der vorliegenden Erfindung ist durch die angehängten Ansprüche definiert.
-
1 zeigt eine schematische Darstellung eines beispielhaften elektronischen/elektrischen Systems 1, das einen Bus aufweist und in dem ein Netzwerkknoten mit einem Protokoll-Handler in Übereinstimmung mit einer Ausführungsform der Erfindung benutzt werden kann.
-
Wie in 1 gezeigt ist, weist das System 1 eine Vielzahl von Modulen/Komponenten/Elementen 1a, 1b, 1c („Netzwerkknoten”) auf, die über einen Bus 2 verbunden sind.
-
Die Komponenten 1a, 1b, 1c können zum Beispiel Halbleiterkomponenten, wie etwa ein oder mehrere integrierte(r) Schaltkreis(e), zum Beispiel jeweilige anwendungsspezifische integrierte Schaltkreise bzw. ASICS (ASIC = application specific integrated circuit), Mikroprozessoren, Mikrocontroller, etc. oder jede andere Art von integrierten Schaltkreisen oder jede andere Art von Komponenten, die integrierte Schaltkreise aufweisen, sein oder können diese aufweisen.
-
Vorzugsweise weist das System 1 eine relativ hohe Anzahl von Modulen/Komponenten/Elementen 1a, 1b, 1c auf, zum Beispiel mehr als zwei, insbesondere mehr als fünf oder zehn Module/Komponenten/Elemente 1a, 1b, 1c, zum Beispiel mehr als fünf oder zehn separate integrierte Schaltkreise.
-
Der Bus 2 kann zum Beispiel – wie in 1 gezeigt ist – zwei jeweilige Übertragungsleitungen 2a, 2b aufweisen, über die Daten z. B. in einer differentiellen Form übertragen werden können. Alternativ dazu kann der Bus z. B. nur eine einzige Übertragungsleitung oder mehr als zwei, z. B. drei oder mehr als drei Übertragungsleitungen aufweisen.
-
Der Bus 2 kann zum Beispiel ein jeweiliger IBCB-Bus (IBCB = Inter Block Communication Bus; Bus zur Kommunikation zwischen Blöcken) oder ein LIN-Bus (LIN = Local Interconnect Network; lokales Verbindungsnetzwerk) oder jede andere Art von Bus sein. Am bevorzugtesten ist der Bus ein CAN-Bus (CAN = Controller Area Network; Controller-Bereichsnetzwerk) und weist zwei oder drei Übertragungsleitungen auf (z. B. eine erste Übertragungsleitung 2a („CAN_HIGH”), eine zweite Übertragungsleitung 2b („CAN_LOW”) und – optional – eine dritte Übertragungsleitung („CAN_GND (Masse)” (nicht gezeigt)).
-
Das oben genannte System 1 kann zum Beispiel in einem Fahrzeug, wie z. B. einem Personenkraftwagen, einem Lastwagen, einem Flugzeug, einem Helikopter, einem Motorrad, usw., verwendet werden, insbesondere in einem Personenkraftwagen, der einen Verbrennungsmotor und/oder einen elektrischen Motor aufweist, oder zum Beispiel in einer anderen Vorrichtung oder in einem anderen Gerät oder System, z. B. in jeder Art von industrieller Steuerungsanwendung, in jeder Art von automatisierter Umgebung, zum Beispiel in einer Waschmaschine, einer Geschirrspülmaschine, und so weiter.
-
Wenigstens zwei der Module/Komponenten/Elemente 1a, 1b, 1c, die mit dem Bus 2 verbunden sind, können unterschiedliche Protokolle/Busprotokolle oder unterschiedliche Versionen von Protokollen/Busprotokollen verwenden bzw. entsprechend unterschiedlichen Protokollen/Busprotokollen oder unterschiedlichen Versionen von Protokollen/Busprotokollen arbeiten.
-
Als Folge davon kann bzw. können ein(e) oder mehrere Modul(e)/Komponente(n)/Element(e) 1a, 1b, 1c, das bzw. die mit dem Bus 2 verbunden ist bzw. sind (z. B. eine oder mehrere Komponente(n), die eine erste Version eines Protokolls benutzt bzw. benutzen), Daten – zumindest teilweise – zum Beispiel mit einer höheren Datenrate senden und/oder empfangen als andere Module/Komponenten/Elemente 1a, 1b, 1c, die mit dem Bus 2 verbunden sind (z. B. eine oder mehrere Komponente(n), die eine zweite Version des Protokolls verwendet bzw. verwenden).
-
So kann bzw. können zum Beispiel ein(e) oder mehrere Modul(e)/Komponente(n)/Element(e) 1a, 1b, 1c, das bzw. die mit dem Bus 2 verbunden ist bzw. sind, das CAN 2.0-Protokoll benutzen bzw. entsprechend dem CAN 2.0-Protokoll arbeiten und kann bzw. können ein(e) oder mehrere andere(s) Modul(e)/Komponente(n)/Element(e) 1a, 1b, 1c, das bzw. die mit dem Bus 2 verbunden ist bzw. sind, das CAN-FD-(CAN Flexible Data Rate/CAN flexible Datenrate)-Protokoll benutzen bzw. entsprechend dem CAN-FD-(CAN Flexible Data Rate)-Protokoll arbeiten.
-
Gemäß dem CAN-Protokoll kann jeder Daten-Frame, der über den Bus 2 übertragen wird, eine Vielzahl von vordefinierten Feldern aufweisen, z. B. ein „SoF(Start of Frame)”-Feld (Rahmenanfang-Feld), ein „ID(identifier)”-Feld (Kennungs-Feld), ein „DLC-(data length code/Datenlängencode)”-Feld, auf das ein „Data”/(Daten)-Feld folgt (das die tatsächlichen Nutzdaten enthält, die übertragen werden sollen), ein „CRC-(Cyclic redundancy checksum/zyklische Redundanzprüfsumme)”-Feld, und so weiter und so fort, und ein „EOF-(End of Frame/Rahmenende)”-Feld.
-
Die Module/Komponenten/Elemente 1a, 1b, 1c, die entsprechend dem CAN 2.0-Protokoll arbeiten, können die Daten, die in den Frames (Rahmen) enthalten sind, über den Bus 2 mit einer ersten vordefinierten Datenrate übertragen, z. B. 1 Mbit/s, z. B. mit einer Datenrate, die in dem CAN 2.0-Protokoll vorgeschrieben ist. Diese Datenrate wird von diesen Modulen/Komponenten/Elementen für alle diejenigen Daten verwendet, die in einem Rahmen enthalten sind, d. h. für die Daten, die in dem „ID”-Feld, in dem „DLC”-Feld, in dem „EOF”-Feld, etc. enthalten sind, und für die tatsächlichen Nutzdaten, die in dem „Date”-Feld enthalten sind.
-
Im Gegensatz dazu können die Module/Komponenten/Elemente 1a, 1b, 1c, die entsprechend dem CAN-FD-(CAN Flexible Data Rate/CAN Flexible Datenrate)-Protokoll arbeiten, die Daten, die in dem „Data”-Feld eines CAN-Frame enthalten sind (d. h. die tatsächlichen Nutzdaten) – aber nicht die Daten, die in den anderen Feldern eines CAN-Frame enthalten sind (z. B. die Daten, die in dem „ID”-Feld, in dem „DLC”-Feld, in dem „EOF”-Feld, etc., enthalten sind) – mit einer höheren Übertragungsrate als die oben genannte erste vordefinierte Datenrate, z. B. die Datenrate, die in dem CAN 2.0-Protokoll vorgeschrieben ist, übertragen. Die Datenrate, die für die Daten verwendet wird, die in dem „Data”-Feld enthalten sind („zweite, höhere Datenrate”/FD-Datenrate), kann zum Beispiel um mehr als 10%, 25%, 50% oder mehr als 100% oder mehr als 200% höher sein als die oben genannte erste vordefinierte Datenrate, z. B. die Datenrate, die in dem CAN 2.0-Protokoll vorgeschrieben ist.
-
Wie in 1 gezeigt ist, weist jede(s) der Module/Komponenten/Elemente 1a, 1b, 1c einen Protokoll-Handler 11a, 11b, 11c auf. Die Protokoll-Handler 11a, 11b, 11c können zum Beispiel als eine direkte Verbindung zu dem Bus 2 dienen.
-
Ein Modul/eine Komponente/ein Element, das bzw. die entsprechend dem CAN-FD-(CAN Flexible Data Rate)-Protokoll arbeitet, zum Beispiel die Komponente 1b, kann einen herkömmlichen CAN-FD-Protokoll-Handler 11b aufweisen, insbesondere einen Protokoll-Handler 11b, der ein relativ genaues internes Oszillatorsignal verwendet, das zum Beispiel von einem relativ genauen Oszillator bereitgestellt wird, z. B. von einem relativ genauen Quarz- oder Kristalloszillator.
-
Im Gegensatz dazu kann ein Modul/eine Komponente/ein Element, das bzw. die entsprechend dem CAN 2.0-Protokoll arbeitet, zum Beispiel die Komponente 1a, einen speziellen Protokoll-Handler 11a aufweisen, wie er z. B. beispielshalber in 2 gezeigt ist. Der Protokoll-Handler 11a der CAN 2.0-Komponente kann ein relativ ungenaues internes Oszillatorsignal OSC verwenden, das zum Beispiel von einem relativ ungenauen Oszillator bereitgestellt wird. Insbesondere können das interne Oszillatorsignal/der Oszillator, die von dem Protokoll-Handler 11a der CAN 2.0-Komponente 1a verwendet werden, weniger genau sein als das Oszillatorsignal/der Oszillator, die von dem Protokoll-Handler 11b der CAN-FD-Komponente 11b verwendet werden, zum Beispiel um mehr als 10% 25%, 50% oder mehr als 100% oder mehr als 200% weniger genau. Folglich kann ein weniger komplexer, weniger großer, weniger teurer und/oder weniger Strom verbrauchender Oszillator verwendet werden.
-
Jedes Modul/jede Komponente/jedes Element 1a, 1b, 1c, das bzw. die mit dem Bus 2 verbunden ist, kann sich z. B. in einem normalen Betriebsmodus befinden oder kann sich z. B. in einem Stromsparmodus befinden. In einer ersten Variante der Ausführungsformen, die in 1 und 2 gezeigt sind, kann ein jeweiliger Protokoll-Handler eines jeweiligen Moduls/einer jeweiligen Komponente/eines jeweiligen Elements 1a, 1b, 1c das Modul/die Komponente/das Element 1a, 1b, 1c (oder Teile davon, z. B. einen Mikroprozessor oder einen Mikrocontroller, der mit dem jeweiligen Protokoll-Handler verknüpft ist) immer dann von dem Stromsparmodus in den normalen Betriebsmodus bringen, wenn der Protokoll-Handler irgendeinen Datenverkehr in dem Bus 2 entdeckt. In einer weiteren, alternativen Variante kann ein jeweiliger Protokoll-Handler eines jeweiligen Moduls/einer jeweiligen Komponente/eines jeweiligen Elements 1a, 1b, 1c das Modul/die Komponente/das Element 1a, 1b, 1c (oder Teile davon) von dem Stromsparmodus in den normalen Betriebsmodus nur dann bringen, wenn der Protokoll-Handler Datenverkehr in dem Bus 2 entdeckt, der für das jeweilige Modul/die jeweilige Komponente/das jeweilige Element 1a, 1b, 1c bestimmt ist.
-
Der Protokoll-Handler 11a, wie er in 2 gezeigt ist, kann z. B. eine Bitzeitlogik (BTL; Bit Time Logic) 12, eine EOF-(End of Frame)-Erkennungslogik 13, eine Zustandsmaschine 14, eine Fehlererkennungslogik 16 und einen Speicher 15, insbesondere einen Speicher für empfangene CAN-FD-Steuerbits (EDL, BRS, ESI), aufweisen.
-
Wie in 2 gezeigt ist, werden die Signale RX, die über den Bus 2 empfangen werden, zu der Bitzeitlogik (BTL) 12 und der EOF-(End of Frame)-Erkennungslogik 13 zugeführt. In entsprechend ähnlicher Weise wird das oben genannte interne Oszillatorsignal OSC zu der Bitzeitlogik (BTL) 12 und der EOF-(End of Frame)-Erkennungslogik 13 zugeführt. Die oben genannten Signale RX können z. B. den oben genannten differentiellen Signalen („CAN_HIGH”, „CAN_LOW”) entsprechen, die auf den oben genannten Übertragungsleitungen 2a, 2b empfangen werden.
-
Wie oben erläutert worden ist, kann das Oszillatorsignal OSC, das von dem Protokoll-Handler 11a der CAN 2.0-Komponente 1a/der Bitzeitlogik (BTL) 12 verwendet wird, weniger genau sein als das entsprechende Oszillatorsignal, das von einem entsprechenden Protokoll-Handler einer entsprechenden CAN-FD-Komponente (z. B. dem Protokoll-Handler 11b der CAN-FD-Komponente 1b) verwendet wird. Insbesondere kann die Taktfrequenz des Oszillatorsignals OSC, das von dem Protokoll-Handler 11a der CAN 2.0-Komponente 1a/der Bitzeitlogik (BTL) 12 verwendet wird, hoch genug sein, um eine fehlerfreie oder im Wesentlichen fehlerfreie Abtastung der Daten zu erlauben, die die oben genannte erste vordefinierte Datenrate aufweisen, z. B. die Datenrate, die in dem CAN 2.0-Protokoll vorgeschrieben ist, sie kann aber zu niedrig sein, als dass sie eine fehlerfreie oder im Wesentlichen fehlerfreie Abtastung von Daten erlaubt, die die oben genannte zweite, höhere Datenrate (FD-Datenrate) aufweisen.
-
Wie in 2 gezeigt ist, können die Daten, wie sie von der Bitzeitlogik (BTL) 12 abgetastet werden, dann zu der oben genannten EOF-(End of Frame)-Erkennungslogik 13, der Zustandsmaschine 14 und der Fehlererkennungslogik 16 zugeführt werden.
-
Anders als herkömmliche Protokoll-Handler von herkömmlichen CAN 2.0-Komponenten kann der Protokoll-Handler 11a der CAN 2.0-Komponente 1a dafür eingerichtet sein, – unter Verwendung der Zustandsmaschine 14 – auch die (weiteren) CAN-FD-Protokoll-Daten-Frame-Steuerfeld-Bits zu decodieren und diese zu verwenden, d. h. die (zusätzlichen) Steuerbits, die gemäß dem CAN-FD-Protokoll bereitgestellt werden, aber nicht gemäß dem CAN 2.0-Protokoll bereitgestellt werden.
-
Folglich kann insbesondere der Protokoll-Handler 11a dafür eingerichtet sein, unter Verwendung der Zustandsmaschine 14 festzustellen, ob ein empfangener CAN-Daten-Frame ein CAN 2.0-Daten-Frame ist oder ein CAN-FD-Daten-Frame ist.
-
Zu diesem Zweck kann die Zustandsmaschine 14 aus einem empfangenen CAN-Daten-Frame die CAN-FD-relevanten Steuerbits EDL, BRS und/oder ESI extrahieren, die in dem oben genannten Speicher 15 gespeichert werden können.
-
Wenn festgestellt wird, dass der empfangene Daten-Frame ein CAN 2.0-Daten-Frame ist (oder wenn festgestellt wird, dass der empfangene Daten-Frame KEIN CAN-FD-Daten-Frame ist), dann wird die Fehlererkennungslogik 16 aktiv gehalten (oder sie wird aktiviert), und eine entsprechende Fehlererkennung, z. B. ein Bitstopfen (Bit Stuffing) und/oder eine zyklische Redundanzprüfung bzw. CRC-(Cyclic Redundancy Check)-Prüfung/Prüfsummenprüfung und/oder eine Formfehlerprüfung wird bzw. werden durchgeführt. In Abhängigkeit von dem Ergebnis der Fehlererkennung, insbesondere dann, wenn ein Fehler entdeckt wird, kann ein Fehlersignal von der Komponente 1a über den Bus 2 zu den anderen Komponenten 1b, 1c, die mit dem Bus 2 verbunden sind, gesendet werden. Wenn kein Fehler entdeckt wird (und/oder wenn außerdem festgestellt wird, dass der Daten-Frame für die Komponente 1a bestimmt ist), dann kann die Komponente 1a in den normalen Betriebsmodus versetzt werden (falls sie sich immer noch in dem oben genannten Stromsparmodus befindet).
-
Wenn aber im Gegensatz dazu festgestellt wird, dass der empfangene Daten-Frame ein CAN-FD-Daten-Frame ist, dann wird die Fehlererkennungslogik 16 deaktiviert (oder sie wird deaktiviert gehalten). In diesem Fall wird keine Fehlererkennung durchgeführt, es wird bzw. werden also z. B. kein Bitstopfen und/oder keine zyklische Redundanzprüfung/Prüfsummenprüfung und/oder keine Formfehlerprüfung durchgeführt. Statt dessen wird der empfangene CAN-Daten-Frame verworfen. Außerdem kann die Zustandsmaschine 14 dann eine Warteschleife durchführen, bis ein End-of-Frame bzw. ein Rahmenende entdeckt wird (siehe unten).
-
Folglich wird verhindert, dass ein Fehlersignal von der Komponente 1a über den Bus 2 zu den anderen Komponenten 1b, 1c, die mit dem Bus 2 verbunden sind, gesendet wird, was sonst sehr wahrscheinlich wäre, da – wie gesagt – die Taktfrequenz des Oszillatorsignals OSC, das von dem Protokoll-Handler 11a/der Bitzeitlogik (BTL) 12 verwendet wird, zu niedrig ist, um ein fehlerfreies oder im Wesentlichen fehlerfreies Abtasten von Daten zu erlauben, die die oben genannte zweite, höhere Datenrate (FD-Datenrate) aufweisen, d. h. der tatsächlichen Nutzdaten, die in dem „Data”-Feld eines CAN-FD-Frame enthalten sind. Des Weiteren wird, da der empfangene CAN-FD-Daten-Frame verworfen wird, verhindert, dass die Komponente 1a – irrtümlicherweise – in den normalen Betriebsmodus versetzt wird (falls sie sich immer noch in dem Stromsparmodus befindet).
-
Wenn dann ein End-of-Frame (EOF-Feld) entdeckt wird, dann kann die Fehlererkennungslogik 16 wieder aktiviert werden und/oder die Zustandsmaschine 14 kann die oben genannte Warteschleife stoppen.
-
Um den End-of-Frame (EOF-Feld) des oben genannten CAN-FD-Frame zu erfassen, kann eine End-of-Frame-Erkennungslogik 100, wie sie in 3 gezeigt ist, in der Komponente 1a verwendet werden. Die End-of-Frame-Erkennungslogik 100 weist einen Zähler 101 und ein Filter/eine Flankenerfassungseinheit 102 auf. Der Zähler 101 empfängt über eine Leitung 101a die Bits, wie sie von der Bitzeitlogik (BTL) 12 abgetastet werden, d. h. wie sie unter Verwendung des oben genannten Oszillatorsignals OSC abgetastet werden, und zählt die Anzahl an logischen „1en”, die über die Leitung 101a ausgehend von der Bitzeitlogik (BTL) 12 empfangen werden.
-
Das Filter/die Flankenerfassungseinheit 102, wie es bzw. sie in 3 gezeigt ist, ist über eine Leitung 101b direkt mit dem Bus 2/der jeweiligen physikalischen Schicht davon gekoppelt. Immer dann, wenn eine Aktivität in dem Bus 2 vorliegt/immer dann, wenn eine Flanke als in dem Bus vorhanden erfasst wird, wird ein Busaktivitätssignal/ein Flankenerfassungssignal über eine Leitung 101c von dem Filter/der Flankenerfassungseinheit 102 zu dem Zähler 101 gesendet, welcher dann auf NULL zurückgesetzt wird.
-
Sobald der Zähler eine Zählung von sieben erreicht hat (ohne dass er in der Zwischenzeit zurückgesetzt worden ist), wird ein „End of Frame” bzw. Rahmenende entdeckt.
-
Obwohl hier spezifische Ausführungsformen veranschaulicht und beschrieben worden sind, wird es den Durchschnittsfachleuten auf dem Gebiet klar sein, dass eine Ersetzung durch eine Vielfalt von alternativen und/oder äquivalenten Implementierungen für die gezeigten und beschriebenen spezifischen Ausführungsformen vorgenommen werden kann, ohne dass von dem Schutzumfang der vorliegenden Erfindung abgewichen wird. Die vorliegende Patentanmeldung soll alle Anpassungen oder Variationen der spezifischen Ausführungsformen, die hier erörtert worden sind, abdecken. Deshalb soll die vorliegende Erfindung nur durch die Ansprüche und deren Äquivalente beschränkt sein.