FR2949933A1 - METHOD AND DEVICE FOR FILTERING MESSAGES - Google Patents

METHOD AND DEVICE FOR FILTERING MESSAGES Download PDF

Info

Publication number
FR2949933A1
FR2949933A1 FR0956158A FR0956158A FR2949933A1 FR 2949933 A1 FR2949933 A1 FR 2949933A1 FR 0956158 A FR0956158 A FR 0956158A FR 0956158 A FR0956158 A FR 0956158A FR 2949933 A1 FR2949933 A1 FR 2949933A1
Authority
FR
France
Prior art keywords
value
field
identification field
message
data
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.)
Granted
Application number
FR0956158A
Other languages
French (fr)
Other versions
FR2949933B1 (en
Inventor
Vincent Sollier
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.)
PSA Automobiles SA
Original Assignee
Peugeot Citroen Automobiles SA
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 Peugeot Citroen Automobiles SA filed Critical Peugeot Citroen Automobiles SA
Priority to FR0956158A priority Critical patent/FR2949933B1/en
Priority to PCT/FR2010/051785 priority patent/WO2011030037A1/en
Publication of FR2949933A1 publication Critical patent/FR2949933A1/en
Application granted granted Critical
Publication of FR2949933B1 publication Critical patent/FR2949933B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/40006Architecture of a communication node
    • 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/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40234Local Interconnect Network LIN
    • 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 And Data Communications (AREA)

Abstract

Les messages reçus comprennent chacun au moins un champ d'identification (44) et un champ de données. Le dispositif de filtrage comprend : - une table (20) contenant un ensemble d'indicateurs directement adressables chacun par une première valeur donnée par le champ d'identification ; - des moyens de traitement du champ de données, activables par un premier niveau d'indicateur.The received messages each include at least one identification field (44) and a data field. The filtering device comprises: a table (20) containing a set of indicators directly addressable each by a first value given by the identification field; means for processing the data field, which can be activated by a first level of indicator.

Description

Procédé et dispositif de filtrage de messages   Method and device for filtering messages

Le domaine de l'invention est celui de la réception et du traitement de messages par différents noeuds d'un réseau de communication, assurant le contrôle et la commande d'organes en temps réel d'un système, notamment d'un système de véhicule automobile. L'invention concerne plus particulièrement le filtrage de messages reçus comprenant chacun au moins un 10 champ d'identification et un champ de données. On connaît déjà des procédés et dispositifs pour filtrer ce type de message en réception. Ainsi, le document US6,496,885 enseigne un procédé dans lequel une valeur de champ d'identification de 15 message est hachée pour de préférence en réduire la taille. La valeur obtenue est comparée à une pluralité d'indexes d'une table associative (look-up table dans le texte) qui indique les messages pertinents de façon à écarter le message si la table indique que le message 20 n'est pas pertinent et à insérer le message dans un tampon si la table indique que le message est pertinent. Seuls les messages contenus dans le tampon sont ensuite traités. Le temps nécessaire pour effectuer les nombreuses 25 opérations qui sont nécessitées dans l'état antérieur de la technique avant de traiter effectivement un message présente des problèmes de latence et de ressources matérielles. Pour remédier aux problèmes posés par l'état 30 antérieur de la technique, l'invention a pour objet un procédé de filtrage de messages reçus comprenant chacun au moins un champ d'identification et un champ de données. De façon remarquable, le procédé comprend une étape d'inspection activée par une réception du champ 35 d'identification, dans laquelle un indicateur est directement adressé par une première valeur donnée par le champ d'identification et une étape de traitement du champ de données, activée lorsque l'indicateur adressé est à un premier niveau. Le procédé est exécutable de manière matérielle, par exemple au moyen de circuits dédiés. Pour gagner en souplesse d'adaptation, le procédé est exécuté de manière logicielle. Particulièrement, l'indicateur est un bit appartenant à un mot binaire. Plus particulièrement, le mot binaire est adressé par une première sous valeur donnée par un premier segment du champ d'identification et ledit bit est adressé dans le mot binaire par une deuxième sous valeur donnée par un deuxième segment du champ d'identification. Avantageusement, le procédé comprend une étape de renseignement dans laquelle une deuxième valeur associée à la première valeur, est utilisée pour déclencher l'étape de traitement. Particulièrement, la deuxième valeur désigne un emplacement attribué au champ de données dans une 20 structure de données. Plus particulièrement, ledit emplacement détermine une opération à effectuer dans l'étape de traitement. L'invention a aussi pour objet un dispositif de filtrage de messages reçus comprenant chacun au moins un 25 champ d'identification et un champ de données. De façon remarquable, le dispositif comprend une table contenant un ensemble d'indicateurs directement adressable chacun par une première valeur donnée par le champ d'identification et des moyens de traitement du champ de 30 données, activables par un premier niveau d'indicateur. Pour en faciliter la fabrication et la maintenance, lesdits moyens comprennent un programme d'ordinateur. Particulièrement ladite table comprend des lignes dont chacune est un mot binaire et des colonnes 35 comprenant chacune un bit de même rang du mot binaire. Plus particulièrement, chaque mot binaire est adressable par une première sous valeur donnée par un premier segment du champ d'identification et chaque bit est adressable dans le mot binaire par une deuxième sous valeur donnée par un deuxième segment du champ d'identification. The field of the invention is that of the reception and the processing of messages by different nodes of a communication network, ensuring the control and the control of real-time organs of a system, in particular of a vehicle system. automobile. The invention relates more particularly to the filtering of received messages each comprising at least one identification field and one data field. Methods and devices for filtering this type of message in reception are already known. Thus, US6,496,885 teaches a method in which a message identification field value is hashed, preferably to reduce its size. The value obtained is compared with a plurality of indexes of an associative table (look-up table in the text) which indicates the relevant messages so as to spread the message if the table indicates that the message 20 is not relevant and to insert the message into a buffer if the table indicates that the message is relevant. Only the messages contained in the buffer are then processed. The time required to perform the many operations that are required in the prior art prior to actually processing a message presents problems of latency and material resources. In order to remedy the problems posed by the prior art, the subject of the invention is a method for filtering received messages each comprising at least one identification field and one data field. Remarkably, the method comprises an inspection step activated by a reception of the identification field, in which an indicator is directly addressed by a first value given by the identification field and a data field processing step. , activated when the addressed flag is at a first level. The method is executable in a material manner, for example by means of dedicated circuits. To gain flexibility of adaptation, the method is executed in a software manner. In particular, the indicator is a bit belonging to a binary word. More particularly, the binary word is addressed by a first sub value given by a first segment of the identification field and said bit is addressed in the binary word by a second sub value given by a second segment of the identification field. Advantageously, the method comprises an intelligence step in which a second value associated with the first value is used to trigger the processing step. Particularly, the second value refers to a location assigned to the data field in a data structure. More particularly, said location determines an operation to be performed in the processing step. The invention also relates to a device for filtering received messages each comprising at least one identification field and one data field. Remarkably, the device comprises a table containing a set of indicators directly addressable each by a first value given by the identification field and data field processing means, activatable by a first level of indicator. For ease of manufacture and maintenance, said means comprise a computer program. In particular, said table comprises lines each of which is a binary word and columns each comprising a bit of the same rank of the binary word. More particularly, each binary word is addressable by a first sub value given by a first segment of the identification field and each bit is addressable in the binary word by a second sub value given by a second segment of the identification field.

