Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR TRANSMITTING DATA BETWEEN CONNECTED BUS SYSTEMS
Document Type and Number:
WIPO Patent Application WO/2012/136783
Kind Code:
A1
Abstract:
The invention relates to a method for transmitting data between at least two bus systems (B1, B2, B3, B4) which are connected to each other by a device (300). Each bus system comprises at least one participating data processing unit (101-108) that can send and receive messages via the bus system in which said unit participates, said messages containing identifiers. A decision is made for each message that is present on at least one of the bus systems (B1, B2, B3, B4) connected to the device as to whether said message is buffered in a forwarding store (303) using an identifier of the message and filter information that is stored in a filter information unit (302) provided for this purpose.

Inventors:
BLASCHKE VOLKER (DE)
SCHIRMER JUERGEN (DE)
IHLE MARKUS (DE)
ROHATSCHEK ANDREAS-JUERGEN (DE)
LORENZ TOBIAS (DE)
Application Number:
PCT/EP2012/056311
Publication Date:
October 11, 2012
Filing Date:
April 05, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
BLASCHKE VOLKER (DE)
SCHIRMER JUERGEN (DE)
IHLE MARKUS (DE)
ROHATSCHEK ANDREAS-JUERGEN (DE)
LORENZ TOBIAS (DE)
International Classes:
H04L12/46; H04L12/40; H04L12/66
Domestic Patent References:
WO2007135630A22007-11-29
Foreign References:
US20100061384A12010-03-11
US20080112420A12008-05-15
EP1916813A22008-04-30
Other References:
"Vieweg+Teubner", 2011, article "Bosch Kraftfahrtechnisches Handbuch"
Attorney, Agent or Firm:
ROBERT BOSCH GMBH (DE)
Download PDF:
Claims:
Ansprüche

1) Verfahren zur Datenübertragung zwischen wenigstens zwei miteinander durch eine Vorrichtung (300) verbundenen Bussystemen (Bl, B2, B3, B4) mit jeweils wenigstens einer teilnehmenden Datenverarbeitungseinheit (101-108), welche über das Bussystem, an dem sie teilnimmt, Nachrichten senden und empfangen kann, wobei die Nachrichten Kennungen enthalten,

dadurch gekennzeichnet, dass für jede Nachricht, die auf wenigstens einem der mit der Vorrichtung verbundenen Bussysteme (Bl, B2, B3, B4) vorliegt, anhand einer Kennung der Nachricht und einer in einer dafür vorgesehenen Filterinformationseinheit (302) abgelegten Filterinformation entschieden wird, ob die Nachricht in einem Weiterleitungsspeicher (303) zwischengespeichert wird.

2) Verfahren nach Anspruch 1,

dadurch gekennzeichnet, dass Nachrichten, die in dem Weiterleitungsspeicher (303) vorliegen, an wenigstens eines der weiteren mit der Vorrichtung verbundenen Bussysteme (Bl, B2, B3, B4) weitergeleitet werden, wobei anhand einer in einem dafür vorgesehenen Speicherbereich abgelegten

Zuordnungsinformation ausgewählt wird, an welches oder welche der weiteren mit der Vorrichtung verbundenen Bussysteme (Bl, B2, B3, B4) die in dem Weiterleitungsspeicher (303) vorliegenden Nachrichten weitergeleitet werden.

3) Verfahren nach Anspruch 2,

dadurch gekennzeichnet, dass anhand einer in einem dafür vorgesehenen Speicherbereich abgelegten ersten Priorisierungsinformation, welche wenigstens einer der im Weiterleitungsspeicher (303) zwischenspeicherten Nachrichten zugeordnet ist, entschieden wird, welche der Nachrichten, die in dem

Weiterleitungsspeicher (303) zwischengespeichert wurden, jeweils als nächstes an das wenigstens eine anhand der Zuordnungsinformation ausgewählte Bussystem (Bl, B2, B3, B4) weitergeleitet wird. 4) Verfahren nach einem der Ansprüche 1 bis 3,

dadurch gekennzeichnet, dass anhand einer in einem dafür vorgesehenen Speicherbereich abgelegten zweiten Priorisierungsinformation, welche wenigstens einer der im Weiterleitungsspeicher (303) zwischenspeicherten Nachrichten zugeordnet ist, entschieden wird, welche der Nachrichten, die in dem Weiterleitungsspeicher (303) zwischengespeichert wurden, verworfen wird, falls in dem Weiterleitungsspeicher (303) nicht genügend Platz zur Speicherung einer neuen, auf einem der mit der Vorrichtung verbundenen Bussysteme (Bl, B2, B3, B4) vorliegenden Nachricht zur Verfügung steht.

5) Verfahren nach einem der Ansprüche 2 bis 4,

dadurch gekennzeichnet, dass die Zuordnungsinformation in der

