DE69506158T2 - Fahrzeuglokalnetz und Nachrichtenleitweglenkungsverfahren - Google Patents
Fahrzeuglokalnetz und NachrichtenleitweglenkungsverfahrenInfo
- Publication number
- DE69506158T2 DE69506158T2 DE69506158T DE69506158T DE69506158T2 DE 69506158 T2 DE69506158 T2 DE 69506158T2 DE 69506158 T DE69506158 T DE 69506158T DE 69506158 T DE69506158 T DE 69506158T DE 69506158 T2 DE69506158 T2 DE 69506158T2
- Authority
- DE
- Germany
- Prior art keywords
- hash function
- message
- hash
- entry
- function
- 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.)
- Expired - Lifetime
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/03—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for supply of electrical power to vehicle subsystems or for
- B60R16/0315—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for supply of electrical power to vehicle subsystems or for using multiplexing techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Small-Scale Networks (AREA)
- Control By Computers (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Computer And Data Communications (AREA)
Description
- Die vorliegende Erfindung betrifft die Nachrichtenlenkung in lokalen Netzwerken (LANs), und im Besonderen betrifft die vorliegende Erfindung den Einsatz von Hash-Funktionen für Tabellenverweise durch Mikrocontrollermodule, die mit einem fahrzeuginternen lokalen Netzwerk verbunden sind.
- In automatisierten Fertigungsstätten und anderen ähnlichen Umgebungen konnte festgestellt werden, daß eine effiziente Betriebsweise die Verteilung von Steuerfunktionen innerhalb der Umgebung umfaßt. Dies wird durch den Einsatz einer Mehrzahl entfernt voneinander angeordneter Mikrocomputer erreicht, die für die Abwicklung spezieller Funktionen programmiert sind. Zur Koordinierung des Betriebs sind die Mikrocomputer über ein lokales Netzwerk ("LAN") miteinander verbunden, und wobei einer oder mehrere überwachende Mikrocomputer ebenfalls mit dem LAN verbunden sein können. Ein Beispiel für ein derartiges System zum Einsatz in einer automatisierten Fertigungsstätte wird in dem U.S. Patent US-A- 4.972.367 an Burke offenbart. In diesem Patent wird das Problem der verringerten Leistungsfähigkeit auf Grund der Notwendigkeit zur Übertragung zahlreicher Nachrichten bzw. Meldungen über das lokale Netzwerk erkannt.
- Die Mikrocontroller-Bauelemente innerhalb eines Fahrzeugs führen normalerweise eine Vielzahl von Aufgaben aus, wie etwa die Steuerung des Motors, die Erzeugung von Pausenzeichen, die Überwachung verschiedener Fahrzeugfunktionen, die Erzeugung akustischer Nachrichten, usw. Viele dieser Mikrocontroller- Bauelemente müssen mit anderen Mikrocontroller-Bauelementen in dem Fahrzeug kommunizieren. Zum Beispiel kann ein erster Mikrocontroller ein Problem erkennen, wie etwa einen zu niedrigen Öldruck, wobei dieses bestehende Problem einem zweiten Mikrocontroller gemeldet werden muß, der die Erzeugung einer akustischen Meldung an den Fahrer steuert. Nach Empfang der Information erzeugt das zweite Mikrocontroller-Bauelement die akustische Meldung bzw. Nachricht.
- Die Notwendigkeit der Kommunikation zwischen den Mikrocontroller-Bauelementen innerhalb eines Fahrzeugs hat zu der Einführung von fahrzeuginternen lokalen Netzwerken geführt, durch welche die in einem Fahrzeug an verschiedenen Positionen angeordneten Mikrocontroller-Bauelemente in der Lage sind, miteinander zu kommunizieren. Daraus resultiert, daß jedes der Mikrocontroller-Bauelemente in dem Netzwerk bestimmen muß, auf welche Meldungen, die über das lokale Netzwerk übertragen werden, das Bauelement in welcher Weise reagieren muß.
- Ob sich das lokale Netzwerk in einer Fertigungsstätte, in einem Fahrzeug oder in einer anderen Umgebung befindet, in jedem Fall müssen die Probleme der Kommunikation zwischen den Mikrocontrollern über das lokale Netzwerk überwunden werden. Bei einem Verfahren, das dies erreichen soll, wird die übermittelte Meldung mit einer Mikrocontroller-Zieladresse oder einer Mikrocontroller-Kennung versehen. In diesem Fall untersuchen die Mikrocontroller in dem lokalen Netzwerk jede eingehende Meldung, vergleichen deren Adresse mit der Adresse, mit der die Meldung versehen war, und bestimmen sofort, ob es sich bei der Meldung um eine Meldung für den jeweiligen Mikrocontroller handelt. Bei diesem Prinzip wird allerdings nicht die Situation berücksichtigt, bei der eine Meldung eine Reaktion von mehr als einem Mikrocontroller erfordert. Außerdem ist dieses System nicht besonders flexibel. Wenn eine Funktion zum Beispiel von einem Mikrocontroller zu einem anderen übertragen wird, so müssen alle Mikrocontroller, die Meldungen übertragen, die sich auf diese Funktion beziehen, modifiziert werden.
- Außerdem ist für ein Adreßsystem ein sehr großer Rechneraufwand erforderlich. Ein Mikrocontroller, der ein Problem beim Fahrzeugbetrieb erfaßt, muß zum Beispiel so programmiert werden, daß er die angemessene bzw. die zweckmäßige Reaktion ebenso kennt wie die Adresse der anderen Mikrocontroller, die diese Reaktion bzw. das Ansprechverhalten ausführen müssen. Ein System mit einem solchen sehr umfassenden Rechneraufwand wird in dem U.S. Patent US-A- 5.117.458 an Takaragi et al. beschrieben.
- In einem Ansatz ein flexibleres System mit geringerem Rechneraufwand vorzusehen, können die Nachrichten mit Nachrichtenkennungen (IDs) versehen werden, welche die Nachricht und nicht den Ziel-Mikrocontroller identifizieren. Eine derartige Technik wird in dem U.S. Patent US-A-5.095.480 an Fenner offenbart. Bei dieser Anordnung muß jeder Mikrocontroller des lokalen Netzwerks eine von dem jeweiligen Mikrocontroller geführte Tabelle durchsuchen, die alle Nachrichtenkennungen aufweist, auf die der jeweilige Mikrocontroller ansprechen muß, um dadurch festzustellen, ob die Nachricht für diesen Mikrocontroller bestimmt ist oder nicht. Die Tabelle kann ferner andere Parameter aufweisen, die erforderlich sind, um entsprechend auf eine bestimmte Nachricht anzusprechen. Normalerweise muß ein Mikrocontrollermodul auf mehr als eine Nachrichtenart mit unterschiedlichen Parametervoraussetzungen ansprechen.
- Die Einführung von Fahrzeug-Multiplexnetzwerken in Motorfahrzeuge hat dazu geführt, daß diese das Netzwerk verwendenden Bauelemente bzw. Module eine Vielzahl von Tabellenverweisen durchführen müssen. Die Hauptaufgabe dabei ist es, die Nachrichten zu finden, die Parameter der Nachrichten zu bestimmen und Informationen zu lokalisieren, die Aufschluß darüber geben, wie die entsprechende Nachricht zu verarbeiten ist. Ein weiterer Grund für die Tabellenverweise ist die Verarbeitung von Diagnoseanfragen, die häufig nach Parameterinformationen über eine Parameterkennung fragen. Dabei wird erneut auf eine Tabelle zugegriffen, um die Position des Parameters, dessen Skalierung, usw. herauszufinden. Dieser vermehrte Einsatz von Tabellenverweisen bzw. Tabellenzugriffen bedeutet, speziell während der Verarbeitung des normalen Multiplex- Netzwerkverkehrs, daß ein nicht unwesentlicher Anteil der Mikroprozessorzeit für Tabellenzugriffe bzw. für Tabellenverweise in Anspruch genommen wird. Wenn es eine Möglichkeit gäbe, diese Tabellenzugriffe schneller durchzuführen, so könnte der Mikroprozessor seine Zeit mit produktiveren Arbeiten verbringen, wie etwa mit der Steuerung eines Motors oder Getriebes.
- Ein herkömmliches Verfahren für das Suchen von Informationen in einer Tabelle ist die lineare Suche. Nachrichtenkennungen und Informationen werden in einer Tabelle gespeichert, wobei die am häufigsten auftretenden Nachrichtenkennungen normalerweise am Tabellenanfang gespeichert werden. Diese Einträge werden nacheinander überprüft, bis der passende Eintrag gefunden wird, oder bis die ganze Tabelle durchsucht worden ist und kein passender Eintrag gefunden worden ist. Ein Problem bei der linearen Suche in Tabellen ist die große Inanspruchnahme des Controllers oder Prozessors, d.h. der Mikrocontroller verbringt seine Zeit mit der Ausführung von Suchfunktionen anstatt mit der Ausführung seiner eigentlichen Hauptaufgabe.
- Der große Gesamtaufwand bei einer linearen Tabellensuche kann unter Annahme einiger Beispiele veranschaulicht werden. In den nachstehenden Beispielen werden die folgenden Annahmen zugrunde gelegt. Die Verweistabelle weist vier Bytes pro Eintrag auf, mit einem Byte für die Kennung (ID), einem Byte für die Nachrichtenlänge und zwei Bytes für die Adresse der Nachrichtenleistungsroutine. Die Codebeispiele sind in der Assemblersprache Motorola 68HC11 geschrieben. Zum Zwecke des Vergleichs der Ausführungszeiten unterschiedlicher Tabellenverweisverfahren wird davon ausgegangen, daß 68HC11 mit 8 MHz ausgeführt wird, so daß ein Zyklus der CPU 0,5 Mikrosekunden dauert. Die Tabellen weisen unabhängig von dem verwendeten Verweis- bzw. Zugriffsverfahren die gleichen Informationen auf, die allerdings unterschiedlich angeordnet sein können.
- Bei dem Tabellenzugriffscode, der in einer kennzeichnenden Steuereinheit bzw. einem Controller eines Fahrzeugs eingesetzt wird, handelt es sich um eine einfache Schleife, die die empfangenen Kennungen mit Einträgen in einer Tabelle vergleicht. Die Kennungen werden normalerweise derart in der Tabelle angeordnet, daß sich die Nachrichten mit den höchsten Frequenzen nahe des Tabellenanfangs befinden. In Tabelle 1 ist eine kennzeichnende Implementierung bzw. Umsetzung eines linearen Tabellenzugriffs dargestellt. TABELLE 1. 68HC11 CODE FÜR DEN LINEAREN TABELLENZUGRIFF
- Die Tabelle veranschaulicht die für die Verarbeitung einer Kennung (ID) erforderliche Zeit. Hiermit wird festgestellt, daß die ersten drei Zeilen die Schleife aufbauen, wobei die Ausführung 4 Mikrosekunden in Anspruch nimmt. Die Zeilen 4-8 (8,5 Mikrosekunden) werden für jeden Tabelleneintrag einmal ausgeführt, der nicht mit der empfangenen Kennung übereinstimmt, bis die ganze Tabelle überprüft worden ist. Somit beträgt die Gesamtzeit zur Verarbeitung einer nicht in der Tabelle vorhandenen Kennung (ID) 4 + 8,5 · (# Tabelleneinträge). Bei 12 Tabelleneinträgen beträgt die erforderliche Zeit zum Beispiel 106 Mikrosekunden. Einige Fahrzeugsteuereinheiten empfangen bis zu 20 Kennungen, so daß die Verarbeitung einer empfangenen Kennung im schlechtesten Fall 174 Mikrosekunden in Anspruch nimmt. Dies entspricht einer langen Bindungs- bzw. Belegungszeit für einen Echtzeit- Controller.
- Die für die Suche nach Kennungen erforderliche Zeit kann grob als prozentualer Anteil der Zeit des Prozessors geschätzt werden. Wenn eine durchschnittliche Nachrichtenlänge von drei Byte, eine LAN-Bitrate von 7812,5 Bits pro Sekunde und eine 35prozentige Bus-Beschäftigungszeit angenommen werden, so werden etwa 68 Nachrichten pro Sekunde über den Bus übertragen. Wenn 106 Mikrosekunden 68mal pro Sekunde verwendet werden, so verbringt der Prozessor mehr als 0,7% seiner Zeit nur mit der Sortierung der Nachrichten von dem lokalen Netzwerk. Wenn 174 Mikrosekunden verwendet werden, so steigt diese Zahl auf nahezu 1,2%. Hiermit wird festgestellt, daß es sich dabei um Zahlen für den schlechtesten aller Fälle handelt. In der Realität ignoriert kein Modul alle Nachrichten auf dem Bus, so daß einige der Kennungen in der Tabelle gefunden werden, bevor die maximale Zeit in Anspruch genommen worden ist. Außerdem muß ein Modul nicht jede Nachricht verarbeiten, die es übermittelt.
- Die "Hash-Codierung" hat sich als wirksames Mittel zum Suchen in einer Tabelle bewährt. Bei der Hash-Codierung wird eine arithmetische Funktion bzw. eine Hash-Funktion für die Erzeugung eines Codes bzw. eines Schlüssels verwendet, der für eine Nachrichtenkennung steht. Wenn die Hash-Funktion bei einer hash-codierten empfangenen Kennung angewandt wird, so handelt es sich bei dem Ergebnis um einen Zeiger in eine für den Mikrocomputer vorgesehene Tabelle, der den Abschnitt der Nachricht anzeigt. Verfahren für den Erhalt einer geeigneten Hash-Funktion für eine bestimmte Anwendung sind allgemein bekannt. Beispiele für diese Methoden werden in zwei hierin durch Verweis enthaltenen Dokumenten beschrieben: Reciprocal Hashing: A Method for Generating Minimal Perfect Hashing Functions, von G. Jaeschke, Co mm. ACM 24, 12 (Dezember 1981), 829-833; und Perfect Hashing Functions: A Single Probe Retrieving Method for Static Sets, von R. Sprugnoli, Comm. ACM 20, 11 (November 1977), 841-850.
- Die Grundidee der Hash-Codierung ist die Erfassung des in der Tabelle zu findenden Elements sowie die Ausführung bestimmter numerischer Berechnungen (die Hash-Funktion) an diesem Element, um dadurch eine Tabellenadresse zu ermitteln. Hash- Funktionen werden seit den Anfängen des Computerzeitalters für Tabellenabfragen verwendet. Am häufigsten werden sie bei Großrechnern für Compiler und Datenbanken eingesetzt, und es existiert umfassende Literatur über die verschiedenen Verwendungsmöglichkeiten von Hash-Funktionen. Ein Großrechner unterscheidet sich allerdings erheblich von einem Mikrocontroller: der Speicher zum Speichern der Tabellen ist deutlich größer, es existieren periphere Speichervorrichtungen und die CPU ist mit dem vollen Komplement schneller, höchst präziser Rechenbefehle ausgestattet. Außerdem sind viele bestehende Hash-Funktionen speziell für dynamische Systeme ausgerichtet, wobei Elemente einer Tabelle hinzugefügt und aus dieser entfernt werden.
- Der Einsatz des Hash-Filterns in einer LAN-Umgebung wird in dem Bezugsdokument Mini-Micro Conference Record, November 1983, offenbart, wobei Ethernet/IEEE 802.3 in Bezug auf eine Größtintegrationsumsetzung (VLSI) behandelt wird. Der Stationsadressen-Erfassungsabsohnitt offenbart, daß eine Zieladresse im Ethernet durch ein Feld mit einer Breite von 48 Bit definiert ist, wobei ein erstes Bit anzeigt, ob es sich bei der Adresse um eine physikalische oder um eine Multicast- Adresse handelt. Die allgemeine Adressierung ist ein Sonderfall der Multicast-Adressierung, wobei ein Datenpaket an alle Knoten übermittelt werden kann, d.h. an alle Computerstationen im Netzwerk. Ein LAN-Controller für Ethernet (LANCE) sorgt für eine Abbildung von 2&sup4;&sup7; möglichen Adressen auf 26 Adressen, wobei dieser Vorgang als Hash-Filtern bezeichnet wird. Auf diese Weise wird die 47-Bit-Zieladresse (D) durch die Funktion "f" bearbeitet, so daß f(D) D in eine Vergleichstabelle in dem LANCE abbildet, wodurch mit gewisser Wahrscheinlichkeit festgestellt werden kann, daß D eine gültige Adresse darstellt. Danach führt der Prozessor einen perfekten Filtervorgang an D durch, wobei die eigenen Verweistabellen in dem Speicher dafür eingesetzt werden, festzustellen, ob das Paket verwendet wird. Auf Grund eines unvollkommenen Filtervorgangs kann der LANCE gewisse nicht adressierte Pakete zulassen, die durch Filtern des Prozessors aussortiert werden. Wenn die Anzahl der logischen Adressen in dem Netzwerk (LAN) insgesamt niedriger ist als 64, so können diese auf eine Art und Weise zugewiesen werden, wobei der Hash-Filter als perfekter bzw. vollkommener Filter funktionsfähig ist, wobei kein zusätzlicher Filter erforderlich ist. Das Hash-Filtern verringert den Softwareaufwand an dem Prozessor bei einer willkürlichen Adressenverteilung mindestens um einen Faktor von 64.
- Vorgesehen ist gemäß der vorliegenden Erfindung ein Steuersystem mit Bestandteilen sowie mit mindestens zwei Verarbeitungseinheiten, die jeweils mit einer Nachrichtenkennung identifizierte Nachrichten erzeugen, und die einem Speicher zugeordnet sind, der eine Nachrichtenkennungstabelle speichert, welche die zugeordnete Verarbeitungseinheit verarbeiten kann, wobei jede der in der genannten Tabelle gespeicherten Nachrichtenkennungen eine Eintragung in der genannten Tabelle darstellt, wobei die genannten Verarbeitungseinheiten als ein lokales Netzwerk miteinander verbunden sind, das Nachrichten zwischen den genannten Verarbeitungseinheiten überträgt, dadurch gekennzeichnet, daß es sich bei jeder der genannten Verarbeitungseinheiten um einen Mikrocontroller handelt, der so konfiguriert ist, daß er der genannten Nachrichtenkennung jeder über das genannte lokale Netzwerk empfangenen Nachricht eine Hash-Funktion zuweist, um einen Tabellenindex zu erzeugen, um den entsprechenden jeweiligen Mikrocontroller zu einem bestimmten Eintrag in einer in dem genannten Speicher gespeicherten Tabelle zu leiten sowie zum Vergleichen des genannten speziellen Eintrags mit der Nachrichtenkennung einer der genannten empfangenen Nachrichten, die bereits mit der genannten Hash-Funktion bearbeitet worden ist, wobei jeder der genannten Mikrocontroller Informationen zur Steuerung der genannten Bestandteile des Steuersystems verarbeitet und die genannten Nachrichten erzeugt, die sich auf einen Steuerungszustand eines anderen der genannten Mikrocontroller bezieht, und wobei jeder der genannten Mikrocontroller auf die genannte empfangene Nachricht durch Verarbeitung von Befehlen anspricht, die sich auf den genannten speziellen Eintrag in der Tabelle beziehen, wenn der genannte spezielle Eintrag in der Tabelle mit der Nachrichtenkennung übereinstimmt, die durch die genannte Hash-Funktion bearbeitet wird.
- Vorgesehen ist gemäß einem weiteren Aspekt der vorliegenden Erfindung ein Verfahren zur Steuerung von Nachrichten in einem lokalen Netzwerk mit Verarbeitungseinheiten, wobei jede der genannten Verarbeitungseinheiten zur Ausführung einer vorbestimmten Funktion funktionsfähig ist und einem Speicher zugeordnet ist, der eine Hash-Tabelle von Nachrichtenkennungen speichert, die jeweils einen Eintrag in der Hash-Tabelle darstellen, und wobei die Einheiten so konfiguriert sind, daß sie bestimmen, ob eine in dem genannten lokalen Netzwerk übermittelte Nachricht mit einer Nachrichtenkennung von einer anderen der genannten Verarbeitungseinheiten zu verarbeiten ist, gekennzeichnet durch die Verarbeitung der genannten Nachrichten, wobei es sich bei jeder der genannten Verarbeitungseinheiten um einen Mikrocontroller handelt; die Ausübung einer vordefinierten Hash-Funktion an der genannten Nachrichtenkennung, sowie die Bestimmung eines Hash- Tabellenindexes daraus; die Verwendung der genannten vordefinierten Hash-Funktion in Verbindung mit dem genannten Hash-Tabellenindex zur Bestimmung eines Platzes in der genannten Hash-Tabelle; das Vergleichen des genannten Eintrags, der an dem genannten Platz gespeichert ist, mit der genannten Nachrichtenkennung; und die Ausführung der genannten vorbestimmten Funktion auf der Basis von in dem Speicher gespeicherten Informationen, die sich auf den Eintrag beziehen, wenn der genannte Eintrag und die genannte Nachrichtenkennung, die durch die genannte vordefinierte Hash- Funktion bearbeitet werden, identisch sind.
- Die vorstehenden und andere Merkmale der vorliegenden Erfindung werden aus der folgenden genauen Beschreibung der bevorzugten Ausführungsbeispiele in Verbindung mit den beigefügten Zeichnungen noch besser verständlich. Es zeigen:
- Fig. 1 ein Blockdiagramm eines erfindungsgemäßen fahrzeuginternen lokalen Netzwerks;
- Fig. 2 ein Flußdiagramm eines Verfahrens zum Speichern von Nachrichtenkennungen unter Verwendung von Hash-Funktionen;
- Fig. 3 ein Flußdiagramm eines Verfahrens zur Bestimmung, ob eine Nachricht zu bearbeiten ist; und
- die Fig. 4 bis 7 ein Flußdiagramm eines Verfahrens zur Bestimmung der Parameterwerte für eine lineare, kongruente Hash-Funktion.
- Die Abbildung aus Fig. 1 veranschaulicht Mikrocontrollermodule 10 in einem fahrzeuginternen lokalen Netzwerk 25. Diese Mikrocontroller steuern jeweils einzeln bestimmte Funktionen des Fahrzeugs, wie zum Beispiel die Funktionsweise des Motors oder die Aufzeichnung bestimmter Zustände. Als Folge erzeugen die Mikrocontroller Nachrichten, die entweder weitere Funktionen anderer Mikrocontroller erforderlich machen oder lediglich über einen Zustand informieren. Diese Ausgangsnachrichten sind nicht an einen bestimmten Mikrocontroller in dem lokalen Netzwerk adressiert, sie sind jedoch mit Nachrichtenkennungen versehen, die die Art der Nachricht anzeigen. Danach ist es Aufgabe der anderen Mikrocontroller festzustellen, ob sie auf der Basis der Nachricht eine Funktion ausüben müssen. Dies stellt der jeweilige Mikrocontroller durch Überprüfung fest, ob eine Nachricht mit dieser Kennung in einer dem Mikrocontroller zugeordneten Tabelle gespeichert ist. Jeder Mikrocontroller 10 ist mit einem statischen Speicher oder ROM-Speicher 5 vorgesehen, der eine Nachrichtentabelle aufweist. Die Nachrichten werden unter Verwendung einer Hash-Funktion in den Tabellen in den ROM-Speichern 5 gespeichert und abgerufen.
- Die Abbildung aus Fig. 2 zeigt ein Flußdiagramm eines bevorzugten Ausführungsbeispiels eines Verfahrens zum Speichern von Nachrichtenkennungen, d.h. einer Hash-Funktion. Bei der Funktion handelt es sich gemäß der Darstellung um eine lineare, kongruente Hash-Funktion, wobei die Hash-Funktion in der folgenden Form gegeben ist:
- Index = (A*ID) + B
- wobei die numerischen Werte von A und B von den zu speichernden IDs (Kennungen), der Tabellengröße und den Größen der Tabelleneinträge abhängig sind. Die Tabelle 2 entspricht der Tabelle 1 und zeigt, wie die Hash-Funktion anzuwenden ist. TABELLE 2. 68HC11 CODE FÜR DIE LINEARE KONGRUENTE HASH- FUNKTION
- Die Zeilen 1-4 aus Tabelle 2 werden im Geradeausverfahren implementiert, wobei die Index-Bits im oberen Teil des Registers B verbleiben. In Zeile 5 wird der Index für eine Tabelle mit 16 Einträgen extrahiert, und in den Zeilen 6-7 wird der Index an die entsprechende Position für die Adressierung einer Tabelle mit vier Byte Einträgen bewegt. In den Zeilen 8-9 wird der Index zum Tabellenanfang addiert. Schließlich wird in den Zeilen 10-12 die empfangene Kennung (ID) mit dem Tabelleneintrag verglichen. Wenn diese zusammenpassen, wird die Nachricht danach gemäß den Informationen in der Tabelle verarbeitet; wenn sie nicht zusammenpassen, kann die Nachricht ignoriert werden. Es ist notwendig die epmfangene Kennung mit der Kennung in der Tabelle zu vergleichen, da die Hash-Funktion eine Verdichtungsfunktion darstellt. In diesem Beispiel werden 256 mögliche Kennungen in eine Tabelle mit 16 Einträgen abgebildet, so daß mehrere Kennungen in jeden Tabelleneintrag abgebildet werden. Jedoch wird nur eine der Kennungen in der Liste der Kennungen, die von dem Modul empfangen werden, in einen bestimmten Tabelleneintrag abgebildet.
- In dem Code gibt es keine Schleifen oder Verzweigungen, so daß alle Kennungen innerhalb der gleichen Zeit verarbeitet werden, d.h. 19,5 Mikrosekunden, und zwar ungeachtet der Tatsache, ob sie sich in der Tabelle befinden oder nicht. Dieses Verfahren der linearen, kongruenten Hash-Funktion ist mit dem dem Stand der Technik entsprechenden linearen Suchverfahren aus Tabelle 1 bezüglich der Ausführungszeit bei 2 oder mehr Einträgen in der Tabelle leistungsmäßig vergleichbar. In Bezug auf die vorstehend beschriebene Tabelle mit 12 Einträgen ist das Verfahren der kongruenten Hash-Funktion gemäß der vorliegenden Erfindung 5mal so schnell wie die lineare Tabellensuche gemäß dem Stand der Technik (d.h. Tabelle 1).
- Zur weiteren Veranschaulichung des Verfahrens wird angenommen, daß die Fahrzeugsteuereinheit 12 hexadezimale ("hex") Kennungen aufweist. Die lineare, kongruente Hash-Funktion mit A = hex 5B und B = 4 veranschaulicht eine perfekte Hash- Funktion für die folgende Liste von 12 einzugebenden Kennungen (IDs)
- 02 50 56 84 8C A4 B2 B4 CA DA E4 EC.
- Wenn die Kennung (ID) A4 von einem Mikrocontroller empfangen wird, wird sie mit 5B multipliziert (was zu hex 3A4C führt) und addiert, so daß 3A50 resultiert. Zeile 5 aus Tabelle 2 eliminiert alles außer den vier werthöchsten Bits des niedrigen Bytes dieses Produkts, und die folgenden Zeilen passen das Ergebnis für eine zweckmäßige Indexierung einer Tabelle mit 4 Byte Einträgen an. Dies entspricht einer Extrahierung der zweiten hexadezimalen Stelle von rechts, die 5 entspricht, sowie der Verwendung dieser als Relativzeiger in die vorstehend gegebene Tabelle. Bei einem Zählbeginn bei 0 befindet sich A4 bei dem fünften Eintrag in der Tabelle. Die anderen Kennungen erzeugen unter Verwendung dieser Formel ebenfalls Relativzeiger, wobei dies für eine vollkommene Hash- Funktion erforderlich ist; es gibt 12 Kennungen, wobei die Tabelle eine Länge von 16 Einträgen aufweist. Da 00 eine ungültige Kennung darstellt, werden ungenutzte Tabelleneinträge mit 00 gefüllt.
- Bei einer ausreichend großen Tabelle ist es immer möglich, eine vollkommene bzw. perfekte Hash-Funktion zu finden. Wenn die Kennungen zum Beispiel eine Länge von 8 Bits aufweisen, so kann die Kennung als eine Adresse in einer Tabelle mit 256 Einträgen verwendet werden. Abhängig von der Gruppe der Kennungen, für die eine Hash-Funktion gesucht wird, besteht allerdings keine Gewährleistung, daß eine perfekte Hash- Funktion für eine Tabelle entsprechender Größe gefunden wird. Wenn ferner etwa große räumliche Einschränkungen gegeben sind, so kann es wünschenswert sein, eine kleine Tabelle zu verwenden, die nicht alle erforderlichen Kennungen aufweist. In diesen Fällen können auf einfache Weise fest codierte Kontrollen für die wenigen Kennungen durchgeführt werden, die mit der gewünschten Hash-Funktion nicht funktionieren. Die lineare, kongruente Hash-Funktion funktioniert weiterhin außerordentlich gut mit ID-Listen aus realen Mikrocontroller- Anwendungen.
- In dem Flußdiagramm der Abbildung aus Fig. 2 wird die Umsetzung von Tabelle 2 in Software veranschaulicht. In dem Schritt 21 wird eine Kennung in ein Register geladen. Als nächstes wird das Register mit hex 5B multipliziert (Schritt 22) und 4 hinzu addiert (Schritt 23). Danach erfolgt in dem Schritt 24 eine UND-Verknüpfung des Registers mit hex F0, wodurch nur die oberen vier Bits oder die Tetrade des niederwertigen Bytes erhalten werden. Diese Bits stellen die Stelle dar, an der die Kennung gespeichert werden soll, wenn zum Beispiel die Tetrade 5 entspricht, so sollte die Kennung den sechsten Eintrag in der Tabelle darstellen (dabei wird davon ausgegangen, daß der erste Eintrag 0 ist). Danach muß der Versatz von dem Tabellenanfang errechnet werden. Somit muß die Tetrade mit der Größe des Eintrags, die vier Bytes entspricht, multipliziert werden. Da sich der Index in Schritt 24 weiterhin in der oberen Tetrade des niederwertigen Bytes befindet, wird das Register in dem Schritt 25 um zwei Bits nach rechts verschoben, an Stelle einer Division durch 16, gefolgt von einer Multiplikation mit 4. Dabei ergibt sich jedoch das gleiche Ergebnis. Der Registerinhalt weist jedoch jetzt die Verschiebung bzw. den Versatz von dem Tabellenanfang auf, wo die Kennung und die zugehörigen Daten gespeichert werden sollen.
- Sobald die Kennungen gespeichert sind, kann ein Mikroprozessor mit der Untersuchung der über das lokale Netzwerk übertragenen Nachrichtenkennungen beginnen und bestimmen, ob als Reaktion ein Ansprechverhalten vorgenommen werden muß. Die Abbildung aus Fig. 3 zeigt ein Flußdiagramm, in dem veranschaulicht wird, wie diese Bestimmung durchgeführt wird. Jeder Mikroprozessor untersucht die über das Netzwerk übertragene Nachrichtenkennung (Schritt 31). Als nächstes führt der Mikroprozessor an der Kennung die entsprechende Hash-Funktion aus (Schritt 32). Unter Verwendung der Ausgabe der Funktion als Versatzadresse vergleicht der Mikroprozessor die empfangene Nachrichtenkennung mit der an der Versatzadresse gespeicherten Nachrichtenkennung (Schritt 33). Wenn diese übereinstimmen, führt der Mikroprozessor die entsprechende Funktion aus (Schritt 34), wobei die Nachricht ansonsten ignoriert wird (Schritt 35).
- Wie dies aus Tabelle 3 ersichtlich ist, kann durch das lineare, kongruente Hash-Verfahren eine minimale perfekte Hash-Funktion für eine Fahrzeugsteuereinheit sowie nahezu minimale perfekte Hash-Funktionen für andere Module erzeugt werden. Die Spalten "Alle bis auf 2 fitted" und "Alle bis auf 1 fitted" zeigen, daß manchmal auch eine wesentlich kleinere Tabelle verwendet werden kann, wenn nicht alle Kennungen über die Hash-Funktion verarbeitet werden. Speziell gilt, daß eine Tabellengröße von 27 für eine perfekte Hash-Funktion erforderlich ist, wobei eine Tabellengröße von nur 18 für eine nahezu perfekte bzw. vollkommene Hash-Funktion erforderlich ist, die 16 der 18 Kennungen verarbeitet. TABELLE 3. Kleinste notwendige Tabellengröße für verschiedene Fit-Level unter Verwendung einer linearen, kongruenten Hash- Funktion
- Bei dem Beispielcode wird von einer Tabellengröße von 16 ausgegangen sowie von einer Datensatzgröße in Zweierpotenz. Diese Werte müssen generalisiert werden. Bei anderen Tabellengrößen in Zweierpotenz kann die UND-Funktion weiterhin für die Extrahierung von Index-Bits verwendet werden, wenn die Konstante in Zeile 5 aus Tabelle 2 so geändert wird, daß die Anzahl der extrahierten Bits log&sub2; (Tabellengröße) entspricht. Bei einer Tabellengröße von 32 muß die Konstante zum Beispiel $F8 lauten. Wenn die Tabellengröße keiner Zweierpotenz entspricht, so muß ein etwas umfangreicher Code verarbeitet werden, d.h. die Zeile 5 aus Tabelle 2 muß durch die folgenden Zeilen ersetzt werden:
- Wenn die Datensatzgröße keiner Zweierpotenz entspricht, so müssen die Zeilen 6 und 7 aus Tabelle 2 durch die folgenden Zeilen ersetzt werden:
- In bestimmten Situationen ist es möglich, diese beiden multiplikativen Operationen durch den Schritt der einmaligen Multiplikation mit der Konstanten TblSize * RecSize zu verknüpfen.
- Durch diese Generalisierungen werden der Hash-Funktion Anweisungen hinzugefügt. Andererseits kann möglicherweise eine Hash-Funktion gefunden werden, die einen oder mehrere Parameter aufweist, die Null entsprechen. In diesen Fällen können die Anweisungen, die diese Parameter implementieren, weggelassen werden.
- Dem Fachmann ist es bekannt, daß es neben den veranschaulichten Hash-Funktionen eine Vielzahl bekannter Hash-Funktionen gibt, die ebenfalls verwendet werden können. Eine weitere bekannte Hash-Funktion ist eine multiplikative exklusive ODER-Funktion ("XOR") mit:
- Index = (A * ID) B
- wobei die XOR-Operation darstellt. Für die Codierung dieser Funktion wird die ADD Anweisung aus Zeile 4 in Tabelle 2 einfach durch eine XOR Anweisung ersetzt. Die Wirksamkeit der multiplikativen XOR-Methode ist in Tabelle 5 dargestellt. TABELLE 5. Kleinste notwendige Tabellengröße für verschiedene Fit-Level unter Verwendung einer linearen, kongruenten Hash- Funktion
- Eine weitere Hash-Funktion wird als lineare, kongruente Funktion mit XOR bezeichnet. Dabei werden die Ideen der ersten beiden Funktionen verknüpft. Sie lautet:
- Index = (A * ID) B
- wobei die XOR Operation darstellt. Für die Codierung dieser Funktion wird die folgende Anweisung einfach nach Zeile 4 aus Tabelle 2 eingefügt.
- Diese Funktion ist effektiver als die lineare, kongruente Hash-Funktion und die multiplikative exklusive ODER-Hash- Funktion, wobei dies auf Kosten einer längeren Suchzeit sowie einer etwas längeren Ausführungszeit geht. Die Ergebnisse dieser Funktion bei einer Testdatenreihe sind nachstehend aufgeführt. TABELLE 6. Kleinste notwendige Tabellengröße für verschiedene Fit-Level unter Verwendung einer linearen, kongruenten Hash- Funktion mit XOR-Hash-Funktion
- Es muß noch eine weitere Hash-Funktion erwähnt werden, die reziproke Hash-Funktion. Diese Hash-Funktion weist verschiedene Nachteile auf:
- - Sie verwendet eine Divisionsanweisung, die bei Mikrocontrollern wesentlich seltener ist als die Multiplikationsanweisung.
- - Die Ausführung der Division braucht selbst wenn sie verfügbar ist länger als eine Multiplikation (41 Zyklen gegenüber 10 Zyklen in MC68HC11).
- - Es sind zwei Divisionen erforderlich, wenn die Tabellengröße keiner Zweierpotenz entspricht.
- - Sie ist höchstens so effektiv wie die einfacheren Hash- Funktionen.
- Die Funktion sollte allein schon deshalb erwähnt werden, weil sie in manchen Fällen nützlich ist. Diese Hash- Funktionstechnik wird in dem folgenden Artikel umfassend beschrieben: "Reciprocal Hashing: A Method for Generating Minimal Perfect Hashing Functions", von G. Jaeshke in Communications of the ACM, Ausgabe 24, Nummer 12 (Dezember 1981). Dieses Verfahren wird durch die folgende Gleichung beschrieben:
- Index = (A / ID) mod (Tabellengröße)
- Die MC68HC11 Umsetzung dieser Methode für eine Tabelle mit 16 Elementen ist in Tabelle 7 dargestellt.
- ; Valid.
- Länge,
- Kontroll-
- summe,
- usw. TABELLE 7. 68HC11 Code für die reziproke Hash-Funktion
- Wie dies in Tabelle 8 dargestellt ist, ist die Ermittlung perfekter Hash-Funktionen etwas weniger effektiv als bei der vorstehend beschriebenen linearen, kongruenten Funktion mit XOR-Methode. TABELLE 8. Kleinste notwendige Tabellengröße für verschiedene Fit-Level unter Verwendung einer reziproken Hash-Funktion
- Für die entsprechende Umsetzung der vorstehend beschriebenen Techniken ist ein Verfahren erforderlich, mit dem die geeigneten Hash-Funktionen ermittelt werden können. In den Abbildungen aus den Fig. 4 bis 7 wird ein Verfahren zur Ermittlung der geeigneten Parameterwerte für eine bestimmte Gruppe von Kennungen unter Verwendung einer linearen, kongruenten Hash-Funktion veranschaulicht.
- In Bezug auf die Abbildungen aus den Fig. 4 bis 7 werden die Parameterindizes A, B und der maximale Zählwert initialisiert (Schritt 41). A und B weisen letztendlich die geeigneten Parameter für die gegebene Gruppe von IDs auf. Die ganze Gruppe der Kennungen wird danach in ein Feld eingelesen (Schritte 42-44). A1 und B1 werden danach initialisiert (Schritt 47) und weisen die Parameterwerte auf, die geprüft werden. Danach wird die ganze Tabelle initialisiert, wobei alle Tabelleneinträge auf Null gesetzt werden (Schritte 48- 51). Unter Verwendung von Al und B1 als Parameterwerte und unter Verwendung jeder Kennung werden die Tabellenindizes unter Verwendung einer linearen, kongruenten Hash-Formel berechnet (Schritte 53-62). Wenn für einen Index der Tabelleneintrag gleich Null ist, so wird die Kennung in dem Tabelleneintrag gespeichert (Schritte 54-55) und gezählt. Wenn die Anzahl der gespeicherten Einträge größer ist als der gesamte Zählwert der unter Verwendung einer anderen Gruppe von Parameterwerten gespeicherten Kennungen, so wird A auf A1 und B auf B1 gesetzt, und der Zählwert wird gespeichert (Schritte 63-64). A1 wird danach erhöht (Schritt 65), die Tabelleneinträge werden erneut initialisiert (Schritte 48-51) und die Kennungen werden alle erneut geprüft (Schritte 53-62). Dies wird solange durchgeführt, bis A1 gleich 256 ist (Schritt 66). Danach wird A1 auf Null gesetzt und B1 wird erhöht (Schritt 71). Die Tabelleneinträge werden erneut initialisiert (Schritte 48-51) und die Kennungen werden geprüft (Schritte 53-62). Dieser Prozeß dauert solange an, bis alle möglichen Kombinationen der Werte für A1 und B1 geprüft worden sind. Nachdem alle Werte geprüft worden sind weisen A und B die besten Parameterwerte für eine lineare, kongruente Hash- Funktion auf.
- Der Fachmann erkennt, daß das Flußdiagramm aus den Fig. 4 bis 7 mit einigen Modifikationen auch für die anderen beschriebenen Hash-Funktionen verwendet werden kann.
- Die vorliegende Erfindung wurde vorstehend zwar speziell in Bezug auf bevorzugte Ausführungsbeispiele beschrieben und dargestellt, jedoch wird der Fachmann erkennen, daß verschiedene Abänderungen bezüglich der Ausführung und der Einzelheiten durchgeführt werden können, ohne dabei von dem in den Ansprüchen definierten Umfang der Erfindung abzuweichen.
Claims (11)
1. Steuersystem mit Bestandteilen sowie mit mindestens zwei
Verarbeitungseinheiten, die jeweils mit einer
Nachrichtenkennung identifizierte Nachrichten erzeugen, und
die einem Speicher (5) zugeordnet sind, der eine
Nachrichtenkennungstabelle speichert, welche die zugeordnete
Verarbeitungseinheit verarbeiten kann, wobei jede der in der
genannten Tabelle gespeicherten Nachrichtenkennungen eine
Eintragung in der genannten Tabelle darstellt, wobei die
genannten Verarbeitungseinheiten als ein lokales Netzwerk (25)
miteinander verbunden sind, das Nachrichten zwischen den
genannten Verarbeitungseinheiten überträgt, dadurch
gekennzeichnet, daß
es sich bei jeder der genannten Verarbeitungseinheiten um
einen Mikrocontroller (10) handelt, der so konfiguriert ist,
daß er der genannten Nachrichtenkennung jeder über das
genannte lokale Netzwerk (25) empfangenen Nachricht eine Hash-
Funktion zuweist, um einen Tabellenindex zu erzeugen, um den
entsprechenden jeweiligen Mikrocontroller (10) zu einem
bestimmten Eintrag in einer in dem genannten Speicher (5)
gespeicherten Tabelle zu leiten sowie zum Vergleichen des
genannten speziellen Eintrags mit der Nachrichtenkennung einer
der genannten empfangenen Nachrichten, die bereits mit der
genannten Hash-Funktion bearbeitet worden ist, wobei jeder der
genannten Mikrocontroller (10) Informationen zur Steuerung der
genannten Bestandteile des Steuersystems verarbeitet und die
genannten Nachrichten erzeugt, die sich auf einen
Steuerungszustand eines anderen der genannten Mikrocontroller
(10) bezieht, und wobei jeder der genannten Mikrocontroller
(10) auf die genannte empfangene Nachricht durch Verarbeitung
von Befehlen anspricht, die sich auf den genannten speziellen
Eintrag in der Tabelle beziehen, wenn der genannte spezielle
Eintrag in der Tabelle mit der Nachrichtenkennung
übereinstimmt, die durch die genannte Hash-Funktion bearbeitet
wird.
2. Steuersystem nach Anspruch 1, dadurch gekennzeichnet, daß
das lokale Netzwerk (25) und die Mikrocontroller (10) ein
fahrzeuginternes Steuersystem für ein Fahrzeug bilden.
3. Steuersystem nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß es sich bei der Hash-Funktion um eine
lineare kongruente Hash-Funktion handelt.
4. Steuersystem nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß es sich bei der Hash-Funktion um eine
multiplikative exklusive ODER-Hash-Funktion handelt.
5. Steuersystem nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß es sich bei der Hash-Funktion um eine
reziproke Hash-Funktion handelt.
6. Steuersystem nach Anspruch 1, dadurch gekennzeichnet, daß
jeder der Mikrocontroller (10) einen programmierten
Mikroprozessor aufweist.
7. Verfahren zur Steuerung von Nachrichten in einem lokalen
Netzwerk mit Verarbeitungseinheiten, wobei jede der genannten
Verarbeitungseinheiten zur Ausführung einer vorbestimmten
Funktion funktionsfähig ist und einem Speicher zugeordnet ist,
der eine Hash-Tabelle von Nachrichtenkennungen speichert, die
jeweils einen Eintrag in der Hash-Tabelle darstellen, und
wobei die Einheiten so konfiguriert sind, daß sie bestimmen,
ob eine in dem genannten lokalen Netzwerk übermittelte
Nachricht mit einer Nachrichtenkennung von einer anderen der
genannten Verarbeitungseinheiten zu verarbeiten ist,
gekennzeichnet durch
die Verarbeitung der genannten Nachrichten, wobei es sich
bei jeder der genannten Verarbeitungseinheiten um einen
Mikrocontroller handelt;
die Ausübung einer vordefinierten Hash-Funktion an der
genannten Nachrichtenkennung, sowie die Bestimmung eines Hash-
Tabellenindexes daraus;
die Verwendung der genannten vordefinierten Hash-Funktion
in Verbindung mit dem genannten Hash-Tabellenindex zur
Bestimmung eines Platzes in der genannten Hash-Tabelle;
das Vergleichen des genannten Eintrags, der an dem
genannten Platz gespeichert ist, mit der genannten
Nachrichtenkennung; und
die Ausführung der genannten vorbestimmten Funktion auf
der Basis von in dem Speicher gespeicherten Informationen, die
sich auf den Eintrag beziehen, wenn der genannte Eintrag und
die genannte Nachrichtenkennung, die durch die genannte
vordefinierte Hash-Funktion bearbeitet werden, identisch sind.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß es
sich bei der vordefinierten Hash-Funktion um eine lineare
kongruente Hash-Funktion handelt.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß es
sich bei der vordefinierten Hash-Funktion um eine
multiplikative exklusive ODER-Funktion handelt.
10. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß es
sich bei der vordefinierten Hash-Funktion um eine reziproke
Hash-Funktion handelt.
11. Verfahren nach einem der Ansprüche 7 bis 10, dadurch
gekennzeichnet, daß es sich bei dem lokalen Netzwerk um ein
fahrzeuginternes lokales Netzwerk handelt, das die
Funktionsweise eines Fahrzeugs steuert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/221,822 US5701418A (en) | 1994-03-31 | 1994-03-31 | Intra-vehicular LAN and method of routing messages along it using hash functions |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69506158D1 DE69506158D1 (de) | 1999-01-07 |
DE69506158T2 true DE69506158T2 (de) | 1999-06-24 |
Family
ID=22829545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69506158T Expired - Lifetime DE69506158T2 (de) | 1994-03-31 | 1995-03-30 | Fahrzeuglokalnetz und Nachrichtenleitweglenkungsverfahren |
Country Status (6)
Country | Link |
---|---|
US (1) | US5701418A (de) |
EP (1) | EP0675024B1 (de) |
JP (1) | JPH0895609A (de) |
AU (1) | AU676423B2 (de) |
CA (1) | CA2145916C (de) |
DE (1) | DE69506158T2 (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3043274B2 (ja) * | 1996-04-23 | 2000-05-22 | 株式会社ハーネス総合技術研究所 | 車載電子制御装置 |
JP3550460B2 (ja) * | 1996-04-25 | 2004-08-04 | 株式会社日立製作所 | サーバレスプラント監視・制御装置 |
FR2766641B1 (fr) * | 1997-07-22 | 1999-12-03 | Sextant Avionique | Procede et dispositif de reception de messages numeriques assurant un pretraitement de ces messages |
FR2766642B1 (fr) * | 1997-07-22 | 1999-11-19 | Sextant Avionique | Procede et dispositif de reception de messages numeriques assurant un pretraitement de ces messages configurable dynamiquement |
US6034957A (en) * | 1997-08-29 | 2000-03-07 | Extreme Networks, Inc. | Sliced comparison engine architecture and method for a LAN switch |
US6323565B1 (en) | 1998-09-29 | 2001-11-27 | Daimlerchrysler Corporation | Method and apparatus for operating a power liftgate in an automobile |
US6091162A (en) * | 1998-10-05 | 2000-07-18 | Chrysler Corporation | Method and apparatus for operating a power sliding door in an automobile |
US6075460A (en) * | 1998-09-29 | 2000-06-13 | Chrysler Corporation | Method for operating a power sliding door and a power liftgate using remote keyless entry system |
CA2280571A1 (en) * | 1998-11-30 | 2000-05-30 | Daimlerchrysler Corporation | J1850 application specific integrated circuit (asic) and messaging technique |
US6493813B1 (en) * | 1999-10-15 | 2002-12-10 | Neocore, Inc. | Method for forming a hashing code |
US6816881B1 (en) * | 2000-03-13 | 2004-11-09 | International Business Machines Corporation | Method and apparatus for inter-application communication in wireless networks |
US20050195743A1 (en) * | 2000-04-03 | 2005-09-08 | P-Cube Ltd. | Real time charging of pre-paid accounts |
DE50106624D1 (de) * | 2001-01-12 | 2005-08-04 | Vector Informatik Gmbh | Verfahren und Vorrichtung zur Relevanzprüfung eines Kennzeichners |
DE10121061B4 (de) * | 2001-04-28 | 2014-08-07 | Bayerische Motoren Werke Aktiengesellschaft | Überwachungsvorrichtung und Überwachungsverfahren |
DE10354517B4 (de) * | 2003-11-21 | 2008-11-27 | Daimler Ag | Verfahren zum Betreiben eines Sicherheits-Schließsystems |
US20060193328A1 (en) * | 2005-02-25 | 2006-08-31 | Ramana Rao | Network address filter including random access memory |
US7984018B2 (en) * | 2005-04-18 | 2011-07-19 | Microsoft Corporation | Efficient point-to-multipoint data reconciliation |
JP2006333438A (ja) * | 2005-04-28 | 2006-12-07 | Fujitsu Ten Ltd | ゲートウェイ装置及びルーティング方法 |
US7792877B2 (en) * | 2007-05-01 | 2010-09-07 | Microsoft Corporation | Scalable minimal perfect hashing |
US7996520B2 (en) | 2007-09-19 | 2011-08-09 | Cisco Technology, Inc. | Behavioral classification of communication sessions using active session initiation |
DE102015200955A1 (de) * | 2015-01-21 | 2016-07-21 | Continental Teves Ag & Co. Ohg | Verfahren zum Verarbeiten einer Fahrzeug-zu-X-Nachricht, elektronische Steuerungsvorrichtung und Speichermedium |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4104731A (en) * | 1976-06-14 | 1978-08-01 | Allen-Bradley Company | Asynchronous coupling of data between a word-oriented I/O module and the memory of a programmable controller |
US4517637A (en) * | 1983-04-21 | 1985-05-14 | Inconix Corporation | Distributed measurement and control system for industrial processes |
JPS60551A (ja) * | 1983-06-16 | 1985-01-05 | Hitachi Ltd | 自動車用データ伝送システム |
US4652853A (en) * | 1983-08-15 | 1987-03-24 | Honda Giken Kogyo Kabushiki Kaisha | Multiple communication system for vehicular bodies |
US4680700A (en) * | 1983-12-07 | 1987-07-14 | International Business Machines Corporation | Virtual memory address translation mechanism with combined hash address table and inverted page table |
EP0487503B1 (de) * | 1985-02-23 | 2000-01-26 | Hitachi, Ltd. | Kollektives Verkabelungssystem und Verfahren zum Steuern des Systems |
US4972367A (en) * | 1987-10-23 | 1990-11-20 | Allen-Bradley Company, Inc. | System for generating unsolicited messages on high-tier communication link in response to changed states at station-level computers |
JP2904283B2 (ja) * | 1989-05-22 | 1999-06-14 | マツダ株式会社 | 車両用多重伝送装置 |
US5095480A (en) * | 1989-06-16 | 1992-03-10 | Fenner Peter R | Message routing system for shared communication media networks |
US5053964A (en) * | 1989-07-17 | 1991-10-01 | Utdc, Inc. | On-board integrated vehicle control and communication system |
US5117458A (en) * | 1989-11-01 | 1992-05-26 | Hitachi, Ltd. | Secret information service system and method |
JP2511588B2 (ja) * | 1990-09-03 | 1996-06-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デ―タ処理ネットワ―ク、ロックを獲得させる方法及び直列化装置 |
DE4204383A1 (de) * | 1992-02-14 | 1993-08-26 | Peter Dipl Ing Samulat | Dezentral gesteuertes hochzuverlaessiges datentransportsystem, insbesondere zur anwendung in der industriellen automatisierungstechnik |
EP0559214A1 (de) * | 1992-03-06 | 1993-09-08 | Pitney Bowes Inc. | Ereignisgesteuertes Kommunikationsnetzwerk |
DE69324204T2 (de) * | 1992-10-22 | 1999-12-23 | Cabletron Systems, Inc. | Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers |
US5428526A (en) * | 1993-02-03 | 1995-06-27 | Flood; Mark A. | Programmable controller with time periodic communication |
-
1994
- 1994-03-31 US US08/221,822 patent/US5701418A/en not_active Expired - Lifetime
-
1995
- 1995-03-27 AU AU15093/95A patent/AU676423B2/en not_active Expired
- 1995-03-30 EP EP95104760A patent/EP0675024B1/de not_active Expired - Lifetime
- 1995-03-30 CA CA002145916A patent/CA2145916C/en not_active Expired - Lifetime
- 1995-03-30 DE DE69506158T patent/DE69506158T2/de not_active Expired - Lifetime
- 1995-03-31 JP JP7076491A patent/JPH0895609A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE69506158D1 (de) | 1999-01-07 |
CA2145916C (en) | 2005-08-16 |
US5701418A (en) | 1997-12-23 |
EP0675024A1 (de) | 1995-10-04 |
AU1509395A (en) | 1995-11-09 |
CA2145916A1 (en) | 1995-10-01 |
AU676423B2 (en) | 1997-03-06 |
JPH0895609A (ja) | 1996-04-12 |
EP0675024B1 (de) | 1998-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69506158T2 (de) | Fahrzeuglokalnetz und Nachrichtenleitweglenkungsverfahren | |
EP0576459B1 (de) | Verfahren zum aufbau von botschaften für den datenaustausch und/oder für die synchronisation von prozessen in datenverarbeitungsanlagen | |
DE3785832T2 (de) | Netzwerkanpassungseinrichtung zur verbindung eines lokalen netzes mit einem hauptnetz. | |
DE68925557T2 (de) | Verfahren zum Zugriff von Daten in einer Tabelle und seine Anwendung zum Lenken von Daten zwischen entfernten Stationen | |
DE3105199C2 (de) | Verfahren und System zur Übertragung von Datenpaketen | |
EP1069731B1 (de) | Netzwerk und Verfahren zum Austausch von Botschaften | |
EP2882145B1 (de) | Verfahren und Filteranordnung zum Speichern von Informationen über einen seriellen Datenbus eines Kommunikationsnetzwerks eingehender Nachrichten in einem Teilnehmer des Netzwerks | |
EP0177018A2 (de) | Verfahren zur Übermittlung von Daten | |
DE19652541A1 (de) | Nachrichtendatenflußdosierungsverfahren | |
DE2943149C2 (de) | Ringnetzwerk mit mehreren an eine Daten-Ringleitung angeschlossenen Prozessoren | |
DE69117482T2 (de) | Adressverwaltung für entfernte Stationen in einem schleifenförmigen digitalen Übertragungssystem | |
DE69207496T2 (de) | Verfahren und Vorrichtung zur Nachrichtenübertragungsverwaltung über ein Stromversorgungsnetz in einem Hausnetz | |
DE10317390A1 (de) | Datenübertragungseinrichtung und elektronische Steuereinheit | |
EP0719061A2 (de) | Verfahren und Anordnung zum Bilden von Routinginformationen in einem Kommunikationsnetz | |
EP1223725A1 (de) | Verfahren und Vorrichtung zur Relevanzprüfung eines Kennzeichners | |
DE19629868A1 (de) | Verfahren zur Übertragung binärer Daten und Schnittstellenbausteine zur Durchführung des Verfahrens | |
EP2597815B1 (de) | Verfahren zur identifikation von in einem kommunikationsnetzwerk zusammengefassten geräten | |
DE3718472C2 (de) | ||
EP0700007A2 (de) | Hash-Adressierungs- und Speicherverfahren zum Ablegen und Wiedergewinn von Daten in einem adressierbaren Speicher | |
DE60030186T2 (de) | Datenrepeater und Multiplexkommunikationssystem damit | |
DE10332203A1 (de) | Verteiltes Bayesnetz-basiertes Expertensystem zur Fahrzeugdiagnose und Funktions-Wiederherstellung | |
DE102015218890A1 (de) | Verfahren und Vorrichtung zum Generieren eines Ausgangsdatenstroms | |
DE112008002252B4 (de) | Sendevorrichtung, Sendeverfahren und Kommunikationssystem | |
EP1248430B1 (de) | Verfahren und Generierungsmodul zur Ermittlung von Filtermasken zur Relevanzprüfung von Kennzeichnern | |
DE102018221954A1 (de) | Recheneinrichtung und Verfahren zum Betreiben einer Recheneinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: CHRYSLER LLC (N.D.GES.D. STAATES DELAWARE), AU, US |
|
8380 | Miscellaneous part iii |
Free format text: PFANDRECHT |
|
8380 | Miscellaneous part iii |
Free format text: PFANDRECHT AUFGEHOBEN |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: CHRYSLER GROUP LLC (N.D.GES.D. STAATES DELAWAR, US |
|
8380 | Miscellaneous part iii |
Free format text: PFANDRECHT |