Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMMUNICATION CONTROL DEVICE FOR A SUBSCRIBER STATION OF A BUS SYSTEM, PROGRAMMING TOOL AND METHOD FOR PROGRAMMING SUBSCRIBER STATIONS IN A BUS SYSTEM WHICH HAS SUBSCRIBER STATIONS COMMUNICATING ACCORDING TO DIFFERENT PROTOCOLS
Document Type and Number:
WIPO Patent Application WO/2016/020225
Kind Code:
A1
Abstract:
A subscriber station (20) for a bus system (1) and a method for programming individual subscriber stations (20) in a bus system (1) which has subscriber stations (10, 20) communicating according to different protocols are provided. The subscriber station (20) has a communication control device (21) for creating or reading at least one message (7, 8, 9) for/from at least one further subscriber station (10; 20) of the bus system (1), in the case of which exclusive, collision-free access to a bus (5) of the bus system (1) by a subscriber station (10, 20) is ensured at least at times, wherein the communication control device (21), for preparing programming of at least one further subscriber station (10) in the bus system (1), is designed to send messages (7) that cause the at least one further subscriber station (10) to transmit error frames (8) until the at least one further subscriber station (10) is in an error state in which the at least one further subscriber station (10) no longer transmits error frames (8) with active error detection.

Inventors:
HORST CHRISTIAN (DE)
OERTEL DIRK (DE)
DANG LIEM (DE)
Application Number:
PCT/EP2015/067254
Publication Date:
February 11, 2016
Filing Date:
July 28, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
H04L12/40; H04L12/24
Domestic Patent References:
WO2013000916A12013-01-03
Foreign References:
EP2712123A12014-03-26
Other References:
SCOTT MONROE ET AL: "Solutions of CAN and CAN FD in a mixed network topology", 13 November 2013 (2013-11-13), XP055218947, Retrieved from the Internet [retrieved on 20151007]
SCOTT MONROE ET AL: "Solutions of CAN and CAN FD in a mixed network topology", 10 January 2014 (2014-01-10), XP054976124, Retrieved from the Internet [retrieved on 20151008]
ARMIN HAPPEL ET AL: "High-Speed Reprogramming and Calibration with CAN FD: A Case Study", 13 November 2013 (2013-11-13), XP055219026, Retrieved from the Internet [retrieved on 20151007]
Download PDF:
Claims:
Ansprüche

1) Kommunikationssteuereinrichtung (21) für eine Teilnehmerstation (20) eines Bussystems (1),

wobei die Kommunikationssteuereinrichtung (21) zum Erstellen oder Lesen zumindest einer Nachricht (7, 8, 9) für/von mindestens eine/r weiteren Teilnehmerstation (10; 20) des Bussystems (1) ausgestaltet ist, bei welchem zumindest zeitweise ein exklusiver, kollisionsfreier Zugriff einer Teilnehmerstation (10, 20) auf einen Bus (5) des Bussystems (1) gewährleistet ist,

wobei die Kommunikationssteuereinrichtung (21) zur

Vorbereitung einer Programmierung von mindestens einer weiteren Teilnehmerstation (10) im Bussystem (1) ausgestaltet ist, solange Nachrichten (7) zu senden, welche die mindestens eine weitere

Teilnehmerstation (10) zum Aussenden von Fehlerrahmen (8) veranlassen, bis die mindestens eine weitere Teilnehmerstation (10) in einem Fehlerzustand ist, in welchem die mindestens eine weitere Teilnehmerstation (10) keine Fehlerrahmen (8) mit einer aktiven

Fehlerkennung mehr aussenden.

2) Kommunikationssteuereinrichtung (21) nach Anspruch 1, wobei der Fehlerzustand, in welchem die weiteren Teilnehmerstationen (10) keine Fehlerrahmen (8) mehr aussenden, ein Zustand (50, 60)„Error Passive" oder„Bus Off' gemäß der CAN-Spezifikation in der IS011898 ist.

3) Kommunikationssteuereinrichtung (21) nach Anspruch 1 oder 2, wobei die Nachrichten (7) der Teilnehmerstation (20) CAN-FD- Nachrichten sind.

4) Programmierwerkzeug (30) für ein Bussystem (1), mit einer Einrichtung (31) zum Programmieren einer

Teilnehmerstation (20) eines Bussystems (1), bei welchem zumindest zeitweise ein exklusiver, kollisionsfreier Zugriff einer Teilnehmerstation (10, 20) auf einen Bus (5) des Bussystems (1) gewährleistet ist,

wobei die Einrichtung (31) zur Vorbereitung einer

Programmierung der Teilnehmerstation (20) im Bussystem (1) ausgestaltet ist, solange Nachrichten (7) zu senden, welche eine weitere Teilnehmerstation (10) zum Aussenden von Fehlerrahmen (8) veranlassen, bis die weitere Teilnehmerstation (20) in einem

Fehlerzustand ist, in welchem die weitere Teilnehmerstation (10) keine Fehlerrahmen (8) mit einer aktiven Fehlerkennung mehr aussendet.

Bussystem (1), mit

einer Busleitung (5), und

Teilnehmerstationen (10, 20), welche über die Busleitung (5) derart miteinander verbunden sind, dass sie miteinander kommunizieren können,

