FR2982066A1 - METHOD FOR COMPENSATING THE CORRUPTION OF A MEMORY OF AN ELECTRONIC COMPUTER - Google Patents

METHOD FOR COMPENSATING THE CORRUPTION OF A MEMORY OF AN ELECTRONIC COMPUTER Download PDF

Info

Publication number
FR2982066A1
FR2982066A1 FR1159850A FR1159850A FR2982066A1 FR 2982066 A1 FR2982066 A1 FR 2982066A1 FR 1159850 A FR1159850 A FR 1159850A FR 1159850 A FR1159850 A FR 1159850A FR 2982066 A1 FR2982066 A1 FR 2982066A1
Authority
FR
France
Prior art keywords
memory
computers
computer
data
identifier
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
FR1159850A
Other languages
French (fr)
Other versions
FR2982066B1 (en
Inventor
Nicolas Santiago
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 FR1159850A priority Critical patent/FR2982066B1/en
Priority to PCT/FR2012/052413 priority patent/WO2013060972A1/en
Publication of FR2982066A1 publication Critical patent/FR2982066A1/en
Application granted granted Critical
Publication of FR2982066B1 publication Critical patent/FR2982066B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0225Failure correction strategy
    • 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/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0044In digital systems
    • B60W2050/0045In digital systems using databus protocols
    • 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/40215Controller Area Network CAN

Abstract

Pour compenser la corruption d'une mémoire d'un calculateur communiquant avec plusieurs calculateurs identiques via un bus de communication : préalablement à toute communication entre les calculateurs, on attribue (200) un numéro distinct à chacun des calculateurs, utilisé par les calculateurs pour calculer un identifiant à inclure dans des données à communiquer ; chaque calculateur, avant d'émettre ou recevoir des données, effectue (202) une procédure d'initialisation ; si, lors de cette procédure d'initialisation, un calculateur détecte (204) que sa mémoire est corrompue, il recherche (210) sur le bus de communication, pendant une durée prédéterminée (208), les identifiants inclus dans les données qui circulent sur le bus; et si, après écoulement (212) de cette durée prédéterminée, le calculateur ayant une mémoire corrompue a trouvé les identifiants de tous les calculateurs sauf un, il détermine (214) l'identifiant manquant, en déduit le numéro correspondant et se l'attribue (216), de façon à pouvoir communiquer avec les autres calculateurs. Application aux véhicules automobiles.To compensate for the corruption of a memory of a computer communicating with several identical computers via a communication bus: prior to any communication between the computers, allocates (200) a separate number to each of the computers used by the computers to calculate an identifier to be included in data to be communicated; each computer, before sending or receiving data, performs (202) an initialization procedure; if, during this initialization procedure, a computer detects (204) that its memory is corrupted, it searches (210) on the communication bus, for a predetermined duration (208), the identifiers included in the data which circulates on the bus; and if, after this predetermined duration has elapsed (212), the calculator having a corrupted memory has found the identifiers of all the calculators except one, it determines (214) the missing identifier, deduces the corresponding number and assigns it (216), so as to be able to communicate with the other computers. Application to motor vehicles.

Description

PROCEDE DE COMPENSATION DE LA CORRUPTION D'UNE MEMOIRE D'UN CALCULATEUR ELECTRONIQUE La présente invention se rapporte à un procédé de compensation de la corruption d'une mémoire d'un calculateur électronique. La présente invention se rapporte également à un calculateur électronique et à un véhicule automobile adaptés à mettre en oeuvre un tel procédé. L'invention appartient au domaine des calculateurs électroniques qui communiquent entre eux via un bus de communication. Elle s'applique notamment, mais non exclusivement, aux véhicules automobiles. Les causes possibles de corruption d'une mémoire électronique, par exemple du type EEPROM (mémoire non volatile programmable effaçable électriquement, en anglais "Electrically Erasable Programmable Read-Only Memory"), sont nombreuses. Par exemple, une opération d'écriture dans la mémoire peut se terminer de façon erronée, ou bien le composant peut subir toute autre défaillance. Lorsque la mémoire corrompue est comprise dans un calculateur électronique et si ce calculateur est par exemple inclus dans un véhicule automobile, le calculateur fonctionne alors en mode dégradé, ce qui peut entraîner l'indisponibilité partielle, voire complète du véhicule. Cette situation est gênante et peut même présenter des risques pour la sécurité des occupants du véhicule. La présente invention a pour but de remédier à ces inconvénients. Dans ce but, la présente invention propose un procédé de compensation de la corruption d'une mémoire d'un calculateur électronique contenu dans un système comportant une pluralité de calculateurs électroniques ayant tous la même structure et le même fonctionnement et ayant chacun une mémoire, dans lequel les calculateurs communiquent entre eux par l'intermédiaire d'un bus de communication et dans lequel un seul des calculateurs comporte une mémoire corrompue, ce procédé étant remarquable en ce qu'il comporte des étapes suivant lesquelles : préalablement à toute communication entre les calculateurs, on attribue un numéro distinct à chacun des calculateurs et on mémorise ce numéro dans la mémoire de ce calculateur, ce numéro étant utilisé par les calculateurs pour calculer un identifiant à inclure dans des données émises par le calculateur auquel est attribué le numéro correspondant ; chaque calculateur, avant d'émettre ou de recevoir des données, effectue une procédure d'initialisation ; si, lors de cette procédure d'initialisation, un calculateur détecte que sa mémoire est corrompue, il recherche sur le bus de communication, pendant une durée prédéterminée, les identifiants inclus dans les données qui circulent sur le bus ; et si, après écoulement de la durée prédéterminée, le calculateur ayant une mémoire corrompue a trouvé les identifiants de tous les calculateurs sauf un, il détermine l'identifiant manquant, en déduit le numéro correspondant et se l'attribue, de façon à pouvoir communiquer avec les autres calculateurs. Ainsi, la stratégie proposée par l'invention permet de compenser la présence d'une mémoire corrompue et de sortir du mode dégradé pour poursuivre la communication entre les différents calculateurs. Lorsque ces calculateurs sont compris dans un véhicule automobile, l'invention permet donc de rendre le véhicule disponible jusqu'à la mise en maintenance du système, dans l'hypothèse où un seul calculateur présente une mémoire défaillante. Selon une caractéristique particulière, la procédure d'initialisation comporte des étapes suivant lesquelles : le calculateur consulte sa mémoire de façon à détecter, soit que ses données sont valides, soit que sa mémoire est corrompue ; et si ses données sont valides, le calculateur calcule l'identifiant précité. Selon une caractéristique particulière, la mémoire de chaque 25 calculateur est une mémoire non volatile programmable effaçable électriquement EEPROM. Selon une caractéristique particulière, les données sont organisées sous forme de trames et l'identifiant précité est inclus dans chaque trame. Dans le même but que celui indiqué plus haut, la présente invention 30 propos également un calculateur électronique adapté à mettre en oeuvre un procédé tel que succinctement décrit ci-dessus. Toujours dans le même but, la présente invention propose également un véhicule automobile comportant une pluralité de calculateurs électroniques ayant tous la même structure et le même fonctionnement, 35 ayant chacun une mémoire et communiquant entre eux via un bus de communication, ce véhicule étant remarquable en ce que les calculateurs sont adaptés à mettre en oeuvre des étapes d'un procédé tel que succinctement décrit ci-dessus. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs et en référence aux dessins qui l'accompagnent, dans lesquels : - la figure 1 est une représentation schématique d'un système à plusieurs calculateurs du type considéré dans le cadre de la présente invention, dans un mode particulier de réalisation ; et - la figure 2 est un organigramme illustrant les principales étapes d'un procédé de compensation de la corruption d'une mémoire conforme à la présente invention, dans un mode particulier de réalisation. On considère dans le cadre de la présente invention un système du type illustré sur la figure 1, dans lequel un nombre N de calculateurs électroniques 101, 102, ..., 10N, ayant tous la même structure électronique et le même logiciel de fonctionnement dialoguent entre eux par l'intermédiaire d'un bus de communication 12. Chacun des calculateurs 101, 102, ..., 10N comporte en particulier une mémoire 1001, 1002, ..., 100N. Cette mémoire est par exemple une mémoire non volatile programmable effaçable électriquement (EEPROM). On se place dans l'hypothèse où un seul des calculateurs 101, 102, ..., 10N comporte une mémoire corrompue i.e. défaillante. La stratégie de compensation de la corruption de cette mémoire proposée par la présente invention, qui constitue une stratégie de sortie de mode dégradé lorsque le système à plusieurs calculateurs fait partie d'un véhicule automobile, va maintenant être décrite en liaison avec la figure 2. Conformément à la présente invention, chaque calculateur ne se différencie des autres que par un numéro, configuré une seule fois et valable pendant toute la durée de vie du calculateur. Ce numéro peut avoir tout format prédéterminé jugé approprié. Comme le montre la figure 2, lors d'une étape préliminaire 200, préalablement à toute communication entre les calculateurs 101, 102, ..., 10N, on attribue ainsi un numéro distinct à chacun des calculateurs et on mémorise ce numéro dans la mémoire respective 1001, 1002, ..., 100N de ce calculateur. On peut ainsi attribuer par exemple le numéro 1, 2, ..., N respectivement au calculateur 101, 102, ..., 10N. The present invention relates to a method for compensating the corruption of a memory of an electronic computer. The present invention also relates to an electronic computer and to a motor vehicle adapted to implement such a method. The invention belongs to the field of electronic computers that communicate with each other via a communication bus. It applies in particular, but not exclusively, to motor vehicles. The possible causes of corruption of an electronic memory, for example of the EEPROM type (electrically erasable Programmable Read-Only Memory), are numerous. For example, a write operation in the memory may terminate erroneously, or the component may experience any other failure. When the corrupted memory is included in an electronic computer and if this computer is for example included in a motor vehicle, the computer then operates in degraded mode, which may result in partial or complete unavailability of the vehicle. This situation is troublesome and may even present risks for the safety of the occupants of the vehicle. The present invention aims to overcome these disadvantages. For this purpose, the present invention proposes a method for compensating the corruption of a memory of an electronic computer contained in a system comprising a plurality of electronic computers having all the same structure and the same operation and each having a memory, in which the computers communicate with each other via a communication bus and in which only one of the computers has a corrupted memory, this method being remarkable in that it comprises steps according to which: prior to any communication between the computers a separate number is assigned to each of the computers and this number is stored in the memory of this computer, this number being used by the computers to calculate an identifier to be included in data transmitted by the computer to which the corresponding number is assigned; each computer, before sending or receiving data, performs an initialization procedure; if, during this initialization procedure, a computer detects that its memory is corrupted, it searches on the communication bus, for a predetermined duration, the identifiers included in the data circulating on the bus; and if, after the lapse of the predetermined duration, the calculator having a corrupt memory has found the identifiers of all the calculators except one, it determines the missing identifier, deduces the corresponding number and assigns it, so as to be able to communicate with the other calculators. Thus, the strategy proposed by the invention makes it possible to compensate for the presence of a corrupted memory and to leave the degraded mode to continue the communication between the different computers. When these computers are included in a motor vehicle, the invention therefore makes the vehicle available until the maintenance of the system, in the event that a single computer has a faulty memory. According to a particular characteristic, the initialization procedure comprises steps according to which: the computer consults its memory so as to detect either that its data are valid or that its memory is corrupted; and if its data are valid, the calculator calculates the aforementioned identifier. According to one particular characteristic, the memory of each computer is an EEPROM electrically erasable programmable non-volatile memory. According to one particular characteristic, the data is organized in the form of frames and the aforementioned identifier is included in each frame. For the same purpose as that indicated above, the present invention also provides an electronic computer adapted to implement a method as briefly described above. Still for the same purpose, the present invention also proposes a motor vehicle comprising a plurality of electronic computers having all the same structure and the same operation, each having a memory and communicating with each other via a communication bus, this vehicle being remarkable in that the computers are adapted to implement steps of a method as briefly described above. Other aspects and advantages of the invention will appear on reading the following description of particular embodiments, given by way of non-limiting examples and with reference to the accompanying drawings, in which: FIG. 1 is a schematic representation of a multi-computer system of the type considered in the context of the present invention, in a particular embodiment; and FIG. 2 is a flowchart illustrating the main steps of a method for compensation of the corruption of a memory according to the present invention, in a particular embodiment. Within the scope of the present invention, a system of the type illustrated in FIG. 1 is considered, in which a number N of electronic computers 101, 102,..., 10N, all having the same electronic structure and the same operating software, interact with each other. between them via a communication bus 12. Each of the computers 101, 102, ..., 10N comprises in particular a memory 1001, 1002, ..., 100N. This memory is for example an electrically erasable programmable non-volatile memory (EEPROM). It is assumed that only one of the computers 101, 102, ..., 10N has a faulty memory i.e. failed. The strategy of compensation of the corruption of this memory proposed by the present invention, which constitutes a degraded mode output strategy when the multi-computer system is part of a motor vehicle, will now be described with reference to FIG. 2. According to the present invention, each computer differs from the others only by a number, configured once and valid throughout the life of the computer. This number may have any predetermined format deemed appropriate. As shown in FIG. 2, during a preliminary step 200, prior to any communication between the computers 101, 102,..., 10N, a separate number is thus assigned to each of the computers and this number is memorized in the memory respective 1001, 1002, ..., 100N of this calculator. For example, the number 1, 2,..., N can be assigned to the calculator 101, 102,..., 10N, respectively.

Ce numéro est utilisé par les calculateurs pour calculer un ou plusieurs identifiants à inclure dans des données émises par le calculateur auquel est attribué ce numéro. En effet, lorsqu'un calculateur émet des informations sur le bus de communication, il utilise un ou plusieurs identifiants qui lui sont propres, c'est-à-dire qu'aucun autre calculateur n'émet ces mêmes identifiants. L'identifiant dépend donc du numéro de chaque calculateur et peut également dépendre des données à émettre. Il peut être calculé suivant toute méthode jugée appropriée. This number is used by the calculators to calculate one or more identifiers to be included in data sent by the computer to which this number is assigned. Indeed, when a computer sends information on the communication bus, it uses one or more identifiers of its own, that is to say, no other calculator emits these same identifiers. The identifier therefore depends on the number of each computer and may also depend on the data to be transmitted. It can be calculated using any method deemed appropriate.

Un identifiant peut par exemple se présenter sous la forme suivante : Ox1n0, où x représente un ou plusieurs chiffres et n est un chiffre correspondant au numéro du calculateur ayant émis cet identifiant. Le chiffre n est donc par exemple compris entre 0 et N, N désignant le nombre de calculateurs. Ainsi, l'identifiant Ox1n0 est émis par le n-ième calculateur. An identifier can for example be in the following form: Ox1n0, where x represents one or more digits and n is a digit corresponding to the number of the computer that issued this identifier. The number n is for example between 0 and N, where N denotes the number of computers. Thus, the identifier Ox1n0 is issued by the n-th computer.

Tant qu'un calculateur n'a pas de données à émettre ou à recevoir, il est dans un état dit "non réveillé". A chaque réveil, c'est-à-dire avant d'émettre ou de recevoir des données, chaque calculateur effectue une procédure d'initialisation (étape 202). Cette procédure d'initialisation peut par exemple consister, pour le calculateur, à consulter sa mémoire 1001, 1002, ..., 100N, de façon à détecter (test 204), soit que ses données sont valides, soit que sa mémoire est corrompue. Si la mémoire du calculateur n'est pas corrompue i.e. ses données sont valides, le calculateur termine la procédure d'initialisation en calculant un identifiant à partir de son numéro. Il peut alors communiquer avec les autres calculateurs (étape 206) et il inclura l'identifiant calculé dans les données qu'il émettra sur le bus de communication 12. Par exemple, si les données sont organisées sous forme de trames, le calculateur inclut un tel identifiant dans chaque trame de données, par exemple dans l'en-tête de la trame, c'est-à-dire au début de la trame, avant les données utiles. En revanche, si, lors de la procédure d'initialisation, un calculateur détecte que sa mémoire est corrompue, il lance une temporisation (étape 208) d'une durée prédéterminée, pendant laquelle il recherche, sur le bus de communication 12, les identifiants inclus dans les données qui circulent sur le bus 12 (étape 210). Il effectue cette recherche tant que la temporisation n'est pas écoulée (c'est-à-dire tant que le test 212 est négatif). As long as a calculator has no data to send or receive, it is in a state called "not awake". At each alarm, that is to say before sending or receiving data, each computer performs an initialization procedure (step 202). This initialization procedure may for example consist, for the computer, to consult its memory 1001, 1002, ..., 100N, so as to detect (test 204), either that its data are valid, or that its memory is corrupted . If the memory of the computer is not corrupted i.e. its data are valid, the computer ends the initialization procedure by calculating an identifier from its number. He can then communicate with the other computers (step 206) and he will include the calculated identifier in the data that he will transmit on the communication bus 12. For example, if the data is organized in the form of frames, the calculator includes a such identifier in each data frame, for example in the frame header, i.e. at the beginning of the frame, before the payload. On the other hand, if, during the initialization procedure, a computer detects that its memory is corrupted, it initiates a timer (step 208) of a predetermined duration, during which it searches, on the communication bus 12, the identifiers included in the data circulating on the bus 12 (step 210). It performs this search as long as the timer has not elapsed (that is, as long as the test 212 is negative).