Avantageusement, le dispositif comprend un tableau comprenant une première colonne constituée par ladite table et des deuxièmes colonnes comprenant des cellules qui sont associées chacune à un indicateur différent. Particulièrement, chaque cellule associée à un indicateur de premier niveau, contient un pointeur vers un emplacement attribué au champ de données dans une structure de données. Plus particulièrement, ledit emplacement est représentatif d'une opération à effectuer pour traiter le 15 champ de données. L'invention sera mieux comprise, et d'autres buts, caractéristiques, détails et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative qui va suivre faite en référence aux dessins 20 schématiques annexés donnés uniquement à titre d'exemple illustrant plusieurs modes de réalisation de l'invention et dans lesquels : la figure 1 est une représentation schématique de réseau auquel s'applique l'invention ; 25 - la figure 2 est un tableau qui permet de mettre en oeuvre l'invention ; la figure 3 montre des étapes de procédé conforme à l'invention ; la figure 4 est une table qui permet de mettre 30 en oeuvre l'invention ; les figures 5 et 6 illustrent un mode de réalisation possible d'étapes de la figure 3. En référence à la figure 1, un réseau 30 comprend plusieurs noeuds 18, 19, 29, 36, 39, 49 reliés à un bus 35 38 sur lequel ils échangent des messages. Le protocole d'échange de messages sur le bus 38 est de type maître esclave. Un noeud maître, par exemple le noeud 18, émet des messages d'instructions sur le bus 38 qui sont traités par les autres noeuds 19, 29, 36, 39, 49, nommés noeuds esclaves lorsqu'ils sont concernés par ces messages. Un tel protocole permet de garantir les durées de communication sur le bus. Un réseau qui utilise le protocole d'échange de type maître esclave, est par exemple le réseau LIN (acronyme de l'expression anglaise Local Interconnect Network qui signifie réseau d'interconnexion locale). Ce type de réseau présente un intérêt pour interconnecter des organes de véhicule, notamment de véhicule automobile. Chaque noeud, semblable au noeud 36 représenté agrandi pour mieux en expliquer certains détails, comprend un microcontrôleur 31 relié au bus 38 par une liaison bidirectionnelle 37, une mémoire vive 33 de type RAM, une mémoire permanente 35 de type ROM, EEPROM ou autre, un ou plusieurs coupleurs d'entrées sorties 34 pour contrôler et/ou commander l'organe associé au noeud et un bus interne 32 qui relie entre eux les différents éléments 31 à 34 du noeud. Un message est une trame de bits comprenant une succession de champs. Un premier champ nommé Break contient de treize à vingt bits pour signaler l'émission du message sur le bus. Un deuxième champ nommé Synchro contient un octet pour synchroniser les horloges internes de chaque noeud. Ensuite, un champ d'identification contient un octet dont les six bits de poids faible identifient de manière unique la fonction sémantique du message dans le système piloté par les noeuds du réseau local. Six bits permettent de répertorier soixante-quatre fonctions sémantiques de message. Les deux bits de poids fort sont des bits de parité pour vérifier la valeur d'identifiant exprimée par les six bits de poids faible. Le champ d'identification est suivi par un champ de données qui contient de un à huit octets. Les données, à considérer dans leur acception la plus large, peuvent concerner tant des valeurs ou des noms de variables que des instructions de programme. Le champ de données constitue le corps du message (payload en anglais) Le message se termine enfin par un champ de contrôle de redondance cyclique CRC qui contient un octet pour détecter de manière connue certaines erreurs de transmission. Pour envoyer par exemple un ensemble prédéterminé de données du noeud 36 vers le noeud 39, le noeud maître 18 émet un message sur le bus 38 avec un identifiant tel que le noeud 36 se reconnaît être concerné pour écrire l'ensemble prédéterminé de données dans le champ de données et le noeud 39 se reconnaît être concerné pour lire l'ensemble prédéterminé de données dans le champ de données. Le contrôle de redondance cyclique est écrit dans le dernier champ du message par le noeud maître 18 ou par le noeud esclave 36 qui écrit dans le champ de données. Advantageously, the device comprises a table comprising a first column constituted by said table and second columns comprising cells which are each associated with a different indicator. In particular, each cell associated with a first level indicator contains a pointer to a location assigned to the data field in a data structure. More particularly, said location is representative of an operation to be performed to process the data field. The invention will be better understood, and other objects, features, details and advantages thereof will appear more clearly in the following explanatory description made with reference to the accompanying schematic drawings given solely by way of illustrative example. several embodiments of the invention and in which: Figure 1 is a schematic network representation to which the invention applies; FIG. 2 is a table which makes it possible to implement the invention; Figure 3 shows process steps according to the invention; Figure 4 is a table for implementing the invention; FIGS. 5 and 6 illustrate a possible embodiment of steps of FIG. 3. With reference to FIG. 1, a network 30 comprises several nodes 18, 19, 29, 36, 39, 49 connected to a bus 38 on which they exchange messages. The message exchange protocol on the bus 38 is of the master slave type. A master node, for example the node 18, issues instruction messages on the bus 38 which are processed by the other nodes 19, 29, 36, 39, 49, named slave nodes when they are concerned by these messages. Such a protocol makes it possible to guarantee the communication durations on the bus. A network that uses the slave master type exchange protocol, for example, is the LIN network (acronym for the local interconnect network). This type of network is of interest for interconnecting vehicle components, especially motor vehicles. Each node, similar to the node 36 shown enlarged to better explain certain details, comprises a microcontroller 31 connected to the bus 38 by a bidirectional link 37, a random access memory 33 of the RAM type, a permanent memory 35 of ROM, EEPROM or other type, one or more input-output couplers 34 for controlling and / or controlling the member associated with the node and an internal bus 32 which interconnects the various elements 31 to 34 of the node. A message is a bit frame comprising a succession of fields. A first field named Break contains thirteen to twenty bits to signal the transmission of the message on the bus. A second field named Synchro contains one byte to synchronize the internal clocks of each node. Then, an identification field contains a byte whose six low-order bits uniquely identify the semantic function of the message in the system controlled by the nodes of the local network. Six bits make it possible to list sixty-four semantic message functions. The two most significant bits are parity bits to check the identifier value expressed by the six least significant bits. The identification field is followed by a data field that contains one to eight bytes. The data, to be considered in their broadest sense, can concern both values or names of variables as program instructions. The data field constitutes the body of the message (payload in English) The message finally ends with a cyclic redundancy check field CRC which contains a byte to detect in known manner certain transmission errors. For example, to send a predetermined set of data from the node 36 to the node 39, the master node 18 transmits a message on the bus 38 with an identifier such that the node 36 recognizes itself to be concerned to write the predetermined set of data in the data field and the node 39 is recognized to be concerned to read the predetermined set of data in the data field. The cyclic redundancy check is written in the last field of the message by the master node 18 or by the slave node 36 which writes in the data field.