wobei mindestens zwei der Teilnehmerstationen (10, 20) eine Kommunikationssteuereinrichtung (21) nach einem der Ansprüche 1 bis 3 aufweisen, und

wobei mindestens eine der Teilnehmerstationen (10, 20) eine weitere Teilnehmerstation (10) ist.

Bussystem (1) nach Anspruch 5,

zudem mit einem Programmierwerkzeug (30) nach Anspruch 4, wobei zum Senden der Nachrichten (7), zur Vorbereitung einer

Programmierung von einer der mindestens zwei der

Teilnehmerstationen (20), die zu programmierende Teilnehmerstationen

(20) oder das Programmierwerkzeug (30) ausgestaltet ist.

Bussystem (1) nach Anspruch 6, wobei das Programmierwerkzeug (30) ausgestaltet ist, das Senden der Nachricht (7) durch die zu

programmierende Teilnehmerstationen (20) durch einen UDS- Diagnosedienst zu starten. Verfahren zum Programmieren einzelner Teilnehmerstationen (20) in einem Bussystem (1), das nach unterschiedlichen Protokollen kommunizierenden Teilnehmerstationen (10, 20) aufweist, mit den Schritten:

Erstellen oder Lesen, mit einer Kommunikationssteuereinrichtung (21), zumindest einer Nachricht (7, 8, 9) für/von mindestens eine/r weiteren Teilnehmerstation (10; 20) des Bussystems (1), bei welchem zumindest zeitweise ein exklusiver, kollisionsfreier Zugriff einer

Teilnehmerstation (10, 20) auf einen Bus (5) des Bussystems (1) gewährleistet ist,

Senden, zur Vorbereitung einer Programmierung von mindestens einer weiteren Teilnehmerstation (10) im Bussystem (1), von

Nachrichten (7), welche die mindestens eine weitere Teilnehmerstation (10) zum Aussenden von Fehlerrahmen (8) veranlassen, solange bis die mindestens eine weitere Teilnehmerstation (10) in einem Fehlerzustand ist, in welchem die mindestens eine weitere Teilnehmerstation (10) keine Fehlerrahmen (8) mit einer aktiven Fehlerkennung mehr aussendet.

9) Verfahren nach Anspruch 8, wobei das Verfahren den UDS

Diagnosedienst„Control Communication - disable non-diagnostic communication" verwendet.

Description:
Beschreibung Titel

Kommunikationssteuereinrichtung für eine Teilnehmerstation eines Bussystems, Programmierwerkzeug und Verfahren zum Programmieren von

Teilnehmerstationen in einem Bussystem, das nach unterschiedlichen

Protokollen kommunizierende Teilnehmerstationen aufweist

Technisches Gebiet Die vorliegende Erfindung betrifft eine Kommunikationssteuereinrichtung für eine

Teilnehmerstation eines Bussystems, ein Programmierwerkzeug und ein

Verfahren zum Programmieren einzelner Teilnehmerstationen in einem

Bussystem, das nach unterschiedlichen Protokollen kommunizierende

Teilnehmerstationen aufweist, wobei das Bussystem insbesondere ein

Bussystem ist, in welchem Classic-CAN-Teilnehmerstationen und CAN- FD-

Teilnehmerstationen vorhanden sind und kommunizieren können.

Stand der Technik

Für die Kommunikation zwischen Sensoren und Steuergeräten hat das CAN- Bussystem eine weite Verbreitung gefunden. Beispielsweise wird es in

Automobilen eingesetzt. Beim CAN- Bussystem werden Nachrichten mittels des CAN-Protokolls übertragen, wie es in der CAN-Spezifikation in der IS011898 beschrieben ist. In jüngerer Zeit wurden hierfür zudem Techniken vorgeschlagen, wie beispielsweise CAN- FD, bei welchem Nachrichten entsprechend

Spezifikation„CAN with Flexible Data- Rate,

Specification Version 1.0" (Quelle http://www.semiconductors.bosch.de) übertragen werden, usw. Bei solchen Techniken wird die maximal mögliche Datenrate durch Einsatz einer höheren Taktung im Bereich der Datenfelder über einen Wert von 1 MBi1/s hinaus gesteigert. Eine Classic-CAN-Teilnehmerstation gemäß der vorliegenden Anmeldung ist nach der aktuellen gültigen IS011898-1 umgesetzt, unterstützt CAN FD nicht und ist auch nicht CAN FD tolerant. Empfängt eine Classic-CAN- Teilnehmerstation eine CAN-FD-Nachricht, sendet die Teilnehmerstation

Fehlermeldungen, sogenannte ErrorMessages, oder Fehlerrahmen, sogenannte Error Frames.

Im Unterschied dazu soll bei einer CAN- FD-Teilnehmerstation das im

kommenden IS011898-1 Standard CAN FD - CAN with Flexible Datarate -

Protokoll (derzeit im Entwurf, Abschluss der Arbeiten vermutlich Ende 2014) umgesetzt werden. Eine CAN- FD-Teilnehmerstation kann sowohl CAN-FD- Nachrichten als auch Classic-CAN Nachrichten senden und empfangen.