Si, après écoulement de la durée prédéterminée (test 212 positif), le calculateur dont la mémoire est corrompue a trouvé les identifiants de tous les calculateurs sauf un, il détermine l'identifiant manquant (test 214 positif), en déduit le numéro de calculateur correspondant et se l'attribue (étape 216). If, after the predetermined duration has elapsed (test 212 positive), the calculator whose memory is corrupted has found the identifiers of all the computers except one, it determines the missing identifier (test 214 positive), deduces the computer number therefrom corresponding and assigns it (step 216).

II peut alors communiquer avec les autres calculateurs (étape 206). A titre d'exemple nullement limitatif, supposons que huit calculateurs identiques soient présents sur un même bus de communication (tel qu'un bus CAN dans le cadre d'une application à un véhicule automobile). Supposons également que le calculateur n° 5 présente une 10 défaillance de son EEPROM. Les actions suivantes sont effectuées par les calculateurs n° 1 à 4 et 6 à 8, dont les EEPROMs sont valides : - le calculateur n° 1 se réveille, lit son EEPROM, conclut que ses données sont valides et qu'il est le calculateur n° 1 et calcule l'identifiant 15 d'une trame qu'il doit émettre sur le bus CAN. Cet identifiant est par exemple 0x110, suivant le format donné plus haut à titre d'exemple non limitatif ; - le calculateur n° 2 se réveille, lit son EEPROM, conclut que ses données sont valides et qu'il est le calculateur n° 2 et calcule l'identifiant d'une trame qu'il doit émettre sur le bus CAN. Cet identifiant est par exemple 20 Ox120 ; - les mêmes actions sont effectuées par les calculateurs 3, 4, 6, 7 et 8 qui calculent respectivement leurs identifiants 0x130, 0x140, 0x160, 0x170 et 0x180. Quant au calculateur n° 5, il se réveille, lit son EEPROM et conclut 25 que ses données sont corrompues. Il se met alors "à l'écoute" du bus CAN pendant un durée prédéterminée à la recherche des identifiants 0x110, 0x120, 0x130, 0x140, 0x150, 0x160, 0x170 et 0x180. Si, lorsque la durée prédéterminée est écoulée, le calculateur s'aperçoit que l'identifiant 0x150 n'est jamais reçu, il peut en conclure que le calculateur manquant est le 30 numéro 5 et s'auto-configurer en s'attribuant le numéro 5. En revanche, si, après écoulement de la durée prédéterminée, le calculateur dont la mémoire est corrompue n'a pas trouvé les identifiants de tous les calculateurs sauf un et n'a donc pas pu déterminer l'identifiant manquant (test 214 négatif), il peut par exemple lancer une nouvelle 35 temporisation et poursuivre la recherche d'identifiants parmi les données qui circulent sur le bus (reprise du processus à partir de l'étape 208). He can then communicate with the other computers (step 206). By way of non-limiting example, suppose that eight identical computers are present on the same communication bus (such as a CAN bus in the context of an application to a motor vehicle). Suppose also that calculator # 5 has a failure of its EEPROM. The following actions are performed by the computers # 1 to 4 and 6 to 8, whose EEPROMs are valid: - the computer # 1 wakes up, reads its EEPROM, concludes that its data are valid and that it is the calculator No. 1 and calculates the identifier 15 of a frame that it must transmit on the CAN bus. This identifier is for example 0x110, according to the format given above by way of non-limiting example; the computer n ° 2 wakes up, reads its EEPROM, concludes that its data are valid and that it is the computer n ° 2 and calculates the identifier of a frame which it must emit on the CAN bus. This identifier is, for example, Ox120; the same actions are performed by the computers 3, 4, 6, 7 and 8 which respectively calculate their identifiers 0x130, 0x140, 0x160, 0x170 and 0x180. As for calculator # 5, he wakes up, reads his EEPROM and concludes that his data is corrupt. It then "listens" to the CAN bus for a predetermined time looking for the identifiers 0x110, 0x120, 0x130, 0x140, 0x150, 0x160, 0x170 and 0x180. If, when the predetermined duration has elapsed, the calculator realizes that the identifier 0x150 is never received, it can conclude that the missing calculator is number 5 and self-configuring by assigning itself the number 5. On the other hand, if, after expiry of the predetermined duration, the calculator whose memory is corrupted did not find the identifiers of all the calculators except one and could therefore not determine the missing identifier (test 214 negative ), it can for example start a new timer and continue searching for identifiers among the data that circulates on the bus (restarting the process from step 208).

On peut par exemple décider que si les identifiants de tous les calculateurs sauf un n'ont pas été trouvés après lancement d'un nombre prédéterminé de temporisations par le calculateur dont la mémoire est corrompue, on arrête le processus. One can for example decide that if the identifiers of all computers except one have not been found after launching a predetermined number of delays by the computer whose memory is corrupted, the process is stopped.

La présente invention est particulièrement utile dans son application à un véhicule automobile, car elle assure la disponibilité du véhicule malgré la défaillance d'une mémoire d'un calculateur, dans l'hypothèse où un seul calculateur présente une mémoire défaillante. The present invention is particularly useful in its application to a motor vehicle, because it ensures the availability of the vehicle despite the failure of a memory of a computer, in the event that a single computer has a faulty memory.

Claims (6)

REVENDICATIONS1. Procédé de compensation de la corruption d'une mémoire d'un calculateur électronique contenu dans un système comportant une pluralité de calculateurs électroniques (101, 102, ..., 10N) ayant tous la même structure et le même fonctionnement et ayant chacun une mémoire (1001, 1002, ..., 100N), dans lequel lesdits calculateurs communiquent entre eux par l'intermédiaire d'un bus de communication (12) et dans lequel un seul des calculateurs comporte une mémoire corrompue, ledit procédé étant caractérisé en ce qu'il comporte des étapes suivant lesquelles : préalablement à toute communication entre les calculateurs, on attribue (200) un numéro distinct à chacun desdits calculateurs (101, 102, ..., 10N) et on mémorise ledit numéro dans la mémoire (1001, 1002, ..., 100N) de ce calculateur, ce numéro étant utilisé par les calculateurs pour calculer un identifiant à inclure dans des données émises par le calculateur auquel est attribué le numéro correspondant ; chaque calculateur (101, 102, ..., 10N), avant d'émettre ou de recevoir des données, effectue (202) une procédure d'initialisation ; si, lors de ladite procédure d'initialisation, un calculateur détecte (204) 20 que sa mémoire est corrompue, il recherche (210) sur le bus de communication (12), pendant une durée prédéterminée (208), les identifiants inclus dans les données qui circulent sur le bus (12) ; et si, après écoulement (212) de ladite durée prédéterminée, le calculateur ayant une mémoire corrompue a trouvé les identifiants de tous 25 les calculateurs sauf un, il détermine (214) l'identifiant manquant, en déduit le numéro correspondant et se l'attribue (216), de façon à pouvoir communiquer avec les autres calculateurs. REVENDICATIONS1. Method for compensation of the corruption of a memory of an electronic computer contained in a system comprising a plurality of electronic computers (101, 102, ..., 10N) all having the same structure and the same operation and each having a memory (1001, 1002, ..., 100N), wherein said computers communicate with each other via a communication bus (12) and in which only one of the computers comprises a corrupted memory, said method being characterized in that it comprises steps according to which: prior to any communication between the computers, one assigns (200) a separate number to each of said computers (101, 102, ..., 10N) and stores said number in the memory (1001 , 1002, ..., 100N) of this calculator, this number being used by the calculators to calculate an identifier to be included in data transmitted by the computer to which the corresponding number is assigned; each computer (101, 102, ..., 10N), before transmitting or receiving data, performs (202) an initialization procedure; if, during said initialization procedure, a computer detects (204) that its memory is corrupted, it searches (210) on the communication bus (12), for a predetermined duration (208), the identifiers included in the data traveling on the bus (12); and if, after the said predetermined duration has elapsed (212), the calculator having a corrupted memory has found the identifiers of all the calculators except one, it determines (214) the missing identifier, deduces the corresponding number from it, and allocates (216) so that it can communicate with the other computers. 2. Procédé selon la revendication 1, caractérisé en ce que ladite procédure d'initialisation comporte des étapes suivant lesquelles : 30 le calculateur consulte sa mémoire de façon à détecter, soit que ses données sont valides, soit que sa mémoire est corrompue ; et si ses données sont valides, le calculateur calcule ledit identifiant. 2. Method according to claim 1, characterized in that said initialization procedure comprises the following steps: the computer consults its memory so as to detect either that its data are valid or that its memory is corrupted; and if its data is valid, the calculator calculates said identifier. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que la mémoire (1001, 1002, ..., 100N) de chaque calculateur (101, 102, ..., 10N) est 35 une mémoire non volatile programmable effaçable électriquement EEPROM. 3. Method according to claim 1 or 2, characterized in that the memory (1001, 1002, ..., 100N) of each computer (101, 102, ..., 10N) is an electrically erasable programmable non-volatile memory. EEPROM. 4. Procédé selon la revendication 1, 2 ou 3, caractérisé en ce que les données sont organisées sous forme de trames et ledit identifiant est inclus dans chaque trame. 4. Method according to claim 1, 2 or 3, characterized in that the data is organized in the form of frames and said identifier is included in each frame. 5. Calculateur électronique, caractérisé en ce qu'il est adapté à mettre en oeuvre un procédé selon l'une quelconque des revendications précédentes. 5. Electronic calculator, characterized in that it is adapted to implement a method according to any one of the preceding claims. 6. Véhicule automobile comportant une pluralité de calculateurs électroniques (101, 102, ..., 10N) ayant tous la même structure et le même fonctionnement, ayant chacun une mémoire (1001, 1002, ..., 100N) et communiquant entre eux via un bus de communication (12), caractérisé en ce que lesdits calculateurs (101, 102, ..., 10N) sont adaptés à mettre en oeuvre des étapes d'un procédé selon l'une quelconque des revendications 1 à 4. 6. A motor vehicle comprising a plurality of electronic computers (101, 102, ..., 10N) all having the same structure and the same operation, each having a memory (1001, 1002, ..., 100N) and communicating with each other via a communication bus (12), characterized in that said computers (101, 102, ..., 10N) are adapted to implement steps of a method according to any one of claims 1 to 4.
FR1159850A 2011-10-28 2011-10-28 METHOD FOR COMPENSATING THE CORRUPTION OF A MEMORY OF AN ELECTRONIC COMPUTER Expired - Fee Related FR2982066B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1159850A FR2982066B1 (en) 2011-10-28 2011-10-28 METHOD FOR COMPENSATING THE CORRUPTION OF A MEMORY OF AN ELECTRONIC COMPUTER
PCT/FR2012/052413 WO2013060972A1 (en) 2011-10-28 2012-10-22 Method of compensating for the corruption of a memory of an electronic computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1159850A FR2982066B1 (en) 2011-10-28 2011-10-28 METHOD FOR COMPENSATING THE CORRUPTION OF A MEMORY OF AN ELECTRONIC COMPUTER

