Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR TRANSMITTING DATA IN A CYCLE-BASED COMMUNICATIONS SYSTEM
Document Type and Number:
WIPO Patent Application WO/2009/080524
Kind Code:
A1
Abstract:
The invention relates to a method for transmitting data from a sending subscriber (2) of a cycle-based communications system (1) via a communications medium (4) of the communications system (1) to a receiving subscriber (2) of the communications system (1). The data are transmitted via the communications medium (4) in messages (20) repeating in communications cycles, respectively comprising several data blocks (21; 22). The receiving subscriber (2) identifies the end of the data blocks (21; 22) in the receiving messages (20) and then removes the transmitted data from the identified data blocks (21; 22).

Inventors:
SCHREIER MARC (DE)
WEBER CORINA (DE)
Application Number:
PCT/EP2008/067226
Publication Date:
July 02, 2009
Filing Date:
December 10, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
SCHREIER MARC (DE)
WEBER CORINA (DE)
International Classes:
H04L12/40
Foreign References:
DE19842849A12000-03-23
DE102005059616A12007-06-14
US20050254518A12005-11-17
DE102005015912A12005-11-17
Other References:
K. ETSCHBERGER, R. HOFMANN, J. STOLBERG, S. WEIHER, C. SCHLEGEL: "Controller-Area-Network Grundlagen, Protokolle, Bausteine, Anwendung", 2002, HANSER, HOLZKIRCHEN, GERMANY, ISBN: 3-446-21776-2, XP002520882
Attorney, Agent or Firm:
ROBERT BOSCH GMBH (Stuttgart, DE)
Download PDF:
Claims:
Ansprüche

1. Verfahren zum übertragen von Daten von einem sendenden Teilnehmer (2) eines Kommunikationssystems (1) über ein Kommunikationsmedium (4) des Kommunikationssystems (1) an einen empfangenden Teilnehmer (2) des Kommunikationssystems (1), wobei die Daten über das Kommunikationsmedium (4) in Botschaften (20) umfassend jeweils mehrere Datenblöcke (21; 22) übertragen werden, und wobei der empfangende Teilnehmer (2) in den empfangenen Botschaften (20) das Ende der Datenblöcke (21; 22) identifiziert und anschließend die übertragenen Daten aus den identifizierten Datenblöcken (21; 22) entnimmt, dadurch gekennzeichnet, dass der empfangende Teilnehmer (2) in den empfangenen Botschaften (20) zumindest für die Datenblöcke (21) mit variabler Länge jeweils das Ende des Datenblocks (21) identifiziert, indem eine zumindest in den Datenblöcken (21) mit variabler Länge übermittelte Information bezüglich der Länge des Datenblocks (21) aus dem Datenblock (21) eingelesen und ausgewertet wird oder indem eine zumindest im Anschluss an die Datenblöcke (21) mit variabler Länge in den Botschaften (20) übertragene Information (23) bezüglich des Endes des Datenblocks (21) eingelesen und ausgewertet wird.

2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Verfahren in einem zyklusbasierten Kommunikationssystem (1) eingesetzt wird, wobei die Daten über das Kommunikationsmedium (4) in sich in Kommunikationszyklen wiederholenden Botschaften (20) übertragen werden.

3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass beim sendenden Teilnehmer (2) der Inhalt der Bytes der in den Botschaften (20) zu übertragenden Daten ermittelt wird und als Information (23) bezüglich des Endes des Datenblocks (21) eine Bitkombination gewählt wird, die nicht als Inhalt der Bytes der in den Botschaften (20) zu übertragenden Daten vorkommt.

4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Daten in dem Kommunikationssystem (1) nach einem FlexRay-Protokoll übertragen werden.

5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Information (23) bezüglich des Endes des Datenblocks (21) höchstens zwei Byte umfasst.

6. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Information (23) bezüglich des Endes des Datenblocks (21) genau ein Byte umfasst.

7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der empfangende Teilnehmer (2) über Informationen bezüglich der minimalen Länge der

Datenblöcke (21) und/oder der maximalen Länge der Datenblöcke (21) verfügt und beim empfangenden Teilnehmer (2) die Informationen bezüglich des Endes der Datenblöcke (21) nicht in der gesamten Botschaft (20), sondern lediglich im Bereich von Fenstern gesucht werden, die durch die minimale und die maximale Länge der Datenblöcke (21) begrenzt sind.

8. Teilnehmer (2) eines Kommunikationssystems (1) umfassend den Teilnehmer (2), mindestens einen weiteren Teilnehmer (2) und mindestens ein Kommunikationsmedium (4), über das die Teilnehmer (2) zum Zwecke einer Datenübertragung miteinander in Verbindung stehen, wobei der Teilnehmer (2) und der mindestens eine weitere Teilnehmer (2) Mittel zur übertragung der Daten über das Kommunikationsmedium (4) in Botschaften

(20) umfassend jeweils mehrere Datenblöcke (21; 22) aufweisen, und wobei der Teilnehmer (2) erste Mittel zum Identifizieren des Endes der Datenblöcke (21; 22) in den empfangenen Botschaften (20) und zweite Mittel zur anschließenden Entnahme der übertragenen Daten aus den identifizierten Datenblöcken (21; 22) aufweist, dadurch gekennzeichnet, dass der Teilnehmer (2) in den empfangenen Botschaften (20) zumindest für die Datenblöcke (21) mit variabler Länge jeweils das Ende des Datenblocks (21) identifiziert, indem die ersten Mittel eine zumindest in den Datenblöcken (21) mit variabler Länge übermittelte Information bezüglich der Länge des Datenblocks (21) aus dem Datenblock (21) einlesen und auswerten oder indem die ersten Mittel eine zumindest im Anschluss an die Datenblöcke

(21) mit variabler Länge in den Botschaften (20) übertragene Information (23) bezüglich des Endes des Datenblocks (21) einlesen und auswerten.

9. Teilnehmer (2) nach Anspruch 8, dadurch gekennzeichnet, dass der Teilnehmer Teil eines zyklusbasierten Kommunikationssystems (1) ist, wobei der Teilnehmer (2) und der mindestens eine weitere Teilnehmer (2) Mittel zur übertragung der Daten über das Kommunikationsmedium (4) in sich in Kommunikationszyklen wiederholenden Botschaften (20) aufweisen.

10. Teilnehmer (2) nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass der Teilnehmer (2) über Informationen bezüglich der minimalen Länge der Datenblöcke (21) und/oder der maximalen Länge der Datenblöcke (21) verfügt und die Informationen bezüglich des Endes der Datenblöcke (21) nicht in der gesamten Botschaft (20), sondern lediglich im Bereich von

Fenstern sucht, die durch die minimale und die maximale Länge der Datenblöcke (21) begrenzt sind.

11. Teilnehmer (2) eines Kommunikationssystems (1) umfassend den Teilnehmer (2), mindestens einen weiteren Teilnehmer (2) und mindestens ein Kommunikationsmedium (4), über das die Teilnehmer (2) zum Zwecke einer Datenübertragung miteinander in Verbindung stehen, wobei der Teilnehmer (2) und der mindestens eine weitere Teilnehmer (2) Mittel zur übertragung der Daten über das Kommunikationsmedium (4) in Botschaften (20) umfassend jeweils mehrere Datenblöcke (21; 22) aufweisen, und wobei der Teilnehmer (2) Mittel zum Einfügen der zu übertragenden Daten in die Datenblöcke (21; 22) für die anschließende übertragung der Daten über das Kommunikationsmedium (4) in den sich wiederholenden Botschaften (20) aufweist, dadurch gekennzeichnet, dass der Teilnehmer (2) weitere Mittel aufweist, welche zumindest in die Datenblöcke (21) mit variabler Länge eine Information bezüglich der Länge des Datenblocks (21) einfügen oder welche zumindest im Anschluss an die Datenblöcke (21) mit variabler Länge eine Information (23) bezüglich des Endes des Datenblocks (21) in die Botschaften (20) einfügen.