In einem aus Classic-CAN- und CAN- FD-Teilnehmerstationen bestehenden Netzwerk oder Bussystem können nur Classic-CAN Nachrichten versendet werden, da sonst der CAN Error Frame Mechanismus greift und somit die Kommunikation signifikant stört. In bestimmten Betriebsarten, speziell im

Anwendungsfall Update-Programmierung von einzelnen Steuergeräten in einem fahrzeuginternen Bussystem, soll jedoch eine schnellere Punkt-zu-Punkt Kommunikation zwischen zwei Teilnehmern des Bussystems verwendet werden.

Um auch bei dieser Konstellation das Versenden von CAN-FD-Nachrichten zu ermöglichen, ist es denkbar, dass die Classic-CAN-Teilnehmerstationen keine Error Messages versenden. Eine Möglichkeit dafür ist, dass die betreffenden Classic-CAN-Teilnehmerstationen ihre CAN-Protokoll-Controller deaktivieren oder in die Überwachungsbetriebsart (MonitorMode) versetzen. Eine andere Möglichkeit dafür ist ein Einsatz von Partial- Networking Transceivern in den Classic-CAN-Teilnehmerstationen, und dass diese Teilnehmerstationen zum „Einschlafen" gebracht werden, in welchem Zustand die Teilnehmerstationen inaktiv sind.

Beide Möglichkeiten erfordern unter Umständen eine Anpassung der Classic- CAN-Teilnehmerstation im Netzwerk. Diese Anpassung muss entweder softwaretechnisch erfolgen, um den Protokoll Controller zu deaktivieren. Oder die Anpassung ist durch eine Erweiterung der Hardware um Partial- Networking fähige Transceiver vorzunehmen.

Problematisch ist, dass die genannten Möglichkeiten bei bestehenden

Netzwerken in Fahrzeugen nicht immer umsetzbar sind.

Eine weitere Möglichkeit zur Lösung des zuvor genannten Problems, dass das Versenden von CAN-FD-Nachrichten im gemischten Netzwerk möglich ist, liegt darin, die zu programmierende CAN- FD-Teilnehmerstationen aus dem Netzwerk zu entfernen und an einer separaten Programmierstation über CAN FD zu programmieren.

Da die Programmierung in der Produktion jedoch strengen Taktzyklen unterliegt, ist auch die Ausbauvariante nicht immer umsetzbar. Können die Classic-CAN- Teilnehmerstationen eines bestehenden Netzwerks nicht angepasst werden und ist auch der Ausbau der zu programmierenden CAN- FD-Teilnehmerstation nicht möglich, wird der kleinste gemeinsame Nenner, das Classic CAN Format, zur Übertragung der zu programmierenden Daten verwendet. Somit ist dann auch für CAN- FD-Teilnehmerstationen keine Übertragung gemäß dem CAN FD Format mehr möglich.

Offenbarung der Erfindung

Daher ist es Aufgabe der vorliegenden Erfindung, eine

Kommunikationssteuereinrichtung für eine Teilnehmerstation eines Bussystems, ein Programmierwerkzeug und ein Verfahren zum Programmieren einzelner Teilnehmerstationen in einem Bussystem, das nach unterschiedlichen

Protokollen kommunizierenden Teilnehmerstationen aufweist, bereitzustellen, welche die zuvor genannten Probleme lösen. Insbesondere sollen eine

Kommunikationssteuereinrichtung für eine Teilnehmerstation eines Bussystems, ein Programmierwerkzeug und ein Verfahren zum Programmieren einzelner Teilnehmerstationen in einem Bussystem, das nach unterschiedlichen

Protokollen kommunizierenden Teilnehmerstationen aufweist, bereitgestellt werden, welche eine Übertragung gemäß dem CAN- FD- Format auch in gemischten Bussystemen mit Classic-CAN-Teilnehmerstationen und CAN- FD- Teilnehmerstationen ermöglichen .

Die Aufgabe wird durch eine Kommunikationssteuereinrichtung für eine

Teilnehmerstation eines Bussystems mit den Merkmalen des Anspruchs 1 gelöst. Die Kommunikationssteuereinrichtung ist zum Erstellen oder Lesen zumindest einer Nachricht für/von mindestens eine/r weiteren Teilnehmerstation des Bussystems ausgestaltet, bei welchem zumindest zeitweise ein exklusiver, kollisionsfreier Zugriff einer Teilnehmerstation auf einen Bus des Bussystems gewährleistet ist, wobei die Kommunikationssteuereinrichtung zur Vorbereitung einer Programmierung von mindestens einer weiteren Teilnehmerstation im Bussystem ausgestaltet ist, solange Nachrichten zu senden, welche die mindestens eine weitere Teilnehmerstation zum Aussenden von Fehlerrahmen veranlassen, bis die mindestens eine weitere Teilnehmerstation in einem

Fehlerzustand ist, in welchem die mindestens eine weitere Teilnehmerstation keine Fehlerrahmen mit einer aktiven Fehlerkennung mehr aussenden.

Die Kommunikationssteuereinrichtung ermöglicht die Programmierung einer CAN-FD-Teilnehmerstation via einer CAN-FD-Übertragung in einem gemischten Netzwerk bestehend aus Classic-CAN- und CAN-FD-Teilnehmerstationen, ohne die bestehenden Classic-CAN-Teilnehmerstationen zu verändern oder die zu programmierende CAN-FD-Teilnehmerstation auszubauen.