On notera que le noeud qui se reconnaît être concerné traite le champ de données en lecture ou en écriture à la suite de la réception du champ d'identification. Il est donc nécessaire que les noeuds se reconnaissent le plus rapidement possible être ou ne pas être concernés par le message de façon à réduire au maximum une suspension de transmission entre le champ d'identification et le champ de données. Chaque noeud comprend en mémoire permanente 35, un tableau 9 expliqué à présent en référence à la figure 2. It will be noted that the node that recognizes itself to be concerned processes the read or write data field following the reception of the identification field. It is therefore necessary that the nodes recognize themselves as quickly as possible to be or not be concerned by the message so as to minimize a suspension of transmission between the identification field and the data field. Each node comprises in permanent memory 35, a table 9 now explained with reference to FIG.

Chaque cellule du tableau est constituée d'un octet dont chacun des huit bits représentés par la variable x à deux niveaux, peut prendre la valeur 1 ou 0, indépendamment l'un de l'autre. La première colonne 20 constitue une table 35 expliquée à présent de manière plus détaillée en référence à la figure 4. Each cell of the array consists of a byte of which each of the eight bits represented by the variable x at two levels, can take the value 1 or 0, independently of one another. The first column 20 is a table 35 explained now in more detail with reference to FIG.

La première colonne ou table 20 comprend huit lignes indexables par un triplet 42 de trois bits qui codent des valeurs décimales allant de 0 à 7. Chaque ligne comprend huit bits indexables par un triplet 43 de trois bits qui codent des valeurs décimales allant de 0 à 7. On voit sur l'exemple illustré par la figure 4 que, sur réception d'un message avec un identificateur 44 de valeur hexadécimale OxA6, c'est-à-dire de valeur binaire 1010 0110, le couple 41 de deux bits de poids fort est écarté de façon à ne garder que les six bits de poids faible qui codent la valeur hexadécimale 0x26, c'est-à-dire la valeur binaire 100110. Une première sous valeur hexadécimale 0x04 donnée par un premier segment du champ d'identification pour réaliser le triplet 42, adresse directement le mot binaire de la quatrième ligne de la table 20 et qu'une deuxième sous valeur hexadécimale 0x06 donnée par un deuxième segment du champ d'identification adresse directement le bit noté x dont un niveau haut indique que le message est pertinent et un niveau bas le contraire. Revenant à la figure 2, des deuxièmes colonnes 21, 22, 23, 24, 25, 26, 27, 28, en nombre égal au nombre de bits dans les mots binaires de la colonne 20, ont le même nombre de lignes que la colonne 20 de sorte que chaque cellule des deuxièmes colonnes 21, 22, 23, 24, 25, 26, 27, 28, est associable avec un bit de la première colonne. Les étapes de procédé expliquées à présent en référence à la figure 3, sont exécutées par le processeur 31 de tout ou partie des noeuds 18, 19, 49 , 39, 29, 36 du réseau 30. Lorsqu'un message circule sur le bus 38, le passage du champ de signalisation Break , à l'image d'une sonnerie, valide une transition passive 67 qui déclenche une procédure de service d'interruption (ISR) en activant une étape 50 de réveil, dans chaque noeud. The first column or table comprises eight rows indexable by a triplet 42 of three bits which encode decimal values ranging from 0 to 7. Each line comprises eight bits indexable by a triplet 43 of three bits which encode decimal values ranging from 0 to 7. It can be seen from the example illustrated in FIG. 4 that, on receiving a message with an identifier 44 of hexadecimal value OxA6, that is to say of binary value 1010 0110, the pair 41 of two bits of weight is discarded so as to keep only the six least significant bits that encode the hexadecimal value 0x26, that is, the binary value 100110. A first hexadecimal value 0x04 given by a first segment of the field of identification to realize the triplet 42, directly addresses the binary word of the fourth row of the table 20 and a second hexadecimal sub value 0x06 given by a second segment of the identification field directly addresses the noted bit x of which a high level indicates that the message is relevant and a low level the opposite. Returning to FIG. 2, second columns 21, 22, 23, 24, 25, 26, 27, 28, in number equal to the number of bits in the binary words of column 20, have the same number of rows as the column. 20 so that each cell of the second columns 21, 22, 23, 24, 25, 26, 27, 28 is associable with a bit of the first column. The process steps explained now with reference to FIG. 3 are executed by the processor 31 of all or some of the nodes 18, 19, 49, 39, 29, 36 of the network 30. When a message is traveling on the bus 38 the passage of the Break signaling field, like a ringing tone, validates a passive transition 67 which triggers an interrupt service procedure (ISR) by activating a wake-up step 50 in each node.

Le passage du champ de synchronisation valide une transition passive 51 qui déclenche une étape 52 d'adaptation ou de génération d'horloge par résonance dans chaque noeud. The passage of the synchronization field validates a passive transition 51 which triggers a step 52 of adaptation or resonance clock generation in each node.

Le passage du champ d'identification valide une transition passive 53 qui déclenche une étape 54 d'inspection dans laquelle un indicateur est directement adressé par une première valeur donnée par le champ d'identification, sur le modèle par exemple de celui que nous avons expliqué ci-dessus en référence à la figure 4. On conçoit aisément de réaliser les étapes du procédé de manière matérielle à l'aide de registres et de portes logiques, l'exécution matérielle d'un procédé au moyen de circuits dédiés étant réputée rapide. The passage of the identification field validates a passive transition 53 which triggers an inspection step 54 in which an indicator is directly addressed by a first value given by the identification field, on the model for example of the one we have explained. above with reference to FIG. 4. It is easy to conceive of carrying out the steps of the method in a material manner using registers and logic gates, the material execution of a method by means of dedicated circuits being deemed fast.