12. Teilnehmer (2) nach Anspruch 11, dadurch gekennzeichnet, dass der Teilnehmer Teil eines zyklusbasierten Kommunikationssystems (1) ist, wobei der Teilnehmer (2) und der mindestens eine weitere Teilnehmer (2) Mittel zur übertragung der Daten über das

Kommunikationsmedium (4) in sich in Kommunikationszyklen wiederholenden Botschaften (20) aufweisen.

13. Teilnehmer (2) nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass die weiteren Mittel den Inhalt der Bytes der in den Botschaften (20) zu übertragenden Daten ermitteln und als Information bezüglich des Endes des Datenblocks (21) eine Bitkombination wählen, die nicht als Inhalt der Bytes der in den Botschaften (20) zu übertragenden Daten vorkommt.

14. Teilnehmer (2) nach einem der Ansprüche 8 bis 13, dadurch gekennzeichnet, dass die Datenübertragung in dem Kommunikationssystem (1) nach einem FlexRay-Protokoll erfolgt.

15. Teilnehmer (2) nach einem der Ansprüche 8 bis 14, dadurch gekennzeichnet, dass die Information (23) bezüglich des Endes des Datenblocks (21) höchstens zwei Byte umfasst.

16. Teilnehmer (2) nach Anspruch 13, dadurch gekennzeichnet, dass die Information (23) bezüglich des Endes des Datenblocks (21) genau ein Byte umfasst.

Description:

Beschreibung

Titel

Verfahren zum übertragen von Daten in einem zyklusbasierten Kommunikationssystem,

Stand der Technik

Die vorliegende Erfindung betrifft ein Verfahren zum übertragen von Daten von einem sendenden Teilnehmer eines Kommunikationssystems über ein Kommunikationsmedium des Kommunikationssystems an einen empfangenden Teilnehmer des

Kommunikationssystems. Die Daten werden über das Kommunikationsmedium in Botschaften umfassend jeweils mehrere Datenblöcke übertragen. Der empfangende Teilnehmer identifiziert in den empfangenen Botschaften das Ende der Datenblöcke und entnimmt anschließend die übertragenen Daten aus den identifizierten Datenblöcken.

Die Erfindung betrifft einen empfangenden Teilnehmer eines zyklusbasierten Kommunikationssystems. Das Kommunikationssystem umfasst den Teilnehmer, mindestens einen weiteren Teilnehmer und mindestens ein Kommunikationsmedium, über das die Teilnehmer zum Zwecke einer Datenübertragung miteinander in Verbindung stehen. Der Teilnehmer und der mindestens eine weitere Teilnehmer weisen Mittel zur

übertragung der Daten über das Kommunikationsmedium in Botschaften umfassend jeweils mehrere Datenblöcke auf. Der Teilnehmer weist erste Mittel zum Identifizieren des Endes der Datenblöcke in den empfangenen Botschaften und zweite Mittel zur anschließenden Entnahme der übertragenen Daten aus den identifizierten Datenblöcken auf.

Schließlich betrifft die vorliegende Erfindung auch einen sendenden Teilnehmer eines Kommunikationssystems. Das Kommunikationssystem umfasst den Teilnehmer, mindestens einen weiteren Teilnehmer und mindestens ein Kommunikationsmedium, über das die Teilnehmer zum Zwecke einer Datenübertragung miteinander in Verbindung stehen. Der Teilnehmer und der mindestens eine weitere Teilnehmer weisen Mittel zur

übertragung der Daten über das Kommunikationsmedium in Botschaften umfassend jeweils mehrere Datenblöcke auf. Der Teilnehmer weist Mittel zum Einfügen der zu übertragenden

Daten in die Datenblöcke für die anschließende übertragung der Daten über das Kommunikationsmedium in den sich wiederholenden Botschaften auf.

Die Vernetzung von Steuergeräten, Sensorik und Aktuatorik mit Hilfe eines Kommunikationssystems und einer Kommunikationsverbindung bspw. in Form eines Bussystems hat in den letzten Jahren sowohl beim Bau von modernen Kraftfahrzeugen oder auch im Maschinenbau, insbesondere im Werkzeugmaschinenbereich, als auch in der Automatisierung drastisch zugenommen. Synergieeffekte durch Verteilung von Funktionen auf mehrere Steuergeräte können dabei erzielt werden. Man spricht hierbei von verteilten Systemen.

Die Kommunikation zwischen verschiedenen Teilnehmern eines solchen Datenübertragungssystems findet mehr und mehr über ein Bussystem statt. Der Kommunikationsverkehr auf dem Bussystem, Zugriffs- und Empfangsmechanismen, sowie Fehlerbehandlung werden über ein Protokoll geregelt. Ein bekanntes Protokoll ist beispielsweise das FlexRay-Protokoll, wobei derzeit die FlexRay- Protokollspezifikation v2.1 zu Grunde liegt. Bei FlexRay handelt es sich um ein schnelles, deterministisches und fehlertolerantes Bussystem, insbesondere für den Einsatz in Kraftfahrzeugen. Das FlexRay- Protokoll arbeitet nach dem Prinzip des Time Division Multiple Access (TDMA), wobei den Teilnehmern bzw. den zu übertragenden Botschaften feste Zeitschlitze zugewiesen werden, in denen sie einen exklusiven Zugriff auf die Kommunikationsverbindung haben. Die Zeitschlitze wiederholen sich dabei in einem festgelegten Zyklus, so dass der Zeitpunkt, zu dem eine Botschaft über den Bus übertragen wird, exakt vorausgesagt werden kann und der Buszugriff deterministisch erfolgt.

Um die Bandbreite für die übertragung von Botschaften auf dem Bussystem optimal zu nutzen, unterteilt FlexRay die Botschaften in einen statischen und einen dynamischen Teil. Die festen Zeitschlitze befinden sich dabei im statischen Teil am Anfang einer Botschaft. Im dynamischen Teil werden die Zeitschlitze dynamisch vorgegeben. Darin wird nun der exklusive Buszugriff jeweils nur für eine kurze Zeit, für die Dauer mindestens eines sogenannten Minislots, ermöglicht. Nur wenn innerhalb eines Minislots ein Buszugriff erfolgt, wird der Zeitschlitz um die benötigte Zeit verlängert. Damit wird Bandbreite also nur verbraucht, wenn sie auch tatsächlich benötigt wird. Dabei kommuniziert FlexRay über eine oder zwei physikalisch getrennte Leitungen mit einer Datenrate von jeweils maximal 10 Mbit/sec. Selbstverständlich kann FlexRay aber auch mit niedrigeren Datenraten betrieben werden. Die beiden Kanäle entsprechen dabei der physikalischen Schicht, insbesondere des sogenannten OSI (Open System Architecture) Schichtenmodells. Diese dienen hauptsächlich der redundanten und damit fehlertoleranten übertragung von Botschaften,

können jedoch auch unterschiedliche Botschaften übertragen, wodurch sich dann die Datenrate verdoppeln würde. Es ist auch denkbar, dass sich das über die Verbindungsleitungen übertragene Signal aus der Differenz von über die beiden Leitungen übertragenen Signalen ergibt. Die physikalische Schicht ist derart ausgestaltet, dass sie eine elektrische aber auch optische übertragung des oder der Signale über die Leitung(en) oder eine übertragung auf anderem Wege (z.B. Funk, Infrarot, etc.) ermöglicht.

Um synchrone Funktionen zu realisieren und die Bandbreite durch kleine Abstände zwischen zwei Botschaften zu optimieren, benötigen die Teilnehmer in dem Kommunikationsnetzwerk eine gemeinsame Zeitbasis, die sogenannte globale Zeit. Für die Uhrensynchronisation werden Synchronisationsnachrichten im statischen Teil des Zyklus übertragen, wobei mit Hilfe eines speziellen Algorithmus entsprechend der FlexRay- Spezifikation die lokale Uhrzeit eines Teilnehmers so korrigiert wird, dass alle lokalen Uhren zu einer globalen Uhr synchron laufen.

Botschaften in einem FlexRay- Kommunikationssystem werden auch als FlexRay- Frames bezeichnet. Die Botschaften umfassen mehrere Datenblöcke (sog. Protocol Data Unit, PDU) mit den zu übertragenden Daten. Die Datenblöcke haben gemäß FlexRay- Spezifikation üblicherweise eine fest vorgegebene Länge. Die Länge der Datenblöcke wird im Rahmen der Konfiguration des Kommunikationssystems fest vorgegeben. Botschaften mit mehreren Datenblöcken mit variabler Länge können deshalb in FlexRay derzeit nicht realisiert werden. Für bestimmte Arten der Datenübertragung in einem FlexRay- Kommunikationssystem wäre es jedoch wünschenswert, Daten in Botschaften mit mehreren Datenblöcken mit variabler Länge übertragen zu können. Dies wäre beispielsweise für die übertragung neuer Software über das Kommunikationsmedium zur Umprogrammierung eines Steuergeräts (Teilnehmers) oder zur übermittlung von Diagnoseinformationen von einem oder mehreren Steuergeräten (Teilnehmern) an eine an das Kommunikationssystem angeschlossene Testereinheit wünschenswert. Auch zur übermittlung von Multimediadaten oder zur übermittlung von Daten anderer sogenannter Infotainment- Funktionen wäre eine Datenübertragung in Botschaften mit mehreren Datenblöcken mit variabler Länge wünschenswert. Grundsätzlich wäre eine Datenübertragung in Botschaften mit mehreren Datenblöcken variabler Länger überall dort interessant, wo relativ hohe Bandbreiten erzielt werden müssen, und es auf eine Datenübertragung in Echtzeit nicht ankommt.

Theoretisch sind gemäß FlexRay-Spezifikation auch Datenblock mit variabler Länge denkbar. Allerdings umfasst in einem solchen Fall eine Botschaft lediglich einen einzigen Datenblock. Dies ist darin begründet, dass in einem Kopfteil (sog. Header) der Botschaft

unter anderem auch die Länge der Botschaft abgelegt ist und zusammen mit den Datenblöcken übermittelt wird; die Länge der Datenblöcke ist jedoch nicht in der Botschaft enthalten und wird folglich auch nicht mit übermittelt. über die Vereinfachung, dass jede Botschaft nur einen Datenblock umfasst, kann von der übermittelten Länge der Botschaft auf die Länge des darin enthaltenen einzigen Datenblocks geschlossen werden. Botschaften mit lediglich einem Datenblock variabler Länge können jedoch die gewünschten hohen Datenraten nicht erreichen.

Die zu übertragenden Daten werden nach dem Stand der Technik in einem sendenden FlexRay-Teilnehmer bzw. in einem Kommunikations-Controller des Teilnehmers auf die Datenblöcke der Botschaften aufgeteilt und über das Kommunikationsmedium übertragen. Der sendende Teilnehmer hat aufgrund der Konfiguration des FlexRay- Kommunikationssystems Kenntnisse über die feste Länge der Datenblöcke, so dass er die zu sendenden Daten dementsprechend auf die Datenblöcke aufteilen kann. Der empfangende Teilnehmer hat ebenfalls aufgrund der Konfiguration des FlexRay-

Kommunikationssystems Kenntnisse über die Länge der Datenblöcke, so dass er die gesendeten Daten dementsprechend aus den Datenblöcken entnehmen kann. Falls Datenblöcke mit variabler Länge eingesetzt werden, wird im empfangenden Teilnehmer aus der im Kopfteil der Botschaft übermittelten Information bezüglich der Länge der Botschaft auf die Länge des darin enthaltenen Datenblocks geschlossen und die gesendeten Daten können dem Datenblock entnommen werden. Im Stand der Technik werden also die Datenblöcke der Botschaften entweder über die Konfigurationsdaten oder über die mit übermittelte Länge der Botschaften identifiziert.

Ausgehend von dem beschriebenen Stand der Technik liegt der vorliegenden Erfindung die Aufgabe zugrunde, in einem FlexRay- Kommunikationssystem auf eine möglichst einfache, kostengünstige und robuste Weise eine Datenübertragung in Botschaften umfassend mehrere Datenblöcke mit variabler Länge zu ermöglichen.

Offenbarung der Erfindung

Zur Lösung dieser Aufgabe wird ausgehend von dem Verfahren der eingangs genannten Art vorgeschlagen, dass der empfangende Teilnehmer in den empfangenen Botschaften zumindest für die Datenblöcke mit variabler Länge jeweils das Ende des Datenblocks identifiziert, indem eine zumindest in den Datenblöcken mit variabler Länge übermittelte Information bezüglich der Länge des Datenblocks aus dem Datenblock eingelesen und ausgewertet wird oder indem eine zumindest im Anschluss an die Datenblöcke mit variabler

Länge in den Botschaften übertragene Information bezüglich des Endes des Datenblocks eingelesen und ausgewertet wird.

Die der vorliegenden Erfindung zugrundeliegende Idee besteht im Wesentlichen darin, bei den empfangenden Teilnehmern des Kommunikationssystems eine Möglichkeit zu schaffen, die Länge der Datenblöcke in den empfangenen Botschaften zu identifizieren. Dazu werden erfindungsgemäß zwei verschiedene Möglichkeiten vorgeschlagen, die jedoch beide auf eine möglichst einfache, kostengünstige und robuste Weise eine Datenübertragung in Botschaften umfassend mehrere Datenblöcke mit variabler Länge ermöglichen.

Vorteile der Erfindung

Gemäß der ersten Möglichkeit wird beim sendenden Teilnehmer des Kommunikationssystem zumindest für die Datenblöcke mit variabler Länge eine Information bezüglich der Länge des Datenblocks in die Botschaft eingefügt. Selbstverständlich kann diese Information standardmäßig sowohl für die Datenblöcke mit variabler Länge als auch für die Datenblöcke mit fester Länge übermittelt werden. Die Information kann entweder jeweils vor einem Datenblock eingefügt werden und beinhaltet dann die Länge für den nachfolgenden Datenblock oder aber die Längeninformation wird direkt in den Datenblock eingefügt und ist somit Bestandteil des Datenblocks. Die Information kann beispielsweise in einen Kopfteil (sog. Header) des Datenblocks eingefügt und zusammen mit dem Datenblock in der Botschaft an den oder die Empfänger übermittelt werden. Auf diese Weise erhält der empfangende Teilnehmer Informationen über die Länge der empfangenen Datenblöcke und kann auch bei einer variablen Länge der Datenblöcke ohne großen

