Brevet FR2833353A1 — publié le 20030613

La présente invention est relative à un procédé de diagnostic de défauts de fonctionnement d'un ensemble de systèmes électroniques intégrés recevant et produisant des données multiplexées, au moins une desdites données étant susceptible de prendre une valeur particulière prédéterminée consécutivement à l'apparition d'un défaut de fonctionnement de l'un au moins des composants desdits systèmes. On connaît des ensembles de systèmes électroniques de ce type, conçus notamment pour équiper des véhicules automobiles. Un tel véhicule comprend couramment plusieurs systèmes assurant chacun l'exécution d'une prestation telle que la commande du moteur propulsant le véhicule, la gestion de la climatisation de l'habitacle, la gestion des liaisons du véhicule au sol (freinage, suspension...), la gestion de communications téléphoniques, etc, etc... On a schématisé à la figure 1 du dessin annexé les composants matériels de l'ensemble de ces systèmes. Ces composants comprennent essentiellement des unités de commande électroniques ou"calculateurs"UCEm, chaque calculateur étant éventuellement connecté à des capteurs Cni et à des actionneurs Amj, tous les calculateurs étant connectés à au moins un même bus B pour y émettre ou recevoir des informations convenablement multiplexées, en provenance ou à destination des autres calculateurs connectés au bus B. Ce multiplexage est obtenu notamment, comme cela est bien connu pour le bus CAN par exemple, en introduisant les informations en cause dans des messages matérialisés par des trames de signaux numériques. A titre d'exemple illustratif, le système 82 de "commande du moteur"comprend le calculateur UCE2, plusieurs 0 capteurs C2i sensibles à des grandeurs telles que le régime du moteur, à combustion interne par exemple, la pression au collecteur d'admission de ce moteur, la pression de l'air extérieur, la température de l'eau de refroidissement du moteur, celle de l'air, l'état de charge de la batterie, etc, etc..., et plusieurs actionneurs A2 j. Le calculateur UCE2 est dûment programmé pour exécuter plusieurs fonctions de commande du moteur telles que : la régulation de ralenti, la régulation de la richesse du mélange air/carburant, le réglage de l'avance à l'allumage de ce mélange et la recirculation des gaz d'échappement. Pour ce faire le calculateur UCE2 exploite des informations venues des 0 capteurs C2i précités et élabore des signaux de commande des actionneurs A2 constitués par une vanne de commande d'air additionnel et une bobine d'allumage de bougie pour la fonction"régulation de ralenti", un injecteur de carburant pour la fonction"régulateur de richesse", la même bobine d'allumage pour la fonction"avance de l'allumage"et une vanne pour la fonction"recirculation de gaz d'échappement". Les autres"prestations"évoquées ci-dessus, "climatisation de l'habitacle","liaison avec le sol", etc.. sont exécutées par des systèmes d'architecture analogue à celle présentée ci-dessus pour la commande du moteur. Tous ces systèmes mis en communication par un même bus B constituent un réseau multiplexé. On conçoit alors que plusieurs fonctions relevant de systèmes différents peuvent exploiter des informations issues de mêmes capteurs, par exemple, ce qui évite de coûteuses redondances dans la structure de l'ensemble des systèmes. L'utilisation d'un réseau multiplex permet aussi de réduire de manière très importante la longueur des lignes électriques interconnectant les différents éléments de l'ensemble. Un tel ensemble multiplex permet aussi la mise en place de fonctions non classiques et éventuellement complexes, faisant intervenir parfois plusieurs systèmes et dites pour cette raison"transversales". A titre d'exemple illustratif et non limitatif, la perception de l'information"sac d'air (ou"airbag") déclenché", significative de ce que le véhicule a subi un choc, peut être traitée alors de manière à commander l'émission d'un appel au secours par un dispositif de téléphonie mobile embarqué dans le véhicule. On connaît de la demande de brevet français NO 00 08251, déposée le 27 juin 2000 par la demanderesse, un procédé d'évaluation de la sûreté de fonctionnement d'un tel ensemble de systèmes intégrés recevant et produisant des données. Ce procédé permet d'évaluer l'impact de toute modification apportée au système pendant sa phase de conception, et donc de s'assurer que cette modification n'altère pas significativement la sûreté de fonctionnement de l'ensemble, comme cela est particulièrement nécessaire dans l'environnement d'un véhicule automobile pour assurer la sécurité des passagers. Pendant la vie utile du véhicule, il arrive cependant que certains des composants de l'ensemble : capteurs, actionneurs, calculateur, bus,... tombent en panne ou soient sujets à des fonctionnements défectueux et il convient donc de disposer de moyens de diagnostic de ces pannes ou défauts de fonctionnement. Pour les mêmes raisons que celles exposées ci-dessus à propos de l'évaluation de la sûreté de fonctionnement du véhicule, il serait avantageux que ces moyens soient conçus de manière à permettre, pendant toute la phase de conception du véhicule, de vérifier que les évolutions apportées aux systèmes électroniques embarqués dans le véhicule pendant cette phase n'altèrent pas la capacité de diagnostic de ces moyens. La présente invention a précisément pour but de fournir un procédé de diagnostic de défauts de fonctionnement affectant un ensemble de systèmes électroniques du type décrit ci-dessus, c'est-à-dire un ensemble dans lequel des systèmes produisent et échangent des données multiplexées. La présente invention a aussi pour but de fournir un tel procédé dont la capacité de diagnostic puisse être évaluée à tout moment pendant la phase de conception d'un véhicule automobile équipé d'un tel ensemble de systèmes multiplexés. On atteint ces buts de l'invention, ainsi que d'autres qui apparaîtront à la lecture de la description qui va suivre, avec un procédé de diagnostic de défauts de fonctionnement d'un ensemble de systèmes électroniques produisant et consommant des données multiplexées, au moins une desdites données (xl) étant susceptible de prendre une valeur particulière (xlp) prédéterminée consécutivement à l'apparition d'un défaut de fonctionnement de l'un au moins des composants dudit ensemble, ce procédé comprenant les étapes suivantes : a) au lancement d'une phase de diagnostic, on sélectionne les données (xl) qui présentent une valeur particulière (xlp), b) pour chaque donnée (xl) ainsi sélectionnée, on recherche le groupe (Xooi) des données susceptibles d'être à l'origine de la valeur particulière (xlp) prise par la donnée (xl), c) on établit la liste (Xoo) des données appartenant à l'intersection desdits groupes (Xooi) de données, et d) on analyse ladite liste (Xoo) pour identifier le ou les composants de l'ensemble dont un défaut de fonctionnement est à l'origine des valeurs particulières (xlp) prises par lesdites données (xi). Comme on le verra plus loin en détail, ce procédé permet, grâce à un algorithme de traitement de données permettant de remonter des effets observés de défauts de fonctionnement aux causes de ces défauts, d'identifier les organes ou appareils affectés par les défauts, ce qui permet ensuite d'y porter remède. Selon d'autres caractéristiques de la présente invention, à l'étape d), on exclut de la liste (Xoo) les données qui ne correspondent pas aux effets observés des défauts de fonctionnement affectant l'ensemble de systèmes électroniques, et/ou les données émises par au moins un composant prédéterminé du système, dont la fiabilité n'est pas douteuse, tel qu'un calculateur ou un bus, par exemple. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre et à l'examen du dessin annexé dans lequel : - la figure 1 est un schéma d'un ensemble de systèmes électroniques qu'on se propose de doter de moyens de diagnostic de défauts de fonctionnement suivant la présente invention, cet ensemble étant décrit dans le préambule de la présente description et, - la figure 2 est un organigramme du procédé de diagnostic suivant l'invention. Pour mettre en oeuvre celui-ci, on dispose d'une base de données qui rassemble toutes les informations permettant de décrire l'architecture matérielle, fonctionnelle et opérationnelle de l'ensemble de systèmes électroniques. D'une manière analogue à celle décrite dans la demande de brevet français NO 00 08251 précitée, également, on constitue un outil logiciel propre à interroger la base de données, par voie de requêtes, de manière à exécuter les algorithmes de recherche de causes de défauts de fonctionnement décrits ci-dessous. A titre d'exemple illustratif et non limitatif, on pourra utiliser à cet effet le langage de requête SQL, bien connu de l'homme de métier. Si x est un objet de la base de données, on note dans la suite F (x) une requête sur x. On utilise la notation majuscule X pour dénommer un ensemble donné. F (X) est alors l'union des ensembles F (x) pour x appartenant à X. Ceci est cohérent avec l'exploitation des requêtes d'une base de données puisque le résultat d'une requête est un ensemble de solutions. Comme les résultats de plusieurs requêtes sur des éléments homogènes sont homogènes, on peut parler de leur union ou réunion. Suivant l'invention, après lancement d'une phase de diagnostic de défauts de fonctionnement, on sélectionne (étape a de l'organigramme de la fig. 2) dans cette base les données xi (i de 1 à q) qui ont pris une valeur particulière Xip à la suite de l'événement que constitue l'apparition d'un défaut de fonctionnement d'un ou de plusieurs composants de l'ensemble de systèmes électroniques considérés : capteur ou actionneur, calculateur, bus,... C'est ainsi qu'une donnée xi peut prendre une valeur particulière xlp prédéterminée significative de ce que la donnée est devenue invalide ou erronée, ou de ce qu'un calculateur, un bus, un capteur ou un actionneur est en panne ou en fonctionnement dégradé, ou encore de ce qu'une trame de signaux numériques contenant la donnée est invalide ou absente, etc, etc... Ayant ainsi sélectionné les données xi réglées à une valeur particulière Xip, on va, suivant l'invention, remonter (étape b) à l'ensemble des données susceptibles d'être responsables du réglage à une valeur particulière xlp des données Xi et, de là, aux causes premières de cet état de fait, telles que des défauts de fonctionnement des types cités ci-dessus, à titre d'exemple illustratif et non limitatif seulement. Si on considère une donnée xi réglée à une valeur particulière Xip, produite ou consommée par une ou plusieurs fonctions de l'ensemble de systèmes électroniques considéré, on note : F (Xi) la requête"ensemble des fonctions qui produisent la donnée Xi=Xlp en sortie", G (f, {xp}) la requête"ensemble des données représentatives d'événements"redoutés"pour la fonction f, soit ceux pour lesquels elle entre en défaut et tels que f produit la donnée x1=xjp en sortie (la fonction f pouvant avoir plusieurs modes ou fonctionnement"dégradés"), On peut écrire alors : en posant Xo={xip}, X1 étant l'ensemble des données représentatives d'événements qui ont pu causer l'émission de la donnée Xl =Xlp. On définit de même : l'ensemble X2 des données qui ont pu produire Xi après que toutes les fonctions produisant Xl se soient appliquées au plus deux fois. On tire de ce qui précède la suite récurrente d'ensembles de données (Xo,... Xn, Xn+i...) telle que : Xo = {Xi} et On appelle Xooi la limite quand n tend vers +00 de la suite Xn, Xooi désignant ainsi l'ensemble, ou groupe, des données représentatives d'événements qui ont pu causer l'émission de x1=xip. Il faut évidemment s'assurer de l'existence de Xoo et de ce que l'ensemble trouvé G (F (X#), X#) d'événementrs est un sous-ensemble propre de Xoo. Sur le premier point il est clair que Xn c ; Xn+i. Par ailleurs, Xn étant inclus dans l'ensemble des événements de l'ensemble de systèmes électroniques, il existe un indice N pour lequel X+i = X. Il s'ensuit que : Il en résulte, par récurrence, que Xoo = XN, ce qui démontre l'existence de Xoo. Sur le deuxième point, puisque XN+1=XNUG (F (XN), XN), on tire, en substituant Xoo à XNiet XN : La lecture de cette égalité de la droite vers la gauche fait apparaître que tout élément de G (F (X) Xy) appartient à Xo et donc que G (F (X#),X#) est un sousensemble propre de X,, o. L'algorithme décrit ci-dessus est répété pour toutes les données Xi telles que xi=xlp (étape c), ce qui produit q groupes Xooi (i de 1 à q) de données. Suivant l'invention on établit alors la liste Xoo des données Xl=Xlp qui appartiennent à l'intersection de ces groupes (étape d) soit : et on remonte aux composants émetteurs de ces données pour identifier le ou les composants de l'ensemble de systèmes électroniques (capteurs, actionneurs, calculateurs, bus,...) qui sont éventuellement affectés d'un défaut de fonctionnement (étape e). Les défauts affectant ces composants peuvent réagir sur les entrées ou les sorties des fonctions exécutées dans l'ensemble de systèmes électroniques. Les défauts de sortie sont des valeurs particulières de données "réseau": donnée erronée (dont le défaut n'est pas diagnostiqué) donnée indiquée en défaut, donnée en valeur particulière, ou des valeurs particulières de données"filaires", délivrées par des capteurs ou actionneurs par exemple : donnée erronée ou indiquée en défaut. Les défauts d'entrée des fonctions sont, outre les défauts précédemment cités : l'absence d'un calculateur, d'une trame ou d'un bus, la défaillance d'un actionneur ou d'un capteur, ou encore des défauts internes à un calculateur (en"reset", erreur de CRC, erreur sur tension d'alimentation ou de masse, UCE muet, etc...). Le nombre des données contenues dans l'intersection Xoo des ensembles de données Xooi peut être important. Cependant seules celles de ces données qui sont représentatives de défauts de composants de l'ensemble de systèmes électroniques (capteurs, actionneurs, connecteurs, liaisons filaires, calculateurs, etc...) sont à retenir. Par ailleurs, le conducteur du véhicule peut observer certains non fonctionnement, ou fonctionnement dégradé, de dispositifs fonctionnels embarqués dans le véhicule (tel qu'une panne du dispositif de climatisation, par exemple). De même, un garagiste chargé de réparer le véhicule en panne peut, grâce à des données de diagnostic émises sur le bus, identifier des causes de pannes possibles. Toutes ces observations permettent de délimiter, dans l'intersection Xoo des groupes de données Xooi, les données qui sont cohérentes avec les observations faites, ce qui permet d'exclure les autres dans la suite de la recherche des causes de pannes. De même encore si on fait l'hypothèse, raisonnable, que l'origine d'une panne recherchée ne se trouve pas dans un calculateur ou un bus, du fait de la fiabilité élevée de ces appareils entièrement électroniques, on pourra encore faire sortir de Xoo toutes les données qui trouvent leur origine dans ceux-ci. C'est ainsi que l'on pourra retrouver assez facilement, suivant l'invention, un capteur ou un actionneur à l'origine d'un défaut de fonctionnement observé par le conducteur ou le garagiste, quand bien même la corrélation entre la panne observée et la cause de la panne serait loin d'être évidente. A titre d'exemple illustratif et non limitatif d'une telle situation, on peut citer le cas où un conducteur observe une panne du dispositif de climatisation, dans un véhicule où on a programmé une mise hors service de ce dispositif quand le niveau du carburant contenu dans le réservoir du véhicule tombe en dessous d'un niveau bas, ceci pour réduire la consommation du véhicule jusqu'au moment où il sera possible de faire de nouveau le plein du réservoir. Une recherche de la cause de cette panne conduite par le procédé algorithmique suivant l'invention peut révéler que la cause de cette panne vient d'un défaut de fonctionnement d'une sonde chargée de mesurer le niveau du carburant dans le réservoir de ce carburant. On remarquera que le procédé de diagnostic de défauts suivant la présente invention peut être mis en oeuvre aussi bien pendant la phase de conception d'un véhicule équipé de systèmes électroniques multiplexés, qu'une fois le véhicule mis en service. Conformément à l'un des buts poursuivis par la présente invention, il est ainsi possible de vérifier que les évolutions subies par ces systèmes pendant cette phase de conception n'altèrent pas les capacités de diagnostic de défauts, suivant l'invention, des systèmes embarqués. Bien entendu, l'invention n'est pas limitée au diagnostic de défauts affectant un ensemble de systèmes électroniques embarqués dans un véhicule automobile. Elle trouve application, au contraire, dans tout ensemble de systèmes électroniques recevant et produisant des données accessibles sur un bus. REVENDICATIONS 1. Procédé de diagnostic de défauts de fonctionnement d'un ensemble de systèmes électroniques produisant et consommant des données multiplexées, au moins une desdites données (xl) étant susceptible de prendre une valeur particulière (alp) prédéterminée consécutivement à l'apparition d'un défaut de fonctionnement de l'un au moins des composants (Ani ; Cni ; UCEn ; B) dudit ensemble, ce procédé étant caractérisé par les étapes suivantes : a) au lancement d'une phase de diagnostic, on sélectionne les données (xl) qui présentent une valeur particulière (xlp), b) pour chaque donnée (xl) ainsi sélectionnée, on recherche le groupe (Xoi) des données susceptibles d'être à l'origine de la valeur particulière (xlp) prise par la donnée (xl), c) on établit la liste (Xoo) des données contenues dans l'intersection desdits groupes (Xoi) de données, et d) on analyse ladite liste (Xoo) pour identifier le ou les composants de l'ensemble dont un défaut de fonctionnement est à l'origine des valeurs particulières (xip) prises par lesdites données (xi). 2. Procédé conforme à la revendication 1, caractérisé en ce que, à l'étape d), on exclut de la liste (Xoo) les données qui ne correspondent pas à des effets observés de défauts de fonctionnement. 3. Procédé conforme à l'une quelconque des revendications 1 et 2, caractérisé en ce que, à l'étape d), on exclut de la liste (Xoc) les données émises par au moins un composant prédéterminé d'un système de l'ensemble. 4. Procédé conforme à la revendication 3, caractérisé en ce que ledit composant prédéterminé est un calculateur (UCEl) ou un bus (B). 5. Procédé conforme à l'une quelconque des revendications 1 à 4, appliqué à un ensemble de systèmes électroniques embarqués dans un véhicule automobile.