Filterinformationseinheit (302) abgelegt ist. 6) Verfahren nach einem der Ansprüche 3 bis 5,

dadurch gekennzeichnet, dass die erste Priorisierungsinformation und die zweite Priorisierungsinformation unter Verwendung des Empfangszeitpunkt der jeweiligen Nachricht und / oder der Verweildauer der Nachricht im

Weiterleitungsspeicher (303) und / oder einer Größe, die in der

Filterinformationseinheit (302) abgelegt ist, abgeleitet werden.

7) Verfahren nach einem der Ansprüche 1 bis 6,

dadurch gekennzeichnet, dass es sich bei der ersten Priorisierungsinformation und der zweiten Priorisierungsinformation um denselben Wert handelt.

8) Verfahren nach einem der Ansprüche 1 bis 7,

dadurch gekennzeichnet, dass es sich bei wenigstens einem der durch die Vorrichtung verbundenen Bussysteme um ein CAN-Bussystem gemäß der Norm ISO 11898 oder um ein CAN FD Bussystem handelt.

9) Verfahren nach einem der Ansprüche 1 bis 8,

dadurch gekennzeichnet, dass wenigstens eines der verbundenen

Bussysteme ein Bussystem ist, welches einem zweiten, vom CAN-Protokoll und dem CAN FD-Protokoll verschiedenen Protokoll unterliegt, oder ein Ethernet- Netzwerk ist, wobei in der Vorrichtung ein Umsetzer (405) vorgesehen ist, welcher die Umsetzung der Nachrichten zwischen dem CAN-Protokoll und dem zweiten Protokoll vornimmt. 10) Verfahren nach einem der Ansprüche 1 bis 9,

dadurch gekennzeichnet, dass die im Weiterleitungsspeicher (303) eingetragenen Nachrichten, welche vor dem erfolgreichen Senden verworfen wurden, durch einen dafür vorgesehenen Verlustzähler gezählt werden. 11) Verfahren nach einem der Ansprüche 1 bis 10,

dadurch gekennzeichnet, dass die im Weiterleitungsspeicher (303) eingetragenen Nachrichten, welche erfolgreich gesendet wurden, durch einen dafür vorgesehenen Sendezähler gezählt werden.

12) Vorrichtung (300) zur Datenübertragung zwischen wenigstens zwei mit der Vorrichtung verbundenen Bussystemen (Bl, B2, B3, B4) mit jeweils wenigstens einer teilnehmenden Datenverarbeitungseinheit (101-108), welche über das Bussystem, an dem sie teilnimmt, Nachrichten senden und empfangen kann, wobei die Nachrichten Kennungen enthalten,

dadurch gekennzeichnet, dass für jede Nachricht, die auf wenigstens einem der mit der Vorrichtung verbundenen Bussysteme (Bl, B2, B3, B4) vorliegt, anhand einer Kennung der Nachricht und einer in einer dafür vorgesehenen Filterinformationseinheit (302) abgelegten Filterinformation entschieden wird, ob die Nachricht in einem Weiterleitungsspeicher (303) zwischengespeichert wird.

13) Vorrichtung nach Anspruch 12,

dadurch gekennzeichnet, dass die Datenübertragung nach einem der Verfahren gemäß Anspruch 2 bis 11 durchgeführt wird.

14) Gateway (210) zur Verbindung mehrerer Bussysteme,

dadurch gekennzeichnet, dass das Gateway eine Vorrichtung nach einem der Ansprüche 12 oder 13 umfasst.

Description:
Beschreibung Titel

Verfahren und Vorrichtung zur Datenübertragung zwischen verbundenen Bussystemen

Stand der Technik

Die Erfindung geht aus von einer Vorrichtung zur Datenübertragung zwischen wenigstens zwei mit der Vorrichtung verbundenen Bussystemen mit jeweils wenigstens einer teilnehmenden Datenverarbeitungseinheit, welche über das Bussystem, an dem sie teilnimmt, Nachrichten senden und empfangen kann.

Beispielsweise aus den Normen der Familie ISO 11898-1 bis -5 ist das Controller Area Network (CAN) sowie eine als„Time Triggered CAN" (TTCAN) bezeichnete Erweiterung des CAN bekannt. Das in seiner ersten Version am 02.05.2011 auf der Internet-Seite http://www.semiconductors.bosch.de/ veröffentlichte Dokument „CAN with Flexible Data- Rate, White Paper, Version 1.0" stellt ein als CAN FD bezeichnetes, modifiziertes Datenübertragungsprotokoll vor, welches unter anderem eine Vergrößerung des Datenfeldes, sowie für einen Teil der CAN- Nachricht eine Verkürzung der Bitlänge ermöglicht.