Das von der Kommunikationssteuereinrichtung ausgeführte Verfahren verwendet Mechanismen der CAN-Teilnehmerstationen, die heute in allen

Teilnehmerstationen typischerweise implementiert und somit bereits verfügbar sind. Dadurch ist der Umrüstaufwand für die Classic-CAN-Teilnehmerstationen minimal.

Vorteilhafte weitere Ausgestaltungen der Kommunikationssteuereinrichtung sind in den abhängigen Patentansprüchen angegeben.

Der Fehlerzustand, in welchem die weiteren Teilnehmerstationen keine

Fehlerrahmen mehr aussenden, kann ein Zustand„Error Passive" oder„Bus Off" gemäß der CAN-Spezifikation in der IS011898 sein. Die Nachrichten der Teilnehmerstation können CAN-FD- Nachrichten sein.

Die zuvor genannte Aufgabe wird zudem durch ein Programmierwerkzeug für ein Bussystem nach Patentanspruch 4 gelöst. Das Programmierwerkzeug umfasst eine Einrichtung zum Programmieren einer Teilnehmerstation eines Bussystems, bei welchem zumindest zeitweise ein exklusiver, kollisionsfreier Zugriff einer Teilnehmerstation auf einen Bus des Bussystems gewährleistet ist,

wobei die Einrichtung zur Vorbereitung einer Programmierung der

Teilnehmerstation im Bussystem ausgestaltet ist, solange Nachrichten zu senden, welche eine weitere Teilnehmerstation zum Aussenden von

Fehlerrahmen veranlassen, bis die weitere Teilnehmerstation in einem

Fehlerzustand ist, in welchem die weitere Teilnehmerstation keine Fehlerrahmen mit einer aktiven Fehlerkennung mehr aussendet.

Das Programmierwerkzeug bietet dieselben Vorteile, wie sie zuvor in Bezug auf die Kommunikationssteuereinrichtung genannt sind.

Die zuvor beschriebene Kommunikationssteuereinrichtung kann Teil eines Bussystems sein, das zudem eine Busleitung und Teilnehmerstationen umfasst, welche über die Busleitung derart miteinander verbunden sind, dass sie miteinander kommunizieren können. Hierbei weisen mindestens zwei der Teilnehmerstationen eine zuvor beschriebene Kommunikationssteuereinrichtung und mindestens eine der Teilnehmerstationen ist eine weitere Teilnehmerstation.

Das Bussystem kann zudem ein zuvor beschriebenes Programmierwerkzeug aufweisen, wobei zum Senden der Nachrichten, zur Vorbereitung einer

Programmierung von einer der Teilnehmerstationen, die zu programmierende Teilnehmerstationen oder das Programmierwerkzeug ausgestaltet ist.

Es ist auch möglich, dass das Programmierwerkzeug ausgestaltet ist, das Senden der Nachricht durch die zu programmierende Teilnehmerstationen durch einen UDS-Diagnosedienst zu starten. Die zuvor genannte Aufgabe wird zudem durch ein Verfahren zum

Programmieren einzelner Teilnehmerstationen in einem Bussystem, das nach unterschiedlichen Protokollen kommunizierenden Teilnehmerstationen aufweist, nach Patentanspruch 8 gelöst. Das Verfahren umfasst die Schritte: Erstellen oder Lesen, mit einer Kommunikationssteuereinrichtung, zumindest einer Nachricht für/von mindestens eine/r weiteren Teilnehmerstation des Bussystems, bei welchem zumindest zeitweise ein exklusiver, kollisionsfreier Zugriff einer

Teilnehmerstation auf einen Bus des Bussystems gewährleistet ist,

Senden, zur Vorbereitung einer Programmierung von mindestens einer weiteren Teilnehmerstation im Bussystem, von Nachrichten, welche die mindestens eine weitere Teilnehmerstation zum Aussenden von Fehlerrahmen veranlassen, solange bis die mindestens eine weitere Teilnehmerstation in einem

Fehlerzustand ist, in welchem die mindestens eine weitere Teilnehmerstation keine Fehlerrahmen mit einer aktiven Fehlerkennung mehr aussendet.

Das Verfahren den verwendet möglicherweise den UDS Diagnosedienst„Control Communication - disable non-diagnostic communication".

Das Verfahren bietet dieselben Vorteile, wie sie zuvor in Bezug auf die

Kommunikationssteuereinrichtung genannt sind.

Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der

Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen.

Zeichnungen Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegende Zeichnung und anhand von Ausführungsbeispielen näher beschrieben. Es zeigen:

Fig. 1 ein vereinfachtes Blockschaltbild eines Bussystems gemäß einem ersten Ausführungsbeispiel; Fig. 2 eine schematische Darstellung des Zustandswechsels einer CAN- Teilnehmerstation gemäß der ISO 11898-1, welcher bei der Programmierung gemäß einem ersten Ausführungsbeispiel Verwendung findet; und

Fig. 3 ein Flussdiagramm eines Verfahrens gemäß dem ersten

Ausführungsbeispiel.

In den Figuren sind gleiche oder funktionsgleiche Elemente, sofern nichts anderes angegeben ist, mit denselben Bezugszeichen versehen.