Publications (2)

Publication Number Publication Date
FR2982066A1 true FR2982066A1 (en) 2013-05-03
FR2982066B1 FR2982066B1 (en) 2013-12-20

Family

ID=47191977

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1159850A Expired - Fee Related FR2982066B1 (en) 2011-10-28 2011-10-28 METHOD FOR COMPENSATING THE CORRUPTION OF A MEMORY OF AN ELECTRONIC COMPUTER

Country Status (2)

Country Link
FR (1) FR2982066B1 (en)
WO (1) WO2013060972A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04264841A (en) * 1991-02-19 1992-09-21 Nec Corp System for setting identifier
US5724510A (en) * 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US20050226209A1 (en) * 2002-03-29 2005-10-13 Matsushita Electric Industrial Co., Ltd Lan adapter
US20060190599A1 (en) * 2002-06-26 2006-08-24 Goodman Brian G Handling node address failure in a distributed nodal system of processors
WO2010145985A1 (en) * 2009-06-17 2010-12-23 Robert Bosch Gmbh Method for operating a bus system, in particular a can bus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04264841A (en) * 1991-02-19 1992-09-21 Nec Corp System for setting identifier
US5724510A (en) * 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US20050226209A1 (en) * 2002-03-29 2005-10-13 Matsushita Electric Industrial Co., Ltd Lan adapter
US20060190599A1 (en) * 2002-06-26 2006-08-24 Goodman Brian G Handling node address failure in a distributed nodal system of processors
WO2010145985A1 (en) * 2009-06-17 2010-12-23 Robert Bosch Gmbh Method for operating a bus system, in particular a can bus

