DE10301608A1 - Datenübertragung in einem Datenverarbeitungssystem - Google Patents

Datenübertragung in einem Datenverarbeitungssystem Download PDF

Info

Publication number
DE10301608A1
DE10301608A1 DE10301608A DE10301608A DE10301608A1 DE 10301608 A1 DE10301608 A1 DE 10301608A1 DE 10301608 A DE10301608 A DE 10301608A DE 10301608 A DE10301608 A DE 10301608A DE 10301608 A1 DE10301608 A1 DE 10301608A1
Authority
DE
Germany
Prior art keywords
data packets
data
terminal
priority status
buffer memory
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
Application number
DE10301608A
Other languages
English (en)
Inventor
Dirk Forwick
Martin Laichinger
Jörg Haecker
Andreas Aberfeld
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE10301608A priority Critical patent/DE10301608A1/de
Publication of DE10301608A1 publication Critical patent/DE10301608A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/40163Bus networks involving priority mechanisms by assigning priority to messages according to a message field
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/009Priority selection
    • B60W2050/0091Priority selection of control inputs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Abstract

Es wird ein Endgerät (1) für ein Datenverarbeitungssystem mit einem Prozessor (2) zum Erzeugen von Datenpaketen (3) mit jedem Datenpaket (3) zugeordnetem Prioritätsstatus, einem Pufferspeicher (5) zum zeitweiligen Aufnehmen der Datenpakete im Verbund mit dem Prioritätsstatus und einer Busschnittstelle (6) zum Auswählen der Datenpakete (3) aus dem Pufferspeicher (5) anhand des Prioritätsstatus und zum Senden der Datenpakete (3) in anhand des Prioritätsstatus festgelegter Reihenfolge auf einen externen Bus (7) vorgestellt. Das Endgerät (1) empfängt Datenpakete (4) im Verbund mit einem Prioritätsstatus über den externen Bus (7), legt die Datenpakete (4) zeitweilig in einen Pufferspeicher (5) ab und der Prozessor (2) liest die Datenpakete (4) aus dem Pufferspeicher (5) anhand des Prioritätsstatus in festgelegter Reihenfolge aus und verarbeitet diese. Entsprechende Verfahren zum Betreiben des Endgerätes (1) werden ebenfalls beschrieben.