Beschreibung der Ausführungsbeispiele

Fig. 1 zeigt ein Bussystem 1, das beispielsweise ein CAN- Bussystem bzw. ein CAN-FD-Bussystem, usw., sein kann. Das Bussystem 1 kann in einem

Fahrzeug, insbesondere einem Kraftfahrzeug, einem Flugzeug, usw., oder im Krankenhaus usw. Verwendung finden.

In Fig. 1 hat das Bussystem 1 eine Vielzahl von Teilnehmerstationen 10, 20 und ein Programmierwerkzeug 30, die jeweils an eine Busleitung 5 angeschlossen sind. Über die Busleitung 5 können Nachrichten 7, 8, 9 in der Form von Signalen zwischen den einzelnen Teilnehmerstationen 10, 20 übertragen werden. Hierfür haben die Teilnehmerstationen 10 eine Kommunikationssteuereinrichtung 11, eine Sende-/Empfangseinrichtung 12 (Transceiver), einen Empfangsfehlerzähler REC und einen Sendefehlerzähler TEC. Die Teilnehmerstationen 20 haben eine Kommunikationssteuereinrichtung 21, eine Sende-/Empfangseinrichtung 22 (Transceiver), einen Empfangsfehlerzähler REC und einen Sendefehlerzähler TEC. Das Programmierwerkzeug 30 hat eine Einrichtung 31. Die Sende- /Empfangseinrichtungen 21, 22 sind jeweils an die Busleitung 5 angeschlossen, auch wenn die in Fig. 1 nicht gezeigt ist.

Die Teilnehmerstationen 10, 20 können beispielsweise Steuergeräte oder Anzeigevorrichtungen eines Kraftfahrzeugs sein. Die Teilnehmerstationen 10 sind Classic-CAN-Teilnehmerstationen gemäß der aktuellen gültigen IS011898-1 und unterstützen CAN FD nicht und sind auch nicht CAN FD tolerant. Im

Unterschied dazu sind die Teilnehmerstationen 20 CAN- FD-Teilnehmerstationen, welche das im kommenden IS011898-1 Standard CAN FD - CAN with Flexible Datarate - Protokoll (derzeit im Entwurf, Abschluss der Arbeiten voraussichtlich Ende 2014) umsetzen. Die Teilnehmerstationen 20 können sowohl CAN- FD- Nachrichten 7, 8 als auch Classic-CAN-Nachrichten 9 senden und empfangen. Die Classic-CAN-Nachrichten 8 sind Fehlerrahmen mit aktiver Fehlerkennung

(Error Flag). Die CAN-FD-Nachrichten 9 sind Rahmen zur positiven Quittierung des Empfangs einer der Nachrichten 7. Das Programmierwerkzeug 30 kann ebenfalls Nachrichten 7 auf den Bus 5 senden. Somit sind die Nachrichten 7, 8 CAN-FD-Nachrichten, wohingegen die

Nachrichten 9 Classic-CAN Nachrichten sind. Daher haben die

Kommunikationssteuereinrichtungen 11 in weiten Teilen die Funktionen wie ein CAN-Controller. Die Kommunikationssteuereinrichtungen 21 und die Einrichtung 31 haben in weiten Teilen die Funktionen wie ein CAN- FD-Controller, wobei jedoch auch Nachrichten 9 gemäß dem CAN- Protokoll gelesen und erstellt werden können.

Empfängt eine der Teilnehmerstationen 10 eine Nachricht 7, sendet die

Teilnehmerstation 10 als Reaktion darauf eine Fehlermeldung, eine sogenannte ErrorMessage, oder einen Fehlerrahmen, einen sogenannten Error Frame, nämlich eine Nachricht 9. Damit wird die Kommunikation auf der Busleitung 5 gestört.

In der Betriebsart Update-Programmierung von einzelnen Teilnehmerstationen 10, 20, soll eine schnellere Punkt-zu-Punkt Kommunikation zwischen zwei

Teilnehmerstationen 10, 20 des Bussystems 1 zum Einsatz kommen. Daher wird von einer der Teilnehmerstationen 20 das folgende Verfahren ausgeführt. Nach Durchführung des Verfahrens kann die Programmierung einer CAN- FD- Teilnehmerstation via einer CAN-FD-Übertragung in dem gemischten Bussystem 1 bestehend aus Classic-CAN- und CAN- FD-Teilnehmerstation 10, 20 erfolgen, ohne die bestehenden Classic-CAN-Teilnehmerstationen 10 zu verändern oder die zu programmierenden CAN- FD-Teilnehmerstationen 20 auszubauen.

Das Verfahren bereitet also die Programmierung einer Teilnehmerstation 20 vor und ist somit nicht der Normalbetrieb der Teilnehmerstationen 10, 20, die beispielsweise in einem Fahrzeug eingebaut sind, und des Bussystems 1.

Deshalb ist das Rückführen des Bussystems 1 in den Normalbetrieb durch den Neustart aller Teilnehmerstationen 10, 20 zulässig.

Bei dem Verfahren werden alle Teilnehmerstationen 10, welche die schnellere Übertragungsvariante nicht unterstützen, dediziert in einen Fehlerzustand gebracht, in dem sie keine Nachrichten 9, also CAN Error Frames mit einer aktiven Fehlerkennung (Active Error Flag) (sechs aufeinanderfolgende dominante Bits) senden.