Also Published As

Publication number Publication date
FR2982066B1 (en) 2013-12-20
WO2013060972A1 (en) 2013-05-02

Similar Documents

Publication Publication Date Title
KR101393539B1 (en) Integrated network system for vehicle
FR2960667A1 (en) CONTROL UNIT FOR EXCHANGING DATA WITH A PERIPHERAL UNIT, AS WELL AS A PERIPHERAL UNIT AND METHOD OF EXCHANGING DATA
FR2889010A1 (en) METHOD AND COMMUNICATION DEVICE FOR MOTOR VEHICLE
US10795663B2 (en) Electronic update handling based on user activity
JP2023090981A (en) Gateway device, on-vehicle network system and firmware update method
FR2925191A1 (en) HIGH INTEGRITY DIGITAL PROCESSING ARCHITECTURE WITH MULTIPLE SUPERVISED RESOURCES
WO2021057259A1 (en) Parallel chain consensus method and device, and storage medium
FR2908535A1 (en) MICROCALCULATOR, PROGRAM AND ELECTRONIC CONTROLLER ON BOARD IN A VEHICLE
FR3017760A1 (en) STATION OF PARTICIPANTS OF A BUS SYSTEM AND METHOD FOR INCREASING THE DATA RATE IN THE BUS SYSTEM
FR2982066A1 (en) METHOD FOR COMPENSATING THE CORRUPTION OF A MEMORY OF AN ELECTRONIC COMPUTER
CN107526512B (en) Switching method and system for electronic equipment
WO2006082288A1 (en) Method of transmitting end-of-speech marks in a speech recognition system
US8971154B2 (en) Synchronization of system time in electronic device
KR102466626B1 (en) Device and method for blind detection of pre-empted resources in orthogonal frequency division multiplexing (ofdm) systems
WO2016034447A1 (en) Onboard system implementing critical avionics functions
WO2020188058A1 (en) Method for adjusting a periodicity of communication between a wheel unit and an authorized device
CN114157669A (en) Message transmission method and device
EP4115593B1 (en) Vehicle communication network and method
WO2023182020A1 (en) In-vehicle device, program, and information processing method
FR3089651A1 (en) Joint management by an onboard motor vehicle computer of an operational function and a gateway function between data communication buses
FR3046861A1 (en) SYNCHRONIZATION METHOD, DEVICE AND VEHICLE THEREFOR
EP3800796A1 (en) Communication method between circuits
FR3100638A1 (en) Method and device for updating a target computer from an interpreted script
JP7143694B2 (en) electronic controller
WO2019166712A1 (en) Routing gateway and method for automotive vehicle

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

CA Change of address

Effective date: 20180312

CD Change of name or company name

Owner name: PEUGEOT CITROEN AUTOMOBILES SA, FR

Effective date: 20180312

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

ST Notification of lapse

Effective date: 20230606