Aufwand das Ende der jeweiligen Datenblöcke ermitteln. Das ist Voraussetzung dafür, dass der empfangende Teilnehmer der eingehenden Botschaft (das heißt dem eingehenden Bitstrom) die richtigen Daten entnimmt. Oft ist es nämlich so, dass die Datenblöcke einer eingehenden Botschaft für unterschiedliche Empfänger bestimmt sind. Wenn beispielsweise der dritte Datenblock einer Botschaft für einen bestimmten Empfänger bestimmt ist, muss dieser genau wissen, wo bzw. wann der vorangegangene zweite Datenblock aufhört, das heißt wo der dritte Datenblock beginnt und wo bzw. wann der dritte Datenblock aufhört. Nur so kann der Empfänger die genau die für ihn bestimmten Daten des dritten Datenblock aus der Botschaft entnehmen.

Gemäß einer zweiten Möglichkeit der vorliegenden Erfindung wird beim sendenden Teilnehmer des Kommunikationssystem zumindest für die Datenblöcke mit variabler Länge im Anschluss an die Datenblöcke eine Information bezüglich des Endes der Datenblöcke in

die Botschaften eingefügt. Selbstverständlich kann diese Information standardmäßig sowohl für die Datenblöcke mit variabler Länge als auch für die Datenblöcke mit fester Länge übermittelt werden. Die Information kann eine Art Markierung sein, welche das Ende eines jeden Datenblocks signalisiert und unmittelbar im Anschluss an den Datenblock in die Botschaft eingefügt wird. Der empfangende Teilnehmer detektiert beim Empfangen und Auswerten der eingehenden Botschaft (das heißt des eingehenden Bitstroms) Die Information ist beispielsweise eine bestimmte Bitkombination. Der empfangende Teilnehmer liest den eingehende Datenstrom ein, wertet ihn aus und erkennt - sofern vorhanden - die darin enthaltenen Informationen bezüglich des Endes eines Datenblocks. Wo bzw. wann der erste Datenblock einer Botschaft beginnt ist dem Empfänger durch die Konfiguration bekannt. Wo bzw. wann der erste Datenblock und alle weiteren Datenblöcke mit variabler Länge aufhören, erfährt der Empfänger anhand der in der Botschaft übertragenen Informationen bezüglich des Endes der Datenblöcke. Für die Datenblöcke mit konstanter Länge, kennt der Empfänger das Ende der Datenblöcke entweder über die Konfiguration, oder aber der Empfänger ermittelt das Ende der Datenblöcke anhand der übertragenen Informationen bezüglich des Endes der Datenblöcke.

Vorzugsweise wird das erfindungsgemäße Verfahren in einem zyklusbasierten Kommunikationssystem eingesetzt, wobei die Daten über das Kommunikationsmedium in sich in Kommunikationszyklen wiederholenden Botschaften übertragen werden. Beispiele für zyklusbasierte Kommunikationssysteme sind das Interbus Feldbussystem, der sog. „Lichtsteuerbus" (nach dem DMX-512 Protokoll), TTCAN (Time Triggered CAN) und FlexRay.

Vorzugsweise ist die Bitkombination eindeutig identifizierbar, das heißt sie unterscheidet sich von den praktisch oder theoretisch übertragenen bzw. übertragbaren Bitkombinationen. Besonders vorteilhaft ist es, wenn die Information aus einem oder zwei Bytes besteht, dessen bzw. deren Inhalt sich von den praktisch übertragenen Bytes unterscheidet und so eine eindeutige Identifikation des Endes eines Datenblocks ermöglicht. Dementsprechend wird gemäß einer vorteilhaften Weiterbildung der Erfindung vorgeschlagen, dass beim sendenden Teilnehmer der Inhalt der Bytes der in den Botschaften zu übertragenden Daten ermittelt wird und als Information bezüglich des Endes des Datenblocks eine Bitkombination gewählt wird, die nicht als Inhalt der Bytes der in den Botschaften zu übertragenden Daten vorkommt.

Gemäß einer bevorzugten Ausführungsform der Erfindung wird vorgeschlagen, dass die Daten in dem Kommunikationssystem nach einem FlexRay- Protokoll übertragen werden. Insbesondere für ein FlexRay-Kommunikationssystem bringt die vorliegende Erfindung

erhebliche Vorteile, da nun erstmals auf eine möglichst einfache, kostengünstige und robuste Weise eine Datenübertragung in Botschaften umfassend mehrere Datenblöcke mit variabler Länge möglich ist. Die Datenblöcke mit variabler Länge sind Bestandteil des statischen und/oder des dynamischen Segments der Flex Ray- Botschaften. Die Datenübertragung in Botschaften umfassend mehrere Datenblöcke mit variabler Länge wird insbesondere überall dort eingesetzt, wo hohe Datenübertragungsraten erzielt werden müssen und wo eine Datenübertragung in Echtzeit nicht unbedingt erforderlich ist.

Vorteilhafterweise umfasst die Information bezüglich des Endes des Datenblocks höchstens zwei Byte. Wenn man von einer maximalen Länge einer FlexRay- Botschaft von 254 Bytes ausgeht, kann man mit einer zwei Byte (gleich 16 Bit) langen Information 2 16 = 65.536 mögliche Bitkombinationen (bzw. unterschiedliche Markierungen) realisieren. Dadurch ist die Wahrscheinlichkeit groß, dass man eine zwei Byte lange Bitkombination für die Markierung des Endes des Datenblocks auswählt, die in den übertragenen Daten (bzw. im übertragenen Bitstrom) nicht vorkommt. Die ausgewählte Markierung kann für alle in dem Kommunikationssystem übertragenen Botschaften stets die gleiche sein. Man kann bspw. eine Bitkombination wählen, die nur sehr selten vorkommt. Die Markierung sollte also möglichst unabhängig von den übertragenen Daten sein. Bei dieser Ausführungsform kann also darauf verzichtet werden, dass beim sendenden Teilnehmer der Inhalt der Bytes der in den Botschaften zu übertragenden Daten ermittelt wird und als Information bezüglich des Endes des Datenblocks eine Bitkombination gewählt wird, die nicht als Inhalt der Bytes der in den Botschaften zu übertragenden Daten vorkommt. Als Markierung kann also stets die gleiche Bitkombination genutzt werden. Diese kann den Teilnehmern des Kommunikationssystems bspw. im Rahmen der Konfiguration mitgeteilt werden, so dass die empfangenden Teilnehmer wissen, nach welcher Bitkombination sie in den empfangenen Daten (bzw. dem empfangenen Bitstrom) suchen müssen.

Wenn aber beim sendenden Teilnehmer der Inhalt der Bytes der in den Botschaften zu übertragenden Daten ermittelt wird und als Information bezüglich des Endes des Datenblocks eine Bitkombination gewählt wird, die nicht als Inhalt der Bytes der in den Botschaften zu übertragenden Daten vorkommt, kann die Markierung des Endes des Datenblöcke genau ein Byte umfassen. Wenn man von einer maximalen Länge einer FlexRay- Botschaft von 254 Bytes ausgeht, kann man mit einer ein Byte (gleich acht Bit) langen Information 2 8 = 256 mögliche Bitkombinationen (bzw. unterschiedliche Markierungen) realisieren. Es kann also immer eine Bitkombination für die Markierung gefunden werden, die in den übermittelten Daten (bzw. im übertragenen Bitstrom) nicht vorkommt. Allerdings kann bei dieser Ausführungsform die verwendete Markierung von Botschaft zu Botschaft variieren. Sinnvollerweise wird deshalb in der Botschaft auch eine

Information bezüglich der verwendeten Markierung übertragen, damit die empfangenden Teilnehmer wissen, nach welcher Bitkombination sie in den empfangenen Daten (bzw. dem empfangenen Bitstrom) suchen müssen.