Fig. 2 zeigt mögliche Zustände 40, 50, 60 der CAN-Teilnehmerstationen 10 aus der ISO 11898-1. Der Zustand 40 ist ein Zustand„Error Aktive" (Empfänger), in welchem eine CAN-Teilnehmerstation 10 als Empfänger einer Nachricht 7, 8 eine Nachricht 9, also einen CAN Error Frame mit aktiver Fehlerkennung (Active Error Flag) (sechs aufeinanderfolgende dominante Bits) sendet. Der Zustand wird gemäß ISO 11898-1 durch eine Initialisierungsanfrage Rl (lnitialization_Request Init) oder durch Senden einer CAN-FD-Nachricht 7 erreicht. Ist die Bedingung R2 erfüllt, dass der Empfangsfehlerzähler REC > 127 oder der Sendefehlerzähler TEC > 127 gilt, geht die CAN-Teilnehmerstation 10 als Empfänger einer

Nachricht 7, 8 in den Zustand 50„Error Passive". Ist dann umgekehrt die

Bedingung R21 erfüllt, geht die CAN-Teilnehmerstationen 10 als Empfänger einer Nachricht 7, 8 aus dem Zustand 50„Error Passive" wieder in den Zustand 40„Error Aktive" zurück. Ist im Zustand 50 jedoch die Bedingung R3 erfüllt, dass der Sendefehlerzähler TEC > 255 gilt, geht die CAN-Teilnehmerstationen 10 als Empfänger einer Nachricht 7, 8 in den Zustand 60„Bus Off", und kann somit keine Nachrichten mehr senden. Durch die Bedingung R4, welche eine Benutzer- Anfrage und ein 128-maliges Auftreten von 11 aufeinanderfolgenden rezessiven Bits ist, geht die CAN-Teilnehmerstation 10 wieder in den Zustand 40„Error Aktive" (Empfänger) zurück.

In den Zuständen 50, 60, also„Error Passive", und„Bus Off" senden die

Teilnehmerstationen 10 keine Nachrichten 9, also Error Frames mit aktiver Fehlerkennung (Active Error Flag), bzw. so wenige Nachrichten 9, also

Fehlerrahmen, so dass die Kommunikation der CAN- FD-Teilnehmerstationen 20 mittels der schnelleren Übertragungsvariante CAN FD von den CAN- Teilnehmerstationen 10 nicht signifikant wenn überhaupt gestört wird.

Erst danach beginnt das Übertragen der zu programmierenden Daten im CAN FD Format vom Programmierwerkzeug 30 an die zu programmierende

Teilnehmerstation 20. Die Teilnehmerstationen 10 im Zustand 50„Error Passive" oder 60„Bus Off" müssen auch während der schnelleren Übertragung gemäß CAN FD für die Programmierung der zu programmierende Teilnehmerstation 20. in einem dieser Zustände 50, 60 bleiben.

Fig. 3 veranschaulicht in einem Flussdiagramm das zuvor beschriebene

Verfahren noch genauer. In der schematischen Darstellung wird das oben beschriebene Verfahren durch das Programmierwerkzeug 30 via dem UDS Diagnosedienst„Routine Control - change error State of Classic-CAN nodes" aufgerufen. Die zu programmierende Teilnehmerstation 20 stellt diese Routine zur Verfügung und übernimmt die Rolle des Senders von initialen CAN-FD- Nachrichten 7. Die Routine ist positiv abgeschlossen, wenn die von der zu programmierenden Teilnehmerstation 20 gesendeten CAN-FD-Nachrichten 7 keine Nachrichten 8 (Error Frames) im Bussystem 1 generieren. Erst nach positivem Abschluss der Routine des Verfahrens wird die

Standardprogrammiersequenz fortgeführt. Ab diesem Zeitpunkt können CAN-FD- Nachrichten 7 für die Programmierung verwendet werden, ein günstiger

Zeitpunkt wäre z.B. nachdem die zu programmierende Teilnehmerstation 20 bereits in den Bootlader (Bootloader) gewechselt ist. Das Programmierwerkzeug 30 hat die Möglichkeit mit dem UDS-Befehl„Link Control - switch to CAN FD

Communications" der zu programmierenden Teilnehmerstation 20 zu

signalisieren, ab wann die Kommunikation auf die Verwendung von CAN-FD- Nachrichten 7 umgestellt wird. Das Verfahren verwendet Mechanismen der CAN-Teilnehmerstationen 10, die heute in allen Teilnehmerstationen 10, 20 typischerweise implementiert und somit bereits verfügbar sind. Explizit wird der UDS Diagnosedienst„Control Communication - disable non-diagnostic communication" eingesetzt. UDS (Unified Diagnostic Services) ist ein Kommunikationsprotokoll der

Automobilelektronik, welches in der ISO 14229 spezifiziert ist. Der UDS Diagnosedienst„Control Communication - disable non-diagnostic

communication" ist heute in der Regel bereits Teil der Programmiersequenz und somit in allen Teilnehmerstationen 10, 20 umgesetzt.

