DE19843810A1 - Datenbus - Google Patents
DatenbusInfo
- Publication number
- DE19843810A1 DE19843810A1 DE19843810A DE19843810A DE19843810A1 DE 19843810 A1 DE19843810 A1 DE 19843810A1 DE 19843810 A DE19843810 A DE 19843810A DE 19843810 A DE19843810 A DE 19843810A DE 19843810 A1 DE19843810 A1 DE 19843810A1
- Authority
- DE
- Germany
- Prior art keywords
- block
- message
- data bus
- data
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
- H04L12/4135—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD) using bit-wise arbitration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
- H04L12/40163—Bus networks involving priority mechanisms by assigning priority to messages according to a message field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
Bei einem Datenbus für eine serielle Datenübertragung zwischen Geräten, welche Daten über den Datenbus senden und/oder empfangen können, wobei auf dem Datenbus rezessive und dominante Zustände vorgesehen sind, denen jeweils ein Bitwert zugeordnet ist, ist zur Unterbrechung einer Nachricht niedrigerer Priorität durch eine Nachricht höherer Priorität ohne zeitliche Verzögerung und ohne zusätzliche Datenkanäle vorgesehen, daß Nachrichten in Nachrichtenblöcken übertragen werden, wobei jeder Nachrichtenblock zu Beginn einen Starblock mit (n+k) dominanten und j nachfolgenden rezessiven Bits und nachfolgende Datenblöcke mit n Datenbits und m nachfolgenden rezessiven Bits aufweist, DOLLAR A daß ein laufend übertragener Nachrichtenblock niedriger Priorität durch ein anderes Gerät zur Übertragung eines Nachrichtenblockes mit hoher Priorität unterbrochen werden kann, indem dieses einen neuen Startblock auf dem Datenbus erzeugt und nachfolgend die zugehörigen Datenblöcke sendet, DOLLAR A und daß ein einen Nachrichtenblock auf dem Datenbus sendendes Gerät laufend überprüft, ob auf dem Datenbus ein Startblock auftaucht und gegebenenfalls die Sendung seines Nachrichtenblockes abbricht.
Description
Die Erfindung betrifft einen Datenbus für eine serielle Datenübertragung zwischen
Geräten, welche Daten über den Datenbus senden und/oder empfangen können, wobei
auf dem Datenbus rezessive und dominante Zustände vorgesehen sind, denen jeweils ein
Bitwert zugeordnet ist.
Bei derartigen Datenbussen besteht mitunter der Wunsch, eine laufend übertragene
Nachricht zu unterbrechen, wenn eine Nachricht höherer Priorität übertragen werden soll.
Dies ist in den meisten Fällen nur mit Einschränkungen möglich, da entweder ein sehr
aufwendiger Mechanismus zur Bevorzugung dringender Nachrichten vorgesehen ist, eine
dringende Nachricht nicht wirklich sofort gesendet werden kann oder zusätzliche
Übertragungskanäle zur Signalisierung einer dringenden Nachricht vorgesehen sind.
So ist beispielsweise bei der US 5,546,392 ein zusätzlicher Übertragungskanal zur
Signalisierung einer dringenden Nachricht vorgesehen.
Es ist Aufgabe der Erfindung, einen seriellen Datenbus anzugeben, bei dem in einem Kanal
eine Nachricht geringerer Priorität jederzeit und sofort von einer Nachricht höherer
Priorität unterbrochen werden kann, so daß bei Bedarf ohne Verzögerung die Nachricht
höherer Priorität auf den Datenbus übertragen werden kann.
Diese Aufgabe ist erfindungsgemäß dadurch gelöst, daß Nachrichten in
Nachrichtenblöcken übertragen werden, wobei jeder Nachrichtenblock zu Beginn einen
Startblock mit (n+k) dominanten und j nachfolgenden rezessiven Bits und nachfolgende
Datenblöcke mit n Datenbits und m nachfolgenden rezessiven Bits aufweist,
daß ein laufend übertragener Nachrichtenblock niedriger Priorität durch ein anderes Gerät zur Übertragung eines Nachrichtenblockes mit hoher Priorität unterbrochen werden kann, indem dieses einen neuen Startblock auf dem Datenbus erzeugt und nachfolgend die zugehörigen Datenblöcke sendet,
und daß ein einen Nachrichtenblock auf dem Datenbus sendendes Gerät laufend überprüft, ob auf dem Datenbus ein Startblock auftaucht und gegebenenfalls die Sendung seines Nachrichtenblockes abbricht.
daß ein laufend übertragener Nachrichtenblock niedriger Priorität durch ein anderes Gerät zur Übertragung eines Nachrichtenblockes mit hoher Priorität unterbrochen werden kann, indem dieses einen neuen Startblock auf dem Datenbus erzeugt und nachfolgend die zugehörigen Datenblöcke sendet,
und daß ein einen Nachrichtenblock auf dem Datenbus sendendes Gerät laufend überprüft, ob auf dem Datenbus ein Startblock auftaucht und gegebenenfalls die Sendung seines Nachrichtenblockes abbricht.
Auf dem seriellen Datenbus existieren zwei Zustände; der rezessive und der dominante
Zustand. Beiden Zuständen werden verschiedene Bitwerte zugeordnet, beispielsweise dem
dominanten Zustand der Bitwert Null und dem rezessiven Zustand der Bitwert Eins. Der
Bus kann dabei beispielsweise so ausgelegt sein, daß eine sendende Quelle den dominanten
Zustand dadurch erzielt, daß sie die Amplitude des Busses auf Null oder nahezu Null
absenkt. Der rezessive Zustand kann durch hochohmiges Verhalten der Quelle erzielt
werden, da der Bus dann von sich aus einen hohen Pegel einnimmt. Findet keine
Nachrichtenübertragung statt, so nimmt der Bus ebenfalls den rezessiven Zustand ein.
Für den erfindungsgemäßen Datenbus ist festgelegt, in welcher Form Nachrichten
übertragen werden. Dies geschieht in Form von Nachrichtenblöcken, wobei jeder
Nachrichtenblock zu Beginn einen Startblock und diesem nachfolgend wenigstens einen
Datenblock aufweist. Sowohl für die Startblöcke wie für die Datenblöcke sind bestimmte
Formate festgelegt. So ist für jeden Startblock zu Beginn eines Nachrichtenblockes
festgelegt, daß dieser n+k dominante und j nachfolgende rezessive Bits aufweisen muß.
Datenblöcke weisen hingegen maximal n Datenbits auf, denen m nachfolgende rezessive
Bits folgen. Aus dieser Festlegung ergibt sich bereits, daß dann, wenn mehr als n
dominante Bits auf dem Bus auftauchen, es sich um einen Startblock handeln muß, da
Datenblöcke maximal n Daten aufweisen und somit, selbst wenn diese n Datenbits alle
dominant sind, maximal n dominante Bits hintereinander in einem Datenblock
auftauchen können, da jedem Datenblock immer m nachfolgende rezessive Bits folgen. Es
ergibt sich insoweit also bereits eine eindeutige Identifizierung der Startblöcke. Für den
erfindungsgemäßen Datenbus sind ferner Nachrichtenblöcke verschiedener Prioritäten
festgelegt. Es sind wenigstens zwei Prioritäten vorgesehen, welche so gestaltet sind, daß ein
laufend übertragener Nachrichtenblock der niedrigeren Priorität durch einen
Nachrichtenblock der höheren Priorität jederzeit und sofort unterbrochen werden kann.
Dies geschieht dadurch, daß der Sender des Nachrichtenblockes mit der höheren Priorität
auf dem Datenbus einen Startblock des Nachrichtenblockes der höheren Priorität erzeugt.
Dies geschieht gegebenenfalls während der Übertragung des Nachrichtenblockes der
niedrigeren Priorität. Der Sender des Nachrichtenblockes mit der höheren Priorität
erreicht dies dadurch, daß er n+k dominante Bits auf dem Datenbus als Startblock erzeugt.
Hierzu können gegebenenfalls auch dominante Bits des übertragenen Nachrichtenblockes
der niedrigeren Priorität eingesetzt werden. Es können aber auch rezessive Bits dieses
Nachrichtenblockes der niedrigeren Priorität durch dominante Bits überschrieben werden.
Entscheidend ist dabei nur, daß der Sender des Nachrichtenblockes mit der höheren
Priorität n+k dominante Bits mit j nachfolgenden rezessiven Bits auf dem Datenbus
erzeugt.
Die Übertragung der Nachricht mit der höheren Priorität kann nur dann gelingen, wenn
der Sender der Nachricht mit der niedrigeren Priorität die Sendung seines
Nachrichtenblockes abbricht, wenn er einen Startblock auf dem Datenbus erkennt. Es ist
also für den erfindungsgemäßen Datenbus ferner vorgesehen, daß ein Sender einer
Nachricht laufend auf dem Datenbus überprüfen muß, ob ein Startblock eines anderen
Senders auf dem Datenbus auftaucht. Ist dies der Fall, muß der Sender seine Nachricht
unterbrechen. Entsprechend überprüft ein Empfänger ständig, ob ein neuer Startblock
auftaucht. Ist dies der Fall bevor der Empfang der vorhergehenden Nachricht regulär
beendet wurde, wird der Empfang abgebrochen und mit dem Empfang einer neuen
Nachricht nach dem Startblock begonnen.
Damit ist erreicht, daß ein Nachrichtenblock einer höheren Priorität jederzeit die
Übertragung eines Nachrichtenblockes einer niedrigeren Priorität unterbrechen kann,
indem er einen Startblock der Nachricht mit der höheren Priorität auf dem Bus erzeugt.
Es sind für die Abstimmung zwischen den Nachrichtenblöcken der verschiedenen
Prioritäten keine zusätzlichen Kanäle oder Signalisierungen auf dem Bus erforderlich.
Vielmehr kann bei dem erfindungsgemäßen Datenbus auf äußerst einfache Weise eine
laufende Nachricht niedrigerer Priorität durch eine Nachricht höherer Priorität
unterbrochen werden. Ferner ist gewährleistet, daß die dringende Nachricht wirklich sofort
gesendet werden kann und nicht erst eine bestimmte Zeit abwarten muß, um eine bereits
auf dem Bus befindliche Nachricht zu Ende zu bringen oder um einen
Entscheidungsprozeß abzuwickeln. Durch die Einfachheit der Vorgehensweise ist der
erfindungsgemäße Datenbus äußerst einfach zu implementieren.
Durch die Ausgestaltung der Erfindung gemäß Anspruch 2 ist bereits im vorhinein
bestimmt, daß nur das festgelegte Gerät die Übertragung anderer Nachrichtenblöcke
unterbrechen darf.
Es kann darüber hinaus vorteilhaft festgelegt sein, wie gemäß einer weiteren Ausgestaltung
der Erfindung vorgesehen ist, daß festgelegt ist, mit welcher Nachricht und somit also mit
welchem Nachrichtenblock andere laufend übertragene Nachrichtenblöcke unterbrochen
werden dürfen.
Wie nach einer weiteren Ausgestaltung der Erfindung vorgesehen ist, kann ein laufend
übertragener Nachrichtenblock im einfachsten Fall bereits dann unterbrochen werden,
wenn auf dem Datenbus das (n+1)te Bit eines Datenblocks dominant ist. Dann ist bereits
grundsätzlich die Vermutung gegeben, daß ein anderer Sender einen Startblock auf dem
Bus erzeugt, auch wenn noch nicht die n+k erforderlichen dominanten Bits auf dem Bus
vorhanden sind. Es kann auf diese Weise der schnellstmögliche Abbruch der Übertragung
des Datenblockes mit der niedrigeren Priorität erreicht werden.
Soll hingegen sichergestellt sein, daß es sich mit höherer Sicherheit um einen Startblock
handelt, so kann vorteilhaft, wie gemäß weiterer Ausgestaltung der Erfindung vorgesehen,
das sendende Gerät die Sendung seines Nachrichtenblockes erst dann abbrechen, wenn auf
dem Bus eine festgelegte Anzahl von Bits zwischen dem n+1ten und (n+k)ten Bit
dominant sind. Es kann damit je nach gewählter vorgegebener Anzahl eine hohe Sicherheit
erzielt werden, daß es sich nicht um einen Datenfehler, sondern um einen Startblock eines
anderen sendenden Gerätes handelt.
Im einfachsten Falle kann, wie gemäß weiterer Ausgestaltung der Erfindung vorgesehen ist,
ein sendendes Gerät seinen Nachrichtenblock bereits dann abbrechen, wenn eine bitweise
Überprüfung ergibt, daß ein als rezessiv gesendetes Bit auf dem Datenbus tatsächlich
dominant ist. Es handelt sich dann entweder um den Startblock eines anderen sendenden
Gerätes oder um einen Datenfehler.
Will ein Gerät auf dem Datenbus eine Nachricht höherer Priorität übertragen und einen
gerade auf dem Datenbus übertragenen Nachrichtenblock niedrigerer Priorität zu diesem
Zwecke unterbrechen, so muß ein Startblock mit n+k dominanten Bits erzeugt werden.
Hierzu kann das sendende Gerät in einer Phase, in der in der zweiten Nachricht rezessive
Bits erzeugt werden, diese durch n+k dominante Bits ersetzen. Es kann aber auch, wie
gemäß weiterer Ausgestaltung der Erfindung vorgesehen ist, bei der Erzeugung der
dominanten Bits seines Startblockes dominante Bits des gerade übertragenen
Nachrichtenblockes niedrigerer Priorität mit einbeziehen. Es kann also dominante Bits des
Nachrichtenblockes niedrigerer Priorität mit nutzen für die Erzeugung der dominanten
Bits seines Startblockes. Damit wird eine noch schnellere Unterbrechung und damit auch
schnellere Übertragung des Nachrichtenblockes höherer Priorität erzielt.
Um die Verlustzeiten insbesondere für den Startblock und für die Zeit, die für die
rezessiven Bits am Ende der Blöcke benötigt wird, gering zu halten ist nach weiterer
Ausgestaltung der Erfindung vorgesehen, daß die Anzahl der rezessiven Bits in den
Startblöcken und den Datenblöcken jeweils nur eins beträgt und daß die Anzahl der
dominanten Bits eines Startblockes um eins größer ist als die Anzahl der Datenbits in den
Datenblöcken. Damit ist das Prozedere gemäß des erfindungsgemäßen Datenbusses bereits
durchführbar und es wird minimal zusätzlicher Zeitaufwand für die Erkennung der
Startblöcke benötigt.
Im einfachsten Falle können, wie gemäß weiterer Ausgestaltung der Erfindung vorgesehen
ist, nur Nachrichten zweier Prioritäten existieren. Es ist damit auf einfachste Weise klar,
welche Nachricht andere Nachrichten unterbrechen darf.
Zur Signalisierung der Priorität einer übertragenen Nachricht können vorteilhaft die
Merkmale gemäß Anspruch 11 eingesetzt werden.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher
erläutert. Es zeigen:
Fig. 1 eine schematische Darstellung der Struktur eines Nachrichtenblockes auf dem
erfindungsgemaßen Datenbus und
Fig. 2 eine schematische Darstellung der Unterbrechung der Übertragung eines
Nachrichtenblockes niedrigerer Priorität durch einen Nachrichtenblock höherer Priorität.
In Fig. 1 ist ein Nachrichtenblock NB, wie er auf dem erfindungsgemäßen Datenbus
übertragen werden könnte, schematisch dargestellt.
Es ist schematisch angedeutet, daß auf dem Bus zwei Zustände existieren können.
Einerseits existiert der dominante Zustand d, welcher in dem Ausführungsbeispiel einen
niedrigen Pegel bedeutet. Ferner existiert ein rezessiver Zustand r, welcher in dem
Ausführungsbeispiel einen hohen Pegel auf dem Bus bedeutet. Es kann beispielsweise
festgelegt sein, daß dem dominanten Zustand der Bitwert 0 und dem rezessiven Zustand
des Busses der Bitwert 1 zugeordnet ist.
Zu Beginn jedes Nachrichtenblockes NB wird ein Startblock SOF übertragen. Es ist
festgelegt, daß in jedem Startblock zu Beginn n+k dominante Bits übertragen werden. Dies
ist in der Figur durch entsprechende niedrige Amplitude auf dem Niveau d der
dominanten Bits angedeutet. Es ist ferner festgelegt, daß den n+k dominanten Bits in dem
Startblock j rezessive Bits nachfolgen. Dies ist in der Fig. 1 dadurch erkennbar, daß am
Ende des Startblockes SOF der Datenbus hohen Pegel annimmt, also wenigstens ein
rezessives Bit übertragen wird.
Innerhalb des Nachrichtenblockes wird eine vorgegebene Anzahl von Datenblöcken DB
übertragen; in dem Ausführungsbeispiel gemäß Fig. 1 handelt es sich um zehn
Datenblöcke.
Innerhalb eines jeden Datenblockes DB werden zunächst n Datenbits übertragen.
Innerhalb jeden Datenblockes folgen den n Datenbits m rezessive Bits. Diese sind in der
Figur jeweils hinter den Datenbits angedeutet und mit br gekennzeichnet.
Die in der Figur angedeuteten Datenbits bd jedes Datenblockes DB können, je nach Inhalt
der zu übertragenen Nachricht entweder rezessiv oder dominant sein.
Im einfachsten Falle kann für die Anzahl j der rezessiven Bits in dem Startblock und der
Anzahl m der rezessiven Bits in den Datenblöcken festgelegt sein, daß sie jeweils nur ein
Bit betragen, daß also j = 1 und m = 1 gilt.
Ferner kann festgelegt sein, daß die Anzahl n+k der dominanten Bits in dem Startblock
nur um ein Bit höher ist als die Anzahl n der Datenbits in den Datenblöcken, daß also k = 1
ist. Es wird damit eine minimale Länge des Startblockes erzielt und somit auch eine
minimale Übertragungszeit für die Startblöcke.
Es soll im folgenden für die Erläuterung des Ausführungsbeispiels angenommen werden,
daß in jedem Datenblock vier Datenbits übertragen werden, daß also n = 4 ist, und daß der
Startblock nur um ein Bit länger ist, daß also k = 1 ist. Ferner soll die Anzahl der rezessiven
Bits nur 1 betragen, es gilt also j = 1 und m = 1.
Diese Verabredung soll insbesondere für die Erläuterung des Vorgangs der Unterbrechung
eines laufend übertragenen Nachrichtenblockes durch einen Nachrichtenblock höherer
Priorität gemäß Fig. 2 gelten.
Für die Darstellung gemäß Fig. 2 gilt, daß d die Übertragung eines dominanten Bits und r
die Übertragung eines rezessiven Bits auf dem Datenbus andeutet. Fett dargestellte Bits d
oder r gehören entweder zu einem Startblock SOF oder sind ein rezessives Bit eines
Datenblockes DB.
In Fig. 2A ist zunächst eine mögliche Übertragung eines Nachrichtenblockes niedrigerer
Priorität auf dem Datenbus angedeutet. Der Nachrichtenblock weist zu Beginn einen
Startblock SOF auf, in dem zunächst fünf dominante Bits d und ein nachfolgend
übertragenes rezessives Bit r auftaucht. In der Darstellung gemäß Fig. 2A folgen diesem
Startblock SOF vier Datenblöcke DB, in denen jeweils zunächst vier Datenbits d oder r
und nachfolgend jeweils ein rezessives Bit r übertragen wird.
Es kann nun beispielsweise zum Zeitpunkt t1, der in Fig. 2B durch einen Balken
signalisiert ist, der Wunsch bestehen, diese übertragene Nachricht gemäß Fig. 2A zu
unterbrechen. Es soll statt dessen ein Nachrichtenblock höherer Priorität übertragen
werden.
Die Übertragung eines neuen Nachrichtenblockes mit der höheren Priorität erfordert zu
Beginn dieser Nachricht die Übertragung eines neuen Startblockes SOF.
Dazu ist es erforderlich, daß auf dem Datenbus fünf dominante Bits d erzeugt werden.
Dies kann beispielsweise in einer Übertragungslücke geschehen oder dadurch geschehen,
daß fünf rezessive Bits auf dem Datenbus durch dominante Bits ersetzt werden. Diese
Alternativen stehen jedoch oftmals dann nicht zur Verfügung, wenn laufend eine
Nachricht auf dem Datenbus übertragen wird, beispielsweise die Nachricht gemäß Fig. 2A.
In diesem Falle ist es einfacher und vor allem schneller, wenn auf dem Datenbus
befindliche dominante Bits d mit in die Erzeugung des Startblockes SOF des
Nachrichtenblockes mit der höheren Priorität einbezogen werden. Dazu werden in dem
Beispiel gemäß Fig. 2 die ersten beiden dominanten Bits des zweiten Datenblockes der
Nachricht gemäß Fig. 2A in die Erzeugung des Startblockes mit einbezogen. In Fig. 2C ist
dargestellt, daß das sendende Gerät, das den Nachrichtenblock mit der höheren Priorität
auf dem Datenbus übertragen will, selbst nur einen verkürzten Startblock SOFv erzeugt,
welcher von sich aus nur drei dominante Bits d enthält.
Diese Anzahl ist deshalb so gewählt worden, weil zum Zeitpunkt t1, als der Wunsch der
Übertragung der Nachricht mit der höheren Priorität entstand, bereits zwei dominante
Datenbits in dem zweiten Datenblock der Nachricht gemäß Fig. 2A auf dem Bus waren.
Es ist deshalb ab dem Zeitpunkt t1 nur noch erforderlich, daß der Sender des
Nachrichtenblockes mit der höheren Priorität drei weitere Datenbits d auf dem Bus
erzeugt.
Nachdem auf diese Weise ein neuer Startblock erzeugt worden ist, können nachfolgend die
Datenblöcke DB der Nachricht mit der höheren Priorität auf dem Datenbus übertragen
werden, wie dies gemäß Fig. 2C angedeutet ist.
In Fig. 2F ist das Ergebnis der Unterbrechung des Nachrichtenblockes gemäß Fig. 2A
durch den Nachrichtenblock höherer Priorität gemäß Fig. 2C dargestellt. Fig. 2F zeigt
hierzu zunächst den Startblock SOF der Nachricht mit der geringeren Priorität und
nachfolgend einen Datenblock DB des Nachrichtenblockes mit der geringeren Priorität
gemäß Fig. 2A. Die nachfolgend ursprünglich in der Nachricht gemäß Fig. 2A
übertragenen beiden dominanten Bits d sind bereits mit genutzt für den Startblock SOF
der nachfolgend übertragenen Nachricht höherer Priorität. In diesem Startblock SOF sind
die beiden Bits des zweiten Nachrichtenblockes DB der Nachricht gemäß Fig. 2A und die
drei Bits, die der Sender tatsächlich gemäß Fig. 2C übertragen hat, zusammengefaßt zu
einem neuen Startblock SOF, der fünf dominante Bits d enthält, denen ein rezessives Bit r
folgt. Nachfolgend erscheinen gemäß Fig. 2F auf dem Datenbus die Datenblöcke DB der
Nachricht höherer Priorität gemäß Fig. 2C.
Es ist somit gelungen, die Nachricht höherer Priorität gemäß Fig. 2C wirklich sofort zu
starten. Es ist sogar gelungen, bereits vor dem gewünschten Startzeitpunkt t1 übertragene
dominante Bits d der Nachricht gemäß Fig. 2A für den Startblock des Nachrichtenblockes
höherer Priorität mit zu nutzen.
Eine wesentliche Voraussetzung für das Gelingen dieser schnellen Übertragung des
Nachrichtenblockes höherer Priorität gemäß Fig. 2C ist, daß der Sender des
Nachrichtenblockes niedrigerer Priorität gemäß Fig. 2A die Übertragung dieses
Nachrichtenblockes sofort abbricht, wenn die dringendere Nachricht gemäß Fig. 2C
gesendet werden soll.
Es können hierzu verschiedene Vereinbarungen getroffen werden. Die Sendung kann dann
unterbrochen werden, wenn ein Startblock eines anderen Gerätes auf dem Bus auftaucht.
Die Sendung kann aber auch bereits dann unterbrochen werden, wenn ein Bit, das als
rezessives Bit r gesendet wurde, auf dem Datenbus tatsächlich als dominantes Bit
auftaucht. Dieser Fall wurde für die Darstellung gemäß Fig. 2 gewählt. In Fig. 2D ist
angedeutet, daß zum Zeitpunkt t2 der Sender der Nachricht gemäß Fig. 2A erkennt, daß
das unmittelbar vor dem Zeitpunkt t2 gesendete rezessive Bit r des zweiten Datenblockes
des Nachrichtenblockes auf dem Datenbus tatsächlich, wie die Darstellung gemäß Fig. 2F
zeigt, als dominantes Bit auftaucht. Dies ist deshalb der Fall, weil der Sender der Nachricht
mit der höheren Priorität gemäß Fig. 2C den verkürzten Startblock mit drei dominanten
Bits erzeugt hat und somit das letzte Bit vor dem Zeitpunkt t2 auf dem Datenbus als
dominantes Bit auftaucht.
Da der Sender der Nachricht gemäß Fig. 2A laufend die Bits auf dem Datenbus überprüft,
erkennt er zum Zeitpunkt t2, daß das letzte von ihm als rezessives Bit übertragene Bit auf
dem Datenbus tatsächlich als dominantes Bit auftaucht. Er unterbricht daher die Sendung
seiner Nachricht, wie dies in Fig. 2E dargestellt ist. Das letzte von ihm als rezessives Bit
übertragene Bit, das auf dem Datenbus tatsächlich als dominantes Bit auftaucht, ist das
letzte übertragene Bit, da dies zum Zeitpunkt t2 erkannt wurde und die Sendung der
Nachricht entsprechend der Darstellung gemäß Fig. 2E abgebrochen wurde. Der letzte
übertragene Datenblock ist ein verkürzter Datenblock DBv, der im nachfolgenden nicht
mehr weiter übertragen wird.
Es gelingt somit auf dem erfindungsgemäßen Datenbus, eine Nachricht niedrigerer
Priorität jederzeit durch eine Nachricht höherer Priorität zu unterbrechen, ohne daß
hierfür zusätzliche Übertragungskapazität erforderlich ist und ohne daß eine Verzögerung
der Unterbrechung durch ein Abstimmungsverfahren auftritt.
Claims (13)
1. Datenbus für eine serielle Datenübertragung zwischen Geräten, welche Daten über den
Datenbus senden und/oder empfangen können, wobei auf dem Datenbus rezessive und
dominante Zustände vorgesehen sind, denen jeweils ein Bitwert zugeordnet ist,
dadurch gekennzeichnet,
daß Nachrichten in Nachrichtenblöcken übertragen werden, wobei jeder Nachrichtenblock zu Beginn einen Startblock mit (n+k) dominanten und j nachfolgenden rezessiven Bits und nachfolgende Datenblöcke mit n Datenbits und m nachfolgenden rezessiven Bits aufweist,
daß ein laufend übertragener Nachrichtenblock niedriger Priorität durch ein anderes Gerät zur Übertragung eines Nachrichtenblockes mit hoher Priorität unterbrochen werden kann, indem dieses einen neuen Startblock auf dem Datenbus erzeugt und nachfolgend die zugehörigen Datenblöcke sendet,
und daß ein einen Nachrichtenblock auf dem Datenbus sendendes Gerät laufend überprüft, ob auf dem Datenbus ein Startblock auftaucht und gegebenenfalls die Sendung seines Nachrichtenblockes abbricht.
daß Nachrichten in Nachrichtenblöcken übertragen werden, wobei jeder Nachrichtenblock zu Beginn einen Startblock mit (n+k) dominanten und j nachfolgenden rezessiven Bits und nachfolgende Datenblöcke mit n Datenbits und m nachfolgenden rezessiven Bits aufweist,
daß ein laufend übertragener Nachrichtenblock niedriger Priorität durch ein anderes Gerät zur Übertragung eines Nachrichtenblockes mit hoher Priorität unterbrochen werden kann, indem dieses einen neuen Startblock auf dem Datenbus erzeugt und nachfolgend die zugehörigen Datenblöcke sendet,
und daß ein einen Nachrichtenblock auf dem Datenbus sendendes Gerät laufend überprüft, ob auf dem Datenbus ein Startblock auftaucht und gegebenenfalls die Sendung seines Nachrichtenblockes abbricht.
2. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß nur ein festgelegtes Gerät
befugt ist, andere Nachrichtenblöcke zu unterbrechen.
3. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß vorgegeben ist, mit welcher
Art Nachricht ein Gerät andere Nachrichtenblöcke unterbrechen darf.
4. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß ein sendendes Gerät die
Sendung eines Nachrichtenblocks abbricht, wenn das (n+1)te Bit eines Datenblockes auf
dem Datenbus nicht rezessiv ist.
5. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß ein sendendes Gerät die
Sendung eines Nachrichtenblocks abbricht, wenn eine vorgegebene Anzahl von Bits von
dem (n+1)ten bis einschließlich zum (n+k)ten Bit eines Datenblockes auf dem Datenbus
nicht rezessiv ist/sind.
6. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß ein sendendes Gerät einen
eigenen Nachrichtenblock auf dem Bus während des Sendens bitweise überprüft und dann
abbricht, wenn auf dem Datenbus ein als rezessives Bit gesendetes Bit tatsächlich als
dominantes Bit auftaucht.
7. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß ein Gerät beim Erzeugen
eines Startblocks eines einen anderen Nachrichtenblock unterbrechenden
Nachrichtenblocks gegebenenfalls auf dem Datenbus vorhandenen dominante Bits in den
zu erzeugenden Starblock einbezieht.
8. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß ein Empfänger ständig
überprüft, ob während eines übertragenen ersten Nachrichtenblockes ein neuer Startblock
eines neuen zweiten Nachrichtenblockes auftaucht, und daß der Empfänger gegebenenfalls
den Empfang des übertragenen ersten Nachrichtenblockes abbricht und mit dem Empfang
des zweiten, neuen Nachrichtenblockes beginnt.
9. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß n = 4, m = 1, k = 1 und j = 1
betragen.
10. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß zwei Prioritätsstufen für
Nachrichtenblöcke vorgesehen sind.
11. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß ein Datenfehler erkannt
wird, wenn nach n Datenbits kein rezessives Bit auf dem Datenbus auftritt und kein
Startblock identifiziert wird.
12. Datenbus nach Anspruch 1, dadurch gekennzeichnet, daß nach einem Startblock
abhängig von der Priorität des zu sendenden Nachrichtenblockes ein Senden einer
vorgegebenen Anzahl von rezessiven bzw. dominanten Bits erfolgt.
13. Verwendung des Datenbusses für Fahrzeuge zum Austausch von Nachrichten zwischen
Steuergeräten, insbesondere zum sofortigen und andere Nachrichtenblöcke
unterbrechenden Senden eines Nachrichtenblockes, der eine Auslösung eines Airbags des
Fahrzeugs auslöst.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19843810A DE19843810A1 (de) | 1998-09-24 | 1998-09-24 | Datenbus |
EP99203000A EP0989701A3 (de) | 1998-09-24 | 1999-09-15 | Datenbus |
JP11269784A JP2000112882A (ja) | 1998-09-24 | 1999-09-24 | デ―タバス |
US09/406,283 US6542947B1 (en) | 1998-09-24 | 1999-09-24 | Data bus for serial data transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19843810A DE19843810A1 (de) | 1998-09-24 | 1998-09-24 | Datenbus |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19843810A1 true DE19843810A1 (de) | 2000-03-30 |
Family
ID=7882092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19843810A Withdrawn DE19843810A1 (de) | 1998-09-24 | 1998-09-24 | Datenbus |
Country Status (4)
Country | Link |
---|---|
US (1) | US6542947B1 (de) |
EP (1) | EP0989701A3 (de) |
JP (1) | JP2000112882A (de) |
DE (1) | DE19843810A1 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10000303B4 (de) * | 2000-01-05 | 2011-09-29 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern |
DE10008081B4 (de) * | 2000-02-22 | 2004-02-05 | Siemens Ag | Serielles Bussystem |
CN1180373C (zh) * | 2000-03-03 | 2004-12-15 | 皇家菲利浦电子有限公司 | 具有用于与一个接收数据流同步的装置的数据载体 |
DE10030358A1 (de) * | 2000-06-21 | 2002-01-03 | Heidenhain Gmbh Dr Johannes | Verfahren und Vorrichtung zur seriellen Datenübertragung zwischen einem Positionsmesssystem und einer Verarbeitungseinheit |
US6721918B2 (en) * | 2000-12-29 | 2004-04-13 | Intel Corporation | Method and apparatus for encoding a bus to minimize simultaneous switching outputs effect |
JP3668697B2 (ja) * | 2001-04-09 | 2005-07-06 | 三菱電機株式会社 | データ送信方法及びデータ送信装置 |
US7061137B2 (en) * | 2002-10-16 | 2006-06-13 | Omega Patents, L.L.C. | Vehicle data communications bus disrupter and associated methods |
US7907628B2 (en) * | 2003-11-19 | 2011-03-15 | Honeywell International Inc. | Priority based arbitration for TDMA schedule enforcement in a multi-channel system |
JP4657179B2 (ja) * | 2006-09-05 | 2011-03-23 | ティーオーエー株式会社 | データ伝送方法 |
DE102008010385B4 (de) * | 2008-02-21 | 2009-10-29 | Ic-Haus Gmbh | Verfahren und Datenübertragungsanlage zur seriellen Datenübertragung zwischen einer Leiteinrichtung und wenigstens einer Teilnehmereinrichtung |
DE102011003729A1 (de) * | 2010-02-08 | 2011-08-11 | Robert Bosch GmbH, 70469 | Neuartige Schaltung und Methode zur Kommunikation über eine einzelne Leitung |
TWI512478B (zh) * | 2011-01-18 | 2015-12-11 | Asmedia Technology Inc | 匯流排主控器與相關方法 |
DE112016007532T5 (de) * | 2016-12-21 | 2019-09-26 | Vacon Oy | Priorisierte serielle kommunikation |
US10579549B2 (en) | 2017-12-05 | 2020-03-03 | Qualcomm Incorporated | Staggered transmissions on a multi-drop half-duplex bus |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3546683C3 (de) * | 1985-02-22 | 2003-10-09 | Bosch Gmbh Robert | Verfahren zum Betreiben einer Datenverarbeitungsanlage |
DE4129205A1 (de) * | 1991-03-28 | 1992-10-01 | Bosch Gmbh Robert | Verfahren zum aufbau von botschaften fuer den datenaustausch und/oder fuer die synchronisation von prozessen in datenverarbeitungsanlagen |
US5323385A (en) * | 1993-01-27 | 1994-06-21 | Thermo King Corporation | Serial bus communication method in a refrigeration system |
DE69433866T2 (de) * | 1993-02-15 | 2005-06-30 | Honda Giken Kogyo K.K. | Verfahren zur Übertragung von Daten |
US5574848A (en) * | 1993-08-24 | 1996-11-12 | National Semiconductor Corporation | Can interface selecting one of two distinct fault recovery method after counting a predetermined number of recessive bits or good can frames |
EP0813324A1 (de) * | 1996-06-13 | 1997-12-17 | Cerberus Ag | Serieller Datenbus und dessen Verwendung |
US5760489A (en) * | 1996-10-04 | 1998-06-02 | Motorola, Inc. | Method for transmitting signals between a microprocessor and an interface circuit |
US6111888A (en) * | 1997-05-27 | 2000-08-29 | Micro Motion, Inc. | Deterministic serial bus communication system |
US6385210B1 (en) * | 1998-04-17 | 2002-05-07 | Ford Global Technologies, Inc. | Method for detecting and resolving data corruption in a UART based communication network |
-
1998
- 1998-09-24 DE DE19843810A patent/DE19843810A1/de not_active Withdrawn
-
1999
- 1999-09-15 EP EP99203000A patent/EP0989701A3/de not_active Withdrawn
- 1999-09-24 US US09/406,283 patent/US6542947B1/en not_active Expired - Fee Related
- 1999-09-24 JP JP11269784A patent/JP2000112882A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2000112882A (ja) | 2000-04-21 |
EP0989701A2 (de) | 2000-03-29 |
US6542947B1 (en) | 2003-04-01 |
EP0989701A3 (de) | 2004-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2953444C2 (de) | Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk | |
DE2745295C2 (de) | Steuerschaltung für ein Duplex-Funkübertragungssystem | |
DE102012223124B4 (de) | Fahrzeugkommunikationssteuervorrichtung | |
DE3803326C2 (de) | ||
DE3115455C2 (de) | ||
EP2695076B1 (de) | Verfahren und vorrichtung zur erhöhung der datenübertragungskapazität in einem seriellen bussystem | |
DE19843810A1 (de) | Datenbus | |
EP0009627B1 (de) | Übertragungssystem zum Fernkopieren und zur elektronischen Übermittlung von Hauspost | |
DE19639845C1 (de) | Lokales Netzwerk mit Sende- und Empfangsvorrichtung | |
EP2795848B1 (de) | Teilnehmerstation eines bussystems und verfahren zur übertragung von nachrichten zwischen teilnehmerstationen eines bussystems | |
DE10143356A1 (de) | Akzeptanz-Filter | |
DE19922171A1 (de) | Kommunikationssystem mit einem Kommunikationsbus | |
EP0570338B1 (de) | Verfahren und Einrichtung zur Zugriffsüberwachung und zum Zugriffsschutz in Kommunikationsnetzwerken | |
WO1999001959A2 (de) | Verfahren und anordnung zur codierung digitaler daten | |
DE10246793A1 (de) | Übertragungssteuervorrichtung, welche ein CAN-Protokoll verwendet | |
DE10127417A1 (de) | Transport-Protokoll für die Gerätekommunikation | |
WO2023036597A1 (de) | Verfahren und system zur steuerung einer übertragung von daten in abhängigkeit wenigstens eines attributs einer datei | |
DE4210094C2 (de) | Multiplexes Übertragungsverfahren | |
DE102020214097A1 (de) | Vorrichtung zur Übertragung von Daten über ein Bussystem und Betriebsverfahren hierfür | |
DE19852276C2 (de) | Verfahren zum Empfang einer Nachricht über einen seriellen Datenbus, Funktionseinheit und lokales Netzwerk | |
EP0199028B1 (de) | Nachrichtenübermittlungsverfahren für Fernmeldeanlagen, insbesondere Fernsprechvermittlungsanlagen, in denen für über bidirektionale Nachrichtenwege zu übermittelnde Nachrichten eine Längenangabe und eine Artinformation gebildet wird | |
DE3205948A1 (de) | Datenkommunikationssystem | |
DE102020110708A1 (de) | Vorrichtung und Verfahren zum Versenden einer Nachricht an zumindest zwei Empfänger für ein Kraftfahrzeug | |
EP0192069B1 (de) | Verfahren zum Übertragen von Datensignalen | |
DE2448802C3 (de) | Verfahren und Schaltungsanordnungen zum automatischen Aufrufen einer von mehreren Endstellen durch eine Zentralstation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |