FR3136289A1 - Method and device for controlling vehicle computers - Google Patents
Method and device for controlling vehicle computers Download PDFInfo
- Publication number
- FR3136289A1 FR3136289A1 FR2205345A FR2205345A FR3136289A1 FR 3136289 A1 FR3136289 A1 FR 3136289A1 FR 2205345 A FR2205345 A FR 2205345A FR 2205345 A FR2205345 A FR 2205345A FR 3136289 A1 FR3136289 A1 FR 3136289A1
- Authority
- FR
- France
- Prior art keywords
- computers
- computer
- declaration
- messages
- msg2
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004891 communication Methods 0.000 claims abstract description 85
- 230000006870 function Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000000737 periodic effect Effects 0.000 claims description 4
- 101100396152 Arabidopsis thaliana IAA19 gene Proteins 0.000 description 27
- 102100039292 Cbp/p300-interacting transactivator 1 Human genes 0.000 description 27
- 101000888413 Homo sapiens Cbp/p300-interacting transactivator 1 Proteins 0.000 description 27
- 101100274486 Mus musculus Cited2 gene Proteins 0.000 description 27
- 101150096622 Smr2 gene Proteins 0.000 description 27
- 230000008569 process Effects 0.000 description 18
- 101100017043 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) HIR3 gene Proteins 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 102100026681 Chromobox protein homolog 8 Human genes 0.000 description 8
- 101000910841 Homo sapiens Chromobox protein homolog 8 Proteins 0.000 description 8
- 101000669028 Homo sapiens Zinc phosphodiesterase ELAC protein 2 Proteins 0.000 description 8
- 102100039877 Zinc phosphodiesterase ELAC protein 2 Human genes 0.000 description 8
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 101100230604 Caenorhabditis elegans hcp-3 gene Proteins 0.000 description 1
- 101100338479 Clostridium acetobutylicum (strain ATCC 824 / DSM 792 / JCM 1419 / LMG 5710 / VKM B-1787) hcp2 gene Proteins 0.000 description 1
- 101000579423 Homo sapiens Regulator of nonsense transcripts 1 Proteins 0.000 description 1
- 101710127370 Probable head completion protein 1 Proteins 0.000 description 1
- 102100022985 Protein arginine N-methyltransferase 1 Human genes 0.000 description 1
- 102100028287 Regulator of nonsense transcripts 1 Human genes 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 230000008278 dynamic mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009257 reactivity Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
La présente invention concerne un procédé de contrôle de calculateurs (7) dans un réseau de communication (6) d’un véhicule (2), ce réseau comprenant un premier sous-réseau (NT1) avec des premiers calculateurs (8) et un deuxième sous-réseau (NT2) avec des deuxièmes calculateurs (10), le procédé comprenant : envoi, par les premiers calculateurs (8) à des calculateurs de zone parmi les deuxièmes calculateurs (10), de premiers messages de déclaration (MSG1) représentatifs respectivement d’un état de configuration desdits premiers calculateurs (10) ; envoi, par les deuxièmes calculateurs à un deuxième calculateur opérant en tant que calculateur maître (10a), de deuxièmes messages de déclaration (MSG2) représentatifs respectivement des états de configuration des premiers et deuxièmes calculateurs (8, 10) ; et détermination, par le calculateur maître (10a), à partir des deuxièmes messages de déclaration (MSG2) reçus, de données de configuration globale représentatives de la configuration des premiers et deuxièmes calculateurs. Figure pour l’abrégé : Figure 1The present invention relates to a method for controlling computers (7) in a communications network (6) of a vehicle (2), this network comprising a first subnetwork (NT1) with first computers (8) and a second subnetwork (NT2) with second computers (10), the method comprising: sending, by the first computers (8) to zone computers among the second computers (10), first declaration messages (MSG1) representative respectively a configuration state of said first computers (10); sending, by the second computers to a second computer operating as master computer (10a), second declaration messages (MSG2) respectively representative of the configuration states of the first and second computers (8, 10); and determination, by the master computer (10a), from the second declaration messages (MSG2) received, of global configuration data representative of the configuration of the first and second computers. Figure for abstract: Figure 1
Description
La présente invention concerne des procédés et systèmes de contrôle de calculateurs d’un véhicule, par exemple d’un véhicule automobile. L’invention vise notamment le contrôle de la mise à jour logicielle d’un véhicule, notamment de type automobile.The present invention relates to methods and systems for controlling computers of a vehicle, for example of a motor vehicle. The invention aims in particular to control the software update of a vehicle, in particular of the automobile type.
Les véhicules contemporains embarquent nombre de calculateurs assurant chacun une ou plusieurs fonctions, telles que par exemple la gestion de l’aide à la conduite, de l’antipatinage, de la répartition électronique du freinage ou encore la commande d’actionneurs pour assurer le fonctionnement optimal d’un moteur à combustion.Contemporary vehicles carry a number of computers each ensuring one or more functions, such as for example the management of driving assistance, traction control, electronic braking distribution or even the control of actuators to ensure operation. optimum performance of a combustion engine.
Ces calculateurs sont aussi appelés UCE (« Unité de Commande Electronique » ou en anglais ECU « Electronic Control Unit »). Ces calculateurs embarquent des logiciels qui sont exécutés pour assurer les fonctions dont ils ont la charge. A titre d’exemple, un calculateur moteur, aussi appelé « boîtier de servitude moteur » ou « unité de commande moteur », est configuré pour collecter des données d’entrée (de capteurs ou autres), traiter ces données et envoyer des signaux de commande à divers composants (actionneurs) du moteur.These computers are also called UCE (“Electronic Control Unit”). These computers embed software which is executed to perform the functions for which they are responsible. For example, an engine computer, also called an “engine control unit” or “engine control unit”, is configured to collect input data (from sensors or others), process this data and send control signals. control of various components (actuators) of the engine.
Des mises à jour des logiciels implémentés par les calculateurs d’un véhicule sont parfois nécessaires, par exemple pour améliorer une fonction ou pour corriger une erreur, aussi appelée « bug » en informatique.Updates to the software implemented by a vehicle's computers are sometimes necessary, for example to improve a function or to correct an error, also called a "bug" in IT.
Ces mises à jour peuvent s’avérer critiques, notamment pour les logiciels qui assurent le bon fonctionnement du véhicule et la sécurité des passagers du véhicule. Le contrôle de ces mises à jour est par conséquent particulièrement important.These updates can be critical, particularly for software that ensures the proper functioning of the vehicle and the safety of vehicle passengers. Monitoring these updates is therefore particularly important.
Généralement, lorsqu’une telle mise à jour logicielle est requise, un inventaire complet du véhicule est réalisé afin de préparer la mise à jour. Cette phase d’inventaire allonge significativement le temps nécessaire pour la réalisation d’une mise à jour logicielle. Dans la mesure où un tel inventaire est répété à chaque mise à jour, ce problème de manque de réactivité des mises à jour présente un défini technique important.Typically, when such a software update is required, a complete inventory of the vehicle is performed in preparation for the update. This inventory phase significantly extends the time required to complete a software update. To the extent that such an inventory is repeated with each update, this problem of lack of responsiveness of updates presents an important technical definition.
L’un des objets de la présente invention est de résoudre au moins l’un des problèmes de l’arrière-plan technologique décrit précédemment.One of the objects of the present invention is to solve at least one of the problems of the technological background described above.
Un autre objet de la présente invention est d’offrir une technique permettant de réaliser un inventaire de façon fiable et efficace auprès des calculateurs d’un véhicule, par exemple de type automobile ou autre.Another object of the present invention is to offer a technique making it possible to carry out an inventory in a reliable and efficient manner using the computers of a vehicle, for example of the automobile type or other.
Un autre objet de la présente invention est de permettre la réalisation d’une mise à jour logicielle d’un véhicule avec une réactivité maximale dans le temps.Another object of the present invention is to enable a software update of a vehicle to be carried out with maximum responsiveness over time.
Selon un premier aspect, la présente invention concerne un procédé un procédé de contrôle d’une pluralité de calculateurs agencés dans un réseau de communication d’un véhicule, ledit réseau de communication comprenant au moins un premier sous-réseau dans lequel des premiers calculateurs communiquent selon un premier protocole de communication et un deuxième sous-réseau dans lequel des deuxièmes calculateurs communiquent selon un deuxième protocole de communication différent du premier protocole de communication, le procédé comprenant :
- envoi, par les premiers calculateurs à au moins une partie des deuxièmes calculateurs, dits calculateurs de zone, de premiers messages de déclaration représentatifs respectivement d’un état de configuration desdits premiers calculateurs ;
- détection, par les deuxièmes calculateurs, d’un calculateur opérant en tant que calculateur maître parmi lesdits deuxièmes calculateurs ;
- envoi, par les deuxièmes calculateurs au calculateur maître, de deuxièmes messages de déclaration représentatifs respectivement d’un état de configuration desdits deuxièmes calculateurs, les deuxièmes messages de déclaration envoyés par les calculateurs de zone étant en outre représentatifs respectivement de l’état de configuration, des premiers calculateurs, déterminé à partir des premiers messages de déclaration ; et
- détermination, par le calculateur maître, à partir des deuxièmes messages de déclaration reçus, de données de configuration globale représentatives de la configuration des premiers et deuxièmes calculateurs.According to a first aspect, the present invention relates to a method a method of controlling a plurality of computers arranged in a communication network of a vehicle, said communication network comprising at least a first subnetwork in which first computers communicate according to a first communication protocol and a second subnetwork in which second computers communicate according to a second communication protocol different from the first communication protocol, the method comprising:
- sending, by the first computers to at least part of the second computers, called zone computers, first declaration messages respectively representative of a configuration state of said first computers;
- detection, by the second computers, of a computer operating as a master computer among said second computers;
- sending, by the second computers to the master computer, second declaration messages respectively representative of a configuration state of said second computers, the second declaration messages sent by the zone computers also being respectively representative of the configuration state , of the first calculators, determined from the first declaration messages; And
- determination, by the master computer, from the second declaration messages received, of global configuration data representative of the configuration of the first and second computers.
La présente invention offre ainsi avantageusement un mécanisme efficace et fiable permettant de rendre disponible dynamiquement, voire en temps réel, la configuration d’un véhicule (inventaire, topologie physique, allocation fonctionnelle, etc.). Grâce à la présente invention, une mise à jour logicielle du véhicule peut par exemple être réalisée rapidement sur la base des données de configuration globales collectées et tenues à jour par le calculateur maître dans le réseau de communication du véhicule. Contrairement à un inventaire dit statique, le système de contrôle de l’invention peut détecter dynamiquement la configuration du véhicule (services, fonctions, etc.), et notamment les changements de configuration susceptibles de survenir au cours du temps. On peut ainsi obtenir rapidement une représentation fiable et globale de la configuration du véhicule. Lorsqu’une mise à jour est nécessaire, les données de configuration globale déterminées par le calculateur maître sont immédiatement accessibles et peuvent donc être utilisées, par exemple par un terminal externe, pour effectuer une mise à jour logicielle du véhicule. La présente invention offre ainsi des gains important en termes de temps et de ressources lorsqu’une mise à jour d’un véhicule est réalisée.The present invention thus advantageously offers an efficient and reliable mechanism making it possible to make available dynamically, or even in real time, the configuration of a vehicle (inventory, physical topology, functional allocation, etc.). Thanks to the present invention, a software update of the vehicle can for example be carried out quickly on the basis of the global configuration data collected and kept up to date by the master computer in the vehicle communication network. Unlike a so-called static inventory, the control system of the invention can dynamically detect the configuration of the vehicle (services, functions, etc.), and in particular changes in configuration likely to occur over time. We can thus quickly obtain a reliable and global representation of the vehicle configuration. When an update is necessary, the global configuration data determined by the master computer is immediately accessible and can therefore be used, for example by an external terminal, to carry out a software update of the vehicle. The present invention thus offers significant savings in terms of time and resources when an update of a vehicle is carried out.
Selon un mode de réalisation particulier, le procédé comprenant en outre :
- envoi périodique, par un deuxième calculateur prédéfini, d’un message d’annonce à chaque autre deuxième calculateur pour annoncer qu’il opère en tant que calculateur maître, ladite détection du calculateur maître étant réalisée à partir dudit message d’annonce ; ouAccording to a particular embodiment, the method further comprising:
- periodic sending, by a second predefined computer, of an announcement message to each other second computer to announce that it is operating as a master computer, said detection of the master computer being carried out from said announcement message; Or
- un mécanisme d’élection au cours duquel chaque deuxième calculateur envoie périodiquement un message d’annonce à chaque autre deuxième calculateur, dans lequel le deuxième calculateur qui envoie le plus rapidement un message d’annonce, à compter d’un instant de référence, pour se déclarer en tant que calculateur maître est détecté comme calculateur maître parmi les deuxièmes calculateurs.- an election mechanism during which each second computer periodically sends an announcement message to each other second computer, in which the second computer which most quickly sends an announcement message, from a reference instant, to declare itself as a master computer is detected as a master computer among the second computers.
Selon un mode de réalisation particulier, les premiers et deuxièmes messages de déclaration sont envoyés périodiquement par respectivement les premiers et deuxièmes calculateurs selon une période plus courte que la période d’envoi des messages d’annonce.According to a particular embodiment, the first and second declaration messages are sent periodically by the first and second calculators respectively over a period shorter than the period for sending the announcement messages.
Selon un mode de réalisation particulier, les calculateurs sont agencés selon une arborescence dans le réseau de communication, les premiers calculateurs étant positionnés en tant qu’enfants des deuxièmes calculateurs dans ladite arborescence.According to a particular embodiment, the computers are arranged according to a tree structure in the communication network, the first computers being positioned as children of the second computers in said tree structure.
Selon un mode de réalisation particulier, les deuxièmes calculateurs tiennent à jour des données de configuration représentatives d’un état de configuration d’au moins un premier calculateur positionné en aval dans l’arborescence en fonction des premiers messages de déclaration reçus en provenance dudit premier calculateur,
les deuxièmes messages de déclaration envoyés par les deuxièmes calculateurs étant déterminés en fonction des données de configuration desdits deuxièmes calculateurs.According to a particular embodiment, the second computers maintain configuration data representative of a configuration state of at least one first computer positioned downstream in the tree as a function of the first declaration messages received from said first calculator,
the second declaration messages sent by the second computers being determined based on the configuration data of said second computers.
Selon un mode de réalisation particulier, si aucun premier ou deuxième message de déclaration n’est reçu par un deuxième calculateur pendant une période prédéfini en provenance d’un autre calculateur situé en aval dans l’arborescence, envoi au calculateur maître d’un deuxième message de déclaration indiquant une anomalie associée audit autre calculateur.According to a particular embodiment, if no first or second declaration message is received by a second computer during a predefined period from another computer located downstream in the tree, sending to the master computer a second declaration message indicating an anomaly associated with said other computer.
Selon un mode de réalisation particulier, les envois des deuxièmes messages de déclaration par les deuxièmes calculateurs sont déclenchés au moins sur détection d’un changement de l’état de configuration d’au moins un calculateur situés en aval dans l’arborescence.According to a particular embodiment, the sending of the second declaration messages by the second computers are triggered at least upon detection of a change in the configuration state of at least one computer located downstream in the tree.
Selon un mode de réalisation particulier, le procédé comprend en outre une mise à jour logicielle d’au moins un calculateur en fonction de tout ou partie des données de configuration globales déterminées par le calculateur maître.According to a particular embodiment, the method further comprises a software update of at least one computer based on all or part of the global configuration data determined by the master computer.
Selon un deuxième aspect, la présente invention concerne un système de contrôle configuré pour mettre en œuvre le procédé de contrôle du premier aspect de l’invention. La présente invention vise en particulier un système de contrôle d’une pluralité de calculateurs agencés dans un réseau de communication d’un véhicule, ledit réseau de communication comprenant au moins un premier sous-réseau dans lequel des premiers calculateurs communiquent selon un premier protocole de communication et un deuxième sous-réseau dans lequel des deuxièmes calculateurs communiquent selon un deuxième protocole de communication différent du premier protocole de communication,
ledit système comprenant au moins une mémoire associée à au moins un processeur configuré pour la mise en œuvre des étapes du procédé de contrôle selon le premier aspect de l’invention.According to a second aspect, the present invention relates to a control system configured to implement the control method of the first aspect of the invention. The present invention relates in particular to a system for controlling a plurality of computers arranged in a communication network of a vehicle, said communication network comprising at least a first subnetwork in which first computers communicate according to a first communication protocol. communication and a second subnetwork in which second computers communicate according to a second communication protocol different from the first communication protocol,
said system comprising at least one memory associated with at least one processor configured for implementing the steps of the control method according to the first aspect of the invention.
A noter que les différents modes de réalisation définis dans ce document en relation avec le procédé de contrôle selon le premier aspect de l’invention ainsi que les avantages associés s’appliquent de façon analogue au système de contrôle selon le deuxième aspect de l’invention.Note that the different embodiments defined in this document in relation to the control method according to the first aspect of the invention as well as the associated advantages apply analogously to the control system according to the second aspect of the invention .
Selon un troisième aspect, la présente invention concerne un véhicule, par exemple de type automobile, comprenant un système de contrôle selon le deuxième aspect de la présente invention.According to a third aspect, the present invention relates to a vehicle, for example of the automobile type, comprising a control system according to the second aspect of the present invention.
Selon un quatrième aspect, la présente invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé de contrôle selon le premier aspect de la présente invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur, par exemple par un ou des calculateurs. Autrement dit, les différentes étapes du procédé de contrôle sont déterminées par des instructions de programmes d’ordinateurs. Ce programme d’ordinateur est configuré pour être mis en œuvre dans un système de contrôle tel que défini dans ce document, ou plus généralement dans un ou des calculateurs.According to a fourth aspect, the present invention relates to a computer program which comprises instructions adapted for the execution of the steps of the control method according to the first aspect of the present invention, in particular when the computer program is executed by at least one processor, for example by one or more computers. In other words, the different stages of the control process are determined by computer program instructions. This computer program is configured to be implemented in a control system as defined in this document, or more generally in one or more computers.
Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.Such a computer program can use any programming language, and be in the form of a source code, an object code, or an intermediate code between a source code and an object code, such as in partially compiled form, or in any other desirable form.
Selon un cinquième aspect, la présente invention concerne au moins un support d’enregistrement (ou support d’informations), lisible par un ordinateur (ou un processeur), sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes (ou au moins une partie des étapes) du procédé de contrôle selon le premier aspect de la présente invention.According to a fifth aspect, the present invention relates to at least one recording medium (or information medium), readable by a computer (or a processor), on which is recorded a computer program comprising instructions for the execution steps (or at least part of the steps) of the control method according to the first aspect of the present invention.
D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.On the one hand, the recording medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM memory, a CD-ROM or a ROM memory of the microelectronic circuit type, or even a magnetic recording means or a hard disk.
D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon la présente invention peut être en particulier téléchargé sur un réseau de type Internet.On the other hand, this recording medium can also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or terrestrial radio or by self-directed laser beam or by other ways. The computer program according to the present invention can in particular be downloaded onto an Internet type network.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.Alternatively, the recording medium may be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to execute or to be used in executing the method in question.
Selon un mode de réalisation particulier, l'invention est mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme « module » peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels.According to a particular embodiment, the invention is implemented by means of software and/or hardware components. With this in mind, the term “module” can correspond in this document to a software component as well as to a hardware component or to a set of hardware and software components.
D’autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation particuliers et non limitatifs de la présente invention ci-après, en référence aux figures 1 à 4 annexées, sur lesquelles :Other characteristics and advantages of the present invention will emerge from the description of the particular and non-limiting examples of embodiment of the present invention below, with reference to the appended Figures 1 to 4, in which:
La présente invention vise notamment un procédé de contrôle et un système de contrôle pour contrôler des calculateurs d’un véhicule. Des exemples de mises en œuvre de l’invention vont à présent être décrits dans ce qui va suivre en référence conjointement aux figures 1-4. Sauf indications contraires, les éléments communs ou analogues à plusieurs figures portent les mêmes signes de référence et présentent des caractéristiques identiques ou analogues, de sorte que ces éléments communs ne sont généralement pas à nouveau décrits par souci de simplicité.The present invention relates in particular to a control method and a control system for controlling the computers of a vehicle. Examples of implementations of the invention will now be described in what follows with reference jointly to Figures 1-4. Unless otherwise indicated, elements common or similar to several figures bear the same reference signs and have identical or similar characteristics, so that these common elements are generally not described again for the sake of simplicity.
Les termes « premier(s) » (ou première(s)), « deuxième(s) », etc.) sont utilisés dans ce document par convention arbitraire pour permettre d’identifier et de distinguer différents éléments (tels que des opérations, des valeurs seuils, etc.) mis en œuvre dans les modes de réalisation décrits ci-après.The terms “first(s)” (or first(s)), “second(s)”, etc.) are used in this document by arbitrary convention to help identify and distinguish different elements (such as operations, threshold values, etc.) implemented in the embodiments described below.
Comme précédemment indiqué, l’invention vise notamment un procédé de contrôle d’une pluralité de calculateurs d’un véhicule, tel qu’un véhicule de type automobile ou autre. Ce procédé est par exemple mis en œuvre par une pluralité de calculateurs formant un système de contrôle au sens de l’invention.As previously indicated, the invention relates in particular to a method of controlling a plurality of computers of a vehicle, such as an automobile or other type vehicle. This method is for example implemented by a plurality of computers forming a control system within the meaning of the invention.
Selon un exemple particulier et non limitatif de réalisation de la présente invention, le système de contrôle, et plus particulièrement les calculateurs, sont embarqué dans un véhicule. Ces calculateurs sont agencés dans un réseau de communication du véhicule, ce réseau pouvant avoir diverses architectures. Selon un exemple particulier, le réseau de communication comprend un premier sous-réseau de communication dans lequel des premiers calculateurs communiquent selon un premier protocole de communication et un deuxième sous-réseau de communication dans lequel des deuxièmes calculateurs communiquent selon un deuxième protocole de communication différent du premier protocole de communication.According to a particular and non-limiting example of embodiment of the present invention, the control system, and more particularly the computers, are on board a vehicle. These computers are arranged in a vehicle communication network, this network being able to have various architectures. According to a particular example, the communication network comprises a first communication subnetwork in which first computers communicate according to a first communication protocol and a second communication subnetwork in which second computers communicate according to a second different communication protocol of the first communication protocol.
Selon un exemple particulier et non limitatif de réalisation de la présente invention, le procédé de contrôle comprend les étapes suivantes : envoi, par les premiers calculateurs à au moins une partie des deuxièmes calculateurs, dits « calculateurs de zone » (ou calculateurs zonaux), de premiers messages de déclaration représentatifs respectivement d’un état de configuration desdits premiers calculateurs ; détection, par les deuxièmes calculateurs, d’un calculateur opérant en tant que « calculateur maître » parmi lesdits deuxièmes calculateurs ; envoi, par les deuxièmes calculateurs au calculateur maître, de deuxièmes messages de déclaration représentatifs respectivement d’un état de configuration desdits deuxièmes calculateurs, les deuxièmes messages de déclaration envoyés par les calculateurs de zone étant en outre représentatifs respectivement de l’état de configuration, des premiers calculateurs, déterminé à partir des premiers messages. Le calculateur maître peut ainsi déterminer, à partir des deuxièmes messages reçus, des données de configuration globales représentatives de la configuration des premiers et deuxièmes calculateurs (ou plus généralement du véhicule).According to a particular and non-limiting example of carrying out the present invention, the control method comprises the following steps: sending, by the first computers to at least part of the second computers, called “zone computers” (or zonal computers), first declaration messages respectively representative of a configuration state of said first computers; detection, by the second computers, of a computer operating as a “master computer” among said second computers; sending, by the second computers to the master computer, second declaration messages respectively representative of a configuration state of said second computers, the second declaration messages sent by the zone computers also being respectively representative of the configuration state, of the first computers, determined from the first messages. The master computer can thus determine, from the second messages received, global configuration data representative of the configuration of the first and second computers (or more generally of the vehicle).
A noter que la présente invention peut s’appliquer à divers types de protocoles de communication ou à divers types de sous-réseaux de communication. A titre d’exemple, le premier sous-réseau peut être selon l’un quelconque (ou selon au moins l’un) des types suivants : CAN (pour « Réseau de contrôleurs » ou « Controller Area Network » en anglais), LIN (pour « Réseau Interconnecté local » ou « Local Interconnect Network » en anglais) et Flexray (système de communication par bus informatique, standardisé par la norme ISO 17458). A titre d’exemple, le deuxième sous-réseau est de type Ethernet (standardisé par la norme ISO/IEC 802-3).Note that the present invention can be applied to various types of communication protocols or to various types of communication subnetworks. For example, the first subnetwork can be of any (or at least one) of the following types: CAN (for “Controller Area Network” in English), LIN (for “Local Interconnect Network” or “Local Interconnect Network” in English) and Flexray (computer bus communication system, standardized by the ISO 17458 standard). For example, the second subnetwork is of the Ethernet type (standardized by the ISO/IEC 802-3 standard).
La présente invention propose ainsi un mécanisme dynamique permettant de rendre disponible en temps réel la configuration d’un véhicule (inventaire, topologie physique, allocation fonctionnelle, etc.).The present invention thus proposes a dynamic mechanism making it possible to make the configuration of a vehicle available in real time (inventory, physical topology, functional allocation, etc.).
Les données de configuration globales ainsi déterminées peuvent par exemple être utilisées pour réaliser une mise à jour logicielle du véhicule, par exemple une mise à jour d’au moins l’un des calculateurs dudit véhicule et/ou d’au moins un autre composant du véhicule embarquant un logiciel que l’on souhaite mettre à jour. Comme décrit par la suite, une mise à jour logicielle peut par exemple être de type OTA (pour « Over the Air »).The global configuration data thus determined can for example be used to carry out a software update of the vehicle, for example an update of at least one of the computers of said vehicle and/or of at least one other component of the vehicle. vehicle carrying software that you wish to update. As described below, a software update can for example be of the OTA type (for “Over the Air”).
La technique actuelle pour réaliser par exemple une mise à jour logicielle d’un véhicule automobile est une solution statique consistant à déterminer à chaque fois un inventaire complet du véhicule lorsqu’une telle mise à jour doit être effectuée. Cette phase préalable d’inventaire implique un temps de réactivité long ce qui limite l’efficacité du processus de mise à jour et engendre un coût important en temps et ressources, d’autant plus si un grand nombre de véhicules est mis à jour.The current technique for carrying out, for example, a software update of a motor vehicle is a static solution consisting of determining each time a complete inventory of the vehicle when such an update must be carried out. This preliminary inventory phase involves a long reactivity time, which limits the effectiveness of the update process and generates a significant cost in time and resources, especially if a large number of vehicles are updated.
La présente invention permet de réaliser dynamiquement, c’est-à-dire au fil du temps (voir en temps réel), une détection de la configuration d’un véhicule. Lorsqu’une mise à jour logicielle du véhicule est nécessaire, celle-ci peut alors être instantanément réalisée sans temps d’attente important.The present invention makes it possible to detect the configuration of a vehicle dynamically, that is to say over time (see in real time). When a vehicle software update is necessary, this can then be carried out instantly without significant waiting time.
La présente invention offre ainsi des gains de temps important lorsqu’une mise à jour d’un véhicule est réalisée.The present invention thus offers significant time savings when an update of a vehicle is carried out.
La
A titre d’exemple, les calculateurs 7 peuvent être agencés selon une arborescence dans le réseau de communication 6. Autrement dit, les calculateurs 7 forment des nœuds connectés entre eux selon des relations parent/enfant dans l’arborescence. Tous les nœuds de l’arborescence sont des enfants directs ou indirects de la racine de l’arborescence. Chaque calculateur 7 peut ainsi envoyer ou propager des données à un nœud qui lui est adjacent dans l’arborescence.For example, the computers 7 can be arranged according to a tree structure in the communication network 6. In other words, the computers 7 form nodes connected to each other according to parent/child relationships in the tree structure. All nodes in the tree are direct or indirect children of the root of the tree. Each computer 7 can thus send or propagate data to a node adjacent to it in the tree.
Selon un exemple particulier, le réseau de communication 6 comprend au moins un premier sous-réseau NT1 de communication dans lequel des premiers calculateurs 8 communiquent selon un premier protocole de communication et un deuxième sous-réseau NT2 de communication dans lequel des deuxièmes calculateurs 10 communiquent selon un deuxième protocole de communication différent du premier protocole de communication. Les premier et deuxième sous-réseaux NT1, NT2 sont couplés ou connectés ensemble de sorte que les calculateurs 10 du deuxième sous-réseau NT2 puisse recevoir des données en provenance du premier sous-réseau NT1.According to a particular example, the communication network 6 comprises at least a first communication subnetwork NT1 in which first computers 8 communicate according to a first communication protocol and a second communication subnetwork NT2 in which second computers 10 communicate according to a second communication protocol different from the first communication protocol. The first and second subnetworks NT1, NT2 are coupled or connected together so that the computers 10 of the second subnetwork NT2 can receive data from the first subnetwork NT1.
Selon un exemple particulier, les premiers calculateurs 8 du premier sous-réseau NT1 sont configurés pour envoyer des données – notamment des données d’état de configuration comme décrit ci-après – sous formes de premiers messages de déclaration MSG1 (appelés premiers messages) au deuxième sous-réseau NT2. Pour ce faire, au moins un deuxième calculateur 10 du deuxième sous-réseau NT2 est configuré en tant que calculateur de zone (ou calculateur zonal), à savoir un calculateur apte à recevoir les premiers messages de déclaration MSG1 en provenance d’au moins un premier calculateur 8 du premier sous-réseau NT1. A titre d’exemple, chaque premier calculateur 8 du premier sous-réseau NT1 peut être configuré pour transmettre des premiers messages de déclaration MSG1 au deuxième sous-réseau NT2 via un calculateur de zone respectif du deuxième sous-réseau NT2, ce calculateur de zone étant un parent vis-à-vis dudit premier calculateur 8 dans l’arborescence du réseau de communication 6.According to a particular example, the first computers 8 of the first subnetwork NT1 are configured to send data – in particular configuration state data as described below – in the form of first declaration messages MSG1 (called first messages) to the second NT2 subnetwork. To do this, at least one second computer 10 of the second subnetwork NT2 is configured as a zone computer (or zonal computer), namely a computer capable of receiving the first declaration messages MSG1 coming from at least one first computer 8 of the first subnetwork NT1. By way of example, each first calculator 8 of the first subnetwork NT1 can be configured to transmit first declaration messages MSG1 to the second subnetwork NT2 via a respective zone calculator of the second subnetwork NT2, this zone calculator being a parent with respect to said first calculator 8 in the tree of the communication network 6.
Selon un exemple particulier, les premiers calculateurs 8 du premier sous-réseau NT1 sont agencés en tant qu’enfants (ou fils) vis-à-vis des deuxièmes calculateurs 10 du deuxième sous-réseau NT2, et plus particulièrement vis-à-vis du ou des calculateurs de zone du deuxième sous-réseau NT2.According to a particular example, the first computers 8 of the first subnetwork NT1 are arranged as children (or sons) with respect to the second computers 10 of the second subnetwork NT2, and more particularly with respect to of the zone calculator(s) of the second NT2 subnetwork.
Comme décrit ci-après, un calculateur parmi les deuxième calculateur 10 du deuxième sous-réseau NT2 peut être configuré pour opérer en tant que calculateur maître 10a, les autres deuxièmes calculateurs 10 opérant alors en tant que calculateur esclaves 10b.As described below, one computer among the second computers 10 of the second subnetwork NT2 can be configured to operate as master computer 10a, the other second computers 10 then operating as slave computers 10b.
On suppose par la suite que le premier sous-réseau NT1 de communication est selon l’un quelconque (ou selon l’un au moins) des types suivants : CAN, LIN et Flexray ; et que le deuxième sous-réseau NT2 de communication est de type Ethernet. D’autres types de sous-réseau sont toutefois possibles dans le cadre de l’invention. Selon un exemple particulier, le deuxième-sous réseau NT2 peut comprendre au moins 2 portions de réseau de communication utilisant des protocoles de communication différents.It is subsequently assumed that the first communication subnetwork NT1 is of any one (or at least one) of the following types: CAN, LIN and Flexray; and that the second communication subnetwork NT2 is of the Ethernet type. Other types of subnetwork are however possible within the framework of the invention. According to a particular example, the second subnetwork NT2 may comprise at least 2 communications network portions using different communication protocols.
A noter que l’invention peut s’appliquer à des véhicules autres que des véhicules automobiles, par exemple à des cars, bus, camions, véhicule utilitaires ou motocyclettes. Selon un exemple particulier, le véhicule 2 est un quelconque véhicule terrestre motorisé.Note that the invention can be applied to vehicles other than motor vehicles, for example to coaches, buses, trucks, utility vehicles or motorcycles. According to a particular example, the vehicle 2 is any motorized land vehicle.
Comme déjà indiqué, les calculateurs 7, appelés aussi unités de commande électronique ou ECU, sont chacun configurés pour réaliser au moins une fonction de contrôle dans le véhicule. A titre d’exemple, la fonction de contrôle d’un calculateur 7 peut porter sur la gestion de l’aide à la conduite, l’antipatinage, la répartition électronique du freinage ou encore la commande d’actionneurs pour assurer le fonctionnement optimal d’un moteur à combustion (calculateur moteur). A cet effet, chaque calculateur 7 embarque un logiciel (ou programme d’ordinateur) comprenant des instructions pour réaliser collectivement un processus (ou procédé) de contrôle tel que décrit ci-après dans des exemples particuliers. Un exemple d’architecture d’un calculateur 7 est décrit plus en détail en référence à la
Une fonction de contrôle mise en œuvre par un calculateur 7 est par exemple configurée pour traiter des signaux d’entrée collectés depuis un ou des premiers composants du véhicule 2, et pour envoyer à au moins un deuxième composant du véhicule 2 des signaux de commande déterminés en fonction des signaux d’entrée. La mise en œuvre de l’invention peut être adaptée en fonction de la nature des calculateurs utilisés.A control function implemented by a computer 7 is for example configured to process input signals collected from one or more first components of the vehicle 2, and to send determined control signals to at least one second component of the vehicle 2. depending on the input signals. The implementation of the invention can be adapted depending on the nature of the computers used.
Chaque calculateur 7 peut se trouver à un instant donné dans un état de configuration donné, cet état de configuration pouvant varier au cours du temps. Chaque calculateur 7 est apte à déterminer des données d’état de configuration représentatives de son état de configuration (ou de sa configuration) à un instant courant, et à envoyer ces données d’état de configuration dans le réseau de communication 6 comme décrit ci-après. Ces données d’état de configuration peuvent définir par exemple une configuration fonctionnelle et/ou physique dudit calculateur considéré. Ces données d’état de configuration peuvent définir par exemple la manière dont un calculateur 7 est configuré pour mettre en œuvre au moins une fonction de contrôle dans le véhicule 2.Each computer 7 can be at a given moment in a given configuration state, this configuration state being able to vary over time. Each computer 7 is able to determine configuration state data representative of its configuration state (or its configuration) at a current instant, and to send this configuration state data into the communication network 6 as described below. -After. This configuration state data can define, for example, a functional and/or physical configuration of said computer in question. This configuration state data can define, for example, the way in which a computer 7 is configured to implement at least one control function in the vehicle 2.
De manière générale, les données d’états de configuration générées par les calculateurs 7 définissent collectivement une configuration globale des calculateurs, ou plus généralement du véhicule 2. Cette configuration globale peut caractériser par exemple au moins l’un parmi : une topologie physique, une topologie (ou allocation) fonctionnelle et un inventaire du véhicule.In general, the configuration state data generated by the computers 7 collectively define a global configuration of the computers, or more generally of the vehicle 2. This global configuration can characterize for example at least one of: a physical topology, a functional topology (or allocation) and a vehicle inventory.
Comme représenté en
La
Comme représenté en
A titre d’exemple, le système de contrôle 4 comprend ici des premiers calculateurs 8 notés ECU1, ECU2, ECU3 et ECU4, formant chacun un nœud terminal dans l’arborescence du réseau de communication 6. Chaque premier calculateur ECU1-ECU4 est connecté à un même deuxième calculateur 10 du deuxième sous-réseau NT1, à savoir le calculateur de zone noté ZECU1 (
Toujours dans l’exemple de la
L’architecture du réseau de communication 6 peut varier selon le cas. En particulier, le nombre de premiers sous-réseaux NT1, le nombre de premiers calculateurs 8 par premier sous-réseau NT1, le nombre de deuxièmes calculateurs 10 dans le deuxième sous-réseau NT2 ainsi que les relations parent/enfant dans l’arborescence entre les calculateurs 7 peuvent être adaptés au cas par cas. Deux calculateurs situés à un même niveau hiérarchique de l’arborescence peuvent sont connectés directement entre eux, ou non, selon les connexions définies par l’arborescence du réseau de communication 6.The architecture of the communication network 6 may vary depending on the case. In particular, the number of first subnetworks NT1, the number of first computers 8 per first subnetwork NT1, the number of second computers 10 in the second subnetwork NT2 as well as the parent/child relationships in the tree between calculators 7 can be adapted on a case-by-case basis. Two computers located at the same hierarchical level of the tree can be connected directly to each other, or not, depending on the connections defined by the tree of the communication network 6.
A tire d’exemple, les calculateurs de zone ZECU1-ZECU3 sont chacun connectés en tant que nœuds enfants aux deuxièmes calculateurs HPC1 et HPC2 (mais pas HPC3). En revanche, le calculateur de zone ZECU4 n’est connecté en tant que nœud enfant qu’au deuxième calculateur HPC3 (pas à HPC1 ni à HPC2). De plus, le deuxième calculateur TCU (racine) est connecté en tant que parent à chacun des deuxièmes calculateurs HPC1-HPC3 dans l’arborescence.For example, the zone computers ZECU1-ZECU3 are each connected as child nodes to the second computers HPC1 and HPC2 (but not HPC3). On the other hand, the zone calculator ZECU4 is only connected as a child node to the second calculator HPC3 (not to HPC1 nor to HPC2). Additionally, the second TCU (root) calculator is connected as a parent to each of the second HPC1-HPC3 calculators in the tree.
Comme décrit par la suite, les premiers calculateurs 8 des premiers sous-réseaux NT1 sont configurés pour envoyer des données d’état de configuration sous forme de premiers messages de déclaration MSG1 à leur calculateur de zone respectif ZECU1-ZECU4. A titre d’exemple, les calculateurs ECU1-ECU4 peuvent ainsi envoyer selon le premier protocole de communication des premiers messages MSG1 au calculateur de zone ZECU1 (calculateur parent).As described below, the first computers 8 of the first subnetworks NT1 are configured to send configuration state data in the form of first declaration messages MSG1 to their respective zone computer ZECU1-ZECU4. For example, the computers ECU1-ECU4 can thus send, according to the first communication protocol, the first messages MSG1 to the zone computer ZECU1 (parent computer).
En outre, les deuxièmes calculateurs 10 peuvent être configurés pour détecter un deuxième calculateur 10 (par exemple un unique deuxième calculateur 10), opérant en tant que calculateur maître 10a, et pour envoyer à ce calculateur maître 10a des données d’état de configuration sous forme de deuxièmes messages de déclaration MSG2. Les deuxièmes calculateurs 10, autre que le calculateur maître 10a, sont alors appelés calculateurs esclaves 10b.In addition, the second computers 10 can be configured to detect a second computer 10 (for example a single second computer 10), operating as a master computer 10a, and to send configuration status data to this master computer 10a under form of second MSG2 declaration messages. The second computers 10, other than the master computer 10a, are then called slave computers 10b.
De manière générale, les messages ou données échangés au sein du réseau de communication 6 sont transmis de nœud à nœud depuis un nœud d’origine vers un nœud destinataire, directement ou via au moins un nœud intermédiaire, le choix de parcours étant fonction des connexions formées entre les nœuds dans l’arborescence.In general, the messages or data exchanged within the communication network 6 are transmitted from node to node from an originating node to a destination node, directly or via at least one intermediate node, the choice of route depending on the connections formed between nodes in the tree.
Comme indiqué ci-avant, le système de contrôle 4 est configuré pour mettre en œuvre un processus de contrôle. Ce processus est à présent décrit conjointement aux figures 1 et 2 selon des modes de réalisation particuliers.As indicated above, the control system 4 is configured to implement a control process. This process is now described jointly in Figures 1 and 2 according to particular embodiments.
Dans une première opération, les premiers calculateurs 8 envoient à au moins une partie des deuxièmes calculateurs 10, à savoir aux calculateurs de zone ZECU1-ZECU4 dans cet exemple, des premiers messages de déclaration MSG1 représentatifs respectivement d’un état de configuration des premiers calculateurs 8. Ces premiers messages MSG1 permettent notamment d’annoncer la présence des premiers calculateurs 10 auprès des calculateurs de zone respectifs. A titre d’exemple, les premiers calculateurs ECU1-ECU4 du premier sous-réseau 8 envoie chacun un premier message de déclaration MSG1 au calculateur de zone ZECU1 correspondant, ledit message MSG1 définissant un état de configuration dans lequel se trouve le premier calculateur 8 émetteur (à l’origine du message). De manière analogue, les autres calculateurs de zone ZECU2-ZECU4 peuvent chacun recevoir au moins un premier message de déclaration MSG1 représentatif de l’état de configuration d’un premier calculateur 8 respectif.In a first operation, the first computers 8 send to at least part of the second computers 10, namely to the zone computers ZECU1-ZECU4 in this example, first declaration messages MSG1 respectively representative of a configuration state of the first computers 8. These first MSG1 messages make it possible in particular to announce the presence of the first computers 10 to the respective zone computers. For example, the first computers ECU1-ECU4 of the first subnetwork 8 each send a first declaration message MSG1 to the corresponding zone computer ZECU1, said message MSG1 defining a configuration state in which the first transmitter computer 8 is located. (at the origin of the message). Analogously, the other zone computers ZECU2-ZECU4 can each receive at least a first declaration message MSG1 representative of the configuration state of a first respective computer 8.
Selon un exemple particulier, les premiers calculateurs 8 envoie périodiquement les premiers messages MSG1 aux deuxièmes calculateurs 10. Selon un exemple particulier, chaque premiers calculateurs 8 envoie un premiers message de déclaration MSG1 sur détection d’un changement d’état de configuration dudit premier calculateur 8. Ainsi, l’envoi des premiers messages MSG1 peut être périodique et/ou évènementiel (déclenché sur détection d’un changement d’état de configuration). De cette manière, les calculateurs de zone ZECU1-ZECU4 peuvent suivre l’évolution au cours du temps notamment de l’état de configuration des premiers calculateurs 8.According to a particular example, the first computers 8 periodically send the first messages MSG1 to the second computers 10. According to a particular example, each first computer 8 sends a first declaration message MSG1 upon detection of a change in configuration state of said first computer 8. Thus, the sending of the first MSG1 messages can be periodic and/or event-driven (triggered upon detection of a change in configuration state). In this way, the zone computers ZECU1-ZECU4 can follow the evolution over time, in particular of the configuration state of the first computers 8.
Dans une deuxième opération, les deuxièmes calculateurs 10 détectent un calculateur opérant en tant que calculateur maître 10a parmi lesdits deuxièmes calculateurs 10. Cette détection peut être réalisée une seule fois au cours du processus de contrôle, et ce de diverses manières. Selon un exemple particulier, ce calculateur maître 10a est unique parmi les deuxièmes calculateurs 10.In a second operation, the second computers 10 detect a computer operating as master computer 10a among said second computers 10. This detection can be carried out only once during the control process, and in various ways. According to a particular example, this master computer 10a is unique among the second computers 10.
Selon un premier exemple de réalisation, l’un des deuxièmes calculateurs est prédéfini en tant que calculateur maître 10a et annonce par conséquent aux autres deuxièmes calculateurs (calculateurs esclaves) 10b qu’il est celui qui opère en tant que calculateur maître au sein du premier sous-réseau NT2. Pour ce faire, ce deuxième calculateur prédéfini 10a envoie par exemple périodiquement un message d’annonce MSG0 à chaque autre deuxième calculateur 10b pour annoncer qu’il opère en tant que calculateur maître. Les calculateurs esclaves 10b détectent ainsi le calculateur maître 10a à partir du message d’annonce MSG0 reçu. Ce message d’annonce MSG0 comprend par exemple un identifiant du calculateur maître 10a pour permettre aux calculateurs esclaves 10b de l’identifier et lui envoyer par la suite des données. A titre d’exemple, HPC1 envoie ainsi périodiquement un message d’annonce MSG0 aux calculateurs TCU, HPC2, HP2, ZECU1, ZECU2, ZECU3 et ZECU4.According to a first embodiment, one of the second computers is predefined as a master computer 10a and therefore announces to the other second computers (slave computers) 10b that it is the one which operates as a master computer within the first NT2 subnet. To do this, this second predefined computer 10a for example periodically sends an announcement message MSG0 to each other second computer 10b to announce that it is operating as a master computer. The slave computers 10b thus detect the master computer 10a from the MSG0 announcement message received. This MSG0 announcement message includes for example an identifier of the master computer 10a to allow the slave computers 10b to identify it and subsequently send it data. For example, HPC1 periodically sends an MSG0 announcement message to the computers TCU, HPC2, HP2, ZECU1, ZECU2, ZECU3 and ZECU4.
Selon un deuxième exemple de réalisation, un mécanisme d’élection est réalisé par les deuxièmes calculateurs 10 au cours de la deuxième (par exemple si aucun deuxième calculateur 10 n’est prédéfini en tant que calculateur maître 10a). Au cours de ce mécanisme d’élection, chaque deuxième calculateur 10 envoie périodiquement un message d’annonce MSG0 aux autres deuxièmes calculateur 10. Le deuxième calculateur 10 qui envoie le plus rapidement un message d’annonce MSG0, à compter d’un instant de référence t0, pour se déclarer en tant que calculateur maître est détecté comme calculateur maître 10a parmi les deuxièmes calculateurs 10. Comme déjà indiqué, les messages d’annonce MSG0 peuvent chacun comprendre un identifiant du calculateur à l’origine dudit message d’annonce MSG0 pour permettre aux autres deuxièmes calculateurs 10 de l’identifier et lui envoyer si besoin des données.According to a second embodiment, an election mechanism is carried out by the second computers 10 during the second (for example if no second computer 10 is predefined as master computer 10a). During this election mechanism, each second computer 10 periodically sends an MSG0 announcement message to the other second computers 10. The second computer 10 which most quickly sends an MSG0 announcement message, from an instant of reference t0, to declare itself as a master computer is detected as master computer 10a among the second computers 10. As already indicated, the MSG0 announcement messages can each include an identifier of the computer at the origin of said MSG0 announcement message to allow the other second computers 10 to identify it and send it data if necessary.
Selon un exemple particulier, ce mécanisme d’élection est réalisé seulement par des deuxièmes calculateurs 10 qui ne sont ni des calculateurs de zone ni le calculateur formant la racine du réseau de communication 6, à savoir seulement les calculateurs intermédiaires HPC1, HPC2 et HPC3 dans cet exemple (
Selon un exemple particulier, les calculateurs HPC1, HPC2 et HPC3 attendent un délai aléatoire (à compte d’un instant de référence) avant d’envoyer un message d’annonce MSG0 dans le deuxième sous-réseau NT2. Le deuxième calculateur qui a envoyé en premier un message d’annonce MSG0 à compter d’un instant de référence t0 est détecté lors de la deuxième opération comme étant le calculateur maître 10a.According to a particular example, the HPC1, HPC2 and HPC3 computers wait for a random delay (starting from a reference instant) before sending an MSG0 announcement message in the second subnetwork NT2. The second computer which first sent an announcement message MSG0 from a reference instant t0 is detected during the second operation as being the master computer 10a.
On suppose par la suite à titre d’exemple que le deuxième calculateur HPC1 est détecté parmi les deuxièmes calculateurs 10 comme le calculateur maître 10a. A noter que la deuxième opération peut être réalisée en parallèle ou avant la première opération décrite ci-avant.It is subsequently assumed by way of example that the second calculator HPC1 is detected among the second computers 10 such as the master computer 10a. Note that the second operation can be carried out in parallel or before the first operation described above.
Dans une troisième opération, les calculateurs esclaves 10b envoient au calculateur maître 10a des deuxièmes messages de déclaration MSG2 représentatifs respectivement d’un état de configuration des deuxièmes calculateurs esclaves 10b. Les deuxièmes messages de déclaration MSG2 envoyés plus spécifiquement par les calculateurs de zone ZECU1-ZECU4 sont aussi représentatifs respectivement de l’état de configuration, des premiers calculateurs 8, déterminé à partir des premiers messages de déclaration MSG1 reçus au cours de la première opération. Autrement dit, dans le cas présent, les calculateurs TCU, HPC2 par exemple envoient au calculateur maître HPC1 des deuxièmes messages de déclaration SMG2 représentatifs respectivement de l’état de configuration de TCU et HPC2. En outre, le calculateur de zone ZECU1 par exemple envoie au calculateur maître HPC1 un deuxième message de déclaration MSG2 représentatif de l’état de configuration de ZECU1 et des états de configuration respectifs des premiers calculateurs ECU1-ECU4 déterminés à partir des premiers messages de déclaration MSG1 reçus par le calculateur de zone ZECU1 en provenance des premiers calculateurs ECU1-ECU4.In a third operation, the slave computers 10b send to the master computer 10a second declaration messages MSG2 respectively representative of a configuration state of the second slave computers 10b. The second declaration messages MSG2 sent more specifically by the zone computers ZECU1-ZECU4 are also respectively representative of the configuration state of the first computers 8, determined from the first declaration messages MSG1 received during the first operation. In other words, in the present case, the computers TCU, HPC2 for example send to the master computer HPC1 second declaration messages SMG2 representing respectively the configuration state of TCU and HPC2. In addition, the zone computer ZECU1 for example sends to the master computer HPC1 a second declaration message MSG2 representative of the configuration state of ZECU1 and the respective configuration states of the first computers ECU1-ECU4 determined from the first declaration messages MSG1 received by the zone computer ZECU1 from the first computers ECU1-ECU4.
Selon un exemple particulier, l’envoi des deuxièmes messages de déclaration MSG2 au calculateur maître 10a est déclenché dès la détection par les calculateurs esclaves 10b du calculateur maître 10a (au cours de la deuxième opération).According to a particular example, the sending of the second declaration messages MSG2 to the master computer 10a is triggered upon detection by the slave computers 10b of the master computer 10a (during the second operation).
Selon un exemple particulier, les calculateurs esclaves 10b envoient périodiquement au calculateur maître 10a des deuxièmes messages MSG2 tels que décrits ci-avant. Selon un exemple particulier, les calculateurs esclaves 10b envoient un deuxième message de déclaration MSG2 au calculateur maître 10a sur détection d’un changement de l’état de configuration d’au moins un calculateur (premier calculateur 8 et/ou deuxième calculateur 10) situé en aval dans l’arborescence du réseau de communication 6. La manière dont ces changements d’état de configuration peuvent être détectés est décrite ci-après. Ainsi, l’envoi des deuxièmes messages de déclaration MSG2 peut être périodique et/ou évènementiel (déclenché sur détection d’un changement d’état de configuration). De cette manière, le calculateur maître 10a peut suivre l’évolution au cours du temps de l’état de configuration des premiers et deuxièmes calculateurs 8, 10.According to a particular example, the slave computers 10b periodically send second MSG2 messages to the master computer 10a as described above. According to a particular example, the slave computers 10b send a second declaration message MSG2 to the master computer 10a upon detection of a change in the configuration state of at least one computer (first computer 8 and/or second computer 10) located downstream in the communication network tree 6. How these configuration state changes can be detected is described below. Thus, the sending of second MSG2 declaration messages can be periodic and/or event-driven (triggered upon detection of a change in configuration state). In this way, the master computer 10a can follow the evolution over time of the configuration state of the first and second computers 8, 10.
Selon un exemple particulier, les premiers et deuxièmes messages de déclaration MSG1, MSG2 sont envoyés périodiquement par respectivement les premiers et deuxièmes calculateurs 8, 10 selon une période plus courte que la période d’envoi des messages d’annonce MSG0 (dans le cas d’un deuxième calculateur prédéfini en tant que calculateur maître 10a ou dans le cas de la mise en œuvre d’un mécanisme d’élection comme précédemment décrit). L’envoi d’un message d’annonce MSG0 vise principalement à indiquer ou détecter quel deuxième calculateur 10 opère en tant que calculateur maître à un instant donné. Aussi, il est possible de conserver le même calculateur maître pendant un temps relativement long, notamment si la topologie du véhicule est figée, ce qui permet de limiter la fréquence des envois de messages d’annonce MSG0, et donc d’économiser les ressources nécessaires. L’envoi d’un message d’annonce MSG0 peut notamment être nécessaire si le calculateur maître à un instant donné est en panne ou est replacé, car un nouveau calculateur maître est alors requis pour récupérer les deuxièmes messages MSG2. A noter par ailleurs que l’envoi de messages de déclaration MSG1 et MSG2 est nécessaire notamment lorsqu’il y a des changements de logiciels (i.e., la topologie n’est pas changée). Aussi, il est avantageux dans un mode de réalisation particulier de configurer les calculateurs tels que la période d’envoi des messages d’annonce MSG0 est plus longue que celle des messages de déclaration MSG1 et MSG2.According to a particular example, the first and second declaration messages MSG1, MSG2 are sent periodically by respectively the first and second computers 8, 10 according to a period shorter than the period for sending the announcement messages MSG0 (in the case of a second predefined calculator as master calculator 10a or in the case of the implementation of an election mechanism as previously described). The main purpose of sending an MSG0 announcement message is to indicate or detect which second computer 10 is operating as master computer at a given time. Also, it is possible to keep the same master computer for a relatively long time, particularly if the topology of the vehicle is fixed, which makes it possible to limit the frequency of sending MSG0 announcement messages, and therefore to save the necessary resources. . Sending an MSG0 announcement message may in particular be necessary if the master computer at a given time has broken down or is replaced, because a new master computer is then required to recover the second MSG2 messages. Note also that sending MSG1 and MSG2 declaration messages is necessary, particularly when there are software changes (i.e., the topology is not changed). Also, it is advantageous in a particular embodiment to configure the computers such that the period for sending MSG0 announcement messages is longer than that of MSG1 and MSG2 declaration messages.
Selon un exemple particulier, si aucun premier ou deuxième message de déclaration MSG1, MSG2 n’est reçu par un calculateur esclave 10b pendant une période prédéfini en provenance d’un autre calculateur situé en aval dans l’arborescence du réseau de communication 6, ledit calculateur esclave 10b envoie un deuxième message de déclaration MSG2 indiquant une anomalie associée audit autre calculateur.According to a particular example, if no first or second declaration message MSG1, MSG2 is received by a slave computer 10b during a predefined period coming from another computer located downstream in the tree of the communication network 6, said slave computer 10b sends a second declaration message MSG2 indicating an anomaly associated with said other computer.
Selon un exemple particulier, les deuxièmes calculateurs 10 (ou au moins une partie d’entre eux) stockent et tiennent à jour des données de configuration représentatives d’un état de configuration d’au moins un premier calculateur 8 positionné en aval dans l’arborescence du réseau de communication 6, ces données de configuration étant fonction des premiers messages de déclaration MSG1 reçus en provenance dudit au moins un premiers calculateur 8 situé en aval. Les deuxièmes messages de déclaration MSG2 envoyés par les deuxièmes calculateurs esclave 10b sont alors déterminés, le cas échéant, en fonction de ces données de configuration. Pour ce faire, un deuxième calculateur 10 peut stocker en mémoire des données de configuration, par exemple sous forme d’une table, indiquant un état de configuration courant pour respectivement chaque premier calculateur 8 situé en aval dans l’arborescence du réseau de communication 6. La forme et la nature des données de configuration stocker par les deuxièmes calculateurs 10 peuvent varier selon le cas.According to a particular example, the second computers 10 (or at least part of them) store and maintain configuration data representative of a configuration state of at least one first computer 8 positioned downstream in the tree structure of the communication network 6, this configuration data being a function of the first MSG1 declaration messages received from said at least one first computer 8 located downstream. The second MSG2 declaration messages sent by the second slave computers 10b are then determined, where appropriate, based on this configuration data. To do this, a second computer 10 can store configuration data in memory, for example in the form of a table, indicating a current configuration state for respectively each first computer 8 located downstream in the tree of the communication network 6 The form and nature of the configuration data stored by the second computers 10 may vary depending on the case.
A titre d’exemple, le calculateur de zone ZECU1 stocke et tient à jour dans sa mémoire locale des données de configuration représentatives des états de configuration respectifs des premiers calculateurs ECU1-ECU4 positionnés en aval, ces données de configuration étant déterminées à partir des premiers messages de déclaration MSG1 reçus en provenance de ces premiers calculateurs ECU1-ECU4. Ainsi, le calculateur de zone ZECU1 peut mettre à jour dynamiquement ses données de configuration pour chaque premier calculateur « enfant » ECU1-ECU4 en fonction des premiers messages MSG1 reçus. Les deuxièmes messages de déclaration MSG2 envoyés par le calculateur de zone ZECU1 au calculateur maître sont alors représentatifs à la fois de l’état de configuration du calculateur ZECU1 lui-même et aussi des états de configuration respectifs de ZECU1, ZECU2, ZEC3 et ZECU4.By way of example, the zone computer ZECU1 stores and maintains in its local memory configuration data representative of the respective configuration states of the first computers ECU1-ECU4 positioned downstream, these configuration data being determined from the first MSG1 declaration messages received from these first computers ECU1-ECU4. Thus, the zone computer ZECU1 can dynamically update its configuration data for each first “child” computer ECU1-ECU4 according to the first MSG1 messages received. The second declaration messages MSG2 sent by the zone computer ZECU1 to the master computer are then representative of both the configuration state of the computer ZECU1 itself and also the respective configuration states of ZECU1, ZECU2, ZEC3 and ZECU4.
De manière identique, chaque autre calculateur de zone ZECU2-ZECU4 peut stocker et tenir à jour dans sa mémoire locale des données de configuration représentatives de l’état de configuration d’un ou plusieurs premier calculateur 10 situés en aval dans l’arborescence du réseau de communication 6.In the same manner, each other zone calculator ZECU2-ZECU4 can store and keep up to date in its local memory configuration data representative of the configuration state of one or more first calculators 10 located downstream in the network tree. communication 6.
Selon un exemple particulier, les deuxièmes calculateurs 10 (ou au moins une partie d’entre eux) stockent et tiennent aussi à jour des données de configuration représentatives d’un état de configuration d’au moins un deuxième calculateur 10 positionné en aval dans l’arborescence du réseau de communication 6, ces données de configuration étant fonction des deuxièmes messages de déclaration MSG2 reçus en provenance dudit au moins un deuxième calculateur 10 situé en aval. Ainsi, dans l’exemple représenté en
A noter que les données de configuration stockées et mises à jour comme décrit précédemment peuvent être traitées de diverses manières par les deuxièmes calculateurs 10. Selon un exemple particulier, à réception d’un message initial (MSG1 ou MSG2) en provenance d’un calculateur situé en aval dans l’arborescence, chaque deuxième calculateur 10 créer dans une table locale (ou base de données) une entrée initiale associée au calculateur émetteur. Ces données peuvent définir un état de configuration initial en association avec respectivement au moins un calculateur situé en aval du deuxième calculateur 10 considéré. Selon un exemple particulier, ces données de configuration comprennent un triplet [identifiant du calculateur émetteur, identifiant réseau, état de configuration]. A réception d’un autre premier ou deuxième message MSG1, MSG2, chaque deuxième calculateur 10 peut ultérieurement vérifier s’il y a eu modification de l’état de configuration d’un calculateur dans le réseau de communication 6 et, dans l’affirmative, ledit deuxième calculateur 10 modifie ses données de configuration pour refléter cette modification, et peut en outre déclencher l’envoi d’un deuxième message MSG2 pour informer le calculateur maître 10a de cette modification.Note that the configuration data stored and updated as described above can be processed in various ways by the second computers 10. According to a particular example, upon receipt of an initial message (MSG1 or MSG2) from a computer located downstream in the tree, each second calculator 10 creates in a local table (or database) an initial entry associated with the transmitting calculator. These data can define an initial configuration state in association with respectively at least one computer located downstream of the second computer 10 considered. According to a particular example, this configuration data includes a triplet [transmitting computer identifier, network identifier, configuration state]. On receipt of another first or second message MSG1, MSG2, each second computer 10 can subsequently check whether there has been a modification of the configuration state of a computer in the communication network 6 and, if so , said second computer 10 modifies its configuration data to reflect this modification, and can also trigger the sending of a second message MSG2 to inform the master computer 10a of this modification.
Le contenu des messages de déclaration MSG1, MSG2 transmis au cours du processus de contrôle peuvent varier selon le cas. Selon un exemple particulier, chaque premier message de déclaration MSG1 envoyé par les premiers calculateurs 8 définit totalement la configuration desdits premiers calculateurs 8 (envoi toujours d’une configuration complète). En revanche, chaque calculateur esclave 10b peut envoyer au calculateur maître 10a un message de déclaration initial MSG2 définissant la configuration complète dudit calculateur esclave 10b et la configuration complète de chaque calculateur situé en aval dans l’arborescence, et envoyer ultérieurement uniquement des messages de déclaration MSG2 définissant des changements d’état de configuration (la différence entre la précédente configuration et la configuration courante) dudit calculateur esclave 10b et de chaque calculateur situé en aval dans l’arborescence.The content of the MSG1, MSG2 declaration messages transmitted during the control process may vary depending on the case. According to a particular example, each first MSG1 declaration message sent by the first computers 8 completely defines the configuration of said first computers 8 (always sending a complete configuration). On the other hand, each slave computer 10b can send to the master computer 10a an initial declaration message MSG2 defining the complete configuration of said slave computer 10b and the complete configuration of each computer located downstream in the tree, and subsequently send only declaration messages MSG2 defining changes in configuration state (the difference between the previous configuration and the current configuration) of said slave computer 10b and of each computer located downstream in the tree.
Dans une quatrième opération du processus de contrôle, le calculateur maître 10a détermine, à partir des deuxièmes messages de déclaration reçus, des données de configuration globale (ou données d’inventaire) représentatives de la configuration des premiers et deuxièmes calculateurs 8, 10 du réseau de communication 6.In a fourth operation of the control process, the master computer 10a determines, from the second declaration messages received, global configuration data (or inventory data) representative of the configuration of the first and second computers 8, 10 of the network communication 6.
Selon un exemple particulier, ces données de configuration globale sont représentatives d’au moins l’un parmi :According to a particular example, this global configuration data is representative of at least one of:
- une topologie physique du véhicule 2 ;a physical topology of the vehicle 2;
- une topologie fonctionnelle du véhicule 2 ; eta functional topology of vehicle 2; And
- un inventaire du véhicule 2.an inventory of the vehicle 2.
Le calculateur maître 10a peut ainsi stocker et mettre à jour les données de configuration globale en fonction des deuxièmes messages de déclaration MSG2 qu’il reçoit en provenance de chaque calculateur esclave 10b dans le deuxième sous-réseau NT2. Ces données de configuration globales peuvent prendre diverses formes selon le cas.The master computer 10a can thus store and update the global configuration data as a function of the second MSG2 declaration messages that it receives from each slave computer 10b in the second subnetwork NT2. This global configuration data can take various forms depending on the case.
Selon un exemple particulier, le processus de contrôle comprend en outre une mise à jour logicielle d’au moins un calculateur 7 (ou d’une pluralité de calculateurs 7) en fonction des données de configuration globales déterminées par le calculateur maître 10a. Pour ce faire, le calculateur maître 10a envoie par exemple tout ou partie des données de configuration globale au terminal externe T1 (
Selon un exemple particulier, le terminal T1 détermine une mise à jour logicielle à réaliser en fonction de tout ou partie des données de configuration globale reçues en provenance du calculateur maître 10a et transmet en retour au système de contrôle 4 (par exemple au calculateur maître 10a) des données de mise à jour pour causer une mise à jour logicielle.According to a particular example, the terminal T1 determines a software update to be carried out based on all or part of the global configuration data received from the master computer 10a and transmits back to the control system 4 (for example to the master computer 10a ) update data to cause a software update.
Une telle mise à jour logicielle peut par exemple permettre d’adapter la configuration du véhicule 2 selon un profil d’utilisateur particulier.Such a software update can for example make it possible to adapt the configuration of the vehicle 2 according to a particular user profile.
A noter que d’autres utilisations des données de configuration globale sont possibles dans le cadre de l’invention, par exemple pour adapter en temps-réel le fonctionnement du véhicule 2 en fonction de la configuration générale des calculateurs.
La présente invention offre ainsi avantageusement un mécanisme efficace et fiable permettant de rendre disponible dynamiquement, voire en temps réel, la configuration d’un véhicule (inventaire, topologie physique, allocation fonctionnelle, etc.). Grâce à la présente invention, une mise à jour logicielle du véhicule peut être réalisée rapidement sur la base des données de configuration globales collectées et tenues à jour par le calculateur maître dans le réseau de communication du véhicule. Contrairement à un inventaire dit statique, le système de contrôle de l’invention peut détecter dynamiquement la configuration du véhicule (services, fonctions, etc.), et notamment les changements de configuration susceptibles de survenir au cours du temps. On peut ainsi obtenir rapidement une représentation fiable et globale de la configuration du véhicule. Lorsqu’une mise à jour est nécessaire, les données de configuration globale déterminées par le calculateur maître sont immédiatement accessibles et peuvent donc être utilisées, par exemple par un terminal externe, pour effectuer une mise à jour logicielle du véhicule. La présente invention offre ainsi des gains important en termes de temps et de ressources lorsqu’une mise à jour d’un véhicule est réalisée.Note that other uses of the global configuration data are possible within the framework of the invention, for example to adapt the operation of the vehicle 2 in real time according to the general configuration of the computers.
The present invention thus advantageously offers an efficient and reliable mechanism making it possible to make available dynamically, or even in real time, the configuration of a vehicle (inventory, physical topology, functional allocation, etc.). With the present invention, a software update of the vehicle can be performed quickly based on the global configuration data collected and maintained by the master computer in the vehicle communication network. Unlike a so-called static inventory, the control system of the invention can dynamically detect the configuration of the vehicle (services, functions, etc.), and in particular changes in configuration likely to occur over time. We can thus quickly obtain a reliable and global representation of the vehicle configuration. When an update is necessary, the global configuration data determined by the master computer is immediately accessible and can therefore be used, for example by an external terminal, to carry out a software update of the vehicle. The present invention thus offers significant savings in terms of time and resources when an update of a vehicle is carried out.
La
Des exemples d’un tel calculateur 7 comprennent, sans y être limités, un équipement électronique embarqué tel qu’un ordinateur de bord d’un véhicule ou un calculateur électronique tel qu’une UCE (« Unité de Commande Electronique »). Les éléments du calculateur 7, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le calculateur 7 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels.Examples of such a computer 7 include, without being limited to, on-board electronic equipment such as an on-board computer of a vehicle or an electronic computer such as an ECU (“Electronic Control Unit”). The elements of calculator 7, individually or in combination, can be integrated in a single integrated circuit, in several integrated circuits, and/or in discrete components. The calculator 7 can be produced in the form of electronic circuits or software (or computer) modules or even a combination of electronic circuits and software modules.
Comme illustré en
Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la mémoire 41. La mémoire 41 peut constituer un support d’informations selon un mode de réalisation particulier en ce qu’elle comprend un programme d’ordinateur comportant des instructions pour la réalisation des étapes du procédé de contrôle (ou du processus de contrôle) de l’invention.The computer code of the embedded software(s) comprising the instructions to be loaded and executed by the processor is for example stored on the memory 41. The memory 41 can constitute an information medium according to a particular embodiment in that it comprises a computer program comprising instructions for carrying out the steps of the control method (or the control process) of the invention.
Selon différents exemples de réalisation particuliers et non limitatifs, le calculateur 7 est couplé en communication avec d’autres dispositifs ou systèmes similaires et/ou avec des dispositifs de communication, notamment avec au moins un autre calculateur 7 du réseau de communication 6 (figures 1-2), via par exemple un bus de communication ou au travers de ports d’entrée / sortie dédiés.According to different particular and non-limiting examples of embodiment, the computer 7 is coupled in communication with other similar devices or systems and/or with communication devices, in particular with at least one other computer 7 of the communication network 6 (Figures 1 -2), for example via a communication bus or through dedicated input/output ports.
Selon un exemple de réalisation particulier et non limitatif, le calculateur 7 comprend un bloc 42 d’éléments d’interface pour communiquer avec des dispositifs externes, par exemple avec le terminal externe T1 (
- interface radiofréquence RF, par exemple de type Wi-Fi® (selon IEEE 802.11), par exemple dans les bandes de fréquence à 2,4 ou 5 GHz, ou de type Bluetooth® (selon IEEE 802.15.1), dans la bande de fréquence à 2,4 GHz, ou de type Sigfox utilisant une technologie radio UBN (de l’anglais Ultra Narrow Band, en français bande ultra étroite), ou LoRa dans la bande de fréquence 868 MHz, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) ;- RF radio frequency interface, for example of the Wi-Fi® type (according to IEEE 802.11), for example in the 2.4 or 5 GHz frequency bands, or of the Bluetooth® type (according to IEEE 802.15.1), in the band frequency at 2.4 GHz, or Sigfox type using UBN radio technology (from English Ultra Narrow Band, in French ultra narrow band), or LoRa in the 868 MHz frequency band, LTE (from English “ Long-Term Evolution” or in French “Long-Term Evolution”), LTE-Advanced (or in French LTE-advanced);
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ;- USB interface (from the English “Universal Serial Bus” or “Bus Universel en Série” in French);
- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français).- HDMI interface (from the English “High Definition Multimedia Interface”, or “Interface Multimedia Haute Definition” in French).
Selon un autre exemple de réalisation particulier et non limitatif, le calculateur 7 comprend une interface de communication 43 qui permet d’établir une communication avec d’autres dispositifs (tels que d’autres calculateurs 7 du système de contrôle 4) via un canal de communication 45. L’interface de communication 45 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 45. L’interface de communication 43 correspond par exemple à un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (standardisé par la norme ISO 17458), Ethernet (standardisé par la norme ISO/IEC 802-3) ou LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »).According to another particular and non-limiting example of embodiment, the computer 7 comprises a communication interface 43 which makes it possible to establish communication with other devices (such as other computers 7 of the control system 4) via a communication channel. communication 45. The communication interface 45 corresponds for example to a transmitter configured to transmit and receive information and/or data via the communication channel 45. The communication interface 43 corresponds for example to a CAN type wired network (from the English “Controller Area Network” or in French “Réseau de controlleres”), CAN FD (from the English “Controller Area Network Flexible Data-Rate” or in French “Réseau de controllers à rate flexible data”) , FlexRay (standardized by the ISO 17458 standard), Ethernet (standardized by the ISO/IEC 802-3 standard) or LIN (from the English “Local Interconnect Network”, or in French “Local Interconnected Network”).
Selon un exemple de réalisation particulier et non limitatif, le calculateur 7 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage, tactile ou non, un ou des haut-parleurs et/ou d’autres périphériques (système de projection) via des interfaces de sortie respectives. Selon une variante, l’un ou l’autre des dispositifs externes est intégré au calculateur 7.According to a particular and non-limiting embodiment, the calculator 7 can provide output signals to one or more external devices, such as a display screen, touch or not, one or more speakers and/or other devices (projection system) via respective output interfaces. According to one variant, one or the other of the external devices is integrated into the computer 7.
La
Le procédé comprend, au cours d’une première étape S2, un envoi, par les premiers calculateurs 8 à au moins une partie des deuxièmes calculateurs 10, dits calculateurs de zone, de premiers messages de déclaration MSG1 représentatifs respectivement d’un état de configuration desdits premiers calculateurs 8.
Au cours d’une deuxième étape S4 de détection, les deuxièmes calculateurs 10 du réseau de communication 6 détectent un calculateur opérant en tant que calculateur maître 10a parmi lesdits deuxièmes calculateurs 10.
Au cours d’une troisième étape S6 d’envoi, les deuxièmes calculateurs envoient au calculateur maître 10a des deuxièmes messages de déclaration MSG2 représentatifs respectivement d’un état de configuration desdits deuxièmes calculateurs 10. En outre, les deuxièmes messages de déclaration envoyés plus spécifiquement par les calculateurs de zone sont aussi représentatifs respectivement de l’état de configuration, des premiers calculateurs, déterminé à partir des premiers messages de déclaration.The method comprises, during a first step S2, sending, by the first computers 8 to at least part of the second computers 10, called zone computers, first declaration messages MSG1 respectively representative of a configuration state of said first calculators 8.
During a second detection step S4, the second computers 10 of the communication network 6 detect a computer operating as a master computer 10a among said second computers 10.
During a third sending step S6, the second computers send to the master computer 10a second declaration messages MSG2 respectively representative of a configuration state of said second computers 10. In addition, the second declaration messages sent more specifically by the zone computers are also respectively representative of the configuration state of the first computers, determined from the first declaration messages.
Au cours d’une quatrième étape S8 de détermination, le calculateur maître détermine, à partir des deuxièmes messages de déclaration MSG2 reçus, des données de configuration globale représentatives de la configuration des premiers et deuxièmes calculateurs 8, 10.During a fourth determination step S8, the master computer determines, from the second declaration messages MSG2 received, global configuration data representative of the configuration of the first and second computers 8, 10.
Selon un exemple particulier, une mise à jour logicielle du véhicule 2 (par exemple d’au moins un calculateur 7) est déclenchée à partir de tout ou partie des données de configuration globale déterminée par le calculateur maître.According to a particular example, a software update of the vehicle 2 (for example of at least one computer 7) is triggered from all or part of the global configuration data determined by the master computer.
Selon des variantes de réalisation, les variantes et exemples des opérations décrits ci-avant en relation notamment avec les figures 1-3 s’appliquent aux étapes du procédé de contrôle de la
Un homme du métier comprendra que les modes de réalisation et variantes décrits ci-avant ne constituent que des exemples non limitatifs de mise en œuvre de l’invention. En particulier, l’homme du métier pourra envisager une quelconque adaptation ou combinaison des modes de réalisation et variantes décrits ci-avant, afin de répondre à un besoin bien particulier.A person skilled in the art will understand that the embodiments and variants described above constitute only non-limiting examples of implementation of the invention. In particular, those skilled in the art may consider any adaptation or combination of the embodiments and variants described above, in order to meet a very specific need.
La présente invention ne se limite donc pas aux exemples de réalisation décrits ci-avant mais s’étend notamment à un procédé de contrôle qui inclurait des étapes secondaires sans pour cela sortir de la portée de la présente invention. Il en serait de même d’un système configuré pour la mise en œuvre d’un tel procédé.The present invention is therefore not limited to the exemplary embodiments described above but extends in particular to a control method which would include secondary steps without thereby departing from the scope of the present invention. The same would apply to a system configured to implement such a process.
La présente invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule à moteur terrestre, comprenant le système de contrôle 4 précédemment décrit.The present invention also relates to a vehicle, for example an automobile or more generally a land motor vehicle, comprising the control system 4 previously described.
Claims (10)
- envoi (S2), par les premiers calculateurs à au moins une partie des deuxièmes calculateurs, dits calculateurs de zone, de premiers messages de déclaration (MSG1) représentatifs respectivement d’un état de configuration desdits premiers calculateurs ;
- détection (S4), par les deuxièmes calculateurs, d’un calculateur opérant en tant que calculateur maître (10a) parmi lesdits deuxièmes calculateurs ;
- envoi (S6), par les deuxièmes calculateurs au calculateur maître (10a), de deuxièmes messages de déclaration (MSG2) représentatifs respectivement d’un état de configuration desdits deuxièmes calculateurs, les deuxièmes messages de déclaration envoyés par les calculateurs de zone étant en outre représentatifs respectivement de l’état de configuration, des premiers calculateurs (8), déterminé à partir des premiers messages de déclaration (MSG1) ; et
- détermination (S8), par le calculateur maître (10a), à partir des deuxièmes messages de déclaration (MSG2) reçus, de données de configuration globale représentatives de la configuration des premiers et deuxièmes calculateurs.Method for controlling a plurality of computers (7) arranged in a communication network (6) of a vehicle (2), said communication network comprising at least a first subnetwork (NT1) in which first computers ( 8) communicate according to a first communication protocol and a second subnetwork (NT2) in which second computers (10) communicate according to a second communication protocol different from the first communication protocol, the method comprising:
- sending (S2), by the first computers to at least a part of the second computers, called zone computers, of first declaration messages (MSG1) respectively representative of a configuration state of said first computers;
- detection (S4), by the second computers, of a computer operating as a master computer (10a) among said second computers;
- sending (S6), by the second computers to the master computer (10a), second declaration messages (MSG2) respectively representative of a configuration state of said second computers, the second declaration messages sent by the zone computers being in in addition respectively representative of the configuration state, of the first computers (8), determined from the first declaration messages (MSG1); And
- determination (S8), by the master computer (10a), from the second declaration messages (MSG2) received, of global configuration data representative of the configuration of the first and second computers.
- envoi périodique, par un deuxième calculateur prédéfini (10a), d’un message d’annonce (MSG0) à chaque autre deuxième calculateur (10b) pour annoncer qu’il opère en tant que calculateur maître, ladite détection du calculateur maître étant réalisée à partir dudit message d’annonce ; ou
- un mécanisme d’élection au cours duquel chaque deuxième calculateur (10) envoie périodiquement un message d’annonce (MSG0) à chaque autre deuxième calculateur (10), dans lequel le deuxième calculateur qui envoie le plus rapidement un message d’annonce, à compter d’un instant de référence, pour se déclarer en tant que calculateur maître est détecté comme calculateur maître (10a) parmi les deuxièmes calculateurs.A method according to claim 1, the method further comprising:
- periodic sending, by a second predefined computer (10a), of an announcement message (MSG0) to each other second computer (10b) to announce that it is operating as a master computer, said detection of the master computer being carried out from said announcement message; Or
- an election mechanism during which each second computer (10) periodically sends an announcement message (MSG0) to each other second computer (10), in which the second computer which most quickly sends an announcement message, from a reference instant, to declare itself as a master computer is detected as a master computer (10a) among the second computers.
les deuxièmes messages de déclaration (MSG2) envoyés par les deuxièmes calculateurs étant déterminés en fonction des données de configuration desdits deuxièmes calculateurs.Method according to claim 4, in which the second computers (10) maintain configuration data representative of a configuration state of at least one first computer (8) positioned downstream in the tree as a function of the first messages declaration (MSG1) received from said first calculator,
the second declaration messages (MSG2) sent by the second computers being determined based on the configuration data of said second computers.
Method according to any one of the preceding claims, in which the method further comprises a software update of at least one computer (7) based on all or part of the global configuration data determined by the master computer.
ledit système comprenant au moins une mémoire associée à au moins un processeur configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 8.Control system (4) of a plurality of computers (7) arranged in a communication network (6) of a vehicle (2), said communication network comprising at least a first subnetwork (NT1) in which first computers (8) communicate according to a first communication protocol and a second subnetwork (NT2) in which second computers (10) communicate according to a second communication protocol different from the first communication protocol,
said system comprising at least one memory associated with at least one processor configured for implementing the steps of the method according to any one of claims 1 to 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2205345A FR3136289A1 (en) | 2022-06-02 | 2022-06-02 | Method and device for controlling vehicle computers |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2205345 | 2022-06-02 | ||
FR2205345A FR3136289A1 (en) | 2022-06-02 | 2022-06-02 | Method and device for controlling vehicle computers |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3136289A1 true FR3136289A1 (en) | 2023-12-08 |
Family
ID=83188988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2205345A Pending FR3136289A1 (en) | 2022-06-02 | 2022-06-02 | Method and device for controlling vehicle computers |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3136289A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140133350A1 (en) * | 2012-09-05 | 2014-05-15 | Burkhard Triess | Gateway module for a communications system, communications system, and method for transmitting data between users of a communications system |
US20190268420A1 (en) * | 2018-02-27 | 2019-08-29 | Excelfore Corporation | Broker-based bus protocol and multi-client architecture |
WO2021113305A1 (en) * | 2019-12-02 | 2021-06-10 | Excelfore Corporation | Master agent and distributed agent architecture for vehicles |
FR3107631A1 (en) * | 2020-02-20 | 2021-08-27 | Psa Automobiles Sa | Method and device for managing the standby or awake state of an Ethernet network in a motor vehicle, computer program product, and motor vehicle incorporating it. |
-
2022
- 2022-06-02 FR FR2205345A patent/FR3136289A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140133350A1 (en) * | 2012-09-05 | 2014-05-15 | Burkhard Triess | Gateway module for a communications system, communications system, and method for transmitting data between users of a communications system |
US20190268420A1 (en) * | 2018-02-27 | 2019-08-29 | Excelfore Corporation | Broker-based bus protocol and multi-client architecture |
WO2021113305A1 (en) * | 2019-12-02 | 2021-06-10 | Excelfore Corporation | Master agent and distributed agent architecture for vehicles |
FR3107631A1 (en) * | 2020-02-20 | 2021-08-27 | Psa Automobiles Sa | Method and device for managing the standby or awake state of an Ethernet network in a motor vehicle, computer program product, and motor vehicle incorporating it. |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR3096153A1 (en) | Method and device for returning to a state prior to a software update of a remote vehicle computer | |
FR3136289A1 (en) | Method and device for controlling vehicle computers | |
FR3122059A1 (en) | Vehicle event data communication method, device and system | |
FR3091608A1 (en) | Method and device for updating an electronic control unit | |
WO2022152986A1 (en) | Method and device for monitoring the trajectory of a vehicle traveling on a traffic lane | |
FR3104769A1 (en) | Vehicle computer software update control method and device | |
FR3118824A1 (en) | Method and device for taking control by a driver of an autonomous vehicle circulating in a tunnel | |
FR3102269A1 (en) | Method and device for detecting an intrusion on a vehicle data bus | |
EP4288854A1 (en) | Method and device for validating time synchronization between vehicle on-board computers | |
FR3145661A1 (en) | Method and device for determining a type of data bus used for transmitting signals between peripherals in a vehicle | |
FR3151458A1 (en) | Method and device for controlling the configuration of a vehicle network infrastructure | |
EP4266188A1 (en) | Method for managing a shared database and associated on-board system | |
FR3154895A1 (en) | Method, device and system for wireless communication between a vehicle and a remote device using multiple wireless communication media | |
FR3157773A1 (en) | Method and device for wireless communication between a vehicle and a remote device with random value generation | |
FR3152103A1 (en) | Method and device for controlling access to a connected service of an on-board navigation system of a vehicle | |
FR3152693A1 (en) | Method for providing an encryption key to an on-board computer of a vehicle | |
FR3142854A1 (en) | Service management method and device implemented by on-board computers of a vehicle | |
FR3153299A1 (en) | Method and device for controlling an on-board sound rendering system of a vehicle for broadcasting an alert signal | |
FR3100899A1 (en) | Vehicle computer and computer control method | |
FR3154207A1 (en) | Method and device for processing data from vehicles connected to a wireless communication network | |
FR3124998A1 (en) | Method, device and system for controlling an on-board driver assistance system of a vehicle | |
FR3156267A1 (en) | Method, device and system for communicating data in a switched communication network of a vehicle | |
WO2024149944A1 (en) | Processing method and device for vehicle software updating | |
FR3145321A1 (en) | Method and device for controlling a system for projecting onto the ground a light beam representative of a width of a template of a motorized assembly | |
EP4302288A1 (en) | Method and device for determining a regulatory speed for a vehicle on a portion of road |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20231208 |
|
CD | Change of name or company name |
Owner name: STELLANTIS AUTO SAS, FR Effective date: 20240313 |
|
PLFP | Fee payment |
Year of fee payment: 3 |