Gemäß einer anderen vorteilhaften Weiterbildung der Erfindung wird vorgeschlagen, dass der empfangende Teilnehmer über Informationen bezüglich der minimalen Länge der Datenblöcke und/oder der maximalen Länge der Datenblöcke verfügt und beim empfangenden Teilnehmer die Informationen bezüglich des Endes der Datenblöcke nicht in der gesamten Botschaft, sondern lediglich im Bereich von Fenstern gesucht werden, die durch die minimale und die maximale Länge der Datenblöcke begrenzt sind. Die

Informationen bezüglich der minimalen und maximalen Länge der Datenblöcke können den Teilnehmern des Kommunikationssystems durch die Konfiguration mitgeteilt werden. Aufgrund dieser Informationen bestimmt der Empfänger ein Fenster, innerhalb dem er den eingehenden Datenstrom nach den Markierungen des Endes der Datenblöcke durchsucht. Wo bzw. wann der erste Datenblock beginnt, ist dem Empfänger bekannt. Ausgehend von dem Beginn des ersten Datenblock, legt der Empfänger das Fenster, innerhalb dem er nach der Markierung des Endes des ersten Datenblocks sucht, auf den entsprechenden Bereich des eingehenden Bitstroms. Ausgehend von dem ermittelten Ende des ersten Datenblocks (entsprechend dem Beginn des zweiten Datenblocks), legt der Empfänger das Fenster, innerhalb dem er nach der Markierung des Endes des zweiten Datenblocks sucht, auf den entsprechenden Bereich des eingehenden Bitstroms und so weiter. Diese Weiterbildung ist besonders interessant, wenn darauf verzichtet wird, beim sendenden Teilnehmer den Inhalt der Bytes der in den Botschaften zu übertragenden Daten zu ermitteln und als Information bezüglich des Endes des Datenblocks eine Bitkombination zu wählen, die nicht als Inhalt der Bytes der in den Botschaften zu übertragenden Daten vorkommt. Die Bereiche des

Bitstroms, an denen die Markierungen des Endes der Datenblöcke sowieso nicht auftreten können, liegen außerhalb der Fenster und damit außerhalb der analysierten Daten. Selbst wenn in diesen Bereichen eine Bitkombination enthalten wäre, die der Bitkombination der Markierung entspricht, würde diese keine fehlerhafte Detektion des Endes eines Datenblocks auslösen, da dieser Datenbereich nicht durchsucht und die falsche Markierung folglich nicht erkannt würde.

Die vorliegenden Erfindung erfordert eine Veränderung bzw. Ergänzung sowohl im sendenden Teilnehmer als auch im empfangenden Teilnehmer. Insbesondere die sog. COM-Schicht oder die Treiber-Software, insbesondere die FlexRay-Treiber-Software, in den Teilnehmern muss so verändert werden, dass beim Sender die Informationen bezüglich der Länge der Datenblöcke bzw. die Informationen bezüglich des Endes der Datenblöcke in den Datenblöcken bzw. in den Botschaften abgelegt werden können, und dass beim

Empfänger die abgelegten Informationen aus den Botschaften extrahiert werden können. Wenn die Erkennung der Markierung in dem FlexRay-Treiber abgehandelt würde, wäre dies transparent für die COM-Schicht, die dann nicht verändert werden müsste. Auch die Konfiguration des Kommunikationssystems muss an die erfindungsgemäße Datenübertragung angepasst werden, damit den Teilnehmern die für die Realisierung der Erfindung erforderlichen zusätzlichen Informationen (z.B. minimale, maximale Länge der Datenblöcke; für die Markierung verwendete Bitkombination) zur Verfügung gestellt werden. Insbesondere wird ein empfangender Teilnehmer gemäß Anspruch 7 und ein sendender Teilnehmer gemäß Anspruch 9 vorgeschlagen.

Kurze Beschreibung der Zeichnungen

Die Erfindung wird nachfolgend unter Bezugnahme auf die Figuren näher erläutert. Es zeigen:

Figur 1 eine Ausführungsform eines Kommunikationssystems zur Realisierung der vorliegenden Erfindung; Figur 2 eine erste Ausführungsform einer Botschaft zur Datenübertragung in einem

Kommunikationssystem gemäß Figur 1; Figur 3 eine zweite Ausführungsform einer Botschaft zur Datenübertragung in einem

Kommunikationssystem gemäß Figur 1; Figur 4 eine dritte Ausführungsform einer Botschaft zur Datenübertragung in einem

Kommunikationssystem gemäß Figur 1;

Figur 5 eine vierte Ausführungsform einer Botschaft zur Datenübertragung in einem Kommunikationssystem gemäß Figur 1;

Figur 6 eine fünfte Ausführungsform einer Botschaft zur Datenübertragung in einem

Kommunikationssystem gemäß Figur 1; Figur 7 eine sechste Ausführungsform einer Botschaft zur Datenübertragung in einem Kommunikationssystem gemäß Figur 1; Figur 8 einen Vergleich von gesendeter und empfangener Botschaft gemäß einer siebten Ausführungsform der Erfindung; Figur 9 einen Vergleich von gesendeter und empfangener Botschaft gemäß einer achten Ausführungsform der Erfindung;

Figur 10 einen Vergleich von gesendeter und empfangener Botschaft gemäß einer neunten Ausführungsform der Erfindung; und

Figur 11 eine aus dem Stand der Technik bekannte Botschaft zur Datenübertragung in einem Kommunikationssystem.

Ausführungsformen der Erfindung

Ein Kommunikationssystems zur Realisierung des erfindungsgemäßen Verfahrens ist in seiner Gesamtheit in Figur 1 mit dem Bezugszeichen 1 bezeichnet. Es umfasst mehrere, im dargestellten Ausführungsbeispiel fünf, Teilnehmer 2 und wahlweise einen oder mehrere, im dargestellten Ausführungsbeispiel zwei, aktive Sternkoppler 3. Die Teilnehmer 2 umfassen bspw. ein Motorsteuergerät, ein Steuergerät für eine Innenraumlüftung oder eine andere Komfortfunktion und/oder ein Automatikgetriebe-Steuergerät. Die Teilnehmer 2 und die Sternkoppler 3 sind über ein Kommunikationsmedium 4 (dicke Linie) derart miteinander verbunden, dass sich eine Art Sterntopologie des Systems 1 ergibt. Den aktiven

Sternkopplern 3 kommt hauptsächlich eine Router- und/oder Verstärkerfunktion zu. Das Kommunikationsmedium 4 ist vorzugsweise als ein Datenbus ausgebildet.

Das Kommunikationssystem 1 dient zur übertragung von Daten zwischen den Teilnehmern 2. Der Kommunikationsverkehr auf dem Bussystem 4, Zugriffs- und

Empfangsmechanismen auf Seiten der Teilnehmer 2, sowie Fehlerbehandlung werden über ein Protokoll geregelt. Ein bekanntes Protokoll ist beispielsweise das FlexRay-Protokoll, wobei derzeit die FlexRay-Protokollspezifikation v2.1 zu Grunde liegt. Bei FlexRay handelt es sich um ein schnelles, deterministisches und fehlertolerantes Kommunikationssystem, insbesondere für den Einsatz in Kraftfahrzeugen. Das FlexRay-Protokoll arbeitet nach dem Prinzip des Time Division Multiple Access (TDMA), wobei den Teilnehmern 2 bzw. den zu übertragenden Botschaften feste Zeitschlitze zugewiesen werden, in denen sie einen exklusiven Zugriff auf das Kommunikationsmedium 4 haben. Die Zeitschlitze wiederholen sich dabei in einem festgelegten Zyklus, so dass der Zeitpunkt, zu dem eine Botschaft über den Bus 4 übertragen wird, exakt vorausgesagt werden kann und der Buszugriff deterministisch erfolgt. Die Erfindung wird nachfolgend beispielhaft für ein FlexRay- Kommunikationssystem erläutert. Selbstverständlich kann die Erfindung auch in anderen Kommunikationssystemen Anwendung findet, in denen die Daten nach einem anderen als dem FlexRay-Protokoll in sich in Kommunikationszyklen wiederholenden Botschaften umfassend jeweils mehrere Datenblöcke variabler Länge übertragen werden können.