Das bei CAN und CAN FD verwendete Medienzugriffssteuerverfahren beruht auf einer bitweisen Arbitrierung. Bei der bitweisen Arbitrierung können mehrere Teilnehmerstationen gleichzeitig Daten über den Kanal des Bussystems übertragen, ohne dass hierdurch die Datenübertragung gestört wird. Die

Teilnehmerstationen können weiterhin beim Senden eines Bits über den Kanal den logischen Zustand (0 oder 1) des Kanals ermitteln. Entspricht ein Wert des gesendeten Bits nicht dem ermittelten logischen Zustand des Kanals, dann beendet die Teilnehmerstation den Zugriff auf den Kanal. Bei CAN wird die bitweise Arbitrierung üblicherweise anhand einer Kennung beziehungsweise eines Identifiers innerhalb einer über den Kanal zu übertragenden Nachricht vorgenommen. Nachdem eine Teilnehmerstation den Identifier vollständig an den Kanal gesendet hat, weiß sie, dass sie exklusiven Zugriff auf den Kanal hat. Somit entspricht das Ende der Übertragung des Identifiers einem Beginn eines Freigabeintervalls, innerhalb dessen die Teilnehmerstation den Kanal exklusiv nutzen kann. Gemäß der Protokollspezifikationen von CAN und CAN FD dürfen andere Teilnehmerstationen so lange nicht auf den Kanal zugreifen, das heißt Daten an den Kanal senden, bis die sendende Teilnehmerstation ein

Prüfsummenfeld (CRC- Feld) der Nachricht übertragen hat. Somit entspricht ein Endzeitpunkt der Übertragung des CRC-Felds einem Ende des

Freigabeintervalls.

Durch die bitweise Arbitrierung wird also eine zerstörungsfreie Übertragung derjenigen Nachrichten über den Kanal erreicht, die das Arbitrierungsverfahren gewonnen hat. Die Protokolle CAN und CAN FD eignen sich besonders zum Übertragen kurzer Meldungen unter Echtzeitbedingungen, wobei durch geeignete Zuweisung der Kennungen beziehungsweise Identifier sichergestellt werden kann, dass besonders wichtige Nachrichten nahezu immer die

Arbitrierung gewinnen und erfolgreich gesendet werden.

Mit der zunehmenden Vernetzung moderner Fahrzeuge und dem Einzug zusätzlicher Systeme zur Verbesserung beispielsweise der Fahrsicherheit oder des Fahrkomforts wachsen die Anforderungen an die zu übertragenden