Description

  • Die Erfindung betrifft ein Endgerät für ein Datenverarbeitungssystem mit einem Prozessor zum Erzeugen von Datenpaketen, die von einem Pufferspeicher zeitweilig aufgenommen werden, um anschließend auf einem externen Bus versendet zu werden, bzw. ein Endgerät, das Datenpakete aus einem externen Bus empfängt, diese in einem Pufferspeicher zeitweilig speichert und sie schließlich aus dem Pufferspeicher liest und verarbeitet. Die Erfindung betrifft auch ein Verfahren, bei dem Datenpakete erzeugt, zeitweilig in einem Pufferspeicher gespeichert und anschließend auf einen externen Bus gesendet werden, bzw. ein Verfahren, bei dem Datenpakete aus einem externen Bus empfangen, in einem Pufferspeicher zeitweilig gespeichert und anschließend aus dem Speicher gelesen und verarbeitet werden. Bei dem erfindungsgemäßen Endgerät kann es sich insbesondere um ein programmiertes Steuergerät für ein Kraftfahrzeug handeln, und das erfindungsgemäße Verfahren kann z. B. eingesetzt werden, um ein solches Steuergerät während des Betriebs des Kraftfahrzeuges zu testen und vom Steuergerät gesteuerte Vorgänge zu optimieren.
  • Betriebsvorgänge wie insbesondere Zündung und/oder Einspritzung an einer von einem solchen Steuergerät gesteuerten Brennkraftmaschine lassen sich mit der Erfindung optimieren, indem einzelne Regelparameter bzw. Kennfelder, auf die der Prozessor des Steuergeräts zum Steuern der Betriebsvorgänge zugreift, von einem externen Applikationsgerät aus schrittweise verstellt werden und die Auswirkung dieser Verstellung gemessen wird, bis ein Optimum erreicht ist. Entsprechend werden Softwarefunktionen neu entwickelt und optimiert. Hierzu überträgt das Steuergerät interne Werte zu einem externen Rechner, der entsprechende Funktionen berechnet und seine Resultate zurück auf das Steuergerät überträgt.
  • Aus der DE 39 17 979 C2 ist eine Emulationsvorrichtung für ein Steuergerät, insbesondere ein Zünd- und/oder Einspritzsteuergerät für Brennkraftmaschinen, bekannt. Bei dieser Emulationsvorrichtung ist eine Datenmanipulationsvorrichtung vorgesehen, die einen Schreib/Lesespeicher aufweist, welcher im Betrieb der Vorrichtung einen Daten/Programm-Lesespeicher ersetzt, auf den ein Mikroprozessor des Steuergerätes zugreifen würde, wenn er nicht an die Emulationsvorrichtung angeschlossen wäre. Ein Bediengerät, das in der Lage ist, Daten im Schreib/Lesespeicher zu verändern, ist mit letzterem über einen Bus verbunden. Diese Vorrichtung ist zwar in der Lage, die Daten im Schreib/Lesespeicher, auf die der Mikroprozessor zugreift, schnell zu verändern und so z. B. Kennfelder für eine Steuerungsaufgabe auszuwechseln; sie erfordert zu ihrer Anwendung aber stets einen körperlichen Zugriff auf die Platine des Steuergeräts, um dort die Emulationsvorrichtung anstelle des Daten/Programm-Lesespeichers anzuschließen, und sie belastet elektrisch des Bus des Steuergeräts, was diesen verlangsamen kann.
  • In der DE 195 00 453 A1 wird ein Verfahren zur Optimierung von Daten und/oder Programmteilen für programmierte Steuergeräte vorgeschlagen, das bei der Applikation von Kraftfahrzeugsteuergeräten eingesetzt werden kann. Bei dem Verfahren wird das Steuergerät über eine Schnittstelle mit einem externen Applikationsgerät verbunden. Mit Hilfe dieses Applikationsgerätes werden die Änderungen der zu optimierenden Daten und/oder Programmteile eingegeben. Auf Seiten des Steuergeräts werden die zu optimierenden Daten und/oder Programmteile im Hintergrund in einen Bereich des Daten- und/oder Programm-Schreib/Lesespeichers des Steuergerätes geladen, während das Steuergerät gleichzeitig im Vordergrund auf eine in einem anderen Bereich des Speichers gespeicherte ältere Version dieser Daten und/oder Programmteile zugreifen kann. Nachdem die neuen Daten oder Programmteile vollständig in den Speicher geladen sind, findet eine Umschaltung statt, so dass das Steuerprogramm auf diese neuen Daten anstatt auf die ältere Version zugreift. Diese Technik erfordert auf Seiten des Steuergeräts, dass die Übertragung der zu optimierenden Daten und Programmteile anders gehandhabt wird als die der Daten, die das Steuergerät zur Ausführung seiner Steueraufgaben mit angeschlossenen Sensoren und Aktoren austauscht. D. h. für die Kommunikation mit dem Applikationsgerät sind eine spezielle Schnitt stelle und gegebenenfalls spezielle Programmfunktionen erforderlich, die zu entwickeln und in das Steuergerät einzufügen arbeits- und kostenaufwändig ist, die aber bei einem fertig entwickelten Steuergerät nicht mehr benötigt werden und allenfalls noch als kostentreibender Ballast mitgeschleppt werden
  • Aufgabe der vorliegenden Erfindung ist, ein Endgerät und ein Verfahren zur Verfügung zu stellen, mit denen verschiedenste Datentypen, die sich in den Anforderungen an ihre Verarbeitungszeiten stark unterscheiden können, in einheitlicher Weise in das Endgerät eingespeist bzw. aus diesem ausgegeben werden können.
  • Die Aufgabe wird durch ein Endgerät mit den Merkmalen des Anspruchs 1 gelöst. Die Aufgabe wird auch durch ein Endgerät mit den Merkmalen des Anspruchs 2 gelöst. Ferner wird die Aufgabe durch ein Verfahren mit den Merkmalen des Anspruchs 10 sowie durch ein Verfahren mit den Merkmalen des Anspruchs 11 gelöst.
  • Bei dem erfindungsgemäßen Endgerät bzw. mit dem erfindungsgemäßen Verfahren kann ein Prozessor zum Empfangen von Daten von externen Sendern bzw. zum Senden von Daten an externe Empfänger völlig identische Programmfunktionen nutzen, egal welches die Anforderungen an die Verarbeitungszeit der Daten bzw. die Dauer ihrer Übertragung auf dem Bus sind oder welcher Art (z. B. ein Sensor oder Aktor zum Erfassen bzw. Einstellen von Betriebsparametern des Kraftfahrzeugs oder ein externes Applikationsgerät) die Sender bzw. Empfänger sind. Der Prozessor kann Datenpakete, egal, welche Priorität er ihnen zuweist, jederzeit an die Schnittstelle senden, da die Kommunikation zwischen Prozessor und Busschnittstelle nicht durch eventuelle Kapazitätsengpässe des externen Busses eingeschränkt ist, und die Busschnittstelle besorgt die Weiterleitung der Daten unter Berücksichtigung der ihnen vom Prozessor zugewiesenen Priorität. Umgekehrt kann die Busschnittstelle den Prozessor vor auf dem externen Bus eintreffenden Daten geringer Priorität abschirmen, solange Daten höherer Priorität zur Bearbeitung anstehen, so dass die gesamte Verarbeitungskapazität des Prozessors zu deren Bearbeitung zur Verfügung steht.
  • Die Tatsache, dass neue Daten vor ihrer Übernahme durch den Prozessor von der Busschnittstelle gepuffert werden, erlaubt es dem Prozessor ferner, vor der Übernahme solcher Daten, insbesondere wenn sie Kennkurven oder Teile des vom Prozessor auszuführenden Programms verkörpern, eine Plausibilitätskontrolle der Daten durchzuführen und die Annahme von Daten zu verweigern, bei denen die Plausibilitätskontrolle vermuten lässt, dass sie zu einer Beeinträchtigung eines Betriebes einer vom Steuergerät gesteuerten Vorrichtung führen könnten.
  • Bevorzugterweise ist der Pufferspeicher in mehrere Bereiche unterteilt, wobei jedem Bereich ein Prioritätsstatus zugeordnet ist und jeder Bereich vorgesehen ist, um Datenpakete mit dem betreffenden Prioritätsstatus aufzunehmen. Vorzugsweise sind diese Bereiche als FIFO-Speicher für die Datenpakete organisiert.
  • Vorzugsweise ist ein Speicherabschnitt vorgesehen, in dem zu jedem Prioritätsstatus die zugeordneten Bereiche des Pufferspeichers verzeichnet sind. Anhand des in diesem Speicherabschnitt vorgesehenen Verzeichnisses über die zugeordneten Bereiche ist die Busschnittstelle in der Lage, eintreffende Datenpakete – vom Prozessor oder vom externen Bus – zu sortieren und in den entsprechenden Bereichen im Pufferspeicher abzulegen.
  • Vorzugsweise ist der Prozessor eingerichtet, um mehrere Prozesse gleichzeitig auszuführen, und jedem Bereich des Pufferspeichers ist ferner einer der Prozesse zugeordnet, um Datenpakete dieses Prozesses aufzunehmen. Ein solcher Prozess kann z. B. dazu dienen, Messwerte eines bestimmten an das Endgerät angeschlossenen Sensors abzufragen, einen angeschlossenen Aktor anzusteuern oder Bereiche eines Speichers des Prozessors mit über den externen Bus von einem Applikationsgerät empfangenen Daten zu überschreiben, die Programmcode oder Kennkurven für den Betrieb des Prozessors darstellen.
  • Bevorzugterweise existiert ein Speicherabschnitt, in dem zu jedem Prozess die zugeordneten Bereiche des Pufferspeichers verzeichnet sind. Ebenso wie oben für die Priorität beschrieben kann auch mit einem solchen Speicherabschnitt geregelt werden, wo die Busschnittstelle vom Prozessor oder vom externen Bus empfangene Datenpakete puffert.
  • In dem Speicherabschnitt kann ferner eine Angabe, ob die Bereiche eingehende oder ausgehende Datenpakete enthalten, und/oder eine maximale Anzahl der Datenpakete in den einzelnen Bereichen und/oder eine maximale Größe eines Datenpaketes verzeichnet sein.
  • Besonders bevorzugt unterstützt die Busschnittstelle mehrere Übertragungsarten, die sich voneinander hinsichtlich eines verwendeten Protokolls, Datenformats oder auch – wenn die Busschnittstelle den Zugriff auf mehrere Busse erlaubt – des verwendeten Busses oder durch andere Parameter unterscheiden können, und wählt eine Übertragungsart für die Übertragung eines Datenpakets anhand von dessen Prioritätsstatus aus. Eine solche Entsprechung zwischen der vom Prozessor vorgegebenen Priorität eines zu sendenden Datenpakets und der von der Schnittstelle verwendeten Übertragungsart macht es einfach, Daten, die unterschiedlichen Anforderungen hinsichtlich Übertragungsverzögerung, Rate etc. unterliegen und ggf. von unterschiedlichen auf dem Prozessor laufenden Anwendungen erzeugt werden, in angemessener Weise zu übertragen.
  • Ebenso vorteilhaft unterstützt die Busschnittstelle mehrere Übertragungsarten und ordnet eintreffende Datenpakete anhand ihrer Übertragungsart in einen Bereich ein. Auch in diesem Fall kann eine Übertragungsart jeweils einer bestimmten Anwendung entsprechen, für die die Daten bestimmt sind, so dass anhand der Übertragungsart auf die Anwendung geschlossen werden kann und das Datenpaket, welches für diese Anwendung bestimmte Daten enthält, in ei nen entsprechenden Bereich des Pufferspeichers einsortiert werden kann.
  • Die Erfindung soll im folgenden anhand einer Figur näher erläutert werden. Es zeigt:
  • 1 eine Schemazeichnung eines Datenverarbeitungssystems mit einem erfindungsgemäßen Endgerät.
  • In 1 ist ein Datenverarbeitungssystem mit einem erfindungsgemäßen Steuergerät 1, einem externen Bus 7 und einem abgesetzten Rechner 8 dargestellt. Der Rechner 8 ist über den Bus 7 mit einer Busschnittstelle 6 des Steuergeräts 1 verbunden. Er stellt ein Applikationsgerät dar, das es erlaubt, zu Entwicklungs- und Optimierungszwecken in den Betrieb des Steuergeräts 1 einzugreifen. Über die Busschnittstelle 6 werden vom Prozessor 2 des Steuergeräts 1 erzeugte Datenpakete 3 in den Bus 7 eingespeist und über diesen zum Rechner 8 versendet. Umgekehrt verschickt der Rechner 8 Datenpakete 4 über den Bus 7 zur Busschnittstelle 6, welche die Datenpakete 4 dann an den Prozessor 2 übergibt.
  • Die Busschnittstelle 6 und der Prozessor 2 sind über einen (nicht dargestellten) internen Bus des Steuergeräts 1 mit einem Pufferspeicher 5 verbunden. Der Pufferspeicher 5 kann zusammen mit dem Prozessor 2 innerhalb eines einzigen elektronischen Bauelements vorgesehen sein. Der Pufferspeicher 5 ist logisch in diverse Bereiche aufgeteilt, darunter ein Informationsblock 9 und eine Mehrzahl von Warteschlangen 10, 11. Der Informationsblock 9 weist für jede Warteschlange 10, 11 einen Eintrag auf, der folgende Angaben enthält:
    • – Richtung der Warteschlange (vom Prozessor 2 zum externen Bus 7 oder umgekehrt),
    • – Startadresse von Statusinformationen der Warteschlange,
    • – Startadresse der in der Warteschlange gepufferten Datenpakete,
    • – maximal zulässige Anzahl von Paketen in der Warteschlange,
    • – maximal zulässige Größe eines Pakets in der Warteschlange,
    • – Priorität der Warteschlange,
    • – gegebenenfalls Zuordnung der Warteschlange zu einem vom Prozessor 2 ausgeführten Prozess.
  • Im Statusinformationsbereich 12 jeder Warteschlange 10, 11 ist für jedes Datenpaket der Warteschlange ein Statusbit verzeichnet, das angibt, ob der Prozessor 2 oder die Busschnittstelle 6 Zugriff auf das Datenpaket hat.
  • Bei der nun folgenden Beschreibung der Funktionsweise des Steuergeräts 1 wird zunächst der Fall betrachtet, dass der Prozessor 2 ein Datenpaket auf dem Bus 7 senden will. Auf den Prozessor 2 laufen verschiedene Prozesse ab, z. B. solche, bei denen Messdaten von (nicht dargestellten) mit dem Steuergerät 1 verbundenen Sensoren erfasst oder Steuerparameter über den Bus 7 an Aktoren am Steuergerät 1 gesendet werden, oder solche, bei denen der Prozessor 2 die Inhalte von vom externen Rechner 8 spezifizierten Speicherbereichen an diesen überträgt oder spezifizierte Speicherbereiche mit von dem Rechner 8 gesendeten Daten überschreibt. Da die An forderungen an das Zeitverhalten dieser verschiedenen Prozesse unterschiedlich sind, ist jedem Prozess ein Prioritätsniveau zugeordnet, das von Prozess zu Prozess verschieden sein kann.
  • Um ein von einem solchen Prozess erzeugtes Datenpaket zu senden, wählt der Prozessor 2 zunächst unter den diversen Warteschlangen diejenige aus, deren Übertragungsrichtung vom Prozessor 2 zum externen Bus 7 verläuft und die dem auslösenden Prozess oder dessen Prioritätsniveau zugeordnet ist. Zu jeder solchen Warteschlange existiert ein Zeiger, der innerhalb der Warteschlange auf denjenigen Speicherbereich mit der für die Pakete dieser Warteschlange maximal zulässigen Größe zeigt, in den das nächste zu sendende Paket eingetragen werden muss. Bevor der Prozessor 2 das Paket in den vom Zeiger bezeichneten Speicherbereich einträgt, liest er im Statusinformationsbereich 12 der Warteschlange das Statusbit des von dem Zeiger bezeichneten Speicherbereichs. Wenn dieses Statusbit angibt, dass der Prozessor 2 keine Schreibberechtigung auf den Speicherbereich hat, so bedeutet dies, das in dem Speicherbereich noch ein zu sendendes Datenpaket enthalten ist; d. h, die Warteschlange ist voll.
  • Wenn das Statusbit angibt, dass der Prozessor zum Schreiben in den Speicherbereich berechtigt ist, so trägt er das zu sendende Datenpaket dort ein, ändert das zugeordnete Statusbit auf den Wert, der anzeigt, dass er keine Schreibberechtigung hat, und stellt den Zeiger um einen Schritt weiter auf einen nachfolgenden Speicherbereich der Warteschlange oder, falls es sich bei dem gerade beschriebenen um den letzten Speicherbereich der Warteschlange handelt, auf deren ersten Speicherbereich. Um ein weiteres Datenpaket zu senden, wiederholt der Prozessor 2 die oben beschriebenen Schritte.
  • Um die vom Prozessor 2 in die verschiedenen Sende-Warteschlangen eingereihten Datenpakete auf dem Bus 7 zu übertragen, führt die Busschnittstelle 6 für jeden auf dem Bus zum Senden eines Paketes zur Verfügung stehenden Zeitschlitz das folgende Verfahren durch: Zunächst liest sie das Statusbit desjenigen Speicherbereichs der Sende-Warteschlange mit der höchsten Priorität, auf welchen ein dieser Warteschlange zugeordneter Sendezeiger zeigt. Wenn dieses Statusbit angibt, das der Prozessor 2 nicht berechtigt ist, diesen Bereich zu beschreiben, so bedeutet dies, das er ein zu sendendes Paket enthält. In diesem Fall liest die Busschnittstelle das betreffende Paket aus der Warteschlange, gibt es auf den Bus 7 aus, verändert das Statusbit des betreffenden Speicherbereichs, um anzuzeigen, dass nun wieder der Prozessor 2 berechtigt ist, in diesen Speicherbereich zu schreiben, und stellt den Sendezeiger auf den Speicherbereich, der sich an den gerade gesendeten anschließt.
  • Wenn die Busschnittstelle 6 beim Lesen des Statusbits feststellt, dass sie auf den betreffenden Speicherbereich nicht zugriffsberechtigt ist (bzw. dass der Prozessor 2 berechtigt ist, in diesen Speicherbereich zu schreiben), so bedeutet dies, dass die betreffende Warteschlange leer ist. Wenn dies der Fall ist, wiederholt die Busschnittstelle 6 die oben beschriebenen Schritte für die Warte schlange mit der nächst niedrigeren Priorität, so lange, bis eine Warteschlange gefunden ist, die ein zu sendendes Paket enthält, oder bis festgestellt wird, das alle Warteschlangen leer sind.
  • Die Busschnittstelle 6 kann ausgelegt sein, um eine Mehrzahl von unterschiedlichen Übertragungsarten auf dem Bus 7 zu unterstützen, die sich z. B. hinsichtlich ihrer Paketgröße, ihrer Empfänger oder der Art der vom Empfänger an ihnen durchzuführenden Verarbeitung unterscheiden können. Jeder Sende-Warteschlange ist ein solches Format fest zugeordnet. Die Busschnittstelle 6 vermag so allein anhand der Identität der Warteschlange, aus der sie ein Datenpaket liest, zu erkennen, in welcher Weise das Datenpaket auf dem Bus 7 übertragen werden muss. Die verschiedenen Warteschlangen können z. B. lediglich anhand ihrer Priorität charakterisiert sein, und mehrere Prozesse auf den Prozessor 2 können berechtigt sein, in eine gleiche Warteschlange zu schreiben, wobei dann die Pakete dieser unterschiedlichen Prozesse von der Busschnittstelle 6 in gleicher Weise gehandhabt werden. Alternativ ist es jedoch auch möglich, eine Mehrzahl von Warteschlangen eines gleichen Prioritätsniveaus vorzusehen, von denen jede einem spezifischen Prozess (oder auch einer Gruppe von Prozessen) des Prozessors 2 zugeordnet ist, wobei jeder einzelnen Warteschlange ein eigenes Format für die Übertragung auf dem Bus 7 zugeordnet ist. So ist es möglich, Datenpakete in unterschiedlichen Formaten auf einem gleichen Prioritätsniveau zu übertragen. Wenn mehrere Warteschlangen eines gleichen Prioritätsniveaus vorhanden sind, so darf die Busschnittstelle 6 sie nicht jedes Mal in der gleichen Reihenfolge auf eventuell zu sendende Datenpakete überprüfen, da hieraus letztlich wieder eine höhere Priorisierung der zuerst überprüften Warteschlange resultieren würde. Eine effektive Gleichbehandlung kann erreicht werden, wenn bei jeder Überprüfung auf zu sendende Datenpakete die Reihenfolge der Warteschlangen gleicher Priorität permutiert wird, z. B. derart, das wenn auf einem gegebenen Prioritätsniveau drei Warteschlangen A, B, C existieren, diese einmal in der Reihenfolge ABC, dann BCA, CAB und schließlich wieder ABC durchgeprüft werden.
  • Es wird nun die Datenübertragung in Gegenrichtung, über den Bus 7 zum Prozessor 2 betrachtet. Wenn die Busschnittstelle 6 ein Datenpaket auf den Bus 7 empfängt, so extrahiert sie daraus zunächst eine Prioritätsinformation. Die Prioritätsinformation kann in einem Signalisierungsteil des Datenpakets expliziet angegeben sein, sie kann sich auch implizit aus einem für die Übertragung des Pakets auf dem Bus 7 verwendeten Format ergeben, wenn die Busschnittstelle 6 unterschiedliche Paketformate unterstützt. Anhand der Prioritätsinformation wählt die Busschnittstelle 6 unter den Warteschlangen 11, 12 eine Empfangs-Warteschlange mit der passenden Priorität aus. Zu jeder Empfangs-Warteschlange verfügt die Busschnittstelle 6 über einen Zeiger, der auf den jeweils als nächstes beschreibbaren Speicherbereich der betreffenden Warteschlange zeigt. Sie liest zunächst das Statusbit des von dem der ausgewählten Warteschlange entsprechenden Zeiger bezeichneten Speicherbereichs, um festzustellen, ob dieser beschrieben werden darf oder nicht. Wenn das Statusbit anzeigt, das der Speicherbereich nicht beschrieben werden darf, so bedeutet dies, dass die Warteschlange voll ist, und die Busschnittstelle 6 schickt an den Sender des betreffenden Pakets eine Meldung zurück, dass das Paket nicht angenommen werden konnte. Wenn der Speicherplatz beschrieben werden darf, wird das Paket darin eingetragen, das Statusbit wird verändert, um anzuzeigen, dass nun nur der Prozessor 2 zugriffsberechtigt ist, und der Zeiger wird wie oben beschrieben weiter gestellt.
  • Der Prozessor 2 geht beim Empfangen von Datenpaketen in ähnlicher Weise vor wie die Busschnittstelle 6 beim Senden: Er überprüft zunächst anhand des Statusbits eines durch einen Lesezeiger bezeichneten Speicherbereichs der Warteschlange der höchsten Priorität, ob der Speicherbereich ein zu lesendes Paket enthält. Wenn ja, so wird es gelesen und verarbeitet, das zugehörige Statusbit wird wieder verändert, so dass der betreffende Bereich von der Busschnittstelle 6 überschrieben werden kann, und der Lesezeiger wird weiter gestellt. Wenn sich die Warteschlange als leer erweist, wird der gleiche Vorgang an der Warteschlange mit der nächstniedrigeren Priorität wiederholt, so lange, bis in einer Warteschlange ein zu verarbeitendes Paket gefunden wird oder bis festgestellt wird, das sämtliche Warteschlangen leer sind.