An die Teilnehmer 2 sind elektrische Einheiten 5, bspw. in Form von Raddrehzahlsensoren, Reifenluftdrucksensoren, Einspritzdrucksensoren, Motortemperatursensoren, Lenkwinkelsensoren, Elektromotoren für Komfortfunktionen (Sitzverstellung, Umluftklappe der Belüftung, elektrische Fensterheber, etc.), Gebläse für Komfortfunktionen

(Innenraumbelüftung, Sitzbelüftung, Sitzverstellung), Bildschirm, Navigationssystem, Multimediasystem und so weiter angeschlossen. Der Anschluss der elektrischen Einheiten 5 an die Teilnehmer 2 erfolgt vorzugsweise ebenfalls über ein Bussystem 6, insbesondere

über einen CAN (Controller Area Network) -Bus, einen MOST (Media Oriented Systems Transport) -Bus oder einen LIN (Local Interconnect Network)-Bus. Die über das Kommunikationssystem 1 zu übertragenden Daten stammen von den elektrischen Einheiten 5 oder werden in den sendenden Teilnehmern 2 generiert (u.U. in Abhängigkeit von Größen, welche die elektrischen Einheiten 5 an die sendenden Teilnehmer 2 übermittelt haben). Die über das Kommunikationssystem 1 übertragenen Daten werden in den empfangenden Teilnehmern 2 weiter verarbeitet und/oder über die Verbindung 6 an die elektrischen Einheiten 5 zur Weiterverarbeitung übermittelt.

In Figur 11 ist ein Beispiel für eine aus dem Stand der Technik bekannte FlexRay-Boschaft in ihrer Gesamtheit mit dem Bezugszeichen 10 bezeichnet. Die Botschaft 10 wird auch als FlexRay- Frame bezeichnet. Sie umfasst einen Kopfteil (sog. Header) 11 am Anfang der Botschaft 10 sowie einen Schwanzteil (sog. Trailer) 12 am Ende der Botschaft 10. Dazwischen sind die Nutzdaten (sog. Payload) 13 untergebracht. Die Nutzdaten 13 umfassen mehrere, im dargestellten Ausführungsbeispiel drei, Datenblöcke (sog. Protocol Data Units; PDUs) 14. In den PDUs 14 sind verschiedene Daten für verschiedene Empfänger untergebracht. So ist bspw. in PDU#1 die Motordrehzahl abgelegt; die in der PDU#1 abgelegten Daten werden von einem bestimmten Teilnehmer 2 (z.B. Motorsteuergerät) an einen anderen Teilnehmer 2 (z.B. Automatikgetriebe-Steuergerät) übermittelt. In der PDU#2 ist bspw. die Motortemperatur abgelegt; die in der PDU#2 abgelegte Daten werden von einem bestimmten Teilnehmer 2 (z.B. dem Motorsteuergerät) an einen anderen Teilnehmer 2 (z.B. Steuergerät für die Innenraumlüftung) übermittelt. Nach dem Stand der Technik haben die PDUs 14 einer Botschaft 10 eine konstante Länge (statische Konfiguration mit konstanter Datenlänge). Lediglich in dem Fall, dass eine Botschaft 10 nur einen einzigen Datenblock 14 umfasst, ist es im Stand der Technik möglich, Daten in Botschaften mit einem Datenblock 14 variabler Länge zu übertragen, da in einem solchen Fall von der zusammen mit der Botschaft übermittelten Längeninformation der Botschaft auf die Länge des darin enthaltenen einzigen Datenblocks geschlossen werden kann.

Insbesondere bei einer Datenübertragung über das Kommunikationssystem, bei der eine große übertragungsrate gefordert wird und eine Echtzeitübertragung jedoch nur eine untergeordnete Bedeutung hat, z.B. bei einer Umprogrammierung eines Steuergeräts (Datenübertragung von einem externen Programmiergerät an einen Teilnehmer 2 des Kommunikationssystems 1) oder beim Auslesen von Diagnoseinformationen

(Datenübertragung von einem Teilnehmer 2 des Kommunikationssystems 1 an einen externen Tester), wäre es wünschenswert, eine Möglichkeit zu schaffen, dass Daten auch in Botschaften übertragen werden können, die mehrere Datenblöcke umfassen, von denen

mindestens zwei eine variable Länge aufweisen. Eine solche Möglichkeit wird mit Hilfe der vorliegenden Erfindung geschaffen.

Zur Extrahierung der PDUs 14 aus einer Botschaft 10 wird eine Möglichkeit benötigt, insbesondere bei PDUs mit variabler Länge das Ende einer PDU bzw. den Anfang der nachfolgenden PDU zu erkennen. Ein wesentlicher Teil der nachfolgenden Figurenbeschreibung ist deshalb auf die Erkennung einer dynamischen PDU innerhalb einer Botschaft gerichtet.

Eine erste Möglichkeit, das Ende einer PDU bzw. den Anfang der nachfolgenden PDU zu erkennen, besteht darin, zumindest in den Datenblöcken mit variabler Länge eine Information bezüglich der Länge des Datenblocks in den Datenblock einzufügen und zusammen mit dem Datenblock zu übertragen. Beim empfangenden Teilnehmer 2 wird der Datenblock bzw. werden die darin enthaltenen Daten eingelesen und die Länge des Datenblocks extrahiert. Der Beginn des ersten Datenblocks und die Länge der Datenblöcke mit konstanter Länge sind den Teilnehmern 2 über die Konfiguration bekannt. Lediglich die Länge und damit das Ende der Datenblöcke mit variabler Länge können den Teilnehmern 2 nicht über die Konfiguration bekannt gegeben werden. Diese fehlenden Informationen erhalten die empfangenden Teilnehmer 2 nun über die empfangenen Datenblöcke selbst, da zumindest in den Datenblöcken mit variabler Länge auch die Information bezüglich der Länge des Datenblöcke mit übertragen wird und vom Empfänger ausgewertet werden kann.

Eine weitere Möglichkeit, das Ende einer PDU bzw. den Anfang der nachfolgenden PDU zu erkennen, wird nachfolgend anhand der Figur 2 näher erläutert. Dort ist eine Botschaft in ihrer Gesamtheit mit dem Bezugszeichen 20 bezeichnet. Die dargestellte Botschaft 20 umfasst einen Header 11 und einen Trailer 12, sowie drei PDUs 21, 22, von denen zwei PDUs 21 eine dynamische Länge und ein PDU 22 eine konstante Länge aufweisen. Jeweils im Anschluss an die PDUs 21 ist ein sog. End-Of-PDU (EOP)-Marker 23 eingefügt, wobei es sich um eine Information bezüglich des Endes eines Datenblocks 21 handelt, der beim sendenden Teilnehmer 2 im Anschluss an einen Datenblock 21 mit variabler Länge in die Botschaft 20 eingefügt wird. Der Marker 23 wird vorzugsweise nicht manuell durch die Anwendungssoftware des sendenden Teilnehmers 2 an die zu sendende PDU 21 angehängt, sondern durch den Kommunikationstreiber des sendenden Teilnehmers 2. Der Treiber hängt den EOP-Marker 23 bei Bedarf an die zu übertragenden PDUs 21 an, damit dies für die Anwenderschicht transparent ist.

Durch den EOP-Marker 23 erhält der empfangende Teilnehmer 2 die Möglichkeit, selbst bei Botschaften, die mehrere Datenblöcke 21 variabler Länge aufweisen (PDUs 21 mit

dynamischer Länge), das Ende eines Datenblocks 21 bzw. den Anfang des nachfolgenden Datenblocks 22 zu ermitteln und die in den Datenblöcken 21, 22 übertragenen Daten einzulesen. Auf diese Weise kann die zur Verfügung stehende Bandbreite des Kommunikationsmediums 4 optimal ausgenutzt werden.

Als EOP-Marker 23 werden vorzugsweise zwei zusätzliche Bytes, die ein spezifisches Bitmuster aufweisen, an das Ende einer PDU 21 angehängt. Damit eine zuverlässige Erkennung des Markers 23 möglich ist, ist die Verwendung von zwei Bytes empfehlenswert, da dadurch eine höhere Wahrscheinlichkeit besteht, dass das Bitmuster des EOP-Markers 23 nicht in den übertragenen Daten der Payload 13 enthalten ist, der EOP-Marker 23 also ein charakteristisches Muster enthält. Eine Flex Ray- Botschaft umfasst maximal 254 Bytes, das heißt maximal 254 verschiedene Bitmuster. Bei einer Verwendung von zwei Bytes für den Marker 23 ergeben sich 2 16 = 65.536 mögliche Bitmusterkombinationen. Die Wahrscheinlichkeit, dass das für den EOP-Marker 23 gewählte Bitmuster auch in den übertragenen Daten der Payload 13 enthalten ist, ist also 1 zu 256 und somit sehr gering. Zusätzlich sind Maßnahmen denkbar, um die Wahrscheinlichkeit einer fehlerhafte Detektion eines Bitmusters der Payload 13 noch weiter zu reduzieren oder gar ganz auszuschließen.

Alternativ ist es auch möglich, den Inhalt des EOP-Markers 23 dynamisch zur Laufzeit der Datenübertragung zu berechnen. Dazu wird der Inhalt der zu übertragenden Daten der Payload 13 bzw. die Bitmuster der Bytes der Botschaft 20, vor der Datenübertragung analysiert. Für den EOP-Marker 23 wird dann eine Bitkombination gewählt, die nicht in den übertragenen maximal 254 Bytes der Payload 13 enthalten ist. Bei dieser alternativen Ausführung reicht sogar ein Byte für den EOP-Marker 23, da sich dadurch insgesamt 2 8 = 256 mögliche Bitmusterkombinationen, also mehr als die maximal möglichen 254 verschiedenen Bitkombinationen der Bytes der Botschaft 20, für den Marker 23 ergeben.

In einer FlexRay- Botschaft können mehrere PDUs 21, 22 übertragen werden. Diese PDUs können verschiedenen Applikationen, z.B. Network Management (NM), Transport Layer (TP) oder anderen, zugeordnet sein bzw. zur übertragung von Signalen und Nachrichten (sog. Messages) der Anwendersoftware verwendet werden. Da die PDUs 21, 22 für unterschiedliche Anwendungsfälle eingesetzt werden, kann ihre Größe variieren. Aus diesem Grund können mehrere Kombinationen von PDUs 21, 22 mit dynamischem oder statischem Inhalt in einer Botschaft 20 betrachtet werden:

a) eine PDU 22 konstanter Länge, b) mehrere PDUs konstanter Länge, c) eine PDU dynamischer Länge,

d) mehrere PDUs 21 dynamischer Länge, und e) sowohl PDUs 22 mit konstanter als auch PDUs 21 mit dynamischer Länge.

Die obige Liste a) bis e) spiegelt zunächst nur die Konfiguration einer Botschaft 20 wider. Es kann vorkommen, dass zur Laufzeit nicht immer alle konfigurierten PDUs 21, 22 in einer Botschaft 20 übertragen werden. Zum Beispiel wird eine Transport Layer-PDU eventuell nur im Rahmen einer Diagnose-Session in der Botschaft 20 vorhanden sein.

Zur Reduzierung der benötigten Bandbreite, wird der EOP-Marker 23 in den nachfolgenden Ausführungsbeispielen nur hinter PDUs 21 eingefügt, die eine dynamische Länge annehmen können. Da bei PDUs 22 konstanter Länge die Länge bereits im Vorfeld konfiguriert ist und zur Laufzeit nicht geändert wird, wird der EOP-Marker 23 für konstante Datenblöcke 22 nicht benötigt. Selbstverständlich ist es aber möglich, bspw. zur Vereinheitlichung der Algorithmen zum Einfügen der EOP-Marker 23 beim sendenden Teilnehmer und zum Ermitteln des Endes der Datenblöcke 21, 22 beim empfangenden

Teilnehmer, auch im Anschluss an konstante Datenblöcke 22 einen EOP-Marker 23 in die Botschaft 20 einzufügen.

Zur Erkennung von dynamischen PDUs 21 müssen die oben unter a) bis e) aufgeführten möglichen Kombinationen von PDUs 21, 22 in einer Botschaft 20 betrachtet werden.

Im Fall a) ist kein Einfügen und keine Erkennung eines EOP-Markers 23 erforderlich, da bei PDUs 22 konstanter Länge die Länge bereits im Vorfeld aus der Konfiguration bekannt ist und während der Laufzeit nicht mehr geändert wird. Das gleiche gilt für mehrere konstante PDUs 22 pro Botschaft 20 im Fall b).

Bei einer Verwendung einer PDU 21 mit dynamischer Länge pro Botschaft 20 gemäß Fall c) ist die Erkennung der dynamischen PDU 21 durch den EOP-Marker 23 sehr einfach, da bereits zum Konfigurationszeitpunkt bekannt ist, dass sich lediglich eine PDU 21 mit dynamischer Länge im Frame 20 befindet. Die restlichen PDUs 22 im Frame 20 haben demnach eine konstante Länge. In diesem Fall könnte auf den EOP-Marker 23 sogar verzichtet werden, da er zur Bestimmung der Länge des dynamischen PDUs 21 nicht unbedingt erforderlich ist; er kann die Bestimmung der Länge des PDUs 21 aber erleichtern. Aus Konsistenzgründen und zur Vereinfachung einer Software- Lösung wird er jedoch beibehalten. Ansonsten sind folgende Fälle zu betrachten:

Liegt die dynamische PDU 21 am Ende des Frames 20, ist die Bestimmung des Starts sehr einfach, da die Länge der vorangegangenen statischen PDUs 22 durch Konfiguration bekannt ist.

Liegt die dynamische PDU 21 am Anfang des Frames 20, kann deren Länge anhand der Längen der statisch konfigurierten PDUs 22 berechnet werden.

Liegt die dynamische PDU 21 zwischen statischen PDUs 22, kann die Position und Länge durch die Längen der „umgebenden" PDUs 22 berechnet werden.

Bei einer Verwendung mehrerer PDUs 21 mit dynamischer Länge pro Botschaft 20 gemäß Fall d) wird ein EOP-Marker 23 unbedingt benötigt, um das Ende der dynamischen PDUs 21 erkennen zu können. Es besteht eine - wenn auch sehr geringe - Gefahr, dass der EOP-Marker 23 auch als Teil der Payload 13 einer PDU 21, 22 in den übertragenen Daten auftaucht. In Figur 3 ist ein Beispiel dargestellt, bei dem am Ende der PDUs 21, 22 jeweils ein EOP-Marker 23 eingefügt ist. In dem PDU#2 mit konstanter Länge ist eine Bitkombination enthalten, die der für den EOP-Marker 23 gewählten Bitkombination entspricht. Somit besteht theoretisch die Gefahr, dass beim Empfänger nach dem Empfangen und Auswerten des Bitstroms die Bitkombination 24 fälschlicherweise als EOP- Marker identifiziert wird. Das kann durch den nachfolgend beschriebenen Algorithmus verhindert werden:

Die EOP-Marker 23 werden vom Ende des Frames 20 beginnend ausgewertet. Es wird deutlich, dass der erste auftretende Marker 23 das Ende des Letzten PDU#3 markieren muss; der nächste Marker 23 folglich das Ende der zweitletzten PDU#2. Bei den in der Reihenfolge der Auswertung folgenden beiden Bitkombinationen 24, 23 ist jedoch nicht unmittelbar erkennbar, wo die zweitletzte PDU#2 beginnt und wo die ihr vorausgehende PDU#1 endet. Hier kann man das Ende der PDU 22 nur durch die Einführung eines weiteren Konfigurationsparameters zuverlässig erkennen und zwar die Konfiguration der minimalen bzw. maximalen Länge einer PDU 21, 22. über eine Plausibilisierung beider Längen sowie der Position der Bitkombinationen 24, 23, kann der nächste gültige Marker 23 entdeckt und damit die Länge und Position der zweiten PDU#2 und der ersten PDU#1 bestimmt werden. Die Erkennung der EOP-Marker 23 kann auch vom Anfang des Frames 20 oder von jeder anderen beliebigen Position aus gestartet werden.

Bei dem letzten oben angegebenen Fall e) handelt es sich um einen Spezialfall. Der Einfachheit halber werden die folgenden Fälle nur für beispielhaft drei PDUs 21, 22 beschrieben. Falls sich mehr PDUs im Frame 20 befinden, kann der korrekte Algorithmus zur Entdeckung der EOP-Marker 23 durch Kombination der unten beschriebenen Fälle sowie der vorgegangenen Ausführungen abgeleitet werden.

In Figur 4 ist ein Unterfall des Falls e) dargestellt, bei dem sich eine PDU 21 mit dynamischer Länge am Anfang des Frames 20 befindet und nur noch von PDUs 22 mit konstanter Länge gefolgt wird. Dieser Unterfall kann analog zu dem oben näher erläuterten Fall c) („eine PDU dynamischer Länge pro Frame") behandelt werden.

Gemäß einem weiteren Unterfall des Falls e), der in Figur 5 dargestellt ist, befindet sich die PDU 21 mit dynamische Länge am Ende des Frames 20, und davor sind nur PDUs 22 mit konstanter Länge angeordnet. In diesem Unterfall ist die Erkennung des Endes der dynamischen PDU 21 ebenfalls dadurch erleichtert, dass nur die letzte PDU#3 eine dynamische Länge aufweist. Falls sich innerhalb der Payload 13 der anderen (konstanten) PDUs 22 zufällig eine Bitkombination 24 wiederfindet, die der für den EOP-Marker 23 gewählten Bitkombination entspricht, kann diese Bitkombination 24 ignoriert werden.

In Figur 6 ist ein weiterer Unterfall des Falls e) dargestellt, bei dem sich eine PDU 21 mit dynamischer Länge zwischen zwei PDUs 22 mit konstanter Länge befindet. Hier kann die Position der dynamischen PDU 21 anhand der beiden konstanten PDUs sehr leicht entdeckt werden. Die letzte PDU#3 hat eine konstante Länge, daher muss die zuerst (vom Ende der Botschaft 20 aus betrachtet) auftretende Bitkombination der korrekte EOP-Marker 23 sein. Alle übrigen in dem Bitstrom vorkommenden Bitmuster, die der Bitkombination des EOP-Markers 23 entsprechen, können ignoriert werden.

Gemäß noch einem weiteren Unterfall des Falls e), der in Figur 7 dargestellt ist, befindet sich eine PDU 22 mit konstanter Länge zwischen zwei PDUs 21 mit dynamischer Länge. Mit folgender Vereinfachung wird die Erkennung zweier dynamischer PDUs 21 grundsätzlich ermöglicht:

die minimale und die maximale Länge der dynamischen PDUs 21 ist bekannt und darf nicht identisch sein, - falls eine PDU 22 mit konstanter Länge vorhanden ist, die sich zwischen den

PDUs 21 mit dynamischer Länge befindet, muss dessen Länge größer oder gleich der dynamischen Länge der PDUs 21 sein, da innerhalb dieser falsche EOP-Marker (z.B. Bitkombination 24) ignoriert werden können.

In Figur 8 ist ein Ausführungsbeispiel der Erfindung dargestellt, bei dem zwei ungültige

Bitmuster 24, die der Bitkombination des EOP-Markers 23 entsprechen, in einer Botschaft 20 vorhanden sind. Eine eindeutige Bestimmung der gültigen EOP-Marker 23 und damit der Position und Länge der im Frame 20 enthaltenen PDUs 21, 22 ist möglich.

In Figur 9 ist ein anderes Ausführungsbeispiel der Erfindung dargestellt, bei dem mehrere, in dem Beispiel drei, ungültige Bitmuster 24, die der Bitkombination des EOP-Markers 23 entsprechen, in einer Botschaft 20 vorhanden sind. Auch mit Einhaltung der oben definierten Voraussetzungen ist es nicht möglich, die gültigen EOP-Marker 23 eindeutig zu identifizieren. Eine eindeutige Bestimmung der Position und Länge der PDUs 21, 22 ist in diesem Ausnahmefall somit nicht möglich.

Anhand der oben angeführten Beispiele wird deutlich, dass ein vorab definierter EOP- Marker 23 hilfreich ist, um die PDUs 21, 22 einer Botschaft eindeutig zu erkennen. Die beschriebenen Probleme bei einer eindeutigen Identifikation der EOP-Marker 23 in einer Botschaft können verhindert werden, wenn statt eines EOP-Markers 23 mit vorab definiertem statischem Inhalt ein dynamisch zur Laufzeit generierter EOP-Marker 23 eingesetzt wird. Dies wird nachfolgend anhand der Figur 10 näher erläutert. Dabei wird die Bitkombination des EOP-Markers 23 dynamisch anhand der Payload 13 ermittelt. Dazu wird vor dem Senden der Daten die Payload 13 des Frames 20 aus den einzelnen PDUs 21, 22 zusammengesetzt, wobei Platzhalter 25 für die EOP-Marker vorgehalten werden. Anschließend wird der ganze Frame 20 analysiert, um ein Byte mit einer eindeutigen Bitsequenz zu finden, die innerhalb der Payload 13 nicht vorkommt. Diese Sequenz bildet den neuen EOP-Marker 23 für dieses Frame 20 und wird vor der eigentlichen

Datenübertragung an die Stelle der Platzhalter 25 eingesetzt. Die „falschen Marker im Frame" werden beim Empfänger nicht als solche erkannt, da es sich um ganz normale Bitfolgen der übermittelten Daten handelt, die mit der Bitsequenz der EOP-Marker 23 nichts zu tun haben.

Selbstverständlich kann der Marker 23 auch mehr als ein Byte umfassen. Auf Empfängerseite wird die für das aktuelle Frame 20 verwendete Bitsequenz für den EOP- Marker 23 erkannt, da der Empfänger weiß, dass die Bitsequenz am Ende der letzten PDU stehen muss. Insofern ist es nicht erforderlich, dass zusätzlich Informationen bezüglich der verwendeten Bitsequenz von dem Sender an die Empfänger übermittelt werden.