Datenmengen und die bei der Übertragung zulässigen Latenzzeiten. Beispiele sind Fahrdynamikregelsysteme wie z.B. das elektronische Stabilitätsprogramm ESP, Fahrerassistenzsysteme wie z.B. die automatische Abstandsregelung ACC, oder Fahrerinformationssysteme wie z.B. die Verkehrszeichenerkennung (vgl. beispielsweise Beschreibungen in„Bosch Kraftfahrtechnisches Handbuch", 27. Auflage, 2011, Vieweg+Teubner).

Eine aus dem Stand der Technik bekannte Lösung für die Bewältigung des zunehmenden Datenaufkommens ist die Aufteilung des Fahrzeugnetzes in mehrere Teilnetze, welche über Gateways miteinander verbunden werden. Nachteilig ist, dass diese Gateways üblicherweise eine aufwändige Software aufweisen, welche bei der Übergabe zwischen verschiedenen Bussystemen die Nachrichteninhalte einliest, bei Bedarf reduziert, beispielsweise auch

Dateninhalte weiterverarbeitet, verschiedene enthaltene Größen zu neuen Nachrichten zusammenstellt oder umsortiert, und schließlich die Daten in modifizierter Form wieder ausgibt. Andererseits werden häufig auch Nachrichten einfach weitergereicht.

Es zeigt sich, dass der Stand der Technik nicht in jeder Hinsicht befriedigende Ergebnisse liefert.

Offenbarung der Erfindung

Im Folgenden wird die Erfindung mit ihren Vorteilen anhand von Zeichnungen und Ausführungsbeispielen beschrieben. Der Gegenstand der Erfindung ist nicht auf die dargestellten und geschilderten Ausführungsbeispiele beschränkt.

Vorteile der Erfindung

Die vorliegende Erfindung ist dazu geeignet, durch Aufteilung des jeweiligen Busnetzwerkes, also beispielsweise des Fahrzeugnetzwerkes, die Buslast in den einzelnen Bussystemen erheblich zu reduzieren. Sie stellt vorteilhafterweise eine gegenüber bestehenden Gateway-Lösungen besonders kostengünstige Lösung für diese Aufteilung in Teilnetze dar. Eine solche erfindungsgemäße Vorrichtung wird im Folgenden auch als CAN Switch bezeichnet. Die Bezeichnung als CAN Switch ist jedoch nur insoweit als einschränkend für den Anwendungsbereich zu verstehen, als Eigenschaften des CAN Protokoll für das erfindugsgemäße Verfahren oder in der erfiindungsgemäßen Vorrichtung verwendet werden. Sie schließt insbesondere auch CAN FD ein.

Ein Vorteil der erfindungsgemäßen Vorrichtung ist, dass sie ohne eine umfangreiche Software zur Verarbeitung der empfangenen Nachrichten auskommt, wodurch Programmier- und Entwicklungsaufwand und auch Kosten für die Bereitstellung der notwendigen Rechenleistung eingespart werden können. Das erfindungsgemäße Verfahren kann in einer erfindungsgemäßen Vorrichtung weitgehend in Hardware realisiert werden.

Möchte man die volle Gateway- Funktionalität bereitstellen und beispielsweise auch Dateninhalte bei der Übergabe zwischen verschiedenen Bussystemen weiterverarbeiten oder verschiedene enthaltene Größen zu neuen Nachrichten zusammenstellen, so kann man in einer vorteilhaften Anwendungsform den erfindungsgemäßen CAN Switch in Kombination mit einem Gateway verwenden, welches dann aber deutlich kleiner und kostengünstiger ausgelegt werden kann, da der vorgeschaltete CAN Switch die Weiterleitung der Nachrichten, welche nicht verändert werden sollen, dem Gateway abnimmt und das Gateway dadurch entlastet.

Eine weiterer Vorteil der erfindungsgemäßen Vorrichtung ist, dass sie eine Möglichkeit vorsieht, eine von den Werten der vergebenen Kennungen beziehungsweise Identifier unabhängige Priorisierung für die Weiterleitung der Nachrichten vorzunehmen. Dadurch ist eine Einflussnahme auf die mittleren Latenzzeiten für die Weiterleitung möglich, die gegenüber einer Neuvergabe der Identifier auf den Bussystemen vorteilhaft ist, beispielsweise da sie einen geringeren Koordinationsaufwand erfordert.

Ein weiterer Vorteil besteht darin, dass durch Verwendung des CAN Switch das Fahrzeugnetz in einer Sternform aufgebaut werden kann, was häufig als vorteilhaft bezüglich der bestehenden Möglichkeiten zur Verlegung der Kabel in den Fahrzeugstrukturen angesehen wird.

Durch Kombination mit verschiedenen Protokollkonvertern ist es

vorteilhafterweise möglich, den CAN Switch auch zur Integration anderer Bussysteme, wie z.B. Ethernet, LIN, etc. in ein gemeinsames Netzwerk mit einem oder mehreren CAN-Bussystemen heranzuziehen.

Ein wesentlicher weiterer Vorteil ist, dass das mit dem CAN Switch aufgebaute Netzwerk robust ggü. defekten Teilnetzen ist. Man kann den CAN Switch also auch dazu nutzen, besonders gefährdete Bussysteme, beispielsweise im Frontoder Heckbereich von besonders schützenswerten Bussystemen abzukoppeln.

Durch die reduzierte Auslastung der einzelnen Teilnetze beziehungsweise Bussysteme, welche mit dem CAN Switch untereinander verbunden werden, erzielt man durch den Einsatz des CAN Switch in vorteilhafter Weise eine kürzere mittlere Latenzzeit für die Datenübertragung zumindest unter den Teilnehmern eines Bussystemes. Zeichnungen

Die Erfindung wird im weiteren anhand der Zeichnungen näher erläutert.

Figur 1 zeigt ein Beispiel für durch die erfindungsgemäße Vorrichtung verbundene Bussysteme.

Figur 2a zeigt ein Gateway nach dem Stand der Technik. Figur 2b zeigt ein Gateway, welches in Verbindung mit der erfindungsgemäßen Vorrichtung eingesetzt werden kann.

Figur 3 zeigt ein schematisches Blockschaltbild eines ersten

Ausführungsbeispiels einer erfindungsgemäßen Vorrichtung.

Figur 4 zeigt ein schematisches Blockschaltbild eines zweiten

Ausführungsbeispiels einer erfindungsgemäßen Vorrichtung.

Figur 5 zeigt beispielhaft ein Ablaufdiagramm des erfindungsgemäßen

Empfangsprozesses. Figur 6 zeigt beispielhaft ein Ablaufdiagramm des erfindungsgemäßen

Sendeprozesses.

Figur 7 zeigt ein Ausführungsbeispiel für den Aufbau des erfindungsgemäßen Weiterleitungsspeichers. Beschreibung der Ausführungsbeispiele

Im Weiteren werden Ausführungsbeispiele für das erfindungsgemäßes Verfahren und die Vorrichtung beschrieben. Diese konkreten Beispiele werden zur

Erläuterung der Ausführung eingesetzt, beschränken aber nicht den Umfang des Erfindungsgedankens.

In Figur 1 ist ein Beispiel dargestellt, in welchem vier Bussystemen Bl, B2, B3 und B4 durch eine erfindungsgemäße Vorrichtung 100 miteinander verbunden werden. Durch die einzelnen Bussysteme sind jeweils Teilnehmer miteinander verbunden, beispielsweise Teilnehmer 101 und 102 durch das Bussystemen Dl und so weiter. Die durch eines der Bussysteme Bl, B2, B3 B4 verbundenen Teilnehmer können über das jeweilige Bussystem Nachrichten beispielsweise gemäß den Vorgaben des CAN- oder TTCAN-Protokolls austauschen. Durch die erfindungsgemäße Vorrichtung 100 können darüber hinaus Nachrichten zwischen den verschiedenen Bussystemen Bl bis B4 ausgetauscht werden. Es können Nachrichten, welche auf dem Bussystem Bl vorliegen, beispielsweise an die Bussysteme B3 und B4 weitergegeben werden, so dass die Teilnehmer 105 und 106 beziehungsweise 107 und 108 die Nachrichten empfangen können. Ob die Teilnehmer die Nachricht tatsächlich empfangen ist hierbei, wie weiter oben beschrieben, abhängig vom Identifier beziehungsweise der Kennung. In gleicher Weise können von den anderen mit der Vorrichtung 100 verbundenen

Bussystemen B2, B3 und B4 Nachrichten über die Vorrichtung 100 an ein oder mehrere andere verbundene Bussysteme weitergegeben werden.

Selbstverständlich können auch mehr oder weniger als vier Bussysteme miteinander verbunden werden.

In Figur 2a ist ein Blockdiagramm eines CAN Gateways 200 aus dem Stand der Technik dargestellt, welches die Aufgabe der Vorrichtung 100 aus Figur 1 übernehmen kann. Ein zentraler Mikroprozessor 201 ist über Leitungen 203a bis 203d verbunden mit mehreren, im dargestellten Beispiel vier unabhängigen CAN Controllern 202a bis 202d, welche die CAN Kommunikation mittels der

Verbiindungen 204a bis 204d auf den vier verbundenen Bussystemen durchführen. Unabhängig davon, ob die Nachrichten unverändert von einem Bussystem zu einem anderen Bussystem durchgereicht werden, muss der Mikroprozessor 201 die erhaltenen Daten einlesen, bearbeiten, und an den jeweiligen CAN Controller 202a bis 202d ausgeben. Hierdurch entsteht eine Belastung des Mikroprozessors, die eigentlich nicht notwendig ist.

In Figur 2b ist ein Blockdiagramm einer gegenüber dem CAN Gateway 200 verbesserten Vorrichtung 210 dargestellt, welche die Aufgabe der Vorrichtung 100 aus Figur 1 übernehmen kann. Sie setzt sich aus einem wesentlich einfacheren CAN Gateway 211 und einem erfindungsgemäßen CAN Switch 300 zusammen. Erfindungsgemäß übernimmt der CAN Switch 300 das Durchreichen unveränderter Nachrichten von einem Bussystem zum anderen, während das Gateway nur dann genutzt wird, wenn Nachrichteninhalte verändert, umsortiert, oder zu neuen Inhalten zusammengesetzt werden sollen. In einer nicht gesondert dargestellten Ausführungsform ist es selbstverständlich auch möglich, dass das CAN Gateway 200 vollständig durch den CAN Switch 300 ersetzt wird. Dies ist insbesondere dann durchführbar, wenn keine der oben geschilderten Aktionen, also Änderung, Umsortierung, oder neue Zusammensetzung von Nachrichten durchgeführt werden sollen. Der CAN Switch 300 benötigt selbst keinen Mikroprozessor, da er keine aufwändigen Rechenoperationen

durchführen muss. Der detaillierte Aufbau des CAN Switch wird beispielhaft in Figur 3 und 4 näher ausgeführt.

In Figur 3 sind die wesentlichen Elemente des erfindungsgemäßen CAN Switch 300 dargestellt. Kernstück des CAN Switch 300 ist die Weitergabeeinheit 304, welche mit mehreren, im dargestellten Beispiel vier CAN Controllern 305a bis 305d verbunden ist. Desweiteren steht die Weitergabeeinheit 304 mit dem Weiterleitungsspeicher 303 in Verbindung, sowie mit einer

Filterinformationseinheit 302. Die CAN Controller 305a bis 305d stehen in Verbindung mit CAN Transceivern 306a bis 306d, welche wiederum jeweils an ein CAN-Bussystem Bl bis B4 angeschlossen sind. Optional umfasst der CAN Switch 300 zusätzlich einen Konfigurationsspeicher 301, welcher Konfigurationsund/oder Initialisierungsdaten beispielsweise für die Filterinformationseinheit 302, die Weitergabeeinheit 304 und die CAN Controller 305a bis 305d beinhalten kann. Alternativ können diese Daten dem CAN Switch 300 auch über eine geeignete Schnittstelle zugeführt werden.

Wie von einem der Bussysteme ankommende Nachrichten werden über einen CAN Transceiver 306 und einen CAN Controller 305 eingelesen und von dem auf der Weitergabeeinheit 304 ablaufenden Empfangsprozess behandelt. Abhängig vom Inhalt der Filterinformationseinheit 302 wird die eingelesene Nachricht durch den Empfangsprozess im Weiterleitungsspeicher 303 abgelegt, oder nicht.

Zusätzlich werden den Nachrichten ebenfalls in Abhängigkeit vom Inhalt der Filterinformationseinheit 302 Daten beigefügt, die angeben, an welches der Bussysteme die jeweilige Nachricht weitergegeben werden soll. Zusätzlich kann außerdem eine Zeitinformation und / oder eine Priorisierungsinformation mit der Nachricht im Weiterleitungsspeicher 303 abgelegt werden. Abhängig von diesen Informationen werden die im Weiterleitungsspeicher 303 abgelegten Nachrichten durch den auf der Weitergabeeinheit 304 ablaufenden Sendeprozess auf den vorgesehenen Bussystemen ausgegeben.

Die Filterinformationseinheit 302 kann beispielsweise als vorgegebener

Speicherbereich ausgeprägt sein, in dem die Informationen abgelegt sind, welche festlegen, welche Nachrichten von einem gegebenen Bussystem, z.B. Bl, zu welchen anderen Bussystemen, z.B. B2 und B4, weitergegeben werden. Sie kann beispielsweise in eine konfigurierbare Anzahl von Datenstrukturen unterteilt sein, wobei jede Datenstruktur in einem ersten Datenfeld die

Bezeichnung des Bussystems enthält, von welchem die betreffenden Nachricht empfangen werden soll, in einem zweiten Datenfeld die Kennung

beziehungsweise den Identifier der zu empfangenden Nachricht enthält, und in einem oder mehreren weiteren Datenfeldern die Bezeichnung des Bussystems oder der Bussysteme, an welches oder welche die betreffende Nachricht übermittelt werden soll. Alternativ können beispielsweise auch Bereiche von zu akzeptierenden Identifiern festgelegt werden, welche gesammelt von einem Bussystem, z.B. Bl, an ein anderes Bussystem, z.B. B2 oder B4, weitergegeben werden sollen. Dies kann beispielsweise durch Intervalle oder durch Maskierung erfolgen. Weitere Datenfelder innerhalb einer Datenstruktur können

beispielsweise eine Priorisierunginformation umfassen, welche über die Weitergabeeinheit 304 beispielsweise in den Weiterleitungsspeicher 303 eingetragen werden sollen und / oder von dem auf der Weitergabeeinheit 304 ablaufenden Sendeprozess zur Priorisierung verwendet werden. Der optionale Konfigurationsspeicher 301 ist als beschreibbarer, nichtflüchtiger

Speicherbereich, beispielsweise als EEPROM ausgeprägt. Er kann

beispielsweise die Konfigurationsdaten für die CAN Controller 305a bis 305d, wie zum Beispiel Baudrate, Bit-Timing Parameter, etc. enthalten. Er kann weiterhin die Filterdaten und Zuordnungsdaten (Identifier, Identifier-Intervalle, -Masken, Bezeichnung der Bussysteme) enthalten, welche gemäß dem vorangehenden

Abschnitt in der Filterinformationseinheit 302 benötigt werden. Auch

Priorisierungsinformationen können hier abgelegt sein, welche über die

Filterinformationseinheit 302 oder auch direkt an die Weitergabeeinheit 304 und / oder den Weiterleitungsspeicher 303 zur Berücksichtigung im Sendeprozess übergeben werden können.

Der Weiterleitungsspeicher 303 kann beispielsweise als dynamisch oder statisch zugeordneter Speicherbereich ausgeprägt sein, in welchem die Nachrichten, die zur Weiterleitung ausgewählt wurden, zusammen mit den zusätzlichen

Informationen als fortlaufende Folge von Datenstrukturen abgelegt sind. Der Speicherbereich ist einerseits hinreichend groß zu wählen, so dass auch bei hohem Datenaufkommen möglichst alle Nachrichten im Weiterleitungsspeicher abgelegt werden können. Gleichzeitig sieht der Empfangsprozess ein Verwerfen von Nachrichten bei vollem Weiterleitungsspeicher vor (siehe Figur 5).

Die Weitergabeeinheit 304 kann beispielsweise als Microcontroller oder ASIC ausgeprägt sein. Sie führt im wesentlichen zwei Prozesse aus, zum einen den Empfangsprozess, zum anderen den Sendeprozess. Beide Prozesse werden im Zusammenhang mit den Figuren 5 und 6 detaillierter beschrieben.

Bei den CAN Controllern 305a-d, sowie bei den CAN Transceivern 306a-d handelt es sich um Standardbausteine aus dem Stand der Technik. Sie können als integriert als eine einzige Schaltung, teilintegriert oder jeweils getrennt voneinander ausgeprägt sein. Ebenso können andere Komponenten 301 bis 304 des erfindungsgemäßen CAN Switch miteinander oder mit den CAN Controllern und/oder CAN Transceivern integriert oder separat ausgeführt werden.

Figur 4 zeigt eine Alternative Ausführungsform 400 des erfindungsgemäßen CAN Switch. Bei dieser Ausführungsform ist ein CAN Controller 305d und ein CAN Transceiver 306d ersetzt durch einen Protokollkonverter 405, im dargestellten Fall von CAN auf Ethernet, sowie durch einen Ethernet Protokollcontroller mit integriertem Transceiver 406. Selbstverständlich könnten auch mehrere der CAN Bausteine durch entsprechende Bausteine ersetzt werden. Anstelle von Ethernet könnte auch ein anderes Busprotokoll, wie z.B. LIN, MOST, etc. zum Einsatz kommen, wenn die hierfür notwendigen Protokollkonverter, Protokollcontroller und Transceiver bei 405 und 406 eingesetzt werden. Dadurch ist es möglich, den CAN Switch zu einem Gateway für verschiedene miteinander verbundene Bussysteme auszubauen. Im dargestellten Fall könnte also neben drei CAN Bussystemen zusätzlich ein Ethernetbussystem durch den CAN Switch verbunden werden, so dass Nachrichten zwischen den CAN Bussystemen und dem Ethernetbus ausgetauscht werden können.

Figur 5 stellt in Form eines Flussdiagramms ein Beispiel für den

erfindungsgemäßen Empfangsprozess dar, welcher auf der Weitergabeeinheit 304 abläuft. In Element 501 erfolgt zyklisch eine Abfrage, ob eine neue Nachricht empfangen wurde. Sobald diese Frage mit Ja beantwortet wird, wird in Element 502 ein Empfangs Zähler inkrementiert. Es folgt in Element 503 eine Abfrage ob die empfangene Nachricht gemäß der Informationen in der

Filterinformationseinheit 302 akzeptiert werden soll, oder nicht. Wird die

Nachricht zurückgewiesen, so beginnt wieder der Abfrageprozess in Element 501. Wird die Nachricht akzeptiert, so folgt eine Abfrage in Element 504, ob die Weitergabeeinheit 304 Platz für eine weitere Nachricht aufweist.

Es sind nun zwei Fälle zu unterscheiden: Ist genügend Platz vorhanden, so wird die Nachricht in Element 508 in den Weiterleitungsspeicher 303 eingetragen. Anschließend wird im Weiterleitungsspeicher 303 für jedes Bussystem, auf welchem die empfangene Nachricht weitergeleitet werden soll, ein hierfür vorgesehenes Sendebit gesetzt. Weiterhin können zusätzliche Informationen, beispielsweise über den Empfangszeitpunkt, die Priorität der Nachricht oder andere relevante Informationen in den Weiterleitungsspeicher 303 eingetragen werden. Hierzu können auch Informationen aus der Filterinformationseinheit 302 herangezogen werden.

Ergibt die Abfrage in Element 504, dass nicht genügend Platz in der

Weitergabeeinheit 304 vorhanden ist, so erfolgt in Element 505 eine Priorisierung der Nachrichten abhängig von den im Weiterleitungsspeicher 303 vorliegenden Informationen zur Priorisierung, beispielsweise abhängig von ihrem Identifier, vom Zeitpunkt des Eintreffens oder von der Zeitspanne, welche sie in

Weiterleitungsspeicher 303 vorliegen, oder von weiteren Kriterien, welche im Weiterleitungsspeicher abgelegt wurden. Es können auch Kombinationen der genannten Kriterien für die Priorisierung herangezogen werden. In Element 506 wird die im Rahmen der Priorisierung ausgewählte Nachricht mit niedrigster Priorität verworfen und in Element 507 nachfolgend ein zugehöriger Verlustzähler inkrementiert. Schließlich wird, wie weiter oben beschrieben, in Element 508 die neu eingetroffene Nachricht mit den Sendebits und den zusätzlichen

Informationen in den freigewordenen Speicherbereich eingetragen.

Figur 6 stellt in Form eines Flussdiagramms ein Beispiel für den

erfindungsgemäßen Sendeprozess dar, welcher auf der Weitergabeeinheit 304 abläuft. In Element 601 erfolgt zyklisch eine Abfrage, ob im

Weiterleitungsspeicher 303 wenigstens eine Nachricht mit gesetztem Sendebit vorliegt. Ist dies der Fall, so wird in Element 602 diejenigen Nachricht

ausgewählt, welche die höchste Priorität bezüglich des Sendens aufweist. Diese Priorität kann beispielsweise von Identifier, vom Zeitpunkt des Eintreffens oder von der Zeitspanne, welche sie in Weiterleitungsspeicher 303 vorliegen, oder von weiteren Kriterien, welche im Weiterleitungsspeicher abgelegt wurden, abgeleitet werden. Es können auch hier wieder Kombinationen der genannten Kriterien für die Priorisierung herangezogen werden. Es kann für die Auswahl der zu sendenden Nachricht mit höchster Priorität dieselbe Prioritätsinformation, wie für die Auswahl der zu verwerfenden Nachricht mit niedrigster Priorität im

Empfangsprozess herangezogen werden. Es können aber auch zwei

verschiedene Werte, eine Sendepriorität und eine Verwerfungspriorität, ermittelt und herangezogen werden. In Element 603 wird die auf diese Weise

ausgewählte Nachricht an den zugehörigen CAN Controller 305a bis 305d weitergeleitet, von welchem sie mit den Mitteln des üblichen CAN Protokolls und abhängig von den CAN Bus- Konfigurationsparametern, welche der CAN

Controller beispielsweise aus dem Konfigurationsspeicher 301 erhalten hat, versendet wird. In Element 604 wird eine zugehöriger Sendezähler inkrementiert und in Element 605 das Sendebit zurückgesetzt. Anschließend wechselt der Sendeprozess wieder in die zyklische Abfrage von Element 601.

Für das Ablaufen des Sendeprozesses und des Empfangsprozesses in der Weitergabeeinheit 304 gibt es verschiedene Möglichkeiten: In einer möglichen Ausführungsform läuft lediglich ein Sendeprozess gemäß Figur 6 und ein

Empfangsprozess gemäß Figur 5 in der Weitergabeeinheit 304 ab. In einer anderen Ausführungsformen laufen separate Sendeprozesse und oder

Empfangsprozesse für jedes der verbundenen Bussysteme oder für Gruppen der verbundenen Bussysteme ab. Die Zuordnung der Nachrichten zu den

verschiedenen verbundenen Bussystemen erfolgt innerhalb des Prozesses oder der mehreren Prozesse durch im Weiterleitungsspeicher 303 abgelegte

Informationen, beispielsweise durch den verschiedenen Bussystemen

zugeordnete Sendebits. Die Zuordnung wird im Zusammenhang mit Figur 7 noch näher ausgeführt.

Figur 7 zeigt schematisch den Aufbau eines Weiterleitungsspeichers 303. er besteht aus einer Vielzahl von Speicherbereiches 701, deren Größe und

Adressierung fest vorgegeben sein kann oder auch dynamisch angepasst werden kann. Jeder der Speicherbereiches 701 enthält einen Nachrichteneintrag, der sich aus mehreren Informationen zusammensetzt. In einer möglichen Ausführungsform enthält jeder Nachrichteneintrag einen Empfangszeitpunkt 702, eine Reihe von Sendebit 703, sowie den vollständigen Inhalt der empfangenen Nachricht 704. Der vollständige Inhalt der Nachricht kann hierbei ein bitgenaues Abbild der ursprünglichen Nachricht sein, es können aber auch nur die Daten der Nachricht abgelegt werden, welche Information tragen und nicht durch das CAN Protokoll vorgegeben sind. Insbesondere muss der Eintrag 704 den Identifier und den Inhalt des Datenfeldes umfassen, während zum Beispiel das CRC Feld oder das Acknowledge- Bit weggelassen werden könnte. In dem Teilbereich 702 könnte alternativ zum Empfangszeitpunkt auch eine Priorisierungsinformationen abgelegt werden. Selbstverständlich könnte diese auch als zusätzlicher Eintrag in einem separaten, nicht dargestellten Teilbereich des Speicherbereiches 701 abgelegt werden. In dem Teilbereich 703 befinden sich die verschiedenen Sendebits, wobei in einer bevorzugten Ausführungsform zumindest für jeden der verbundenen Busse ein Sendebit vorgehalten wird. Es kann auch eine Anzahl von Sendebits vorgehalten werden, welche der maximalen Anzahl verbindbarer Busse entspricht. Ermittelt die Weitergabeeinheit 304 anhand der

Filterinformationseinheit 302 oder der Konfigurationsinformation 301, dass eine vom Bussystem Bl empfangene Nachricht beispielsweise auf den Bussystemen B2 und B4 gesendet werden soll, so werden die zu B2 und B4 zugehörigen Sendebits im Teilbereich 703 gesetzt. Das Versenden erfolgt dann wie im Zusammenhang mit Figur 6 geschildert durch einen oder mehrere in der Weitergabeeinheit 304 ablaufende Sendeprozesse.