L'invention permet de réaliser les étapes du procédé de manière logicielle à l'aide du processeur standard 31 de chaque noeud et d'un programme stocké en mémoire permanente 35, sans avoir à fabriquer de circuit dédié et en permettant une évolution plus souple. The invention makes it possible to carry out the steps of the method in a software manner using the standard processor 31 of each node and of a program stored in permanent memory 35, without having to fabricate a dedicated circuit and allowing a more flexible evolution.

De même que la formule chimique d'un corps en détermine le comportement dans son environnement physique, la première instruction informatique expliquée à présent, détermine le comportement du noeud dans le réseau en ce qui concerne l'accueil ou non d'un message pour le traiter. En langage C travaillant sur des octets, une expression possible de l'instruction est la suivante : Tableau[ identificateurSansParite 3 ][ 0 ] & (1 (identificateurSansParite&0x07)) Cette première instruction très compacte est exécutable en un nombre restreint de cycles de microprocesseur directement dans ses registres, de sorte que des performances en rapidité sont tout à fait concurrentielles avec celles que l'on peut espérer d'un circuit logique dédié. Just as the chemical formula of a body determines its behavior in its physical environment, the first computer instruction explained now determines the behavior of the node in the network with respect to whether or not a message is received for the message. treat. In C language working on bytes, a possible expression of the instruction is the following: Table [IdentifierSansParite 3] [0] & (1 (identifierSansParite & 0x07)) This first very compact instruction is executable in a limited number of microprocessor cycles directly in its registers, so that performances in speed are quite competitive with those that one can hope for a dedicated logic circuit.

L'évolution de l'état des registres est expliquée à présent en référence à la figure 5, en les nommant de manière sémantique pour en faciliter la compréhension. Il est bien entendu que le compilateur peut choisir d'autres voies sans rien modifier à l'invention. L'état 100 est celui de l'identificateur ID tel qu'il est reçu du champ d'identification avec ses huit bits de valeurs respectives a, b, c, d, e, f, g, h. Une transition active 101 préalable applique un masque de valeur hexadécimale Ox2F, c'est-à-dire de valeur binaire 00111111 à l'identificateur, de façon à conduire à l'état 102 dans lequel l'identificateur sans parité ISP codé sur huit bits avec ses deux bits de poids fort nuls, est l'image de l'identificateur sans ses bits de parité. Une transition active 103, codée identificateurSansParite 3 dans l'instruction en langage C, applique un décalage à droite de trois bits à l'identificateur sans parité ISP, de façon à conduire à l'état 104 dans lequel le contenu de registre ISPG codé sur huit bits avec ses cinq bits de poids fort nuls, est l'image du premier segment de l'identificateur comprenant les trois bits de valeurs f, e, d. Une transition active 105, codée Tableau[ISPG][0] dans l'instruction en langage C, retourne le mot binaire de la ligne de la table 20 adressée par les trois bits de valeurs f, e, d, de façon à conduire à l'état 106 dans lequel le contenu de registre BCG codé sur huit bits, contient le bit indicateur. Une transition active 107, codée identificateurSansParite & 0x07 dans l'instruction en langage C, applique un masque de valeur hexadécimale 0x07, c'est-à-dire de valeur binaire 00000111 à l'identificateur sans parité ISP, de façon à conduire à l'état 108 dans lequel le contenu de registre ISPD codé sur huit bits avec ses cinq bits de poids fort nuls, est l'image du deuxième segment de l'identificateur comprenant les trois bits de valeurs c, b, a. The evolution of the state of the registers is now explained with reference to Figure 5, naming them semantically to facilitate understanding. It is understood that the compiler can choose other ways without changing the invention. The state 100 is that of the identifier ID as it is received from the identification field with its eight bits of respective values a, b, c, d, e, f, g, h. A forward active transition 101 applies a hexadecimal value mask Ox2F, i.e., a binary value 00111111 to the identifier, so as to lead to the state 102 in which the 8-bit ISP-free identifier without parity with its two zero most significant bits, is the image of the identifier without its parity bits. An active transition 103, coded identifierSansParite 3 in the C language instruction, applies a three-bit right-shifted to the ISP-free identifier, so as to lead to the state 104 in which the ISPG register content encoded on eight bits with its five least significant bits, is the image of the first segment of the identifier comprising the three bits of values f, e, d. An active transition 105, coded as Table [ISPG] [0] in the C language instruction, returns the binary word of the row of the table 20 addressed by the three bits of values f, e, d, so as to lead to the state 106 in which the eight-bit encoded BCG register content contains the indicator bit. An active transition 107, coded identifierSansParite & 0x07 in the C language instruction, applies a hexadecimal value mask 0x07, i.e., binary value 00000111 to the identifier without parity ISP, so as to lead to the state 108 in which the ISPD register content encoded on eight bits with its five most significant bits zero, is the image of the second segment of the identifier comprising the three bits of values c, b, a.

Une transition active 109, codée 1 ISPD dans l'instruction en langage C, applique sur la valeur 00000001 un décalage à gauche d'un nombre de bit donné par le deuxième segment de l'identificateur de façon à conduire à l'état 110 dans lequel un masque BCD codé sur huit bits, contient des bits nuls à l'exception du bit de même rang que le bit indicateur qui est à 1. Une transition active 111, codée BCG & (BCD) dans l'instruction en langage C, applique sur le mot binaire de la ligne adressée dans la première colonne du tableau 9 par le segment gauche de l'identificateur sans parité, le masque dont le rang du seul bit à 1, est donné par le segment droit de l'identificateur sans parité. Ce qui conduit à l'état 112 dans lequel un mot Bit de huit bits a sept bits à zéro et un bit de niveau égal à celui du bit indicateur. Une transition active 113 teste si le mot Bit est de valeur nulle dont il résulte que le bit indicateur est de niveau nul. Ce qui conduit à l'état 114 dans lequel le message est écarté. Une transition active 115 teste si le mot Bit est de valeur non nulle dont il résulte que le bit indicateur est de niveau 1. Ce qui conduit à l'état 116 dans lequel le message est accueilli. An active transition 109, coded 1 ISPD in the instruction in language C, applies on the value 00000001 a left shift of a given number of bits by the second segment of the identifier so as to lead to the state 110 in which an eight-bit BCD mask contains null bits except for the bit of the same rank as the flag bit which is 1. An active transition 111, encoded BCG & (BCD) in the C language instruction, applies on the binary word of the line addressed in the first column of Table 9 by the left segment of the identifier without parity, the mask whose rank of the single bit at 1, is given by the right segment of the identifier without parity . This leads to the state 112 in which an eight bit bit word has seven bits at zero and a level bit equal to that of the indicator bit. An active transition 113 tests whether the word Bit is zero, which results in the indicator bit being zero. This leads to the state 114 in which the message is discarded. An active transition 115 tests whether the word Bit is non-zero value which results in the indicator bit being level 1. This leads to the state 116 in which the message is received.