Claims (11)

  1. Endgerät (1) für ein Datenverarbeitungssystem mit einem Prozessor (2) zum Erzeugen von Datenpaketen (3) mit jedem Datenpaket (3) zugeordnetem Prioritätsstatus, einem Pufferspeicher (5) zum zeitweiligen Aufnehmen der Datenpakete (3) im Verbund mit dem Prioritätsstatus und wenigstens einer Busschnittstelle (6) zum Auswählen der Datenpakete (3) aus dem Pufferspeicher (5) anhand des Prioritätsstatus und zum Senden der Datenpakete (3) in anhand des Prioritätsstatus festgelegter Reihenfolge auf wenigstens einem externen Bus (7).
  2. Endgerät (1), insbesondere gemäß Anspruch 1, mit wenigstens einer Busschnittstelle (6) zum Empfangen von Datenpaketen (4) im Verbund mit einem Prioritätsstatus über wenigstens einen externen Bus (7), einem Pufferspeicher (5) zum zeitweiligen Aufnehmen der Datenpakete (4) im Verbund mit dem Prioritätsstatus und einem Prozessor (2) zum Lesen der Datenpakete (4) aus dem Pufferspeicher (5) und Verarbeiten der Datenpakete (4) in anhand des Prioritätsstatus festgelegter Reihenfolge.
  3. Endgerät (1) gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Pufferspeicher (5) in mehrere Bereiche (10, 11) unterteilt ist, wobei jedem Bereich (10, 11) ein Wert des Prioritätsstatus zugeordnet ist und jeder Bereich (10, 11) vorgesehen ist, um Datenpakete (3, 4) mit dem betreffenden Prioritätsstatus aufzunehmen.
  4. Endgerät (1) gemäß Anspruch 3, dadurch gekennzeichnet, dass ein Speicherabschnitt (9) existiert, in dem zu jedem Prioritätsstatus die zugeordneten Bereiche (10, 11) des Pufferspeichers (5) verzeichnet sind.
  5. Endgerät (1) gemäß Anspruch 3 oder 4, dadurch gekennzeichnet, dass der Prozessor (2) eingerichtet ist, um mehrere Prozesse gleichzeitig auszuführen, und dass jedem Bereich (10, 11) des Pufferspeichers ferner einer der Prozesse zugeordnet ist, um Datenpakete (3, 4) dieses Prozesses aufzunehmen.
  6. Endgerät (1) gemäß Anspruch 5, dadurch gekennzeichnet, dass ein Speicherabschnitt (9) existiert, in dem zu jedem Prozess die zugeordneten Bereiche (10, 11) des Pufferspeichers (5) verzeichnet sind.
  7. Endgerät (1) gemäß Anspruch 4 oder 6, dadurch gekennzeichnet, dass in dem Speicherabschnitt (9) ferner verzeichnet ist, ob die Bereiche (10, 11) eingehende oder ausgehende Datenpakete (3, 4) enthalten, und/oder eine maximale Anzahl der Datenpakete (3, 4) in den einzelnen Bereichen (10, 11) und/oder eine maximale Größe eines Datenpaketes (3, 4) verzeichnet sind.
  8. Endgerät (1) gemäß Anspruch 1, dadurch gekennzeichnet, dass die Busschnittstelle (6) mehrere Übertragungsarten unterstützt und eine Übertragungsart für ein Datenpaket (3) anhand seines Prioritätsstatus auswählt.
  9. Endgerät (1) gemäß Anspruch 2 und 3, dadurch gekennzeichnet, dass die Busschnittstelle (6) mehrere Übertragungsarten unterstützt und eintreffende Datenpakete (4) anhand ihrer Übertragungsart in einen Bereich (101 einordnet.
  10. Verfahren zur Einspeisung von Daten in einen externen Bus (7), bei dem Datenpakete (3) mit jedem Datenpaket (3) zugeordnetem Prioritätsstatus erzeugt werden, die Datenpakete (3) im Verbund mit dem Prioritätsstatus zeitweilig in einem Pufferspeicher (5) gespeichert werden und die Datenpakete (3) aus dem Pufferspeicher (5) anhand des Prioritätsstatus ausgewählt und in anhand des Prioritätsstatus festgelegter Reihenfolge auf den externen Bus (7) gesendet werden.
  11. Verfahren zum Empfangen von Daten aus einem externen Bus (7), bei dem Datenpakete (4) aus einem externen Bus (7) empfangen und im Verbund mit einem Prioritätsstatus in einem Pufferspeicher (5) zeitweilig gespeichert werden, um in anhand des Prioritätsstatus festgelegter Reihenfolge aus dem Pufferspeicher (5) gelesen und verarbeitet zu werden.
DE10301608A 2003-01-17 2003-01-17 Datenübertragung in einem Datenverarbeitungssystem Withdrawn DE10301608A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10301608A DE10301608A1 (de) 2003-01-17 2003-01-17 Datenübertragung in einem Datenverarbeitungssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10301608A DE10301608A1 (de) 2003-01-17 2003-01-17 Datenübertragung in einem Datenverarbeitungssystem

Publications (1)

Publication Number Publication Date
DE10301608A1 true DE10301608A1 (de) 2004-07-29

Family

ID=32602648

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10301608A Withdrawn DE10301608A1 (de) 2003-01-17 2003-01-17 Datenübertragung in einem Datenverarbeitungssystem

Country Status (1)

Country Link
DE (1) DE10301608A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2003318A1 (de) * 2007-06-14 2008-12-17 Continental Automotive GmbH System zum Betreiben eines Verbrennungsmotors
US20160153792A1 (en) * 2013-08-07 2016-06-02 Bayerische Motoren Werke Aktiengesellschaft Method for Operating a Navigation System in a Vehicle and Corresponding Control System and Computer Program Product

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2003318A1 (de) * 2007-06-14 2008-12-17 Continental Automotive GmbH System zum Betreiben eines Verbrennungsmotors
WO2008152129A1 (en) * 2007-06-14 2008-12-18 Continental Automotive Gmbh A system for running an internal combustion engine
US8392092B2 (en) 2007-06-14 2013-03-05 Continental Automotive Gmbh System for running an internal combustion engine
CN101688493B (zh) * 2007-06-14 2013-03-27 欧陆汽车有限责任公司 运行内燃机的系统
US20160153792A1 (en) * 2013-08-07 2016-06-02 Bayerische Motoren Werke Aktiengesellschaft Method for Operating a Navigation System in a Vehicle and Corresponding Control System and Computer Program Product
US9677895B2 (en) * 2013-08-07 2017-06-13 Bayerische Motoren Werke Aktiengesellschaft Method for operating a navigation system in a vehicle and corresponding control system and computer program product

Similar Documents

Publication Publication Date Title
DE1956604A1 (de) Datenverarbeitungsanlage mit einem Speichersystem
DE112006003358T5 (de) Verteilung von Speicherzugriffsanforderungen
DE102011122644B4 (de) Nachrichtenverlustverhinderung unter Verwendung eines Senderpuffers und Verkehrsgestaltung in durch ein Ereignis ausgelösten verteilten eingebetteten Echtzeitsystemen
DE10317390A1 (de) Datenübertragungseinrichtung und elektronische Steuereinheit
DE2417446A1 (de) Adapter fuer datenverarbeitungsanlagen
EP0360135B1 (de) Verfahren zur Interruptverarbeitung in einer Datentverarbeitungsanlage
DE10301608A1 (de) Datenübertragung in einem Datenverarbeitungssystem
EP2294763A1 (de) Teilnehmerknoten eines kommunikationssytems mit funktional getrenntem sende-ereignisspeicher
DE3923872A1 (de) Schaltungsanordnung zum steuern des zugriffs auf einen speicher
EP0895199B1 (de) Fahrtschreiber mit einer Schnittstelle für seinen Anschluss an einen Datenbus
DE2853138B1 (de) Verfahren und Schaltungsanordnung zur UEbermittlung von Signalen in speicherprogrammierten Vermittlungsanlagen
DE2833048B2 (de) Schaltungsanordnung zum Übertragen von Daten über programmgesteuerte Datenvermittlungsanlagen
DE10027845B4 (de) Submodul für die Kontrolle einer Datenwarteschlange
DE4122831C2 (de) Integrierte Halbleiterschaltung
DE19713178A1 (de) Schaltungsanordnung mit einem Prozessor und einem Datenspeicher
DE19846913A1 (de) Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung
DE102006022109B3 (de) Elektronische Motorsteuerung
DE3012133C2 (de)
DE10310340A1 (de) Datenzugriffsverfahren und System mit verteiltem, gemeinsam genutzten Speicher
EP1232441B1 (de) Verfahren zum datenaustausch bei einem mehrprozessorsystem
EP0531559B1 (de) Steuereinrichtung zur Steuerung der Datenübertragung zwischen einem von mehreren Ein-/Ausgabemodulen und dem Arbeitsspeicher einer Datenverarbeitungsanlage
EP0566985B1 (de) Verfahren und Vorrichtung zur Übertragung von Datenpaketen
DE3036034C2 (de) Schaltungsanordnung zum vorübergehenden Speichern von binärcodierten Nachrichten- oder Datensignalen in Vermittlungsanlagen
EP2837139B1 (de) Interaktionsfähiger baustein in einem netzwerk
DE2813360C2 (de) Verfahren zur Abwicklung von vermittlungstechnischen Funktionen in einer Vermittlungsanlage, insbesondere Fernsprechvermittlungsanlage

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee