FR 3096017 A1 20201120 FR 1905196 A 20190517 Description Titre de l'invention : Procédé et système de détermination d'un état de fonctionnement d'un capteur Domaine technique [0001] L'invention concerne les procédés et dispositifs de détermination de l'état de fonc- tionnement d'un ou plusieurs capteurs reliés à un ou plusieurs calculateurs d'un système embarqué de véhicule, notamment de type automobile. Arrière-plan technologique [0002] 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. [0003] 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. Certains calculateurs sont associés à différents capteurs et récupèrent des données mesurées par ces capteurs. [0004] Les données mesurées par les capteurs peuvent être utilisées à différentes fins, par exemple pour des fins de développement de services connectés autour du véhicule. La récupération de ces données par des outils externes au système embarqués nécessitent l'envoi de requêtes à au moins un calculateur du système embarqué pour récupérer les données du ou des capteurs ciblés par la requête. [0005] Un des problèmes rencontrés dans la collecte de ces données est que le bon fonc- tionnement du ou des capteurs ciblés par la requête n'est pas connu, ce qui peut générer des erreurs ou des problèmes de qualité des données collectées. En effet, les données issues d'un capteur en défaut de fonctionnement ne sont pas identifiées comme telles. L'exploitation de ces données à posteriori peut engendrer des erreurs sans qu'il soit facile d'y remédier, ces données pouvant être comprises dans un volume de données très important et aucune information relative au problème de fonctionnement du capteur n'étant conservée et associée à ces données. Résumé de l'invention [0006] Un objet de la présente invention est d'améliorer la fiabilité de la collecte de données et/ou la qualité des données fournies par un ou plusieurs capteurs reliés à un ou plusieurs calculateurs. [0007] Un autre objet de la présente invention est d'obtenir une information fiable quant à l'état de fonctionnement des capteurs reliés aux calculateurs d'un système embarqué 2 de véhicule. [0008] Selon un premier aspect, l'invention concerne un procédé de détermination d'un état de fonctionnement d'au moins un capteur relié à un premier calculateur d'un système embarqué, le procédé comprenant les étapes de : [0009] - détection, par le premier calculateur, d'au moins un code d'erreur ; [0010] - comparaison, par le premier calculateur, du au moins code d'erreur détecté avec une liste de codes d'erreur, chaque code d'erreur de la liste étant associé à un unique capteur relié au premier calculateur ; [0011] - détermination, par le premier calculateur, d'un état de fonctionnement de chaque capteur relié au premier calculateur à partir du résultat de la comparaison, [0012] un capteur étant dans un état de défaut de fonctionnement lorsqu'un code d'erreur détecté est associé à ce capteur, [0013] un capteur étant dans un état de fonctionnement sans défaut lorsqu'aucun code d'erreur détecté n'est associé à cc capteur ; et [0014] - transmission, par le premier calculateur, d'une information d'identification de chaque capteur et de l'état de fonctionnement associé. [0015] Selon une variante, le procédé comprend en outre la transmission, par le premier cal- culateur, d'un identifiant du premier calculateur. [0016] Selon encore une variante, le procédé comprend en outre une étape de comparaison, pour chaque capteur, de l'état de fonctionnement déterminé du capteur avec un état de fonctionnement enregistré dans une mémoire du premier calculateur, la transmission de l'information d'identification d'un détecteur et de l'état de fonctionnement associé n'étant mise en oeuvre que si le résultat de la comparaison indique un changement d'état de fonctionnement du capteur. [0017] Selon une variante supplémentaire, le procédé comprend en outre l'enregistrement de l'état de fonctionnement déterminé pour chaque capteur dans une première table associant un état de fonctionnement courant à chaque capteur relié au premier calculateur. [0018] Selon une autre variante, le procédé comprend en outre les étapes de : [0019] - réception, par un deuxième calculateur du système embarqué, de l'information d'identification de chaque capteur et de l'état de fonctionnement associé ; [0020] - mise à jour, par le deuxième calculateur, d'une deuxième table comprenant l'état de fonctionnement de chaque capteur associé au système embarqué. [0021] Selon encore une variante, le procédé comprend en outre une étape de comparaison de la deuxième table et de la première table. [0022] Selon encore une variante, le procédé comprend en outre les étapes de : [0023] - réception, par le deuxième calculateur, d'une requête d'acquisition de données d'au moins un capteur associé au système embarqué ; 3 [0024] - détermination, par le deuxième calculateur, de l'état de fonctionnement associé à le au moins un capteur à partir de la deuxième table ; [0025] - transmission, par le deuxième calculateur, d'une réponse à la requête en fonction de l'état de fonctionnement déterminé du au moins un capteur. [0026] Selon un deuxième aspect, l'invention concerne un calculateur comprenant une mémoire associée à au moins un processeur, le au moins un processeur étant configure pour mettre en oeuvre au moins une partie des étapes du procédé tel que décrit selon le premier aspect de l'invention. [0027] Selon un troisième aspect, l'invention concerne un système embarqué dans un véhicule comprenant un premier calculateur et un deuxième calculateur relié au premier calculateur via un bus de données, le premier calculateur et le deuxième calculateur étant configurés pour mettre en oeuvre les étapes du procédé tel que décrit selon le premier aspect de l'invention. [0028] Selon un quatrième aspect, l'invention concerne un véhicule, par exemple de type au- tomobile, comprenant un ou plusieurs calculateurs tels que décrit ci-dessus selon le deuxième aspect de l'invention ou le système tel que décrit ci-dessus selon le troisième aspect de l'invention. [0029] Selon un cinquième aspect, l'invention concerne un programme d'ordinateur qui comporte des instructions adaptées pour l'exécution des étapes du procédé selon le premier aspect de l'invention, ceci notamment lorsque le programme d'ordinateur est exécuté par au moins un processeur. [0030] Un tel programme d'ordinateur peut utiliser n'importe quel langage de pro- grammation, 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. [0031] Selon un sixième aspect, l'invention concerne un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé selon le premier aspect de l'invention. [0032] 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. [0033] D'autre part, ce support d'enregistrement peut également être un support trans- missible 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 l'invention peut être en particulier téléchargé sur un réseau de type Internet. 100341 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. Brève description des figures [0035] D'autres caractéristiques et avantages de l'invention ressortiront de la description des modes de réalisation non limitatifs de l'invention ci-après, en référence aux figures 1 à 4 annexées, sur lesquelles : [0036] [fie.1] illustre de façon schématique un système embarqué dans un véhicule, selon un exemple de réalisation particulier de la présente invention ; [0037] [fie.2] illustre schématiquement un calculateur du système embarqué de la figure 1, selon un exemple de réalisation particulier de la présente invention ; [0038] [fig.3] illustre schématiquement une trame de données échangées entre calculateurs du système embarqué de la figure I. selon un exemple de réalisation particulier de la présente invention ; [0039] [fig.4j illustre un organigramme des différentes étapes d'un procédé de détermination de l'état de fonctionnement d'un capteur relié à un calculateur du système embarqué de la figure 1, selon un exemple de réalisation particulier de la présente invention. Description des modes de réalisation [0040] Un procédé de détermination d'un état de fonctionnement d'au moins un capteur relié à un premier calculateur d'un système embarqué ainsi que le ou les calculateurs de ce système embarqué vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 4. 10041] Selon un exemple particulier et non limitatif de réalisation de l'invention, le procédé de détermination d'un état de fonctionnement d'un ou plusieurs capteurs reliés à un premier calculateur d'un système embarqué comprend la détection d'un ou plusieurs codes d'erreur (fournis par exemple par une ou plusieurs entrée/sortie du premier calculateur). Chaque code d'erreur détecté est comparé à une liste de codes d'erreurs, la liste étant pas exemple comprise dans une table mettant en correspondance chaque code d'erreur avec un unique capteur relié au premier calculateur. A partir du ou des codes d'erreurs détectés et de la comparaison de ces codes avec les codes d'erreur de la liste, il est possible de déterminer quels capteurs du premier calculateur sont dans un état de défaut de fonctionnement (correspondant aux capteurs identifiés dans la liste via le ou les codes d'erreur détectés) et quels capteurs du premier calculateur sont dans un état de fonctionnement sans défaut (correspondant aux capteurs non identifiés dans la liste via le ou les codes d'erreur détectés). Une information d'identification de chaque capteur du premier calculateur est transmise, par exemple à un deuxième calculateur du système embarqué, avec l'état de fonctionnement associé. [0042] Déterminer l'état de fonctionnement (avec défaut ou sans défaut) des capteurs reliés à un calculateur offre la possibilité de filtrer les données collectées de ces capteurs en excluant par exemple les données issues de capteurs en défaut de fonctionnement, permettant ainsi d'obtenir des données de meilleure qualité en excluant des données potentiellement erronées car issues d'un capteur présentant une anomalie. [0043] Par ailleurs, l'association de chaque code d'erreur d'une liste de codes d'erreurs dé- terminés à un unique capteur permet d'identifier sans erreur le capteur concerné par le code d'erreur détecté par le calculateur auquel le capteur est relié, améliorant ainsi la fiabilité de l'information relative à l'état de fonctionnement des capteurs reliés à un calculateur donné. [0044] [fig.1] illustre de façon schématique un système embarqué 100 dans un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. [0045] Le système 100 est avantageusement embarqué dans un véhicule, par exemple de type automobile. Le système 100 comprend par exemple un calculateur principal 11 connecté à un ou plusieurs calculateurs secondaires 12, 13, 14. Le calculateur principal 11 correspond par exemple à un calculateur de type UCE. Une UCE est composée d'un calculateur électronique et d'un ou plusieurs logiciels embarqués qui réalisent un ou plusieurs asservissements. Les calculateurs secondaires 12, 13 et 14 sont par exemple eux aussi de type UCE. Le calculateur principal 11 est aussi appelé calculateur orchestrateur ou calculateur de connectivité (ou ECU orchestrateur ou de connectivité) en ce qu'il fait le lien entre les différents composants du système embarqué 100 et un dispositif externe 10. Les calculateurs 11, 12, 13 et 14 forment par exemple une architecture multiplexée pour la réalisation de différents services utiles pour le bon fonctionnement du véhicule et pour assister le conducteur et/ou les passagers du véhicule dans le contrôle du véhicule. [0046] Les calculateurs 11, 12, 13 et 14 communiquent et échangent des données entre eux par l'intermédiaire d'un ou plusieurs bus informatiques 102, 103, par exemple un bus de communication de type bus de données 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 ») (selon la norme ISO 11898), FlexRay (selon la norme ISO 17458) ou Ethernet (selon la norme ISO/IEC 802-3). [0047] Chaque calculateur comprend une ou plusieurs mémoires, par exemple de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, dédiée au stockage du code informatique du ou des logiciels embarqués comprenant les paramètres et instructions à charger et exécuter par le processeur de chaque calculateur. Une partie de la mémoire peut être allouée pour stocker, au moins temporairement, des données issues de capteur(s) associés au(x) calculateur(s) ainsi 6 que l'état de fonctionnement associé à chacun de ces capteurs. Ainsi, le calculateur principal comprend une mémoire 111, le calculateur secondaire 13 comprend une mémoire 134 et le calculateur secondaire 14 comprend une mémoire 143. [0048] Le calculateur principal 11 est relié à un dispositif externe 10 via une connexion filaire ou sans fil 101. Le dispositif externe 10 est par exemple un serveur distant du « cloud » (ou « nuage » en français) ou un outil de diagnostic. Le calculateur principal 11 reçoit par exemple une ou plusieurs requêtes du dispositif externe pour la fourniture de données issues du système embarqué 100, par exemple via l'Tnternet avec une connexion de type OTA (de l'anglais « over-the-air », ou en français « par voie aérienne »). La connexion de type OTA utilise par exemple un ou plusieurs protocoles de communication sans fil tels que Bluetooth®, Wi-Fi® (basé sur IEEE 802.11), LTE (de l'anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé). [0049] Le calculateur secondaire 12 assure par exemple la fonction de passerelle (de l'anglais « gatcway ») entre le calculateur secondaire 13 et le calculateur principal 11, par exemple pour transmettre des requêtes du calculateur principal 11 vers le calculateur secondaire 13 et pour transmettre en réponse des données du calculateur secondaire 13 vers le calculateur principal 11. Les calculateurs secondaires 12 et 13 sont par exemple reliés entre eux via une connexion filaire ou un bus de données 103, par exemple de type CAN. Les calculateurs 11, 12 et 14 sont par exemple reliés entre eux via une connexion filaire ou un bus de données 102, par exemple de type CAN FD. Selon un autre exemple, tous les calculateurs 11 à 14 sont reliés entre via un bus de données du même type, par exemple CAN ou CAN FD. [0050] Un ou plusieurs capteurs sont associés, c'est-à-dire reliés ou connectés, à un ou plusieurs des calculateurs du système embarqué 100. Par exemple, 3 capteurs SI 131, S2 132 et S3 133 sont associés au calculateur secondaire 13 et 2 capteurs S4 141 et Sn 142 sont associés au calculateur secondaire 14. Selon une variante de réalisation (non illustrée), un ou plusieurs capteurs sont associés au calculateur principal 11. Les capteurs sont reliés au(x) calculateur(s) associé(s) via une connexion filaire ou par exemple en utilisant une technologie de type bus LIN (de l'anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »). [0051] Selon un exemple de mise en oeuvre de l'invention, à titre d'illustration, une requête est émise par le dispositif externe 10. Cette requête demande par exemple la fourniture de données du capteur SI 131 connecté et contrôlé par le calculateur 13. Cette requête est transmise au calculateur principal 11 via la connexion 101. La requête comprend par exemple un identifiant `ECUir du calculateur 13 contrôlant le capteur SI 131, un identifiant 'Sn' du capteur Si 131, une information `ACQ_Sn' représentative du temps d'acquisition du capteur (c'est-à-dire l'espace temporel entre 2 acquisitions) et une in- 7 formation 'TIME' représentative du temps total choisi d'acquisition avant envoi des données au dispositif externe 10 par le calculateur principal 11. La requête 'CET_DATA' prend par exemple la forme suivante : [0052] GET DATA (ECUn, Sn, ACQ Sn, TIME). [0053] rECUn' identifie par exemple le calculateur ECU3 13 ; 'Sn' identifie par exemple le capteur S1 131 ; 'ACQ-Sn' vaut par exemple 10 ms ; et 'TIME' vaut par exemple ls. La valeur de `TIME' correspond avantageusement au temps de transmission associé à la technologie utilisée pour échanger des données entre le dispositif externe 10 et le calculateur principal ECUl 11, par exemple via une connexion 4G (ou LTEAdvanced). [0054] La requête 'CET_DATA' est par exemple transmise par le dispositif externe 10 au calculateur principal ECUl 11 au moyen d'un protocole connu de l'homme de l'art tel que MQTT (de l'anglais « MQ Telemetry Transport » ou en français « Transport télé-métrique MQ ») ou HTTPS (de l'anglais « HyperText Transfer Protocol Secure » ou en français « Protocole de transport hypertexte sécurisé ») par exemple. [0055] Le calculateur principal (aussi appelé premier calculateur) 11 peut alors di- mensionner l'espace mémoire à allouer pour stocker les données requises par la requête, avant de les transmettre au dispositif externe (appelé alors dispositif récepteur). Pour ce faire, le calculateur principal 11 prend en compte le paramètre `TTIVIE', tel que cela sera expliqué plus en détail en regard de la figure 3. [0056] Le calculateur principal 11 transmet alors la requête au calculateur secondaire ECU3 13 via le calculateur passerelle ECU2 12, par exemple au moyen d'une requête de diagnostic qui comprend alors les paramètres 'Sn', `ACQ_Sn' et `TIME' selon un protocole connu de l'homme de l'art tel que UDS (de l'anglais « Unified Diagnostic Services » ou en français « Services de diagnostic unifiés »), KWP2000 (de l'anglais Keyword Protocol 2000 » ou en français « Protocole mot-clé 2000 »). De tels protocoles présentent par exemple l'avantage de pouvoir être utilisés nativement sur des bus de données de type CAN, CAN FD, FlexRay ou Ethernet. [0057] Pour répondre au mieux à la requête, il est important de déterminer si le capteur Si 131 est dans un état de fonctionnement avec défaut ou sans défaut, l'état de fonctionnement ayant un impact sur la qualité et la fiabilité des données fournies en réponse à la requête. [0058] Dans une première opération, une table ou une matrice comprenant en abscisse la liste de l'ensemble des n capteurs Si à Sn (n étant un entier naturel) et en ordonnée la liste de m codes d'erreurs X1 à Xm, aussi appelés codes défauts, (m étant un entier naturel) possibles qui peuvent être détectés par les capteurs du système embarqué du véhicule. Les codes d'erreur appartiennent à 2 grandes familles de codes d'erreur, à savoir : 8 [0059] - les codes d'erreurs liés à une anomalie de type électrique, par exemple un contact défaillant ou un fil coupé ; et [0060] - les codes d'erreurs liés à une anomalie de type fonctionnel, par exemple un défaut de plausibilité dans le cas d'une valeur mesurée ou calculée sortant d'une plage définie ou déduite à partir d'une redondance fonctionnelle. [0061] Par exemple, en prenant pour exemple le capteur S1 131 du calculateur 13 (appelé premier calculateur) et en considérant que le capteur S1 131 correspond à une sonde de température d'eau moteur, plusieurs codes d'erreur peuvent être associés à ce capteur S1 dans le cas d'une détection d'une erreur ou d'une anomalie de type panne électrique, à savoir : [0062] - un code d'erreur identifiant un court-circuit à la masse ; [0063] - un code d'erreur identifiant un court-circuit au plus ; [0064] - un code d'erreur identifiant un circuit ouvert ; et [0065] - un code d'erreur identifiant une température hors plage prédéfinic. [0066] Ainsi, la table associant les capteurs du système embarqués aux codes d'erreurs possibles prend la forme du tableau 1 ci-dessous, dans lequel chaque code d'erreur X1 à Xn est unique et est associé à un unique capteur. Le format du code d'erreur correspond indifféremment à un format propriétaire ou à un format conforme à une norme (par exemple le format défini dans la norme IS015031-6). [0067] [Tableaux1] Liste des capteurs Court-circuit à la masse Court-circuit au plus Circuit ouvert Plausibilité Capteur SI Code X1 Code X2 Capteur S2 Code X3 Code X4 Code X5 Capteur S3 Code X6 Code X7 Code X8 Capteur S4 Code X9 Capteur Sn Code X m [0068] Dans une deuxième opération, la table ou matrice correspondant au tableau 1 est découpée en autant de tables ou de matrices qu'il y a de premiers calculateurs dans le système embarqué, un premier calculateur correspondant en un calculateur auquel est relié un ou plusieurs capteurs. Selon l'exemple de la figure 1, il y a 2 premiers calculateurs, à savoir le calculateur secondaire 13 et le calculateur secondaire 14. 2 tables sont ainsi obtenues, 1 table pour chaque premier calculateur mettant en correspondance les codes d'erreur associés aux capteurs reliés au premier calculateur concerné. Ainsi, une table ou une matrice conforme au tableau 2 est obtenue pour le premier calculateur 13 : 9 [0069] [Tableaux2] Liste des capteurs Court-circuit à la masse Court-circuit au plus Circuit ouvert Plausibilité Capteur S1 Code X1 Code X2 Capteur S2 Code X3 Code X4 Code X5 Capteur S3 Code X6 Code X7 Code X8 [0070] Une table ou une matrice conforme au tableau 3 est obtenue pour le premier cal- culateur 14 : [0071] [Tableaux3] Liste des capteurs Court-circuit à la masse Court-circuit au plus Circuit ouvert Plausibilité Capteur S4 Code X9 Capteur Sn Code Xm [0072] Chaque premier calculateur comprend en mémoire la table associant codes d'erreurs aux capteurs qui lui sont reliés, par exemple dans un segment flash EPROM dédié de l'espace mémoire. [0073] Dans une troisième opération, chaque premier calculateur 13, 14 teste le bon fonc- tionnement des capteurs qui lui sont reliés. Pour ce faire, chaque premier calculateur 13 et 14 embarque un logiciel comprenant une fonction de surveillance du bon fonctionnement de ses entrées/sorties auxquelles sont notamment reliés les capteurs, à savoir les capteurs Si à S3 pour le premier calculateur 13 et les capteurs S4 et Sn pour le premier calculateur 14. Lorsqu'une anomalie ou une erreur est détectée sur une entrée/sortie d'un premier calculateur, le code d'erreur identifiant cette anomalie ou erreur est stockée en mémoire du premier calculateur. Le ou les codes d'erreur résultant de la détection d'anomalies sont par exemple enregistrés dans une mémoire de type RAM du premier calculateur. 100741 Le ou les codes d'erreurs générés et stockés en mémoire sont chacun comparés à la liste de codes d'erreur comprise dans la table associant codes d'erreurs et identifiants de capteurs du premier calculateur concerné. Par exemple, si le code d'erreur généré et stocké en mémoire du premier calculateur 13 correspond au code X3, il est déterminé à partir du tableau 2 que le capteur associé à ce code d'erreur est le capteur S2 132 relié au premier calculateur 132. 100751 Le premier calculateur 13 détermine alors que le capteur S2 132 est dans un état de fonctionnement correspondant à un défaut de fonctionnement. Si aucun autre code d'erreur n'a été détecté, le premier calculateur 13 détermine que les autres capteurs qui lui sont reliés, à savoir les capteurs 51 131 et S3 133 sont chacun dans un état de fonctionnement sans défaut, c'est-à-dire que ces capteurs S1 131 et S3 133 sont opérationnels. [0076] Si le ou les codes d'erreurs générés ne correspondent à aucun des codes d'erreurs de la liste de codes d'erreur comprise dans la table stockée en mémoire, alors il est déterminé que tous les capteurs S1 à S3 sont opérationnels. De tels codes d'erreurs sont par exemple générés au niveau d'entrées/sorties non associées à des capteurs. [0077] Le premier calculateur enregistre avantageusement ces informations en mémoire (par exemple en mémoire non volatile), par exemple dans une table mettant en correspondance chaque capteur S1 à S3 et son état de fonctionnement. L'état de fonctionnement prend avantageusement 2 valeurs, à savoir DEFAUT ou NON_DEFAUT. Ces valeurs sont par exemple codées sur 1 hit prenant 2 valeurs (0 et 1), chaque valeur du hit étant associé à une valeur de l'état de fonctionnement (par exemple 0 pour DEFAUT et 1 pour NON DEFAUT). La table stockée en mémoire prend par exemple la forme du tableau 4 ci-dessous : [0078] [Tahleaux4] Liste des capteurs du Pr calculateur Etat de fonctionnement Capteur S1 NON_DEFAUT Capteur S2 DEFAUT Capteur S3 NON_DEFAUT [0079] Le fonctionnement de chaque capteur 51 à S3 (respectivement S4 et Sn) relié au premier calculateur 13 (respectivement premier calculateur 14) est par exemple testé à chaque mise sous tension du premier calculateur 13 (respectivement premier calculateur 14) au moyen d'un gestionnaire de diagnostic implémenté sur le premier calculateur 13 (respectivement premier calculateur 14). La table mettant en correspondance chaque capteur 51 à S3 (respectivement S4 et Sn) et son état de fonctionnement est avantageusement mise à jour suite à chaque diagnostic. [0080] Dans une quatrième opération, le premier calculateur 13 transmet au calculateur de connectivité 11 (appelé deuxième calculateur) l'information relative à l'état de fonctionnement de chaque capteur Si à S3 déterminée précédemment, par exemple via une trame de données telle que celle décrite en regard de la figure 3. Le deuxième calculateur 11 reçoit avantageusement les informations relatives à l'état de fonctionnement de chacun des capteurs SI à Sn de chacun des premiers calculateurs 13, 14 et met à jour une table mettant en correspondance chaque capteur et son état de fonctionnement. Un exemple d'une telle table est fourni avec le tableau 5 ci-dessous. [0081] 11 [Tahlcaux5] Liste des capteurs des I" calculateurs Etat de fonctionnement Capteur S1 NON_DEFAUT Capteur S2 DEFAUT Capteur S3 NON_DEFAUT Capteur S4 NON_DEFAUT Capteur Sn NON_DEFAUT 100821 La table correspondant au table 5 est avantageusement enregistrée en mémoire (par exemple en mémoire non volatile) du deuxième calculateur 11. 100831 Selon une variante de réalisation, le deuxième calculateur 11 comprend en mémoire une table par premier calculateur 13, 14. Chaque table comprend l'information représentative de l'état de fonctionnement de chacun des capteurs reliés au premier calculateur de la table qui lui est dédié. Selon cette variante, 2 tables sont stockées en mémoire, par exemple en mémoire volatile, du deuxième calculateurs 11, le tableau 6 correspondant à la table associée aux capteurs du premier calculateur ECU3 13 et le tableau 7 correspondant à la table associée aux capteurs du premier calculateur ECU 4 14. [0084] [Tablcaux6] Liste des capteurs de ECU3 Etat de fonctionnement Capteur Si NON_DEFAUT Capteur S2 DEFAUT Capteur S3 NON_DEFAUT [0085] [Tahlcaux7] Liste des capteurs de ECU4 Etat de fonctionnement Capteur Si NON_DEFAUT Capteur S2 NON_DEFAUT [0086] La trame comprenant les informations relatives aux états de fonctionnement. des capteurs d'un premier calculateur est par exemple transmise par le premier calculateur au deuxième calculateur 11 à l'initiative du premier calculateur 13, 14, par exemple lorsque le premier calculateur a achevé le diagnostic de ses capteurs et déterminé leur état de fonctionnement. [0087] Selon une variante de réalisation, la trame est transmise sur requête du deuxième cal- culateur 11, par exemple une requête de type diagnostic selon le protocole UDS (de 12 l'anglais « Unificd Diagnostic Services » ou en français « Services de diagnostic unifiés »). [0088] Selon une autre variante de réalisation, la trame est transmise seulement lorsque le premier calculateur 13 et/ou 14 détecte un changement d'état de fonctionnement d'un ou plusieurs capteurs qui lui sont reliés. Pour détecter un changement d'état de fonctionnement (par exemple passage de DEFAUT à NON_DEFAUT ou inversement passage de NON_DEFAUT à DEFAUT), le premier calculateur 13 et/ou 14 compare l'état de fonctionnement déterminé à la troisième opération à l'état de fonctionnement stocké en mémoire dans la table correspondant au tableau 4. Si un changement est constaté, la table en mémoire du premier calculateur 13 et/ou 14 est mise à jour et le premier calculateur 13 et/ou 14 transmet le nouvel état de fonctionnement et l'identifiant du capteur concerné au deuxième calculateur 11, pour mise à jour de la table en mémoire du deuxième calculateur 11. [0089] De manière optionnelle, le deuxième calculateur 11 compare le contenu de la table comprenant l'état de fonctionnement des capteurs associés au système embarqué avec le contenu des tables de chaque premier calculateur 12, 13 comprenant l'état de fonctionnement des capteurs qui leur sont reliés, par exemple pour vérifier la cohérence du contenu de ces tables et/ou pour des raisons de synchronisation du contenu. Une telle comparaison et/ou synchronisation est par exemple mise en oeuvre après une mise sous tension du véhicule ou suite à une coupure d'alimentation du système embarqué. [0090] Dans une cinquième opération, le deuxième calculateur 11 analyse la requête d'acquisition de données reçues, telle que la requête GET_DATA décrite ci-dessus. Le deuxième calculateur 11 détermine à partir de cette requête quel ou quels capteurs sont visés par la requête pour l'acquisition des données, puis détermine l'état de fonctionnement de chacun de ces capteurs dans la table correspondant au tableau 5. [0091] Si un ou plusieurs des capteurs visés par la requête d'acquisition de données sont en défaut, le deuxième calculateur 11 décline l'acquisition et transmet en retour une information indiquant au dispositif émetteur de la requête que l'acquisition n'est pas possible pour tel ou tel capteur en raison d'un défaut de fonctionnement du capteur. [0092] Selon une variante de réalisation, le deuxième calculateur 11 requiert l'acquisition des données pour chaque calculateur visé par la requête, y compris pour le ou les capteurs en défaut. Selon cette variante, le deuxième calculateur récupère les données issues de ces capteurs et associe une information représentative du défaut du capteur aux données issues de chaque capteur en défaut. Les données et informations représentatives de défaut sont transmises au dispositif émetteur de la requête. Un filtrage des données sur la base de cette information représentative de défaut sera alors possible à tout moment à posteriori, par exemple pour ne conserver que les données issues de capteur en état de fonctionnement sans défaut, pour ne conserver que les données 13 jugées fiables et de bonne qualité. [0093] Bien entendu, le nombre de calculateurs du système 100 n'est pas limité à 4 et s'étend à tout nombre, par exemple 10, 20, 50, 100 ou plus de calculateurs. Un exemple de réalisation matérielle d'un calculateur est décrit en regard de la figure 2. [0094] [fig.2] illustre schématiquement un calculateur 2 d'un système embarqué de véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le calculateur 2 correspond avantageusement au calculateur ECUl 11, ECU2 12, ECU3 13 ou ECU4 14 de la figure 1. [0095] Le calculateur 2 est par exemple configure pour la mise en oeuvre des étapes du procédé décrit en regard de l'une des figures 1 et/ou 4. Des exemples d'un tel calculateur 2 comprennent, sans y être limités, un équipement électronique embarqué tel qu'un ordinateur de bord d'un véhicule, un calculateur électronique tel qu'une UCE. Les éléments du calculateur 2, 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 2 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. Selon différents modes de réalisation particuliers, le calculateur 2 est couplé en communication avec d'autres dispositifs ou systèmes similaires, par exemple par l'intermédiaire d'un bus de communication ou au travers de ports d'entrée / sortie dédiés. [0096] Le calculateur 2 comprend un (ou plusieurs) processeur(s) 20 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l'exécution des instructions du ou des logiciels embarqués dans le calculateur 2. Le processeur 20 peut inclure de la mémoire intégrée, une interface d'entrée/sortie, et différents circuits connus de l'homme du métier. Le calculateur 2 comprend en outre au moins une mémoire 21 correspondant par exemple à une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique. [0097] 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 première mémoire 21. [0098] Selon un mode de réalisation particulier et non limitatif, le calculateur 2 comprend un bloc 22 d'éléments d'interface pour communiquer avec des dispositifs externes, par exemple un serveur distant ou le « cloud », des capteurs odométriques, un capteur GPS et/ou tout autre capteur. Les éléments d'interface du bloc 22 comprennent une ou plusieurs des interfaces suivantes : [0099] - interface radiofréquence RF, par exemple de type Bluetooth® ou LTE (de 14 l'anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTEAdvanced (ou en français LTE-avancé) ; [0100] - interface USB (de l'anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ; [0101] - interface HDMI (de l'anglais « High Définition Multimedia Interface ou « Interface Multimedia Haute Definition » en français) ; [0102] - interface LIN. [0103] Des données sont par exemples chargées vers le calculateur 2 via l'interface du bloc 22 en utilisant un réseau Wi-Fi® tel que selon IEEE 802.11 ou un réseau mobile tel qu'un réseau 4G (ou LTE Advanced selon 3GPP release 10 - version 10) ou 5G. [0104] Selon un autre mode de réalisation particulier, le calculateur 2 comprend une interface de communication 23 qui permet d'établir une communication avec d'autres dispositifs (tels que d'autres calculateurs du système embarqué) via un canal de communication 230. L'interface de communication 23 correspond par exemple à un transmetteur configure pour transmettre et recevoir des informations et/ou des données via le canal de communication 230. L'interface de communication 23 correspond par exemple à un réseau filaire de type CAN ou CAN FD. [0105] Selon un mode de réalisation particulier supplémentaire, le calculateur 2 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu'un écran d'affichage, un ou des haut-parleurs et/ou d'autres périphériques via respectivement des interfaces de sortie non représentées. [0106] [fig.3] illustre schématiquement une trame 30 de données ou paquets de données transmise par un premier calculateur ECU3 13 et/ou ECU4 14 au deuxième calculateur 11, selon un exemple de réalisation particulier et non limitatif de la présente invention. [0107] La trame 30 comprend par exemple un en-tête 301 (de l'anglais « header ») qui comprend par exemple des informations sur la longueur de la trame et sur l'identification du premier calculateur émetteur de la trame. La trame comprend également une partie utile (de l'anglais « Payload ») comprenant, pour chaque capteur, une information représentative de l'identification du capteur 302 associé à une information représentative de l'état de fonctionnement (DEFAUT / NON_DEFAUT) 303 du capteur identifié avec l'information 302. [0108] L'information 302 est par exemple codée sur 8 bits ou plus, selon le nombre de capteurs associés au système embarqué. Chaque information identifie chaque capteur de manière unitaire, c'est-à-dire que chaque capteur est identifié par un code unique. [0109] Selon une variante, l'information 302 comprend l'information du premier capteur auquel est relié le capteur et l'information identifiant le capteur. Selon cette variante, les capteurs reliés à un premier calculateur particulier sont identifiés avec un code unique mais ce code peut être repris pour identifier un capteur relié à un autre premier calculateur. Par exemple, le capteur 131 relié au premier calculateur 13 est identifié S1 et le capteur 141 relié au premier calculateur 14 est aussi identifié Sl. L'information représentative de l'identification du premier calculateur auquel sont reliés les capteurs est alors indispensable pour distinguer unitairement chaque capteur. Cette variante correspond par exemple au cas de figure décrit en regard des tableaux 6 et 7, c'est-à-dire à l'exemple selon lequel le deuxième calculateur stocke en mémoire l'état de fonctionnement des capteurs dans plusieurs tables, chaque table étant associée à un premier calculateur particulier du système embarqué. [0110] [fig.4] illustre un organigramme des différentes étapes d'un procédé de détermination d'un état de fonctionnement de capteur(s) relié(s) à un ou plusieurs premiers calculateurs d'un système embarqué, par exemple le système embarqué 100, selon un premier exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est par exemple mis en oeuvre dans le dispositif 2. [0111] Dans une première étape 41, un ou plusieurs codes d'erreurs sont détectés par un premier calculateur du système embarqué auxquels sont reliés un ou plusieurs capteurs. Ce ou ces codes d'erreurs sont par exemple détectés par l'exécution d'un outil de diagnostic qui vérifie l'ensemble des ports entrée/sortie du premier calculateur. Le ou les codes d'erreurs retournés sont avantageusement stockés temporairement en mémoire du premier calculateur. [0112] Dans une deuxième étape 42, chaque code d'erreur est comparé à une liste de codes d'erreur déterminée, chaque code d'erreur de cette liste étant associé à un unique capteur relié au premier calculateur. L'association entre la liste des codes d'erreur et la liste des capteurs reliés au premier calculateur est par exemple enregistré dans une première table de correspondance établissant la correspondance entre les codes d'erreurs et les identifiants des capteurs reliés au premier calculateur. Cette première table correspond par exemple à une LUT (de l'anglais «LookUp Table » ou en français « table de correspondance »). [0113] Dans une troisième étape 43, le premier calculateur détermine l'état de fonc- tionnement des capteurs qui lui sont reliés à partir du ou des codes d'erreur détectés et du résultat de la comparaison réalisée à l'étape 42. Un capteur est dans un état de défaut de fonctionnement lorsqu'un code d'erreur détecté est associé à ce capteur, c'est-à-dire lorsque qu'une correspondance entre un code d'erreur détecté et un identifiant de capteur résulte de la comparaison de l'étape 42. Un capteur est dans un état de fonctionnement sans défaut lorsqu'aucun code d'erreur détecté n'est associé à ce capteur, c'est-à-dire lorsque qu'un code d'erreur détecté à l'étape 41 n'est associé à aucun capteur selon la comparaison de l'étape 42 et/ou lorsqu'aucun code d'erreur n'a été détecté pour le ou les capteurs déterminés comme en état de fonctionnement sans défaut. 16 [0114] Dans une quatrième étape 44, le premier calculateur transmet, par exemple au deuxième calculateur (dit de connectivité) pour chaque capteur une information d'identification du capteur et l'information représentative de l'état de fonctionnement associée et déterminée à l'étape 43. L'information d'identification du capteur correspond par exemple à un code d'identification unique pour chaque capteur ou à un couple d'information comprenant le code d'identification du premier calculateur associé au code d'identification du capteur relié à ce premier calculateur, chaque couple d'information étant unique et identifiant un unique capteur du système e mbarqué. [0115] Selon une variante de réalisation, le premier calculateur transmet le ou les codes d'erreur détectés à l'étape 41 au deuxième calculateur. Le deuxième calculateur détermine alors le ou les capteurs en défaut à partir d'une table de correspondance établissant la correspondance entre une liste de codes d'erreur déterminée et l'ensemble des capteurs du système embarqué. Cette table correspond avantageusement au tableau 1. Selon cette variante, les étapes 42, 43 et 44 sont mises en oeuvre par le deuxième calculateur et l'étape 41 de détection correspond avantageusement à une étape de réception, par le deuxième calculateur, des codes d'erreurs identifiés par chacun des premiers calculateurs du système embarqué. [0116] Bien entendu, l'invention ne se limite pas aux modes de réalisation décrits ci-avant niais s'étend à une méthode de transmission des données mesurées par un ou plusieurs capteurs d'un système embarqué, suite à une requête reçue par exemple d'un système débarqué du véhicule, et au dispositif configuré pour la mise en oeuvre d'une telle méthode. [0117] L'invention concerne également un véhicule, par exemple automobile ou plus géné- ralement un véhicule à moteur terrestre, comprenant le dispositif 2 de la figure 2 ou le système embarqué 100 de la figure 1. 17 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5] REVENDICATIONSProcédé de détermination d'un état de fonctionnement d'au moins un capteur (131 à 133) relié à un premier calculateur (13) d'un système embarqué (100) de véhicule, ledit procédé comprenant les étapes de : - détection (41), par ledit premier calculateur (13), d'au moins un code d'erreur ; - comparaison (42), par ledit premier calculateur (13), dudit au moins code d'erreur détecté avec une liste de codes d'erreur, chaque code d'erreur de ladite liste étant associé à un unique capteur relié audit premier calculateur (13) ; - détermination (43), par ledit premier calculateur (11), d'un état de fonctionnement de chaque capteur (131 à 133) relié audit premier calculateur (13) à partir du résultat de ladite comparaison, un capteur étant dans un état de défaut de fonctionnement lorsqu'un code d'erreur détecté est associé à ce capteur, un capteur étant dans un état de fonctionnement sans défaut lorsqu'aucun code d'en-eur détecté n'est associé à ce capteur ; et - transmission (44), par ledit premier calculateur, d'une information d'identification de chaque capteur et de l'état de fonctionnement associé. Procédé selon la revendication 1, comprenant en outre la transmission, par ledit premier calculateur (13), d'un identifiant dudit premier calculateur (13). Procédé selon la revendication 1 ou 2, comprenant en outre une étape de comparaison, pour chaque capteur (131 à 133), de l'état de fonctionnement déterminé dudit capteur avec un état de fonctionnement enregistré dans une mémoire dudit premier calculateur (13), la transmission de l'information d'identification d'un capteur et de l'état de fonctionnement associé n'étant mise en oeuvre que si le résultat de la comparaison indique un changement d'état de fonctionnement dudit capteur. Procédé selon l'une des revendications 1 à 3, comprenant en outre l'enregistrement dudit état de fonctionnement déterminé pour chaque capteur (131 à 133) dans une première table associant un état de fonctionnement courant. à chaque capteur relié audit premier calculateur (13). Procédé selon l'une des revendications 1 à 4, comprenant en outre les 18 [Revendication 6] [Revendication 7] [Revendication 8] [Revendication 9] [Revendication 10] étapes de : - réception, par un deuxième calculateur (11) dudit système embarqué (100), de ladite information d'identification de chaque capteur et de l'état de fonctionnement associé ; - mise à jour, par ledit deuxième calculateur (11), d'une deuxième table comprenant l'état de fonctionnement de chaque capteur associé au système embarqué (100). Procédé selon la revendication 5 en dépendance de la revendication 4, comprenant en outre une étape de comparaison de ladite deuxième table et de ladite première table. Procédé selon la revendication 5 ou 6, comprenant en outre les étapes de : - réception, par ledit deuxième calculateur (11), d'une requête d'acquisition de données d'au moins un capteur associé audit système embarqué (100) ; - détermination, par ledit deuxième calculateur (11), de l'état de fonctionnement associé audit au moins un capteur à partir de ladite table ; - transmission, par ledit deuxième calculateur (11), d'une réponse à ladite requête en fonction de l'état de fonctionnement déterminé dudit au moins un capteur. Système comprenant un premier calculateur (13) et un deuxième calculateur (11) relié au premier calculateur via un bus (le données (102, 103), ledit premier calculateur (13) étant configuré pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 4 et ledit deuxième calculateur (11) étant configuré pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 5 à 7. Véhicule automobile comprenant le système selon la revendication 8. Produit programme d'ordinateur comportant des instructions adaptées pour l'exécution des étapes du procédé selon l'une des revendications 1 à 4 et/ou selon l'une des revendications 5 à 7, lorsque le programme d'ordinateur est exécuté par au moins un processeur.