A partir de l'étape 54 présentée en figure 3, seuls le ou les noeuds accueillant le message pour le traiter, continuent à exécuter la procédure de service d'interruption en passant la transition passive 57 pour déclencher tout ou partie des étapes 58 à 66 pour traiter la suite du message. Les autres noeuds écartant le message passent la transition passive 55 pour vaquer à d'autres occupations en attendant le prochain message qui validera la transition 67. From step 54 shown in FIG. 3, only the node or nodes receiving the message to process it, continue to execute the interrupt service procedure by passing the passive transition 57 to trigger all or part of the steps 58 to 66. to process the rest of the message. The other nodes discarding the message pass the passive transition 55 to go to other occupations while waiting for the next message that will validate the transition 67.

La transition 57 déclenche une étape de renseignement 58 dans laquelle une deuxième valeur associée à la première valeur, est utilisée au déclenchement d'une étape de traitement 60 ou 64 qui est activée lorsque l'indicateur adressé est au premier niveau 1. Une deuxième instruction informatique accède aux deuxièmes colonnes du tableau 9 de façon à déterminer le comportement interne du noeud pour traiter le message accueilli. En langage C travaillant sur des octets, une expression possible de l'instruction est la suivante : EmplacementMessage=Tableau[identificateurSansParite 3][(identificateurSansParite&0x07)+1] Cette deuxième instruction informatique très compacte, est expliquée à présent à l'aide de la figure 6. Le passage de l'état 100 qui correspond à la réception du champ d'identification à deux états 104 et 108 dans lesquels le premier segment et le deuxième segment du champ d'identification sont reproduits sur les bits de poids faible de respectivement deux mots ISPG et ISPD, est identique à celui de la figure 5. The transition 57 triggers an intelligence step 58 in which a second value associated with the first value is used at the initiation of a processing step 60 or 64 which is activated when the addressed flag is at the first level 1. A second instruction Computer accesses the second columns of Table 9 to determine the internal behavior of the node to process the greeted message. In C language working on bytes, a possible expression of the instruction is: MessagePosition = Table [IdentifierSoutBar 3] [(IdentifierSansParite & 0x07) +1] This second very compact computer instruction, is now explained using the FIG. 6. The transition from the state 100 corresponding to the reception of the two-state identification field 104 and 108 in which the first segment and the second segment of the identification field are reproduced on the least significant bits of respectively two words ISPG and ISPD, is identical to that of Figure 5.

Une transition active 121 utilise cette fois le deuxième segment, non pas pour adresser un bit dans la première colonne du tableau neuf mais pour adresser une deuxième colonne en incrémentant le deuxième segment de façon à pointer au-delà de la première colonne. L'état 122 auquel conduit la transition 121, donne une deuxième valeur qui est associée au bit indicateur car adressée sur une même ligne du tableau 9 et dans une colonne de même rang parmi les deuxièmes colonnes que le bit indicateur dans la première colonne. Active transition 121 this time uses the second segment, not to address a bit in the first column of table nine, but to address a second column by incrementing the second segment so as to point beyond the first column. The state 122 to which the transition 121 leads, gives a second value which is associated with the indicator bit because addressed on the same row of Table 9 and in a column of the same rank among the second columns as the indicator bit in the first column.

La deuxième valeur peut concerner tout paramètre utile pour le traitement du message comme par exemple la longueur du champ de données qui suit le champ d'identification. De préférence, la deuxième valeur concerne l'emplacement réservé au champ de données dans une structure de données qui est rangée dans la mémoire vive 33 du noeud. La longueur du champ de données résulte alors de l'architecture de la structure de données. Une transition passive 59, validée lorsque la deuxième valeur indique une demande de lecture, déclenche une étape 60 dans laquelle le noeud inscrit les données à lire dans le champ de données, à la suite du champ d'identification, puis le code de redondance cyclique, lui aussi disponible dans la structure de donnée ou calculé à la volée, dans le champ CRC. A l'issue de l'étape 60, le procédé se remet en attente du prochain message en amont de la transition passive 67. Une transition passive 61, validée lorsque la deuxième valeur indique une demande d'écriture, place le noeud en amont d'une transition passive 63 validée par chaque passage d'un octet de données. La transition 63 déclenche une étape 64 dans laquelle le noeud inscrit l'octet de données à l'emplacement indiqué dans la structure de données en tenant compte des octets éventuellement déjà inscrits. Le procédé est replacé en aval de la transition 61 à l'issue de l'étape 64 de sorte qu'une réception d'un nouvel octet de données déclenche à nouveau l'étape 64. En aval de la transition 61, une transition 65 est validée par le passage du code de redondance cyclique (CRC) sur le bus 38. La transition 65 déclenche une étape 66 dans laquelle le noeud calcule le CRC des octets inscrits en mémoire et le compare au CRC reçu dans le champ de redondance cyclique de façon à vérifier la validité des données inscrites. A l'issue de l'étape 66, le procédé se remet en attente du prochain message en amont de la transition passive 67. Nous avons décrit ci-dessus un exemple d'instructions essentielles codées en langage C. Il va de soi que de telles instructions peuvent être codées dans d'autres langages tels que, à titre purement illustratif et non limitatif, le langage C++ ou le langage Java TM La transcription du procédé de l'invention dans un programme d'ordinateur au moyen d'un langage de programmation, offre de nombreux avantages. Il suffit de télécharger le programme dans le noeud 5 pour y mettre en oeuvre le procédé de l'invention sans avoir à modifier matériellement le noeud. Un codage unique en langage source de haut niveau tel que C ou autre, des transitions et étapes du procédé qui vient d'être décrit, permet de mettre en oeuvre le 10 procédé sur des noeuds de technologies différentes pour chacune desquelles une compilation du programme source adaptée à la technologie, génère le programme objet qui convient. Une simple réécriture de programme source suivie 15 d'une compilation, permet de faire évoluer le réseau ou un noeud du réseau en téléchargeant par exemple les octets constituant le programme objet dans des champs de données de messages. L'exemple de mise en oeuvre présenté ci-dessus, est 20 basé sur des mots de huit bits. Des modifications mineures, par exemple en changeant dans le programme source, les valeurs des décalages et des masques, permettent de passer à des mots de seize, trente deux bits ou autres sans difficultés majeures. 25 Mises à part les instructions propres aux étapes 54 et 58 qui présentent une certaine originalité dans le cadre de l'invention, les instructions logicielles propres aux autres étapes relèvent de la programmation classique. 30 Une alternative de pseudo code en langage C avec commentaires, est présentée en annexe 1. D'autres instructions de codage des étapes 54 à 66 peuvent être envisagées sans sortir du cadre de la présente invention. 35 En résumé, la première partie d'exploitation du champ d'identification au moyen de la table 20 représentée en figure 4, permet de filtrer les messages en réception. La table 20 est suffisante au filtrage des messages en réception sur un calculateur. Les colonnes 21 à 28, rajoutées en référence à la figure 2, permettent de connaître directement l'emplacement des messages en mémoire du calculateur, de sorte que l'absence de recherche en mémoire de la position des données du message procure un gain de temps. Lorsque le protocole de communication est moins exigeant en termes de performances de rapidité ou lorsqu'une abondance d'identifiants conduirait à des besoins en mémoire permanente de type ROM déraisonnables, il est alors possible d'utiliser uniquement la première table 20 et de rechercher ensuite l'emplacement des données dans la mémoire du microprocesseur. On économise ainsi une grande partie des données stockées en mémoire à accès en lecture seule (ROM). On économise aussi du temps processeur car la recherche dans la mémoire RAM n'a lieu que si le calculateur est concerné par le message. The second value may relate to any parameter useful for the processing of the message, such as, for example, the length of the data field that follows the identification field. Preferably, the second value relates to the location reserved for the data field in a data structure that is stored in the random access memory 33 of the node. The length of the data field then results from the architecture of the data structure. A passive transition 59, validated when the second value indicates a read request, triggers a step 60 in which the node writes the data to be read in the data field, following the identification field, then the cyclic redundancy code. , also available in the data structure or calculated on the fly, in the CRC field. At the end of step 60, the method resumes waiting for the next message upstream of the passive transition 67. A passive transition 61, validated when the second value indicates a write request, places the node upstream of a passive transition 63 validated by each passage of a byte of data. The transition 63 triggers a step 64 in which the node writes the data byte to the location indicated in the data structure, taking into account the possibly already inscribed bytes. The process is relocated downstream of the transition 61 at the end of the step 64 so that reception of a new data byte triggers again the step 64. Downstream of the transition 61, a transition 65 is enabled by the passing of the cyclic redundancy code (CRC) on the bus 38. The transition 65 triggers a step 66 in which the node calculates the CRC of the bytes registered in memory and compares it with the CRC received in the cyclic redundancy field of to verify the validity of the data entered. At the end of step 66, the method resumes waiting for the next message upstream of the passive transition 67. We have described above an example of essential instructions coded in language C. It goes without saying that such instructions may be encoded in other languages such as, for purely illustrative and non-limiting purposes, the C ++ language or the Java TM language The transcription of the method of the invention in a computer program using a language of programming, offers many benefits. Just download the program in the node 5 to implement the method of the invention without having to physically change the node. A unique coding in high level source language such as C or other, transitions and steps of the method just described, makes it possible to implement the method on nodes of different technologies for each of which a compilation of the source program adapted to the technology, generates the appropriate object program. A simple source program rewrite followed by a compilation allows the network or a node of the network to evolve by downloading, for example, the bytes constituting the object program into message data fields. The implementation example presented above is based on eight-bit words. Minor modifications, for example by changing the source program, the values of the offsets and masks, make it possible to switch to words of sixteen, thirty two bits or others without major difficulties. Apart from the instructions specific to steps 54 and 58 which have a certain originality in the context of the invention, the software instructions specific to the other steps fall within the traditional programming. An alternative C-type pseudo code with comments is presented in Appendix 1. Other coding instructions of steps 54 to 66 may be contemplated without departing from the scope of the present invention. In summary, the first operating part of the identification field by means of the table 20 represented in FIG. 4 makes it possible to filter the messages in reception. The table 20 is sufficient to filter messages received on a computer. The columns 21 to 28, added with reference to FIG. 2, make it possible to directly know the location of the messages in the computer's memory, so that the absence of a search in memory of the position of the data of the message provides a saving of time. . When the communication protocol is less demanding in terms of speed performance or when an abundance of identifiers would lead to unreasonable ROM-type permanent memory requirements, it is then possible to use only the first table 20 and then search for the location of the data in the microprocessor memory. This saves much of the data stored in read-only memory (ROM). It also saves processor time because the search in the RAM memory takes place only if the computer is concerned by the message.

Annexe 1 Annex 1

void LIN_InterruptServiceRoutine(void) // ISR UART du microcontroleur { // Vérification en réception des octets sur le bus LIN switch( LD08Word8Field ) { case LD08_SYNCHRO : // cas de réception de l'octet de 10 synchro ... // traitement pour l'octet break; // void LIN_InterruptServiceRoutine (void) // ISR UART microcontroller {// Checking receiving bytes on the bus LIN switch (LD08Word8Field) {case LD08_SYNCHRO: // case of receiving the byte of 10 sync ... // processing for the break byte; //

