-
Die
Erfindung betrifft ein Verfahren zur Übertragung von Nachrichten
zwischen elektronischen Modulen eines gemultiplexten Kommunikationsnetzes,
vor allem an Bord eines Kraftfahrzeugs. Die Erfindung ist anwendbar
auf Automobilnetzwerke, die auf verschiedenen Protokollen basieren,
wie VAN – Vehicle
Area Network -, CAN oder J1850.
-
Ein
gemultiplextes Kommunikationsnetzwerk wird im Allgemeinen durch
mehrere elektronische Module gebildet, vor allem aus Rechnern für die Einspritzung,
dem Antiblockiersystem ABS, dem Automatikgetriebe, dem Armaturenbrett
oder der Klimaanlage z.B., untereinander verbunden durch ein- oder
zweiadrige Mittel zur Verkabelung, die einen Übertragungsbus für Daten
verwirklichen. Es sind Module zur Erfassung von Signalen, die von
Sensoren herrühren,
wie dem Sensor für
den Bremsverschleiß oder
den Reifendruck, und Module zur Steuerung einer oder mehrerer Anwendungen,
die lokal in dem Fahrzeug vereint sind, wie die Steuerung von Aktoren
wie die Signallampen, das Instrumentenbrett... . Die Übertragung
von Informationen zwischen diesen Modulen des Netzwerks verwirklicht sich
durch unteilbares Packet, Datenübertragungsblock
genannt, von numerischen Signalen, welches erhalten wird durch Umwandlung
dieser Information, realisiert durch einen Protokoll-Controller
und welche übertragen
wird gemäß einem
asynchronen Übertragungsprinzip.
Jeder Datenübertragungsblock
umfasst verschiedene aufeinanderfolgende Felder, von denen jedes
durch eine bestimmte Anzahl von Bits gebildet wird, wobei der Datenübertragungsblock selbst
einem festen Protokoll folgend angeordnet und übertragen wird.
-
1 ist z.B. eine Darstellung
eines in einem Netzwerk von Typ VAN benutzten Datenübertragungsblocks.
Er enthält
zunächst
ein Feld für
den Anfang des Datenübertragungsblocks
SOF, gefolgt von einem Identifikationsfeld IDEN von 12 Bits, welches die
Natur der Daten und die Empfänger
des Datenübertragungsblocks
definiert. Der Datenübertragungsblock
umfasst ferner ein Steuerfeld COM von 4 Bits der auszuführenden
Operation, gefolgt von einem Datenfeld DAD, welches eine ganzzahlige
Anzahl von Oktetten umfasst. Diese Daten sind an eines oder mehrere
Module adressiert, die den Datenübertragungsblock über den
Identifikator IDEN filtern. Endlich endet der Datenübertragungsblock
mit einem Fehlerprüffeld
FCS (Frame Check Sequence) und einem Feld des Endes des Datenübertragungsblocks.
-
Der
Kommunikationsbus, der die Module miteinander verbindet, ist zweiadrig
und gebildet durch zwei Leiter, mit DATA und DATAb bezeichnet, zwischen
welchen eine Spannung übermittelt
wird, welche differenzielle analoge Signale bildet, wobei das Vorzeichen
der Spannung repräsentativ
ist für
einen logischen binären
Zustand.
-
2 ist das Schema eines Kommunikationsinterface
zwischen einem Datenbus 1 und dem "Anwendungs-Teil" 2 eines Netzwerkmoduls, das
im Wesentlichen einen differenziellen Leitungs-Sender-Empfänger 3 und
einen Protokoll-Controller 4 umfasst.
Der sendende Teil des Leitungs-Sender-Empfängers stellt die Umwandlung
der Daten DE, die durch das Modul gesendet werden und über eine
unipolare Leitung eingehen, in differenzielle Signale mit an den
Bus angepasster Spannung sicher (DATA, DATAb). Der empfangende Teil überträgt die vom
Bus empfangenen Daten DR an den Protokoll-Controller, nach eventueller
Korrektur.
-
Der
Protokoll-Controller überprüft die Natur der
Informationen DR, die von dem Leitungs-Sender-Empfänger herrühren, stellt
sicher, dass die empfangenen Nachrichten das definierte Protokoll
respektieren, verwaltet die Prioritäten, kann überprüfen, ob die zu einem Modul
hin gesendeten Daten an ihrem Bestimmungsort ankommen, serialisiert
und ordnet die zu sendenden Informationen DE gemäß dem Protokoll, deserialisiert
die empfangenen Informationen im Hinblick auf ihre Benutzung in
der Anwendung, die z.B. in der Steuerung eines Aktors bestehen kann
oder eines Sensors, verbunden mit dem bidirektionalen Austausch
von Informationen mit denselben.
-
Jedes
Modul ist im Stande Datenübertragungsblöcke von
Signalen zu erkennen, die verschiedene Adressen aufweisen, für verschiedene
in dem Modul versammelte Anwendungen bestimmt. Ferner, um Datenübertragungsblöcke zu mehreren Rechnern,
die in einem Kommunikationsnetzwerk verbunden sind, zu übertragen,
können
zwei Typen der Adressierung benutzt werden, die eine von Punkt zu
Punkt, d.h. ein Datenübertragungsblock
pro Adressat, die andere mittels Diffusion, d.h. ein Datenübertragungsblock
für mehrere
Adressaten. Die Adressierung Punkt zu Punkt ist viel kostspieliger
im Hinblick auf die Last des Netzwerks und auf die Verarbeitungskapazität des die
Datenübertragungsblöcke produzierenden
Moduls. Sie muss gerechtfertigt sein, z.B., durch Anforderung an
die Qualität
der Übertragung,
wie die Benutzung einer Quittierung.
-
Die
Adressierung mittels Diffusion muss sämtliche Bedürfnisse der Adressaten desselben
Datenübertragungsblocks
befriedigen, insbesondere die, die am meisten beschränkend sind.
So müssen, wenn
ein Adressat eine Information sehr häufig braucht, die anderen Adressaten,
die weniger fordern, die Datenübertragungsblöcke filtern,
um die Häufigkeit
der Empfänge
der Datenübertragungsblöcke an ihre
Anforderung anzupassen. Dieser Unterschied in den Anforderungen
kann sich in einem Unterschied der Präzision einer Information niederschlagen,
vor allem durch das Erfordernis, lediglich einen Datenübertragungsblock
von zwei oder n im Verhältnis
zu den strengsten Anforderungen zu benutzen.
-
Dieses
Problem wird häufig
gelöst
durch die Anpassung des produzierenden Moduls, das die Datenübertragungsblöcke aussendet,
mit einem Identifikator pro Sendeperiode oder pro adressiertem Modul.
Dieses führt
zu kostspieligen Mechanismen, da die Last des Netzwerks erheblich
ist und die Verarbeitungskapazitäten des
produzierenden Moduls überdimensioniert
werden müssen
im Verhältnis
zu den Anforderungen der Gesamtheit der Module des Netzwerks.
-
Es
wird bisweilen gelöst
durch das Akzeptieren sämtlicher
Datenübertragungsblöcke in dem
Protokoll-Controller des adressierten Moduls, gefolgt von einer
Filterung durch die Anwendung dieses Moduls. Zum Beispiel beschreibt
die Veröffentlichung GB-A-2
268 035 ein Diffusionsnetzwerk von Datenblöcken mit mehren Empfangsstationen,
wobei jede Empfangsstation jeden Datenblock speichert, bevor sie
hieraus den an sie andressierten Teil extrahiert. Ein eindeutiger
Identifikator eines Datenblocks wird benutzt, um die Speicheradresse
in der Empfangsstation zu kalkulieren, wo die Datenblöcke gespeichert
sind. GB-A-2 268 035 lehrt daher, alle Datenblöcke an jeder Adressstation
zu akzeptieren, bevor nicht die Information durch die ausgeführte Anwendung
gefiltert wird.
-
Die
Veröffentlichung
EP-A-0 255 767 beschreibt eine Methode zum Definieren einer Untermenge
von adressierten Stationen, an welche eine Nachricht durch eine
Sendestation verbreitet wird. Folglich werden die verbreiteten Blöcke gleichermaßen empfangen.
Dieses führt
zu kostspieligen Mechanismen bei jedem Adressaten, vor allem hinsichtlich
des Speicherplatzes oder der Verarbeitungskapazität. Es kann
ebenfalls nicht mehr als ein einziger Datenübertragungsblock in dem Protokoll-Controller nach
einem Lesevorgang akzeptiert werden, aber dies führt zu einer Verzögerung der
Information.
-
Die
Aufgabe der vorliegenden Erfindung ist dieses Problem zu lösen, in
dem jedem Empfangsmodul ermöglicht
wird, mit Hilfe eines wenig kostspieligen Mechanismus, eine Probe
von auf dem Netzwerk verfügbaren
Datenübertragungsblöcken zu
akzeptieren, ohne eine Verzögerung
der Information herbeizuführen.
-
Hierfür schlägt die Erfindung
ein Übertragungsverfahren
für Nachrichten
gemäß dem Anspruch
1 und ein Kommunikationsnetzwerk gemäß Anspruch 5 vor.
-
Weitere
Merkmale und Vorteile der Erfindung werden bei Lektüre der folgenden
Beschreibung eines besonderen Ausführungsbeispiels deutlich, wobei
diese Beschreibung unter Bezugnahme auf die anliegenden Zeichnungen
vorgenommen wird, in welchen, außer den bereits beschriebenen 1, 2, die einen in einem Netzwerk vom Typ
VAN benutzten Datenübertragungsblock
bzw. das Schema eines Kommunikationsinterface zwischen einem Datenbus und
dem "Anwendungs-Teil" eines Netzwerkmoduls darstellen:
-
3 ist die Darstellung eines
nach dem Verfahren gemäß der Erfindung
gesendeten Datenübertragungsblocks;
-
4 stellt den Ablauf des
Verfahrens gemäß der Erfindung
angewandt auf ein gemultiplextes Netzwerk mit vier elektronischen
Modulen dar;
-
5 ist die Darstellung verschiedener
Datenübertragungsblöcke, die
im Laufe der Zeit gesendet werden.
-
Gemäß der Erfindung
besteht das Verfahren zur Übertragung
von Nachrichten zwischen elektronischen Modulen eines gemultiplexten
Netzwerks, die untereinander durch einen Kommunikationsbus verbunden
sind, vor allem im Definieren eines Feldes SAM von N Bits in dem
identifizierenden Teil des Datenübertragungsblocks.
Im Fall eines CAN-, VAN- oder J1850-Netzwerks, besteht der Identifikator IDEN
aus 12 Bits und erlaubt die übertragenden
Daten zu identifizieren. Die Rechner benutzen die Datenübertragungsblock-Identifikatoren,
um die Datenübertragungsblöcke auszuwählen, die
sie auf dem Netzwerk interessieren. Es kann z.B. ein Feld SAM mit
5 Bits mit niedrigem Stellenwert des Identifikators definiert werden,
wie in 3 gezeigt. In
einem zweiten, fakultativen Schritt initialisiert das einen Datenübertragungsblock
produzierende Modul den Wert des Inhalts dieses Feldes SAM mit einem
Wert, der allen adressierten Modulen bekannt ist, z.B. mit einem Wert
Null 0.
-
Nach
jedem Aussenden des Datenübertragungsblocks
während
einer Periode T, erhöht
oder verringert das produzierende Modul, Dank einem Zähler, den
Inhalt dieses Feldes SAM modulo seinem Maximalwert 2N.
Im Fall eines Feldes SAM mit 5 Bits, wird es mit 0 initialisiert
und erhöht,
oder verringert, um 1 modulo 25 oder 32
nach jedem Aussenden eines Datenübertragungsblocks.
-
Jedes
Empfängermodul,
das die übertragende
Information empfängt,
muss dann eine Filterung mittels einer Maske veranlassen, basierend
auf dem Akzeptieren des Datenübertragungsblocks,
wenn ein Teil seines Feldes SAM übereinstimmt
mit einem gegebenen Muster, mit welchem es verglichen wird. So besteht
die Filterung zum einen im Vergleichen von n Bits mit niedrigem
Stellenwert des Feldes SAM, wobei n eine ganze positive Zahl ist,
kleiner als die Zahl N von Bits des Feldes SAM, mit einem gegebenen Wert,
z.B. 0, während
die Bits mit hohem Stellenwert markiert sind und zum anderen in
der Ausführung weiterer
gewöhnlicher
Tests auf dem Identifikationsfeld IDEN. Wenn die Ergebnisse dieser
beiden Vergleiche positiv sind, kann der Datenübertragungsblock akzeptiert
werden, wenn nicht, wird der Datenübertragungsblock nicht durch
das Empfangsmodul berücksichtigt.
Die Periode des Empfangs durch das Empfangsmodul des auf dem Netzwerk
ausgesendeten Datenübertragungsblocks
ist daher 2n mal die Periode T der Übertragung.
Jedes Empfangsmodul muss daher über
einen Filter mittels einer Maske verfügen, welcher ihm erlaubt eine
Auswahl der auf dem Netzwerk verfügbaren Datenübertragungsblöcke zu akzeptieren.
Ein derartiger Filter ist leicht realisierbar in dem Protokoll-Controller
des Moduls.
-
4 stellt den Ablauf des
Verfahrens gemäß der Erfindung
dar, angewandt auf ein gemultiplextes Netzwerk mit vier elektronischen
Modulen C1 bis C4,
untereinander verbunden über
einen Kommunikationsbus B.
-
Das
Modul oder der Rechner C1 sendet Datenübertragungsblöcke während einer
Periode T, mit dem Ziel der weiteren Rechner. Für jeden gesendeten Datenübertragungsblock
ist ein Feld SAM definiert mit 5 Bits, initialisiert mit 0 und um
1 modulo 25 = 32 nach jedem Senden erhöht.
-
Der
Rechner C2 benutzt nur die Information eines
von zwei Datenübertragungsblöcken, sei
es mit einer Periode gleich 2nT sei es 21T, die nicht gleich 1 ist. Deswegen verwirklicht
er im Verlauf des Schritts der Filterung mittels einer Maske den
Vergleich zwischen dem Wert der n Bits von niedrigem Stellenwert des
Feldes SAM, was in diesem Fall das Bit mit dem niedrigstem Stellenwert
wäre, und
dem Wert Null. So zeigt sich in 4,
dass der Rechner C2 den ersten ausgesendeten
Datenübertragungsblock
t0 berücksichtigt,
dessen Feld SAM gleich 0 ist, d.h. 00000 auf den 5 Bits, dann den
dritten ausgesendeten Datenübertragungsblock
T2, dessen Feld SAM gleich 2 ist, d.h. 00010, und sämtliche
Datenübertragungsblöcke, deren
Empfangsperiode gleich 2T ist.
-
Der
Rechner oder das Modul C3 benötigt nur einen
Datenübertragungsblock
auf vier, d.h. mit einer Empfangsperiode von 2n*T = 22*T.
Deswegen müssen
die n gleich 2 Bits mit niedrigstem Stellenwert gleich Null sein.
-
Was
den Rechner C4 betrifft, ist die Empfangsperiode
der Datenübertragungsblöcke, die
er benutzen muss, gleich 2n*T = 23*T, derart, dass lediglich die Datenübertragungsblöcke, deren
n gleich 3 Bits von niedrigem Stellenwert gleich Null sind, berücksichtigt
werden.
-
Der
Test auf den ersten n Bits mit dem niedrigsten Stellenwert des Feldes
SAM des empfangenen Datenübertragungsblocks
kann mittels einem Gatter ET verwirklicht werden, in welchem man
zum einen den Wert der 5 Bits und zum anderen einen Wert, der in
5 Bits ausgedrückt
wird, eingibt, dessen n Bits von niedrigem Stellenwert 1 sind
und die anderen sind 0, wobei der Ausgang dieses Gatters ET gleich
0 sein muss, damit der Datenübertragungsblock
akzeptiert wird und durch das Empfangsmodul berücksichtigt wird.
-
5 ist die Darstellung verschiedener
Datenübertragungsblöcke, die
im Laufe der Zeit gesendet werden. Der erste durch das Modul C1 ausgesendete Datenübertragungsblock t0 wird
akzeptiert durch alle Module die ein Vergleichsmuster gleich 00000 besitzen,
während
der zweite ausgesendete Datenübertragungsblock
t1, dessen Feld SAM gleich 00001 ist, von
allen Modulen zurückgewiesen
wird. Der dritte ausgesendete Datenübertragungsblock t2,
der ein Feld SAM gleich 00010 aufweist, genauso wie der fünfte t4, der siebte t6,
werden durch den Rechner C2 akzeptiert.
Der Rechner C3 akzeptiert den fünften t4 und den neunten Datenübertragungsblock t8,
die ausgesendet wurden, deren Felder SAM 2 Bits mit niedrigem
Stellenwert gleich 0 besitzen. Der Rechner C4 akzeptiert
den neunten t8 und den siebzehnten t16 Datenübertragungsblock,
deren Felder SAM 3 Bits mit niedrigem Stellenwert gleich
0 besitzen.
-
So
bewirkt, gemäß der Erfindung,
dass das datenübertragungsblockproduzierende
Modul auf dem Netzwerk eine Fortentwicklung des Feldes SAM definiert
in dem Adressabschnitt jedes Datenübertragungsblocks, gemäß einer
allen adressierten Modulen bekannten Folge, was ihnen erlaubt, lediglich
einen Teil der Datenübertragungsblöcke, die
durch den Produzenten ausgesendet wurden, zu akzeptieren und lediglich
einen Teil der Werte dieser Folge zu akzeptieren. Dies erleichtert
die Last des Empfangsmoduls, da der auf Grund seines Feldes SAM
nicht akzeptierte Datenübertragungsblock
nicht zum Anwendungsblock des Moduls zurückkehrt, dessen Arbeitslast
reduziert wird. Infolgedessen bleibt der Rechner des Empfangsmoduls
bei einem relativ niedrigen Herstellungspreis und der Durchsatz
des Netzwerks wird optimiert, was eine Bedeutung für ein für Kraftfahrzeuge
bestimmtes Netzwerk hat.