Nach dem Start des Verfahrens zur Vorbereitung der Programmierung einer Teilnehmerstation 20 wird bei einem Schritt Sl vom Programmierwerkzeug 30 die zyklische Übertragung eines funktional adressierten UDS-Befehls -Tester Present - an alle Teilnehmerstationen 10, 20 gestartet. Damit soll verhindert werden, dass die Classic-CAN-Teilnehmerstationen 10 wieder das Senden aufnehmen („Tester Present - suppress positive response"). Das zyklische Senden des UDS-Befehls erfolgt später während des gesamten

Programmierablaufs. Danach geht der Fluss zu einem Schritt S2 weiter.

Bei dem Schritt S2 wird an alle Teilnehmerstationen 10, 20 ein funktional adressierter UDS-Befehl - Diagnostic Session Control - gestartet, um zu einer erweiterten Funktion umzuschalten (switch to extended Session). Danach geht der Fluss zu einem Schritt S3 weiter.

Bei dem Schritt S3 wird an alle Teilnehmerstationen 10, 20 ein funktional adressierter UDS-Befehl - Communication Control - gestartet, um eine nichtdiagnostische Kommunikation zu deaktivieren (disable non-diagnostic communication). Danach geht der Fluss zu einem Schritt S4 weiter.

Bei dem Schritt S4 werden gegebenenfalls weitere vorbereitende Schritte wie - Ausschalten der Fehlererkennung, Prüfung von Logistik- Kennungen, usw.

durchgeführt. Der Schritt S4 kann daher auch weggelassen werden. Danach geht der Fluss zu einem Schritt S31 weiter.

Bei dem Schritt S31 wird wieder, wie bei dem Schritt S3, an alle

Teilnehmerstationen 10, 20 ein funktional adressierter UDS-Befehl - Communication Control - gestartet, um eine nichtdiagnostische Kommunikation zu deaktivieren (disable non-diagnostic communication). Danach geht der Fluss zu einem Schritt S5 weiter. Bei dem Schritt S5 wird an die zu programmierende Teilnehmerstation 20 ein physikalisch adressierter UDS-Befehl - Routine Control - gestartet, um den Fehlerzustand der Teilnehmerstationen 10 zu ändern (change error State of Classic- CAN nodes). Dies erfolgt, um die am Programmierprozess nicht beteiligten Classic-CAN-Teilnehmerstation 10 in einen Fehlerzustand zu versetzen. Hierfür sendet entweder eine der Teilnehmerstationen 20 oder das Programmierwerkzeug Nachrichten 7, also CAN-FD-Nachrichten. Die Classic- CAN-Teilnehmerstation 10 senden daraufhin Nachrichten 9, also Fehlerrahmen und inkrementieren Ihre internen Empfangsfehlerzähler REC. Die

Teilnehmerstation 20 als Sender der CAN-FD-Nachricht 7 inkrementiert aufgrund der Nachrichten 8 seine internen Senderfehlerzähler TEC. Da aber mindestens eine weitere CAN- FD-Teilnehmerstation 20 im Bussystem 1 verfügbar ist, werden CAN-FD-Nachrichten 7 auch positiv mit einer Nachricht 8 quittiert und somit der Senderfehlerzähler TEC des Senders wieder dekrementiert. Abhängig vom Wert der Zähler REC, TEC wechseln die CAN-Teilnehmerstationen 10 ihren Zustand, wie in Bezug auf Fig. 2 beschrieben. Dabei ist es möglich, dass die CAN- FD-Teilnehmerstation 20 als Sender der Nachrichten 7 ebenfalls in den Zustand 50 „Error Passive" und darauf folgend in den Zustand 60„Bus Off' geht.

Sofern die CAN- FD-Teilnehmerstation 20 als Sender der Nachrichten 7 ihren Zustand wechselt, also nicht mehr im Zustand 40„Error Active" ist, muss die CAN- FD-Teilnehmerstation 20 als Sender der Nachrichten 7 diesen

Zustandswechsel erkennen und selbstständig wieder in den Zustand 40„Error Active" wechseln. Dieser Wechsel kann stattfinden, indem z.B. die

Kommunikationssteuereinrichtung 21 neu gestartet wird. Danach versendet die CAN- FD-Teilnehmerstation 20 weitere Nachrichten 7 mit der schnelleren

Übertragungsrate gemäß CAN FD. Die CAN- FD-Teilnehmerstation 20 wiederholt dies solange, bis ihre internen Fehlerzähler REC und TEC nach dem Versenden einer CAN-FD-Nachricht 7 nicht mehr inkrementiert werden. Dies bedeutet, dass alle an der vorzunehmenden Programmierung nicht beteiligten

Teilnehmerstationen 10 den Fehlerzustand 50 oder 60 erreicht haben und, solange sie in dem Fehlerzustand 50 oder 60 sind, keine Nachrichten 9, also Fehlerrahmen (Error Frames) mehr senden.

Danach geht der Fluss zu einem Schritt S6 weiter. Bei dem Schritt S6 und den darauffolgenden Schritten S7 und S8 wird die zu programmierende Teilnehmerstation 20 mit dem Programmierwerkzeug 30 programmiert. Demzufolge wird bei dem Schritt S6 an die zu programmierende Teilnehmerstation 20 ein physikalisch adressierter UDS- Befehl zum Wechsel in den Bootlader - Diagnostic Session Control - gestartet, um in einen

Programmierbetrieb zu schalten (switch to programming Session). Danach geht der Fluss zu einem Schritt S7 weiter. Bei dem Schritt S7 wird an die zu programmierende Teilnehmerstation 20 ein physikalisch adressierter UDS-Befehl - Link Control - gesendet, um in eine CAN FD Kommunikation umzuschalten (switch to CAN FD communication). Danach geht der Fluss zu einem Schritt S8 weiter. Bei dem Schritt S8 wird eine Standardsequenz der Programmierung ausgeführt.

Danach ist das Verfahren beendet. Nach Neustart der Teilnehmerstationen 10, 20 kann der Normalbetrieb des Bussystems 1 wieder aufgenommen werden.

Das Verfahren wird bei dem vorliegenden Ausführungsbeispiel durch das Programmierwerkzeug 30 durchgeführt bevor die eigentliche Programmierung startet. Dazu wird, wie zuvor beschrieben, unter anderem mit Hilfe des

Programmierwerkzeugs 30 der UDS Diagnosedienst„Communication Control - disable non-diagnostic communication" funktional an alle Teilnehmerstation 10, 20 gesendet, wie in Bezug auf die Schritte S3 und S31 beschrieben. Die

Teilnehmerstationen 10, 20 stellen daraufhin das eigenständige Versenden von CAN Nachrichten 7, 8, 9 ein. Dadurch, dass die Classic CAN-Teilnehmerstation 10 keine Nachrichten 9 mehr versenden, wird auch Ihr interner Fehlerzähler nicht mehr dekrementiert, und somit werden diese Teilnehmerstationen 10 im

Fehlerzustand gehalten, wie in Bezug auf Schritt S5 beschrieben. Damit die Classic-CAN-Teilnehmerstationen 10 nicht wieder das Senden aufnehmen, sendet das Programmierwerkzeug 30 zyklisch während des gesamten

Programmierablaufs via dem UDS Protokoll das Kommando„Tester Present - suppress positive response" an zumindest alle Teilnehmerstationen 10, wie in Bezug auf Schritt S2 beschrieben. Das oben beschriebene Verfahren, die nicht beteiligten Teilnehmerstationen 10 definiert in einem Fehlerzustand 50, 60 zu versetzen und darauffolgend die eigentliche Programmierung mittels der schnelleren Übertragungsrate durchzuführen, sollte erst nach den beschriebenen vorbereitenden Schritten durchgeführt werden. Somit kann sichergestellt werden, dass die

entsprechenden Teilnehmerstation im Zustand 50„Error Passive" oder 60„Bus Off" bleiben. Würden diese Teilnehmerstationen 10 Nachrichten erfolgreich versenden und daraufhin ihre internen Fehlerzähler dekrementieren, könnten die Teilnehmerstation 10 wieder in den Zustand„Error Active" gelangen.

Der Anwendungsfall der Erfindung ist die Programmierung eines Teilnehmers und somit nicht der Normalbetrieb des Fahrzeugs und des Bussystems 1.

Deshalb ist das Rückführen des Bussystems 1 in den Normalbetrieb durch den Neustart aller Teilnehmerstationen 10, 20 zulässig.

Damit wird eine Anpassung der Classic-CAN-Teilnehmerstation 10 im Bussystem 1 entweder softwaretechnisch, um den Protokoll-Controller zu deaktivieren, oder die Erweiterung der Hardware um Partial- Networking fähige Transceiver ermöglicht.

Gemäß einem zweiten Ausführungsbeispiel wird das Verfahren anstelle des Programmierwerkzeugs 30 durch die zu programmierende Teilnehmerstation 20 durchgeführt bevor die eigentliche Programmierung startet. Ansonsten sind das Bussystem und das von ihm ausgeführte Verfahren auf die gleiche Weise ausgeführt, wie für das erste Ausführungsbeispiel beschrieben.

Alle zuvor beschriebenen Ausgestaltungen des Bussystems 1, der

Teilnehmerstationen 10, 20, der Kommunikationssteuereinrichtung 21, des Programmierwerkzeugs 30 und des Verfahrens können einzeln oder in allen möglichen Kombinationen Verwendung finden. Insbesondere können alle Merkmale der zuvor beschriebenen Ausführungsbeispiele beliebig kombiniert werden. Zusätzlich sind insbesondere folgende Modifikationen denkbar.

Das zuvor beschriebene Bussystem 1 gemäß den Ausführungsbeispielen ist anhand eines auf dem CAN-Protokoll basierenden Bussystems beschrieben. Das Bussystem 1 gemäß den Ausführungsbeispielen kann jedoch auch eine andere Art von Kommunikationsnetz sein. Es ist vorteilhaft, jedoch nicht zwangsläufige Voraussetzung, dass bei dem Bussystem 1 zumindest für bestimmte

Zeitspannen ein exklusiver, kollisionsfreier Zugriff einer Teilnehmerstation 10, 20 auf einen gemeinsamen Kanal gewährleistet ist.

Die Anzahl und Anordnung der Teilnehmerstationen 10, 20 in dem Bussystem 1 der Ausführungsbeispiele ist beliebig.