15 // Après réception de cet octet, il faut déterminer rapidement si le message doit être traité par le calculateur // 2 types de message en LIN : Message en écriture -> le maître du réseau génère tous 20 les octets de la trame -> l'esclave si il est concerné par le message doit écrire les données dans sa RAM Message en lecture -> l'esclave répond au maître du réseau après l'identifiant (il génère les données et le CRC) 25 case LD08_ID : // cas de réception de l'octet identifiant // Une ligne de code très rapide pour savoir si le message doit être traité par le calculateur if( 30 Com TWord8 MatriceFiltreIdNoCanal[LD08 m IdHigh3Bits(ch) ] [0] & (1 LD08_m_IdLow3Bits(ch)) ) { // Maintenant que l'on sait que le message doit être 35 interprété par le calculateur // On doit savoir si le message est en écriture -> réception des datas par le calculateur OU en lecture génération (transmission) des datas + CRC sur le bus par le calculateur // Les colonnes 1 à 8 nous permettent de connaître l'emplacement du message en RAM // Cela nous permet de connaitre le type de message (écriture OU lecture) // Dans le cas d'un message en écriture -> on connait l'emplacement en RAM et la taille des données à recevoir (gain de temps pas de recherche et pas de bufferisation dans une fifo) // Dans le cas d'un message en lecture -> on connait l'emplacement du message et donc les octets à transmettre (gain de temps pas de recherche ) noCanal = Com TWord8 MatriceFiltreIdNoCanal[ LD08_m_IdHigh3Bits(ch) ][LD08_m_IdLow3Bits(ch)+1]; // les 64 octets (les colonnes 1 à 8) permettent de connaitre l'emplacement des messages (en RAM) à traiter et donc le type de message (écriture OU lecture), la longueur du message (à recevoir ou à générer) ... // traitement // Le message est en écriture ? if( Com si MsgLin[noCanal].Type & LD08_CFG MSG_WRITE ) { ... // traitement } // Le message est en lecture ? else LD08_CFG MSG_READ { ... // traitement } } else // le calculateur n'est pas concerné par le message { ... // traitement } break; case LD08_DATA : // cas de réception de(s) octet(s) de donnée (s) ... // traitement pour l'octet break; case LD08_CRC : // cas de réception de l'octet du CRC ... // traitement pour l'octet 10 break; } 15 // After receiving this byte, it is necessary to quickly determine if the message is to be processed by the computer // 2 types of message in LIN: Write message -> the master of the network generates all 20 bytes of the frame -> the slave if it is concerned by the message must write the data in its RAM Read message -> the slave responds to the master of the network after the identifier (it generates the data and the CRC) 25 box LD08_ID: // case to receive the identifying byte // A very fast code line to know if the message must be processed by the if calculator (30 Com TWord8 FiltridgeIdNoChannel [LD08 m IdHigh3Bits (ch)] [0] & (1 LD08_m_IdLow3Bits (ch) )) {// Now that we know that the message must be interpreted by the calculator // We must know if the message is in writing -> reception of the data by the calculator OR read generation (transmission) of the datas + CRC on the bus by the calculator // Columns 1 to 8 no us to know the location of the message in RAM // This allows us to know the type of message (write OR read) // In the case of a message in writing -> one knows the location in RAM and the size data to receive (time saving no search and no bufferization in a FIFO) // In the case of a message in read -> we know the location of the message and therefore the bytes to be transmitted (time saving not noCanal = Com TWord8 FilterModelIdNoChannel [LD08_m_IdHigh3Bits (ch)] [LD08_m_IdLow3Bits (ch) +1]; // the 64 bytes (columns 1 to 8) allow to know the location of the messages (in RAM) to be processed and therefore the type of message (write OR read), the length of the message (to receive or to generate). .. // processing // The message is in writing? if (Com if MsgLin [noCanal] .Type & LD08_CFG MSG_WRITE) {... // process} // The message is playing? else LD08_CFG MSG_READ {... // process}} else // the calculator is not affected by the message {... // process} break; case LD08_DATA: // case of receipt (s) byte (s) of data (s) ... // treatment for the byte break; case LD08_CRC: // case of reception of the byte of the CRC ... // processing for the byte 10 break; }

Claims (14)

REVENDICATIONS1. Procédé de filtrage de messages reçus comprenant chacun au moins un champ d'identification et un champ de 5 données, caractérisé en ce qu'il comprend : une étape (54) d'inspection activée par une réception du champ d'identification, dans laquelle un indicateur est directement adressé par une première valeur donnée par le champ 10 d'identification ; une étape (60, 64) de traitement du champ de données, activée lorsque l'indicateur adressé est à un premier niveau. REVENDICATIONS1. Method for filtering received messages each comprising at least one identification field and a data field, characterized in that it comprises: an inspection step (54) activated by a reception of the identification field, in which an indicator is directly addressed by a first value given by the identification field; a data field processing step (60, 64), activated when the addressed flag is at a first level. 2. Procédé selon la revendication 1, caractérisé en 15 ce qu'il est exécuté de manière logicielle. 2. Method according to claim 1, characterized in that it is executed in software. 3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'indicateur est un bit appartenant à un mot binaire. 3. Method according to any one of the preceding claims, characterized in that the indicator is a bit belonging to a binary word. 4. Procédé selon la revendication 3, caractérisé en 20 ce que ledit mot binaire est adressé par une première sous valeur donnée par un premier segment du champ d'identification et en ce que ledit bit est adressé dans le mot binaire par une deuxième sous valeur donnée par un deuxième segment du champ d'identification. 25 4. Method according to claim 3, characterized in that said binary word is addressed by a first sub-value given by a first segment of the identification field and in that said bit is addressed in the binary word by a second sub-value. given by a second segment of the identification field. 25 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape (58) de renseignement dans laquelle une deuxième valeur associée à la première valeur, est utilisée pour déclencher l'étape de traitement. 30 5. Method according to any one of the preceding claims, characterized in that it comprises an information step (58) in which a second value associated with the first value is used to trigger the processing step. 30 6. Procédé selon la revendication 5 caractérisé en ce que la deuxième valeur est un emplacement attribué au champ de données dans une structure de données. 6. The method of claim 5 characterized in that the second value is a location assigned to the data field in a data structure. 7. Procédé selon la revendication 6 caractérisé en ce que ledit emplacement détermine une opération à 35 effectuer dans l'étape de traitement. 7. The method of claim 6 characterized in that said location determines an operation to be performed in the processing step. 8. Dispositif de filtrage de messages reçus comprenant chacun au moins un champ d'identification et un champ de données, caractérisé en ce qu'il comprend : une table (20) contenant un ensemble d'indicateurs directement adressable chacun par une première valeur donnée par le champ d'identification ; des moyens (31, 33, 35) de traitement du champ de données, activables par un premier niveau d'indicateur. 8. Device for filtering received messages each comprising at least one identification field and a data field, characterized in that it comprises: a table (20) containing a set of indicators directly addressable each by a given first value by the identification field; means (31, 33, 35) for processing the data field, activatable by a first level of indicator. 9. Dispositif selon la revendication 8, caractérisé en ce que lesdits moyens (35) comprennent un programme d'ordinateur. 9. Device according to claim 8, characterized in that said means (35) comprise a computer program. 10. Dispositif selon l'une quelconque des revendications 8 ou 9, caractérisé en ce que ladite table (20) comprend des lignes dont chacune est un mot binaire et des colonnes comprenant chacune un bit de même rang du mot binaire. 10. Device according to any one of claims 8 or 9, characterized in that said table (20) comprises lines each of which is a binary word and columns each comprising a bit of the same rank of the binary word. 11. Dispositif selon la revendication 10, caractérisé en ce que chaque mot binaire est adressable par une première sous valeur donnée par un premier segment du champ d'identification et en ce que chaque bit est adressable dans le mot binaire par une deuxième sous valeur donnée par un deuxième segment du champ d'identification. 11. Device according to claim 10, characterized in that each binary word is addressable by a first sub value given by a first segment of the identification field and in that each bit is addressable in the binary word by a second given sub value. by a second segment of the identification field. 12. Dispositif selon l'une quelconque des revendications 8 à 11, caractérisé en ce qu'il comprend un tableau (9) comprenant une première colonne constituée par ladite table (20) et des deuxièmes colonnes (21-28) comprenant des cellules qui sont associées chacune à un indicateur différent. 12. Device according to any one of claims 8 to 11, characterized in that it comprises a table (9) comprising a first column constituted by said table (20) and second columns (21-28) comprising cells which are each associated with a different indicator. 13. Dispositif selon la revendication 12 caractérisé en ce que chaque cellule associée à un indicateur de premier niveau, contient un pointeur vers un emplacement attribué au champ de données dans une structure de données. Device according to claim 12, characterized in that each cell associated with a first level indicator contains a pointer to a location assigned to the data field in a data structure. 14. Dispositif selon la revendication 13 caractérisé en ce que ledit emplacement est représentatif d'une opération à effectuer pour traiter le champ de données. 14. Device according to claim 13 characterized in that said location is representative of an operation to be performed to process the data field.
FR0956158A 2009-09-09 2009-09-09 METHOD AND DEVICE FOR FILTERING MESSAGES Expired - Fee Related FR2949933B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0956158A FR2949933B1 (en) 2009-09-09 2009-09-09 METHOD AND DEVICE FOR FILTERING MESSAGES
PCT/FR2010/051785 WO2011030037A1 (en) 2009-09-09 2010-08-27 Method and device for filtering messages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0956158A FR2949933B1 (en) 2009-09-09 2009-09-09 METHOD AND DEVICE FOR FILTERING MESSAGES

