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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/82—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0225—Failure correction strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5092—Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0005—Processor details or data handling, e.g. memory registers or chip architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/0001—Details of the control system
- B60W2050/0043—Signal treatments, identification of variables or parameters, parameter estimation or state estimation
- B60W2050/0044—In digital systems
- B60W2050/0045—In digital systems using databus protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
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)
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)
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 |
-
2011
- 2011-10-28 FR FR1159850A patent/FR2982066B1/en not_active Expired - Fee Related
-
2012
- 2012-10-22 WO PCT/FR2012/052413 patent/WO2013060972A1/en active Application Filing
Patent Citations (5)
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 |