Publications (2)

Publication Number Publication Date
FR2949933A1 true FR2949933A1 (en) 2011-03-11
FR2949933B1 FR2949933B1 (en) 2012-03-30

Family

ID=42119911

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0956158A Expired - Fee Related FR2949933B1 (en) 2009-09-09 2009-09-09 METHOD AND DEVICE FOR FILTERING MESSAGES

Country Status (2)

Country Link
FR (1) FR2949933B1 (en)
WO (1) WO2011030037A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014008893A1 (en) * 2012-07-10 2014-01-16 Trinamic Motion Control Gmbh & Co. Kg Method for serial data transmission

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496885B1 (en) * 1999-07-14 2002-12-17 Deere & Company Method for processing network messages
US6697756B2 (en) * 2001-04-07 2004-02-24 Vector Informatik Gmbh Method and a generating module for determining filter masks for relevance testing of identifiers
US7006941B2 (en) * 2001-01-12 2006-02-28 Vector Informatik Gmbh Methods and devices for the relevancy testing of an identifier
EP2061215A1 (en) * 2007-11-17 2009-05-20 Vector Informatik GmbH Test module and test method for relevance testing of an identifier

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496885B1 (en) * 1999-07-14 2002-12-17 Deere & Company Method for processing network messages
US7006941B2 (en) * 2001-01-12 2006-02-28 Vector Informatik Gmbh Methods and devices for the relevancy testing of an identifier
US6697756B2 (en) * 2001-04-07 2004-02-24 Vector Informatik Gmbh Method and a generating module for determining filter masks for relevance testing of identifiers
EP2061215A1 (en) * 2007-11-17 2009-05-20 Vector Informatik GmbH Test module and test method for relevance testing of an identifier

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014008893A1 (en) * 2012-07-10 2014-01-16 Trinamic Motion Control Gmbh & Co. Kg Method for serial data transmission

Also Published As

Publication number Publication date
FR2949933B1 (en) 2012-03-30
WO2011030037A1 (en) 2011-03-17

Similar Documents

Publication Publication Date Title
US7949683B2 (en) Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph
US20090138494A1 (en) Deterministic finite automata (DFA) graph compression
FR2617304A1 (en) PROGRAMMABLE INPUT / OUTPUT SEQUENCER FOR INPUT / OUTPUT PROCESSOR
FR2645663A1 (en) METHODS AND CIRCUITS FOR MANAGING A STORED CELL
EP1710703A1 (en) Cache consistency in a shared-memory multiprocessor system
WO2013156716A1 (en) System and method for managing cache coherence in a network of processors provided with cache memories
WO2018046850A1 (en) Methods and devices for bypassing the internal cache of an advanced dram memory controller
FR3021429A1 (en) MATERIAL SYNCHRONIZATION BARRIER BETWEEN TREATMENT ELEMENTS
WO2021067818A2 (en) Methods and apparatus for fabric interface polling
CA2348069A1 (en) Multi-resource architecture management system and method
FR2763712A1 (en) INSTRUMENTATION DEVICE FOR MACHINE WITH NON-UNIFORM ACCESS MEMORY
EP2088511A1 (en) Multiprocessor computing system
US9817594B2 (en) System and method for broadcasting data to multiple hardware forwarding engines
FR3038188A1 (en) SYSTEM FOR VERIFYING THE INTEGRITY OF A COMMUNICATION BETWEEN TWO CIRCUITS
EP3217290A1 (en) System on chip and method for data exchange between calculation nodes of such a system on chip
FR2949933A1 (en) METHOD AND DEVICE FOR FILTERING MESSAGES
EP2507712B1 (en) System for direct data transfer between memories of plurality of elements of this system
EP0822495B1 (en) Ticket distribution in a multinode computer system
EP0557197B1 (en) Access time sharing system to a memory shared by a processor and other applications
EP0555138A1 (en) Method, system and processor for communications between a plurality of equipment subsystems
FR2896601A1 (en) Reverse polish notation processing device for e.g. microprocessor, has stack manager and multiplexers managing content of stack such that content of stage of stack is stored in cache memory and content of other stages is stored in RAM
CN117422556B (en) Derivative transaction system, device and computer medium based on replication state machine
US20230176932A1 (en) Processor, information processing apparatus, and information processing method
EP1679608A2 (en) Design procedure for a DMA-compatible peripheral device
FR2805372A1 (en) Write pipelining with global ordering in mulipath multiprocessor systems with a single input-output device, uses bus adapters controlling access to an operation queue which is used to control operation sequence

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140530