Brevet FR3097988A1 — publié le 20210101

Description Titre de l'invention : Procédé de dialogue avec un calculateur sur bus embarqué de véhicule. [0001] L'invention concerne un procédé de dialogue avec un calculateur sur bus embarqué de véhicule. L'invention concerne notamment un procédé de dialogue à partir d'un premier bus embarqué dans un véhicule, avec un premier calculateur connecté à un deuxième bus embarqué du véhicule. [0002] Le procédé selon l'invention, est particulièrement utile pour réaliser des mises à jour de calculateurs embarqués, en permettant parallèlement une exécution de programmes temps réel pour faire fonctionner le véhicule. [0003] Les mises à jour de calculateurs embarqués et l'exécution dc programmes temps réels, nécessitent généralement des émissions de commandes sur un ou plusieurs bus embarqués. Des compteurs de temps sont généralement mis en oeuvre pour contrôler la durée qui sépare l'émission d'une commande de la réception d'une réponse à cette commande, avec pour inconvénient une augmentation de durée lorsque la quantité dc commandes augmente. [0004] Par exemple le document EP1434129A2 divulgue un appareil de contrôle de ré- écriture pour programme embarqué dans lequel une commande de commutation est basée sur un signal issu d'un compteur de temps. L'appareil divulgué contrôle deux modes opérationnels, un mode normal qui pourrait correspondre à un mode dc diagnostic et un mode de réécriture de programme embarqué, utilisable pour une mise à jour de calculateur. L'appareil divulgué commute du mode normal au mode de réécriture lorsqu'il reçoit une commande dc réécriture de programme provenant d'un serveur, et commute du mode de réécriture au mode normal lorsqu'il reçoit une commande dc commutation sur le mode normal pendant le mode de réécriture. Chaque commutation a pour inconvénient dc quitter le mode en cours. [0005] Pour remédier aux inconvénients posés par l'état antérieur de la technique, l'invention a pour objet un procédé de dialogue à partir d'un premier bus embarqué dans un véhicule, avec un premier calculateur connecté à un deuxième bus embarqué du véhicule, le premier bus étant connecté au deuxième bus par un deuxième calculateur, dans lequel un troisième calculateur connecté au premier bus embarqué, traite une commande principale destinée au premier calculateur, comprenant des étapes dans lesquelles : - le troisième calculateur génère une commande d'écriture d'un descriptif de ladite commande principale dans une première zone dédiée du deuxième calculateur ; - le troisième calculateur émet ladite commande d'écriture à destination du deuxième 2 calculateur lorsque le deuxième calculateur est détecté prêt pour répondre à ladite commande d'écriture ; - le deuxième calculateur émet à destination du premier calculateur une ou plusieurs commandes auxiliaires pour répondre à la commande principale après réception de ladite commande d'écriture ; - le premier calculateur émet une réponse à chaque commande auxiliaire reçue ; - le deuxième calculateur mémorise chaque réponse reçue dans une deuxième zone dédiée ; - le troisième calculateur émet une commande de lecture de ladite deuxième zone dédiée, à destination du deuxième calculateur lorsque le deuxième calculateur est détecté prêt pour répondre à ladite commande de lecture ; - le deuxième calculateur émet, une réponse à la commande de lecture reçue ; - le troisième calculateur répond à la commande principale à partir d'au moins une réception de réponse à la commande de lecture de la deuxième zone du deuxième calculateur dans laquelle est mémorisée la réponse émise par le premier calculateur. [0006] Notamment, un signal à deux états, prêt, non prêt, est émis périodiquement par le deuxième calculateur, pour lequel le procédé comprend des étapes dans lesquelles le deuxième calculateur positionne le signal : - à l'état occupé après réception de la commande d'écriture en provenance du troisième calculateur ; - à l'état prêt après réception de la réponse en provenance du premier calculateur. [0007] Avantageusement, le procédé comprend une étape dans laquelle le troisième cal- culateur se met en attente du signal positionné à l'état prêt après avoir reçu ledit signal positionné à l'état occupé. [0008] Particulièrement, ladite commande d'écriture comporte une première trame qui comprend un premier champ d'identifiant de commande, un premier champ d'identifiant de la première zone dédiée, et au moins un champ de descriptif de la commande principale. [0009] Particulièrement aussi, le descriptif de la commande principale comporte un champ de type de la commande principale, un champ d'identification du deuxième calculateur, et un champ d'identification de donnée utile au deuxième calculateur pour élaborer la réponse émise. [0010] Particulièrement aussi, le procédé comprend une étape dans laquelle le deuxième cal- culateur émet un acquittement à destination du premier calculateur après réception de ladite commande d'écriture. [0011] Plus particulièrement, l'acquittement comporte une deuxième trame qui comprend un champ d'identifiant d'acquittement, et un deuxième champ d'identifiant de la première zone dédiée. 3 [0012] Particulièrement encore, ladite commande de lecture émise par le troisième cal- culateur comporte une troisième trame qui comprend un deuxième champ d'identification de commande, et un premier champ d'identifiant de la deuxième zone dédiée. [0013] Particulièrement aussi, ladite réponse à la commande de lecture comporte une quatrième trame qui comprend un quatrième champ d'identifiant de réponse à la commande, un deuxième champ d'identifiant de la deuxième zone dédiée, au moins un champ de rappel du descriptif de la commande principale, et un champ de contenu de la réponse émise par le premier calculateur. [0014] Spécialement, ladite commande principale est une commande pour lire une donnée résidente dans le premier calculateur, pour laquelle la commande auxiliaire comporte une cinquième trame qui comprend un champ d'identification de commande de lecture et un champ d'identification de ladite donnée résidente, de sorte que la réponse émise par le premier calculateur comporte une sixième trame qui comprend un champ d'identification de réponse à la commande de lecture, un champ d'identification de ladite donnée résidente, et un champ contenant la valeur de ladite donnée résidente. [0015] De préférence, les commandes de lecture et les commandes d'écriture sont des commandes conformes au protocole UDS de services unifiés de diagnostic. [0016] Le procédé peut aussi comprendre des étapes dans lesquelles : - le deuxième calculateur vérifie si le descriptif de ladite commande principale est intègre ou non après réception de ladite commande d'écriture - - le deuxième calculateur émet à destination du premier calculateur une ou plusieurs commandes auxiliaires pour répondre à la commande principale uniquement si le descriptif de ladite commande principale est intègre ; - le deuxième calculateur mémorise une alarme dans la deuxième zone dédiée si le descriptif de ladite commande principale n'est pas intègre. [0017] D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de la description détaillée de modes de mise en oeuvre et de réalisation, à titre d'exemples illustratifs et non limitatif, en référence aux dessins annexés dans lesquels : [0018] [fig.1] montre schématiquement un système embarqué de véhicule sur lequel est mise en oeuvre l'invention ; [0019] [fig.2] montre schématiquement des trames de commandes avec lesquelles est mise en oeuvre l'invention ; [0020] [fig.3] montre des étapes de procédé conforme à l'invention pour traiter une commande principale de lecture ; [0021] [fig.4] montre des étapes d'une première procédé conforme à l'invention pour traiter une commande principale d'installation ; [0022] [fig.5] montre des étapes d'une deuxième partie de procédé conforme à l'invention pour traiter une commande principale d'installation ; [0023] [fig.6] montre des étapes d'une troisième et dernière partie de procédé conforme à l'invention pour traiter une commande principale d'installation. [0024] [fig.1] montre deux calculateurs 9, 10 connectés à un bus embarqué 1 dans un véhicule, et trois calculateurs 12, 13, 14 connectés à un bus embarqué 2 dans le véhicule. Le calculateur 9 est par exemple un calculateur embarqué dédié aux télécommunications de type IVC (In Vehicle Communication en anglais). Le calculateur 10 est par exemple un calculateur embarqué de type IVI (In Vehicle Infotainrnent en anglais), dont les capacités de traitement informatique sont comparables à celles d'un micro-ordinateur. D'autres calculateurs embarqués, non représentés, peuvent être connectés au bus embarqué 1. Les calculateurs 12, 13, 14 connectés au bus embarqué 2, sont de préférence des calculateurs embarqués de contrôle-commande d'organes du véhicule de type ECU (Electronic Control Unit). Un calculateur 11 connecté au bus embarqué 1 et au bus embarqué 2, exerce des fonctions de passerelle entre les deux bus embarqués. [0025] [fig.3] montre des étapes de procédé de dialogue dans lequel le calculateur 10 traite une commande principale qui est une commande pour lire une donnée résidente dans l'un des calculateurs 12, 13, 14, par exemple dans le calculateur 12. Cc type de commande est utile, par exemple pour lire une référence de composant numérique, ou un numéro de version du composant numérique dans le calculateur 12, en vue par exemple de décider si une mise à jour du composant numérique est nécessaire ou non. Le composant numérique peut concerner tant un programme exécutable, une base de données ou toute autre structure numérique comme par exemple un programme source ou une table de paramètres. [0026] Le calculateur 10 initialement dans une étape 100 de veille, passe dans une étape 102 lorsqu'une requête de lecture soumise par un procédé d'ordre supérieur, par exemple un procédé de mise à jour du calculateur 12, valide une transition 101. A titre illustratif, la requête de lecture peut contenir un identificateur de calculateur parmi les calculateurs 12, 13, 14 connectés sur le bus 2 embarqué, en l'occurrence l'identificateur du calculateur 12. L'identificateur de calculateur peut consister en une adresse de calculateur conforme au protocole de communication du bus 2, de type CAN (Controller Area Network), Flex Ray ou TTP aussi connus dans les domaines aéronautique, Ethernet automobile ou autre. L'identificateur de calculateur peut aussi consister en une chaîne de caractères ASCII qui nomme le calculateur dans son univers fonctionnel, par exemple « BCM » (Body Control Module pour module de contrôle de caisse en anglais), « HEVC » (Hybrid Electric Vehicle Controller pour Contrôleur de véhicule hybride électrique), « VDC » (acronyme de Vehicle Dynamic Control) ou autre. Une chaîne de caractères ASCII a pour avantage de pouvoir désigner un cal- culatcur indépendamment d'une architecture de système embarqué. Une chaîne de caractères ASCII a aussi pour avantage de constituer un moyen mnémotechnique plus facilement compréhensible pour l'être humain. A titre illustratif encore, la requête de lecture peut contenir un identificateur de donnée 63 dans le calculateur identifié. [0027] En étape 102, le calculateur 10 construit un descriptif de la commande principale à partir de la requête qui a validé la transition 101, puis génère une commande d'écriture du descriptif de la commande principale dans une première zone dédiée 61 de données, résidente en mémoire du calculateur 11. [0028] [fig.2] montre un exemple de commande d'écriture qui comporte une trame 21. La trame 21 comprend un champ 31 identifiant la commande générée en tant que commande d'écriture, un champ 32 identifiant la première zone dédiée 61, et au moins un champ 33, 34, 35 pour contenir le descriptif 27 de la commande principale. [0029] Le champ 33 qui compose le descriptif 27, donne un type de commande principale. A titre purement illustratif et non limitatif, le type de commande principale est par exemple identifié par deux lettres en code ASCII. La première lettre identifie une classe de commande principale, « E » pour « exécuter », « R » pour lecture ou « W » pour écriture. La deuxième lettre en combinaison avec la première, identifie une action au sein de la classe de commande principale, « EA » pour « Exécuter une Activation », « ED » pour « Exécuter un Téléchargement », «El » pour « Exécuter une Installation », « EC » pour « Exécuter une Suppression », « ER » pour « Exécuter une Réinitialisation », « RD » pour « Lire une Donnée », « RX » pour « Lire des données Etendues », « WD » pour écrire une donnée. Le champ 34 qui compose le descriptif 27, donne un identificateur de calculateur embarqué, notamment tel qu'il est indiqué dans la requête. Le champ 35 qui compose le descriptif 27, contient des paramètres utiles à l'exécution de la commande. A titre illustratif, lorsque le champ 33 contient l'un des types de commande « ET », « EA », les paramètres sont des identificateurs de composants numériques à installer, respectivement à activer. Dans l'exemple illustré par la figure 3, le descriptif 27 de la commande principale comporte un champ 33 donnant le type de la commande principale « RD », un champ 34 d'identification du calculateur connecté au bus 2, par exemple le nom fonctionnel du calculateur 12, et un champ 35 de paramètres, contenant comme paramètre utile au calculateur 11 pour participer au traitement de la commande principale, un identificateur de donnée à lire. [0030] Plus particulièrement, l'utilisation d'une commande d'écriture conforme au protocole UDS de services unifiés de diagnostic, présente l'avantage de bénéficier du mécanisme généralement préinstallé dans une majorité de calculateurs embarqués du monde automobile, notamment pour effectuer les fonctions de diagnostic, sans avoir à modifier les couches basses de communication pour mettre en oeuvre le procédé de dialogue conforme à l'invention. Dans ce cas particulier, le champ 31 contient alors le SID 6 (Service Identifier pour identificateur de service en anglais) $2E qui est le code hexadécimal connu d'une écriture de données par identificateur DID. [0031] Une transition 103 de passage de l'étape 102 à une étape 104, est validée lorsque le calculateur 11 est détecté prêt pour répondre à la commande d'écriture supportée par la trame 21. De la sorte, si le calculateur 11 effectue une fonction de passerelle pour une autre instance du procédé de dialogue selon l'invention, ou une fonction de passerelle pour une commande générée par un autre procédé comme par exemple un procédé de diagnostic, le calculateur reste en attente sur l'étape 102. Le calculateur 10 n'encombre pas inutilement le bus 1 avec des tentatives d'émissions de commande qui resteraient sans effet en raison de l'occupation du calculateur 11 par d'autres fonctions. Dans l'exemple d'un traitement en cours d'une commande de diagnostic propre à un autre procédé, la mise en attente momentanée du procédé de dialogue sur l'étape 102, permet l'exécution de la commande de diagnostic sans avoir à interrompre le procédé de diagnostic. [0032] Plusieurs solutions peuvent être envisagées pour détecter si le calculateur 11 est prêt pour répondre à la commande d'écriture supportée par la trame 21. Par exemple dans le cas où le calculateur 10 serait le seul à dialoguer avec le calculateur 11 sur le bus 1, une couche supérieure d'ordonnancement dans le calculateur 10, pourrait contrôler l'état prêt ou non du calculateur 11. Cette solution serait difficile à mettre en oeuvre lorsqu'un autre calculateur 9, dialoguerait avec le calculateur 11 sur le bus 1, par exemple pour exécuter un diagnostic à distance. Différemment, le calculateur 10 pourrait par exemple observer le bus 1 pour y détecter les trames à destination du calculateur 11, pour lesquelles le calculateur 11 ne serait pas prêt pour répondre à la commande d'écriture supportée par la trame 21. Cette autre solution présenterait rapidement un problème de complexité en cas de nombreux procédés empruntant la voie du bus 1. D'autres solutions sont envisageables sans sortir du cadre de l'invention. [0033] Selon une solution préférée pour détecter si le calculateur 11 est prêt, c'est le cal- culateur 11 qui se déclare lui-même prêt ou non pour traiter les commandes émises dans le cadre du procédé de dialogue conforme à l'invention. Le calculateur 11 émet périodiquement sur le bus 1, un signal comportant deux états, prêt, occupé ou non prêt. [0034] Dans une étape initiale 110 de veille, le calculateur 11 positionne par défaut le signal à l'état prêt. Dès que le calculateur 11 reçoit une commande, que ce soit du procédé de dialogue selon l'invention ou de tout autre procédé comme par exemple du procédé de diagnostic, le calculateur 11 positionne le signal à l'état occupé jusqu'à avoir terminé le traitement de la commande en cours. [0035] En étape 104, le calculateur 11 ayant été détecté prêt pour répondre à la commande d'écriture, le calculateur 10 émet la commande d'écriture à destination du calculateur 11. Pour émettre la commande d'écriture, le calculateur 10 peut encapsuler la trame 21 7 dans une trame CAN sur le bus 1, ou d'autre manière, par exemple encapsuler la trame 21 dans une trame sur IP si le protocole Ethernet pour véhicule est utilisé sur le bus 1. [0036] Une réception de la commande d'écriture dans le calculateur 11, valide une transition 111 qui est nécessaire pour faire passer le calculateur 11 de l'étape initiale 110 à une étape 114 dans laquelle le calculateur 11 émet à destination de celui des calculateurs 12, 13, 14 identifié dans le champ 34, par exemple le calculateur 12, une commande auxiliaire pour répondre à la commande principale, à partir du descriptif 27 de la commande principale, écrit dans la zone dédiée 61 de données du calculateur 11. [0037] Dans le cas particulier de la figure 3 pour lequel la commande principale est une commande pour lire une donnée résidente dans le calculateur 12, la figure 2 donne un exemple de commande auxiliaire qui comporte une trame 25 comprenant un champ 48 d'identification de commande de lecture et un champ 49 d'identification de la donnée résidente dans le calculateur 12. [0038] Plus particulièrement, l'utilisation d'une commande de lecture conforme au protocole UDS de services unifiés de diagnostic, présente les avantages ci-dessus mentionnés. Dans ce cas particulier, le champ 48 contient alors le SID $22 qui est le code hexadécimal connu d'une lecture de données par identificateur DID. Le champ 49 contient l'identificateur DID de la zone de données 63 du calculateur 12 qui était indiquée dans le champ 35 de la trame 21. [0039] La transition 111 peut faire passer directement le procédé de l'étape initiale 110 à l'étape 114. De préférence mais non nécessairement, la transition 1 1 1 fait passer le procédé de l'étape initiale 110 à une étape intermédiaire 112. [0040] Dans l'étape 112, le calculateur 11 vérifie si le descriptif de commande principale 27 est intègre ou non, au regard de règles de sécurité préétablies qui ne font pas l'objet de la présente invention. Dans le cas où l'étape 112 est mise en oeuvre, une transition 113 est validée si le descriptif de commande principale 27 est vérifié intègre, ou une transition 117 est validée si le descriptif de commande principale 27 est vérifié non intègre. L'étape 114 est alors activée après validation de la transition 113. [0041] Dans l'étape 114, ou dès l'étape 112 si elle existe, le calculateur 11 positionne le signal périodique à l'état occupé, en d'autres termes après validation de la transition Ill pal- réception de la commande d'écriture en provenance du calculateur 10. Concomitamment, le calculateur 11 répond à la commande d'écriture par émission d'un accusé de bonne réception ou acquittement. Par exemple, dans le cas de l'utilisation du protocole UDS, le calculateur 11 émet une trame 22 dont un premier champ 37 contient le code SID de valeur $6E, et dont un deuxième champ 38 contient la valeur du champ 32 de la trame 21 pour permettre au calculateur 10 de reconnaître la commande d'écriture émise à laquelle correspond l'accusé de réception reçu. En d'autres termes, le champ 38 constitue un champ d'identifiant de la première zone 8 dédiée 61. [0042] Une réception par le calculateur 10 du signal périodique positionné à l'état occupé, ou de la trame 22, valide une transition 105 qui fait passer le procédé de l'étape 104 à une étape 106 dans le calculateur 10. Dans l'étape 106, le calculateur 10 se met en attente du signal positionné à l'état prêt. [0043] Le calculateur 12 initialement dans une étape de veille 120 du procédé de dialogue conforme à l'invention, valide une transition 121 lorsqu'il reçoit la commande auxiliaire matérialisée par la trame 25 émise par le calculateur 11 sur le bus 2 embarqué. Une validation de la transition 121 active une étape 122 dans laquelle le calculateur 12 émet une réponse à la commande auxiliaire reçue. La réponse émise à destination du calculateur 11, comporte une trame 26 qui comprend un champ 50 d'identification de réponse, ici à la commande de lecture, un champ 51 d'identification de ladite donnée résidente, et un champ 52 contenant une valeur de la donnée résidente 63 identifiée par le champ 51, comme illustré sur la figure 2. [0044] Dans le cas particulièrement avantageux d'utilisation du protocole UDS, le champ 50 contient alors le SID $62 qui est le code hexadécimal connu d'une réponse à lecture de données par identificateur DID. Le champ 51 contient r identificateur DID de la zone de données 63 du calculateur 12 qui était indiquée dans le champ 49 de la trame 25. Le calculateur 12 retourne ensuite à l'étape de veille 120. [0045] Une réception de la réponse par le calculateur 11 valide une transition 115 qui fait passer le procédé de dialogue de l'étape 114 à une étape 116 dans laquelle la calculateur 11 génère un descriptif de réponse 28 à la commande principale qui ici est une commande pour lire la donnée résidente 63 dans le calculateur 12. Le descriptif de réponse 28 comprend des champs 43, 44, 45 qui contiennent chacun respectivement les valeurs des champs 33, 34, 35 du descriptif de commande 27 pour identifier que le descriptif de réponse est bien celui qui correspond au desciiptif de commande principale. Le descriptif de réponse 28 comprend aussi un champ 47 qui contient la valeur contenue dans le champ 52 de la trame 26. Le calculateur 11 mémorise le descriptif de réponse 28 dans une deuxième zone dédiée 62 de données, résidente en mémoire du calculateur 11. [0046] Dans l'étape 116, le calculateur 11 positionne ensuite le signal périodique à l'état prêt. [0047] Une transition 107 est validée lorsque le calculateur 10 détecte que le calculateur 11 est prêt pour répondre. Dans le cas d'un mode de mise en oeuvre préférée de l'invention, la transition 107 est validée par la réception du signal périodique à l'état prêt. [0048] Une validation de la transition 107 active une étape 108 dans le calculateur 10. En étape 108, le calculateur 11 ayant été détecté prêt pour répondre à une commande de 9 lecture, le calculateur 10 émet une commande de lecture de la deuxième zone dédiée 62, à destination du calculateur 11. La commande de lecture est par exemple matérialisée par une trame 23 comme représentée en figure 2. La trame 23 comprend un champ 39 d'identification de commande en tant que commande de lecture, et un champ 40 d'identifiant de la deuxième zone dédiée 62 de données. [0049] Notamment, dans le cas avantageux d'utilisation du protocole UDS, le champ 39 contient la valeur $22 qui identifie une commande de lecture, et le champ 40 contient une valeur de DID qui est l'adresse de la zone dédiée 62 de données en mémoire du calculateur 11. [0050] Une transition 119 est validée lorsque le calculateur 11 reçoit la commande de lecture matérialisée par la trame 23. [0051] Une validation de la transition 119 active une étape 124 dans laquelle le calculateur 11 émet une réponse à destination du calculateur 10. La réponse à la commande de lecture reçue comporte une trame 24 qui comprend un champ 41 d'identifiant de réponse à commande de lecture, et un champ 42 d'identifiant de la deuxième zone dédiée 62, de manière à pouvoir vérifier que la trame 24 constitue la réponse à la commande de lecture matérialisée par la trame 23. La trame 24 contient à la suite le descriptif 28 qui comporte les champs 43, 44, 45 contenant chacun une valeur égale respectivement à celle contenue dans chacun des champs 33, 34, 35 pour rappeler le descriptif de la commande principale. Le descriptif 28 comporte aussi le champ 47 qui contient la réponse à la commande principale. [0052] Le calculateur 11 retourne ensuite dans l'étape initiale 110 de veille au regard du procédé de dialogue selon l'invention. [0053] Une transition 109 est validée lorsque le calculateur 10 reçoit la réponse à la commande de lecture, matérialisée par la trame 24. [0054] Une validation de la transition 109 active une étape 126 dans laquelle le calculateur répond à la commande principale à partir du contenu du champ 47 extrait de la réponse à la commande de lecture de la deuxième zone dédiée du calculateur 11 dans laquelle est mémorisée la réponse émise par le calculateur 12. [0055] Le calculateur 10 retourne ensuite dans l'étape initiale 100 de veille au regard du procédé de dialogue selon l'invention. [0056] On retiendra de l'exposé qui précède que l'utilisation du protocole UDS pour les commandes du procédés de dialogue selon l'invention, permet de traiter une commande principale qui compose un procédé de mise à jour de calculateur, sans avoir à commuter d'un mode de diagnostic à un mode de mise à jour. Les commandes restent des commandes de diagnostic au niveau du dialogue entre calculateurs. Un traitement de fonction de mise à jour s'effectue par un traitement de commande principale dans le calculateur 10 à un niveau de couche supérieure, de manière 10 comparable à un traitement de fonction de diagnostic. Le calculateur 11 peut traiter des trames liées à des fonctions de diagnostic en les transférant directement du bus 1 au bus 2 et réciproquement, en tant que passerelle. Le calculateur 11 peut traiter des trames liées à des fonctions de diagnostic en les en les traitant par des fonctions de diagnostic résidentes dans le calculateur 11. Le calculateur 11 peut traiter des trames liées à des fonctions de mise à jour par des fonctions de mise à jour résidentes dans le calculateur 11 comme il le ferait pour par des fonctions de diagnostic résidentes dans le calculateur 11. Une seule pile protocolaire suffit, à savoir la pile protocolaire UDS, pour traiter tant des commandes purement de diagnostic que des commandes de mise à jour. Lorsqu'une commande purement de diagnostic est transmise du bus 1 au bus 2 en absence de commande liée à la mise à jour de copmposant numérique, le calculateur 11 positionne le signal périodique à l'état occupé, mettant simplement en attente une commande liée à la mise à jour qui se présenterait pendant le traitement de la commande purement de diagnostic. Lorsqu'une commande liée à la mise à jour est transmise du bus 1 au bus 2 en absence de commande purement de diagnostic, le calculateur 11 positionne le signal périodique à l'état occupé, ignorant simplement la commande purement de diagnostic qui se présenterait pendant le traitement de la commande liée à la mise à jour de composant numérique, laissant libre le procédé de diagnostic de réémettre la commande purement de diagnostic lorsque le calculateur 11 repositionnc le signal périodique à l'état prêt. [0057] L'émission des commandes de lecture et d'écriture liées au traitement de la commande principale à partir du calculateur 10 connecté au bus 1 embarqué, ne nécessite pas de commande reçue d'un serveur distant pour relancer un processus de mise à jour dès que le signal périodique est positionné à l'état prêt Ainsi le processus de mise à jour peut se faire sans nécessiter de connexion à distance du véhicule dans la mesure où les données de mise à jour ont été préalablement téléchargées dans le calculateur 10. [0058] Ce qui vient d'être expliqué à titre illustratif pour un processus de mise à jour concomitant à un processus de diagnostic, est applicable à d'autres processus concomitant au processus de diagnostic par mise en oeuvre du procédé de dialogue selon l'invention. [0059] La commande principale du procédé de dialogue, quand elle est pour lire une donnée dans l'un des calculateur 12, 13, 14 connecté au bus 2, pourrait plus simplement être mise en oeuvre par une simple commande de lecture de la donnée à destination directement de celui des calculateur 12, 13, 14 qui héberge la donnée, par exemple le calculateur 12. Cependant cette solution a priori plus simple poserait un problème de gestion de la durée totale qui séparerait l'émission de la simple commande de lecture et la réception de la réponse, durée qui serait la somme des durées nécessaires à la 11 transmission de la simple commande de lecture du calculateur 10 au calculateur 11, puis à la transmission de la simple commande de lecture du calculateur 11 au calculateur 12, de l'émission de la réponse par le calculateur 12, de la transmission de la réponse du calculateur 12 au calculateur 11, puis à la transmission de la réponse du calculateur 11 au calculateur 10. Cette durée totale pourrait se révéler rapidement rédhibitoire en cas de forte activité sur les bus 1 et 2 comme c'est souvent le cas dans un véhicule en fonctionnement. [0060] Le remplacement de la simple commande de lecture par une commande d'écriture dans la première zone dédiée de données du calculateur 11, suivie d'une commande de lecture dans la deuxième zone dédiée de données du calculateur 11, permet de s'affranchir du problème de durée trop longue évoquée au paragraphe précédent. Une première durée qui sépare la commande d'écriture de l'invention et la réponse à la commande d'écriture se réduit à la somme des durées nécessaires à la transmission de la commande d'écriture du calculateur 10 au calculateur 11, puis à la transmission de la réponse, généralement un simple acquittement, du calculateur 11 au calculateur 10. Une deuxième durée qui sépare la commande de lecture de l'invention et la réponse à la commande de lecture se réduit à la somme des durées nécessaires à la transmission de la commande de lecture du calculateur 10 au calculateur 11, puis à la transmission de la réponse du calculateur 11 au calculateur 10. Peu importe une troisième durée qui sépare la fin de la première durée et le début de la deuxième durée car dans l'étape d'attente 106 du procédé, il suffit de lire en permanence l'état du signal périodique jusqu'à le détecter prêt. Notamment, le procédé est robuste au regard d'une interruption qui interviendrait pendant ladite troisième durée, par exemple en cas de mise hors contact électrique du véhicule. Le procédé selon l'invention peut reprendre dans l'étape dans laquelle il s'était arrêté avant l'interruption. [0061] Selon la variante de réalisation qui comprend l'étape 112 dans laquelle le calculateur 11 vérifie si le descriptif 27 de la commande principale est intègre ou non, une transition 117 est validée lorsque le descriptif 27 de la commande principale est vérifié non intègre. Une validation de la transition 117 active une étape 118 dans laquelle le calculateur 11 mémorise une alarme dans la deuxième zone dédiée 62 puis positionne le signal périodique à l'état prêt. [0062] Le procédé de dialogue selon l'invention est applicable à d'autres commandes principales que la commande principale pour lire une donnée dans un premier calculateur connecté au bus 2 embarqué, en traitement de laquelle le calculateur 11 émet à destination du premier calculateur une seule commande auxiliaire consistant en une commande de lecture de la donnée, de manière à répondre à la commande principale. [0063] [fig.4] montre des étapes de procédé de dialogue dans lequel le calculateur 10 traite une commande principale qui est une commande pour installer un composant 12 numérique, par exemple dans le calculateur 12. Ce type de commande est utile, par exemple pour installer un ou plusieurs composants numériques. Le composant numérique peut concerner tant un programme exécutable, une base de données ou toute autre structure numérique comme par exemple un programme source ou une table de paramètres de configuration. [0064] Le calculateur 10 initialement dans l'étape 100 de veille, passe dans une étape 202 lorsqu'une requête d'installation soumise par un procédé d'ordre supérieur, par exemple un procédé de mise à jour du calculateur 12, valide une transition 201. A titre illustratif, la requête d'installation peut contenir un identificateur de calculateur parmi les calculateurs 12, 13, 14 connectés sur le bus 2 embarqué, en l'occurrence r identificateur du calculateur 12. A titre illustratif encore, la requête d'installation peut contenir un fichier, par exemple au format HTML avec des balises identifiant des blocs de mémoire physique du calculateur 12 dans chacun desquels écrire un contenu du fichier HTML compris entre deux balises identifiant un même bloc de mémoire physique 64. Les blocs de mémoire physique sont de type à mémoire permanente ré-inscriptible, par exemple de type EEPROM. [0065] En étape 202, le calculateur 10 construit un descriptif de la commande principale à partir de la requête qui a validé la transition 201, puis génère une commande d'écriture du descriptif de la commande principale dans la première zone dédiée 61 de données, résidente en mémoire du calculateur 11. [0066] [fig.2] montre un exemple de commande d'écriture pour lequel le champ 31 de la trame 21 identifie de manière constante la commande générée en tant que commande d'écriture, le champ 32 identifie de manière constante la première zone dédiée 61. Dans le descriptif 27 de la commande principale, le champ 33 comprend par exemple deux lettres « El » qui indiquent une commande principale de type « Exécuter Installation ». Dans l'exemple illustré pal- la figure 4, le champ 34 identifie, notamment nommément le calculateur cible connecté au bus 2 auquel s'applique la commande principale, par exemple le calculateur 1., Le champ 35, contient un paramètre dont la valeur identifie un paquet contenant au moins un composant numérique à installer dans le calculateur cible. [0067] Dans le cas particulier d'utilisation d'une commande d'écriture conforme au protocole UDS, le champ 31 contient alors le SID $2E qui est le code hexadécimal connu d'une écriture de données par identificateur DID, ici correspondant à la zone dédiée 61. [0068] Une transition 203 de passage de l'étape 202 à une étape 204, est validée lorsque le calculateur 11 est détecté prêt pour répondre à la commande d'écriture supportée pal- la trame 21. Ici encore, si le calculateur 11 effectue une fonction de passerelle pour une autre instance du procédé de dialogue selon l'invention, ou une fonction de passerelle 13 pour une commande générée par un autre procédé comme par exemple un procédé de diagnostic, le calculateur reste en attente sur l'étape 202. Le calculateur 10 n'encombre pas inutilement le bus 1 avec des tentatives d'émissions de commande qui resteraient sans effet en raison de l'occupation du calculateur 11 par d'autres fonctions. Dans l'exemple d'un traitement en cours d'une commande de diagnostic propre à un autre procédé, la mise en attente momentanée du procédé de dialogue sur l'étape 202, permet l'exécution de la commande de diagnostic sans avoir à interrompre le procédé de diagnostic. [0069] Il est possible de détecter si le calculateur 11 est prêt, par exemple au moyen du signal comportant deux états, prêt, occupé, émis par le calculateur 11 périodiquement sur le bus 1, un signal. [0070] Dans l'étape initiale 110 de veille, le calculateur 11 positionne par défaut le signal à l'état prêt. Dès que le calculateur 11 reçoit une commande, que ce soit du procédé de dialogue selon l'invention ou de tout autre procédé comme par exemple du procédé de diagnostic, le calculateur 11 positionne le signal à l'état occupé jusqu'à avoir terminé le traitement de la commande en cours. [0071] En étape 204, le calculateur 11 ayant été détecté prêt pour répondre à la commande d'écriture, le calculateur 10 émet la commande d'écriture à destination du calculateur 11. Pour émettre la commande d'écriture, le calculateur 10 peut encapsulcr la trame 21 dans une trame CAN sur le bus 1, ou d'autre manière, par exemple encapsuler la trame 21 dans une trame sur IP si le protocole Ethernet pour véhicule est utilisé sur le bus 1. [0072] Une réception de la commande d'écriture dans le calculateur 11, valide une transition 211 qui fait passer le calculateur 11 de l'étape initiale 110 à une étape 212 dans laquelle le calculateur 11 écrit le descriptif 27 dans la première zone dédiée 61 puis émet sans délai à destination du calculateur 10 un accusé de bonne exécution de la commande d'écriture. A titre illustratif en cas d'utilisation du protocole UDS, l'accusé de bonne exécution de la commande d'écriture, est matérialisé par la trame 22 dans laquelle le champ 37 contient la valeur $6E et le champ 38 contient le DID de la zone 61. [0073] Une réception de la trame 22 dans le calculateur 10, valide une transition 205 qui fait passer le calculateur 10 de l'étape 204 à une étape 206 dans laquelle le calculateur 10 lit l'état du signal périodiquement émis par le calculateur 11, en attente de lire l'état prêt. Dans une variante avantageuse du procédé selon l'invention, le signal périodique comporte de plus une indication d'état de progression de l'exécution des étapes dans le calculateur 11. [0074] En étape 212, le calculateur 11 positionne le signal périodique à l'état occupé puis émet à destination de celui des calculateurs 12, 13, 14 identifié dans le champ 34, par exemple le calculateur 12, une succession d'une ou plusieurs premières commandes 14 auxiliaires pour répondre à la commande principale, à partir du descriptif 27 de la commande principale, écrit dans la zone dédiée 61 de données du calculateur 11. Lorsque le signal périodique comporte de plus une indication d'état de progression, le calculateur 11 indique l'état de progression correspondant à l'étape 212. [0075] Dans le cas particulier de la figure 4 pour lequel la commande principale est une commande pour installer au moins un composant numérique dans le calculateur, chaque première commande auxiliaire consiste à lire un attribut du calculateur 12, dont la connaissance est utile pour installer correctement le ou les composants numériques. On peut utiliser à titre de première commande auxiliaire, l'exemple donné en figure 2 qui comporte la trame 25 comprenant le champ 48 d'identification de commande de lecture et le champ 49 d'identification de la donnée résidente dans le calculateur 12, correspondant à l'attribut lu. [0076] Une réception de la succession de premières commandes auxiliaires dans le cal- culateur 12, valide une transition 221 qui active une étape 222 dans laquelle le calculateur 12 émet une réponse à chaque première commande auxiliaire reçue. [0077] En cas d'utilisation de commandes conformes au protocole UDS, le champ 48 contient le SID $22. Chaque réponse à première commande auxiliaire sur le modèle de la trame 26 en figure 2, contient le SID $62 dans le champ 50, l'identification de r attribut dans le champ 51 et la valeur lue de l'attribut dans le champ 52. [0078] Une réception dans le calculateur 11 de dernière réponse à la succession de premières commandes auxiliaires, valide une transition 213 qui fait passer le calculateur 11 de l'étape 212 à une étape 214 dans laquelle le calculateur 11 émet à destination du calculateur 12, une succession d'une ou plusieurs deuxièmes commandes auxiliaires pour vérifier que le calculateur 12 n'est pas troublé par un défaut susceptible de nuire à l'installation du composant numérique. [0079] La figure 2 donne un exemple de commande auxiliaire qui comporte une trame 29 comprenant un champ 53 de désignation de commande auxiliaire, un champ 54 d'identification de cible dans le calculateur 12, sur laquelle porte la commande auxiliaire, et accessoirement qui comprend ou non un champ 55 d'extension de commande. Pour une deuxième commande auxiliaire, la cible est notamment un code de défaut. [0080] Une réception de la succession de deuxièmes commandes auxiliaires dans le cal- culateur 12, valide une transition 223 qui active une étape 224 dans laquelle le cal- culateur 12 émet une réponse à chaque deuxième commande auxiliaire reçue. [0081] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $29 qui désigne une lecture d'information DTC (acronyme de Diagnostic Trouble Codes » pour « Codes de Trouble Diagnostiqué » en anglais). Le champ 54 contient un code d'identification de défaut sur généralement cinq caractères alphanumériques. À titre purement illustratif et non limitatif, le premier caractère est la lettre P pour désigner un groupe motopropulscur du véhicule (par exemple comprenant moteur et boîte de vitesses), la lettre C pour désigner un châssis du véhicule, la lettre B pour désigner un corps du véhicule, la lettre U pour désigner un réseau utilisateur. A titre aussi purement illustratif et non limitatif, le deuxième caractère est le chiffre 0 pour désigner un défaut générique, le chiffre 1 pour désigner un défaut de fabrication. Les caractères suivants se réfèrent à des éléments de sous-système du système identifié par la lettre en tête du code de défaut, par exemple POlxx pour les mesures de carburant et de comburant, P02xx pour les mesures de carburant et de comburant plus spécifiquement liées au circuit d'injection, PO4xx pour les contrôles auxiliaires d'émission. Chaque réponse à deuxième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $59 dans un champ 56, un rappel du code de défaut dans un champ 57 et la valeur lue d'un état du code de défaut dans un champ 59, par exemple en défaut ou hors défaut. [0082] Lorsque le signal périodique comporte de plus une indication d'état de progression, le calculateur 11 indique l'état de progression correspondant à l'état en défaut ou hors défaut contenu dans le champ 59. [0083] Une réception dans le calculateur 11 de dernière réponse à la succession de deuxièmes commandes auxiliaires, valide une transition 215 qui fait passer le calculateur 11 de l'étape 214 à une étape 216 dans laquelle le calculateur 11 émet à destination du calculateur 12, une troisième commande auxiliaire pour démarrer une session de mise à jour. [0084] 11 est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser la troisième commande auxiliaire. Pour la troisième commande auxiliaire, la cible est notamment de clôturer l'opération effectuée dans le calculateur 12. [0085] Une réception de la troisième commande auxiliaire dans le calculateur 12, valide une transition 225 qui active une étape 226 dans laquelle le calculateur 12 émet une réponse à la troisième commande auxiliaire reçue. [0086] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $10 qui désigne un contrôle de session diagnostique. On rappelle qu'une disponibilité de différents services, dépend de la session de diagnostic qui est active. Par exemple la session nommée « Extended Diagnostic Session » est utilisée pour libérer des fonctions additionnelles de diagnostic comme par exemple l'ajustement de capteurs. Par exemple encore, la session nommée « Safety system Diagnostic Session » est utilisée pour tester toutes les fonctions de diagnostic critiques pour la sécurité comme par exemple de tester les coussins gonflables. En absence de session de diagnostic particulière, une session par défaut « Default Session » est généralement active, notamment en étape 120 et maintenue jusqu'à validation de la 16 transition 225. Le champ 54 contient un code d'identification de session qui en l'occurrence, est spécifiquement dédiée à l'installation d'un ou plusieurs composants numériques dans le calculateur 12, nommé par exemple « FOTA ». La réponse à troisième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $50 dans le champ 56, et un rappel du code d'identification de session dans le champ 57. Lorsque le signal périodique comporte de plus une indication d'état de progression, le calculateur 11 indique l'état de progression correspondant à l'ouverture de la session de mise à jour. [0087] Une réception dans le calculateur 11 de réponse à la troisième commande auxiliaire, valide une transition 217 qui fait passer le calculateur 11 de l'étape 216 à une étape 218 dans laquelle le calculateur 11 émet à destination du calculateur 12, une quatrième commande auxiliaire pour vérifier une absence de défauts dans les blocs mémoires du calculateur 12, en vue de leur utilisation pour y écrire des mises à jour de composants numériques. [0088] Il est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser la quatrième commande auxiliaire. Pour la quatrième commande auxiliaire, la cible est notamment un code de défaut mémoire. [0089] Une réception de la quatrième commande auxiliaire dans le calculateur 12, valide une transition 227 qui active une étape 228 dans laquelle le calculateur 12 émet une réponse à la quatrième commande auxiliaire reçue. [0090] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $19 qui désigne une lecture de défaut diagnostiqué. La réponse à quatrième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $59 dans le champ 56, et un rappel du code de défaut dans le champ 57. Le champ 59 contient une valeur qui indique si le défaut identifié par le code contenu dans le champ 57, est présent ou absent. Lorsque le signal périodique comporte de plus une indication d'état de progression, le calculateur 11 indique l'état de progression correspondant à l'état de présence ou d'absence du défaut contenu dans le champ 59. [0091] Une réception dans le calculateur 11 de réponse à la dernière quatrième commande auxiliaire, valide une transition 219 qui fait passer le calculateur 11 de l'étape 218 à une étape 220 dans laquelle le calculateur 11 émet à destination du calculateur 12, une succession de cinquièmes commandes auxiliaires pour vérifier une absence de défauts dans les compteurs de blocs mémoires du calculateur 12, en vue de leur utilisation pour écrire les mises à jour de composants numériques dans les blocs mémoire. [0092] 11 est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser chaque cinquième commande auxiliaire. Pour la cinquième commande auxiliaire, la cible est notamment un code de défaut compteur mémoire. 17 [0093] Une réception de la succession de cinquièmes commandes auxiliaires dans le cal- culateur 12, valide une transition 229 qui active une étape 230 dans laquelle le cal- culateur 12 émet une réponse à chaque cinquième commande auxiliaire reçue. [0094] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $19 qui désigne une lecture de défaut diagnostiqué. La réponse à chaque cinquième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $59 dans le champ 56, et un rappel du code de défaut dans le champ 57. Le champ 59 contient une valeur qui indique si le défaut identifié par le code contenu dans le champ 57, est présent ou absent. Lorsque le signal périodique comporte de plus une indication d'état de progression, le calculateur 11 indique l'état de progression correspondant à l'état de présence ou d'absence du défaut contenu dans le champ 59. [0095] [fig.5] montre les étapes qui suivent celles de la figure 4. Une réception dans le cal- culateur 11 de réponse à la dernière cinquième commande auxiliaire, valide une transition 251 qui fait passer le calculateur 11 de l'étape 220 à une étape 252 de première boucle dans laquelle le calculateur 11 émet à destination du calculateur 12, une sixième commande auxiliaires pour lire une adresse de début de premier bloc mémoire en mémoire du calculateur 12. [0096] Il est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser chaque sixième commande auxiliaire. Pour la sixième commande auxiliaire, la cible est notamment une référence DID de donnée relative à un registre d'adressage de blocs mémoire dans le calculateur 12. [0097] Une réception de la sixième commande auxiliaire dans le calculateur 12, valide une transition 261 qui active une étape 262 dans laquelle le calculateur 12 émet une réponse à la sixième commande auxiliaire reçue. [0098] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $22 qui désigne une lecture de donnée identifiée par la référence DID du champ 54. La réponse à la sixième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $62 dans le champ 56, et un rappel de la référence DID dans le champ 57. Le champ 59 contient une valeur qui indique l'adresse de début du premier bloc mémoire prévu pour y charger le premier composant numérique. [0099] Une réception dans le calculateur 11 de réponse à la sixième commande auxiliaire, valide une transition 253 qui fait passer le calculateur 11 de l'étape 252 à une étape 254 de la première boucle dans laquelle le calculateur 11 émet à destination du calculateur 12, une septième commande auxiliaires pour écrire une référence de premier composant numérique en tête du premier bloc mémoire en mémoire du calculateur 12. [0100] 11 est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser chaque septième commande auxiliaire. Pour la septième commande auxiliaire, la cible est 18 notamment une référence DID de donnée relative à un registre de nommage de composants numériques dans le calculateur 12. [0101] Une réception de la septième commande auxiliaire dans le calculateur 12, valide une transition 263 qui active une étape 264 dans laquelle le calculateur 12 émet une réponse à la septième commande auxiliaire reçue. [0102] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $2E qui désigne une écriture de donnée identifiée par la référence DID du champ 54. La réponse à la septième commande auxiliaire, illustrée sur le modèle de la trame 30 en figure 2, contient le SID $6E dans le champ 56, et un rappel de la référence DID dans le champ 57. Le champ 59 contient une valeur qui indique un acquittement de la commande d'écriture. [0103] Une réception dans le calculateur 11 de réponse à la septième commande auxiliaire, valide une transition 255 qui fait passer le calculateur 11 de l'étape 254 à une étape 256 de la première boucle dans laquelle le calculateur 11 émet à destination du calculateur 12, une huitième commande auxiliaires pour requérir un chargement de composant numérique dans un premier bloc mémoire du calculateur 12. [0104] Il est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser la huitième commande auxiliaire. Pour la huitième commande auxiliaire, la cible est notamment l'adresse du premier bloc mémoire. [0105] Une réception de la huitième commande auxiliaire dans le calculateur 12, valide une transition 265 qui active une étape 266 dans laquelle le calculateur 12 efface le contenu du bloc mémoire en cours puis émet une réponse à la huitième commande auxiliaire reçue, qui accuse la bonne exécution de la huitième commande. On rappelle ici qu'un bloc de mémoire physique de type réinscriptible, nécessite un effacement préalablement à une réécriture. [0106] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $34 qui désigne une requête de chargement du calculateur 11 vers le calculateur 12. Un champ 55 contient une taille du composant numérique à charger. La réponse à la huitième commande auxiliaire, illustrée sur le modèle de la trame 30 en figure 2, contient le SID $74 dans le champ 56, et un rappel de l'adresse du bloc mémoire dans le champ 57. Le champ 58 rappelle la taille du composant numérique à charger. Le champ 59 contient une valeur qui indique une taille maximale acceptable de chargement. [0107] Une réception dans le calculateur 11 de réponse à la huitième commande auxiliaire, valide une transition 257 qui fait passer le calculateur 11 de l'étape 256 à une étape 258 de la première boucle dans laquelle le calculateur 11 émet à destination du calculateur 12, une neuvième commande auxiliaire pour transférer le contenu de composant numérique vers le premier bloc mémoire du calculateur 12. 19 [0108] Il est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser la neuvième commande auxiliaire. Pour la neuvième commande auxiliaire, la cible est notamment l'adresse du premier bloc mémoire. [0109] Une réception de la neuvième commande auxiliaire dans le calculateur 12, valide une transition 267 qui active une étape 268 dans laquelle le calculateur 12 émet une réponse à la neuvième commande auxiliaire reçue. [0110] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $36 qui désigne une commande de transfert de contenu de composant numérique dans le bloc de mémoire physique courant. De manière connue, le transfert est réalisé par paquets de taille maximale. Si la taille du contenu dépasse la taille maximale d'un paquet. Le transfert est réitéré jusqu'à transmission totale du contenu. La réponse à la neuvième commande auxiliaire, illustrée sur le modèle de la trame 30 en figure 2, contient le SID $76 dans le champ 56, et un rappel de l'adresse du bloc mémoire dans le champ 57. [0111] Une réception dans le calculateur 11 de réponse à la neuvième commande auxiliaire, valide une transition 259 qui fait passer le calculateur 11 de l'étape 258 à une étape 260 de la première boucle dans laquelle le calculateur 11 émet à destination du calculateur 12, une dixième commande auxiliaire pour quitter le transfert. [0112] Il est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser la dixième commande auxiliaire. [0113] Une réception de la dixième commande auxiliaire dans le calculateur 12, valide une transition 269 qui active une étape 270 dans laquelle le calculateur 12 émet une réponse à la dixième commande auxiliaire reçue. [0114] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $37 qui désigne une commande de sortie du mode de transfert. La réponse à la neuvième commande auxiliaire, illustrée sur le modèle de la trame 30 en figure 2, contient le SID $77 dans le champ 56, et un rappel de l'adresse du bloc mémoire dans le champ 57. [0115] Une réception dans le calculateur 11 de réponse à la dixième commande auxiliaire, valide une transition 291 qui fait passer le calculateur 11 de l'étape 260 à une étape 292 de la première boucle dans laquelle le calculateur 11 vérifie s'il existe un composant numérique suivant à charger dans un bloc mémoire suivant. [0116] Une présence de composant numérique suivant valide une transition 293 qui reboucle le procédé sur une réexécution des étapes 252 à 292, adaptées chacune au bloc de mémoire physique suivant en termes d'identification, de taille et d'adresse de bloc mémoire. [0117] Une absence de composant numérique nécessitant un bloc de mémoire physique suivant, valide une transition 295 qui active une étape 296 dans laquelle le calculateur 11 émet à destination du calculateur 12, une onzième commande auxiliaire pour vérifier une absence de défauts dans l'écriture des blocs mémoires du calculateur 12. [0118] Il est possible ici encore d'utiliser la trame 29 illustrée en figure 2 pour matérialiser la onzième commande auxiliaire. Pour la onzième commande auxiliaire, la cible est notamment un code de défaut mémoire. [0119] Une réception de la onzième commande auxiliaire dans le calculateur 12, valide une transition 271 qui active une étape 272 dans laquelle le calculateur 12 émet une réponse à la onzième commande auxiliaire reçue. [0120] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $19 qui désigne une lecture de défaut diagnostiqué. La réponse à onzième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $59 dans le champ 56, et un rappel du code de défaut dans le champ 57. Le champ 59 contient une valeur qui indique si le défaut identifié par le code contenu dans le champ 57, est présent ou absent. [0121] [fig.6] montre les dernières étapes du procédé à la suite de celles illustrées par la figure 5. Une réception dans le calculateur 11 de réponse à la onzième commande auxiliaire, valide une transition 297 de deuxième boucle qui active une étape 298 dans laquelle le calculateur 11 émet à destination du calculateur 12, une douzième commande auxiliaire pour activer un premier programme local dans lequel le calculateur 12 vérifie que le premier composant numérique a été correctement écrit dans le premier bloc mémoire en mémoire du calculateur 12. [0122] 11 est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser chaque douzième commande auxiliaire. Pour la douzième commande auxiliaire, la cible inscrite dans le champ 54 est notamment une référence de programme condenseur stocké en mémoire dans le calculateur 12. Le champ 55 contient une adresse du bloc mémoire à vérifier. [0123] Une réception de la douzième commande auxiliaire dans le calculateur 12, valide une transition 273 qui active une étape 274 dans laquelle le calculateur 12 active le programme condenseur qui consiste notamment à calculer un condensat du contenu écrit dans le bloc de mémoire physique. Le calculateur 12 émet une réponse à la douzième commande auxiliaire reçue qui contient le condensat calculé. La réponse à la douzième commande auxiliaire permet au calculateur 11 de comparer le condensat calculé par le calculateur 12 à un condensat détenu par le calculateur 11 préalablement au chargement de contenu clans le bloc de mémoire physique. Le calculateur 11 peut ainsi vérifier que le contenu du bloc de mémoire physique après réécriture, est conforme au contenu à charger dans le bloc de mémoire physique. [0124] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $31 qui désigne une activation de programme identifié par la référence 21 la référence de programme du champ 54. La réponse à la douzième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $62 dans le champ 56, et un rappel de la référence DID dans le champ 57. Le champ 59 contient une valeur qui indique l'adresse de début du premier bloc mémoire prévu pour y charger le premier composant numérique. [0125] Une réception dans le calculateur 11 de réponse à la sixième commande auxiliaire, valide une transition 299 qui active une étape 300 dans laquelle le calculateur 11 vérifie s'il existe un bloc de mémoire physique suivant pour un chargement suivant de composant numérique. [0126] Une existence de bloc mémoire physique suivant valide une transition 301 qui rehoucle sur l'étape 298 dans laquelle le premier bloc est remplacé par le bloc suivant et ainsi de suite jusqu'au dernier bloc de mémoire physique. [0127] Une absence de bloc mémoire physique suivant, valide une transition 303 qui active une étape 304 dans laquelle calculateur 11 émet à destination du calculateur 12, une treizième commande auxiliaire pour lire une mémoire du calculateur 12 dédiée au stockage de défauts détectés. [0128] Une réception de la treizième commande auxiliaire dans le calculateur 12, valide une transition 275 qui active une étape 276 dans laquelle le calculateur 12 émet une réponse à la treizième commande auxiliaire reçue qui contient les défauts détectés au cours de l'exécution des étapes précédentes. [0129] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $19 qui désigne une lecture d'information de Diagnostic de Trouble Codé (DTC). On rappelle que chaque défaut DTC traité par le calculateur 12 est stocké avec son propre code dans la mémoire dédiée du calculateur 12, dite mémoire d'erreurs, qu'il est possible de lire à tout moment. Associé à chaque défaut, des informations supplémentaires, notamment liées au contexte d'apparition du défaut, sont aussi stockées et lisibles à tout moment. La réponse à la treizième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $59 dans le champ 56, et un rappel de la référence DID dans le champ 57. Le champ 59 reprend le contenu de la mémoire d'erreurs. [0130] Une réception dans le calculateur 11 de réponse à la treizième commande auxiliaire, valide une transition 305 qui active une étape 306 dans laquelle le calculateur 11 émet une quatorzième commande auxiliaire à destination du calculateur 12. La quatorzième commande auxiliaire a pour effet de faire sortir le calculateur 12 de la session ouverte en étape 216 pour le faire revenir dans la session par défaut. Ainsi le calculateur 12 ne prend en compte entre les étapes 216 et 306 que les commandes issues du calculateur 11 dans le cadre du procédé de dialogue ci-dessus exposé. Avant l'étape 216 et après l'étape 306, le calculateur 12 peut prendre en compte tant les commandes issues du calculateur 11 dans le cadre de l'instance du procédé de dialogue ci-dessus exposée avec l'éclairage des figures 5 et 6, que les commandes issues du calculateur 11 dans le cadre d'une autre instance du procédé de dialogue ci-dessus exposée avec l'éclairage de la figure 4, ou encore que les commandes reçues dans le cadre d'un autre procédé comme par exemple d'un procédé de diagnostic local ou de diagnostic à distance. [0131] Une réception de la quatorzième commande auxiliaire dans le calculateur 12, valide une transition 277 qui active une étape 278 dans laquelle le calculateur 12 émet une réponse à la quatorzième commande auxiliaire reçue. [0132] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $10 qui désigne un contrôle de session diagnostique. Le champ 54 contient le code d'identification de session qui en l'occurrence, est la session par défaut « Default Session ». La réponse à quatorzième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $50 dans le champ 56, et un rappel du code d'identification de session dans le champ 57. Lorsque le signal périodique comporte de plus une indication d'état de progression, le calculateur 11 indique l'état de progression correspondant à la fermeture de la session de mise à jour. [0133] Une réception dans le calculateur 11 de réponse à la quatorzième commande auxiliaire, valide une transition 307 qui fait passer le calculateur 11 de l'étape 306 à une étape 308 dans laquelle le calculateur 11 émet à destination du calculateur 12, une quinzième commande auxiliaire pour activer un deuxième programme local. [0134] Selon un premier mode de réalisation, le calculateur 12 comprend une unique banque activable de mémoire réinscriptible et deux banques non activables de mémoire réinscriptible. L'unique banque activable comprend des bloc mémoire qui contiennent les composants numériques exécutés et/ou accédés en temps réel par le calculateur embarqué 12 lorsque le véhicule est en fonctionnement. Une première banque non activable comprend les blocs mémoire évoqués ci-dessus pour charger le ou les composants numériques de mise à jour. Une deuxième banque non activable est utilisée par le deuxième programme local, dont une exécution consiste à recopier le contenu de la banque activable dans la deuxième banque non activable avant de recopier le contenu de la première banque non activable dans l'unique banque activable lorsque le fonctionnement du véhicule est arrêté, de manière à activer l'unique banque activable avec les composants numériques mis à jour à la prochaine remise en fonctionnement du véhicule. [0135] Selon un deuxième mode de réalisation, le calculateur 12 comprend deux banques activables jumelles de mémoire réinscriptible. Une première banque activable jumelle comprend des bloc mémoire qui contiennent les composants numériques exécutés et/ou accédés en temps réel par le calculateur embarqué 12 lorsque le véhicule est en fonctionnement. Une deuxième banque activable jumelle comprend les blocs mémoire 23 évoqués ci-dessus pour charger le ou les composants numériques de mise à jour. Une exécution du deuxième programme local, consiste alors simplement à commuter un amorçage d'exécution temps réel de la première banque activablc jumelle vers la deuxième banque activablc jumelle lorsque le fonctionnement du véhicule est arrêté, de manière à activer la deuxième banque activablc jumelle avec les composants numériques mis à jour à la prochaine remise en fonctionnement du véhicule, pour lequel la deuxième banque activablc jumelle jouera le rôle de la première banque activablc jumelle et réciproquement. [0136] On notera que tout ou partie des commandes auxiliaires précédant la quinzième commande auxiliaire, peuvent être effectuées pendant le fonctionnement du véhicule. Les deux modes de réalisation ci-dessus exposés présentent l'avantage de ne nécessiter qu'une durée réduite pour basculer le fonctionnement du véhicule sur l'exécution et/ou l'accès des composants numériques en temps réel, en d'autres termes qu'une durée réduite de mise à l'arrêt de fonctionnement du véhicule pour effectuer une mise à jour des composants numériques. [0137] Il est possible d'utiliser la trame 29 illustrée en figure 2 pour matérialiser la quinzième commande auxiliaire. Pour la quinzième commande auxiliaire, la cible inscrite dans le champ 54 est notamment une référence de programme commutateur stocké en mémoire dans le calculateur 12. [0138] Une réception de la quinzième commande auxiliaire dans le calculateur 12, valide une transition 279 qui active une étape 280 dans laquelle le calculateur 12 active le deuxième programme local, en d'autres termes le programme commutateur avant d'émettre une réponse à la quinzième commande auxiliaire reçue qui contient un accusé de bonne exécution du deuxième programme local. Le calculateur 11 peut ainsi vérifier que le calculateur 12 est prêt pour tout accès et/ou exécution futurs de composants numériques lis à jour. [0139] En cas d'utilisation de commandes conformes au protocole UDS, le champ 53 contient le SID $31 qui désigne une activation de programme identifié par la référence la référence de programme du champ 54. La réponse à la quinzième commande auxiliaire, illustré sur le modèle de la trame 30 en figure 2, contient le SID $62 dans le champ 56. [0140] Une réception dans le calculateur 11 de réponse à la quinzième commande auxiliaire, valide une transition 309 qui active une étape 310 dans laquelle le calculateur 11 met le signal périodique à l'état prêt. Le signal périodique peut aussi comprendre un degré d'avancement par phases regroupant plusieurs commandes auxiliaires. Par exemple le calculateur 11 positionne le degré d'avancement en étape 212 pour indiquer une phase de vérification de paramètres, en étape 252 pour indiquer une phase d'installation en cours, et en étape 310 pour indiquer une fin de phase d'installation. 24 [0141] Une réception dans le calculateur 10 de signal périodique à l'état prêt valide une transition 207 qui réactive l'étape initiale 100 dans le calculateur 10, en attente d'une éventuelle autre commande principale. [Revendication 1] [Revendication 2] REVENDICATIONSProcédé dc dialogue à partir d'un premier bus (1) embarqué dans un véhicule, avec un premier calculateur (12, 13, 14) connecté à un deuxième bus (2) embarqué du véhicule, le premier bus étant connecté au deuxième bus par un deuxième calculateur (11), dans lequel un troisième calculateur (10) connecté au premier bus embarqué, traite une commande principale destinée au premier calculateur (12, 13, 14), comprenant des étapes dans lesquelles : - le troisième calculateur (10) génère (102) une commande d'écriture d'un descriptif (27) de ladite commande principale dans une première zone dédiée (61) de données du deuxième calculateur (11) ; - le troisième calculateur (10) émet (104) ladite commande d'écriture à destination du deuxième calculateur (11) lorsque le deuxième calculateur (11) est détecté (103) prêt pour répondre à ladite commande d'écriture ; - le deuxième calculateur (11) émet (114) à destination du premier calculateur (12, 13, 14) une ou plusieurs commandes auxiliaires pour répondre à la commande principale après réception (111) de ladite commande d'écriture ; - le premier calculateur (12, 13, 14) émet (122) une réponse à chaque commande auxiliaire reçue (121) ; - le deuxième calculateur (11) mémorise (116) au moins une réponse reçue (115) dans une deuxième zone dédiée (62) de données ; - le troisième calculateur (10) émet (108) une commande de lecture de ladite deuxième zone dédiée (62), à destination du deuxième calculateur (11) lorsque le deuxième calculateur (11) est détecté (107) prêt pour répondre à ladite commande de lecture ; - le deuxième calculateur (11) émet (124), une réponse à la commande de lecture reçue (119) ; - le troisième calculateur répond (126) à la commande principale à partir d'au moins une réception (109) de réponse à la commande de lecture de la deuxième zone dédiée du deuxième calculateur (11) dans laquelle est mémorisée la réponse émise par le premier calculateur (12, 13, 14), Procédé selon la revendication I. dans lequel un signal comportant deux états, prêt, non prêt, est émis périodiquement par le deuxième calculateur (11) sur le premier bus (1), et qui comprend des étapes dans lesquelles : 26 - le deuxième calculateur (11) positionne (112) le signal à l'état occupé après réception (111) de la commande d'écriture en provenance du troisième calculateur (10) ; - le deuxième calculateur (11) positionne (116) le signal à l'état prêt après réception (115) de la réponse en provenance du premier calculateur (12, 13, 14). [Revendication 3] Procédé selon la revendication 2, caractérisé en ce qu'il comprend une étape dans laquelle le troisième calculateur (10) se met en attente (106) du signal positionné à l'état prêt après avoir reçu (105) ledit signal positionné à l'état occupé. [Revendication 4] Procédé selon l'une des revendications 2 ou 3 caractérisé en ce que ledit signal comporte aussi un degré d'avancement de la ou desdites commandes auxiliaires émises par le deuxième calculateur (11). [Revendication 5] Procédé selon au moins l'une des revendications 1 à 4, caractérisé en ce que ladite commande d'écriture comporte une première trame (21) qui comprend un premier champ (31) identifiant ladite commande d'écriture, un premier champ (32) identifiant la première zone dédiée (61), et au moins un champ (33, 34, 35) de descriptif (27) de la commande principale. [Revendication 6] Procédé selon l'une des revendications 1 à 5, caractérisé en ce que le descriptif (27) de la commande principale comporte un champ (33) de type de la commande principale, un champ (34) d'identification du deuxième calculateur (12, 13, 14), et un champ (35) de paramètre utile au deuxième calculateur (12, 13, 14) pour élaborer la réponse émise. [Revendication?] Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'il comprend une étape dans laquelle le deuxième calculateur (11) émet (112) un acquittement à destination du premier calculateur (10) après réception (111) de ladite commande d'écriture. [Revendication 8] Procédé selon la revendication 7, caractérisé en ce que l'acquittement comporte une deuxième trame (22) qui comprend un champ (37) d'identifiant d'acquittement, et un deuxième champ (38) d'identifiant de la première zone dédiée (61). [Revendication 9] Procédé selon l'une des revendications 1 à 8, caractérisé en ce que ladite commande de lecture émise par le troisième calculateur (10) comporte une troisième trame (23) qui comprend un deuxième champ (39) d'identification de commande, et un premier champ (40) d'identifiant de la deuxième zone dédiée (62). [Revendication 10] Procédé selon l'une des revendications 1 à 9, caractérisé en ce que ladite 27 [Revendication 11] [Revendication 12] [Revendication 13] [Revendication 14] réponse à la commande de lecture comporte une quatrième trame (24) qui comprend un quatrième champ (41) d'identifiant de réponse à la commande de lecture, un deuxième champ (42) d'identifiant de la deuxième zone dédiée (62), au moins un champ (43, 44, 45) de rappel du descriptif de la commande principale, et un champ (47) de contenu de la réponse à la commande principale. Procédé selon l'une des revendications 1 à 10, caractérisé en ce que les commandes de lecture et les commandes d'écriture sont des commandes conformes au protocole UDS de services unifiés de diagnostic. Procédé selon l'une des revendications précédentes, comprenant des étapes dans lesquelles : - le deuxième calculateur (11) vérifie (112) si le descriptif de ladite commande principale est intègre ou non après réception (111) de ladite commande d'écriture ; - le deuxième calculateur (11) émet (114) à destination du premier calculateur (12, 13, 14) une ou plusieurs commandes auxiliaires pour répondre à la commande principale uniquement si le descriptif de ladite commande principale est intègre (113) ; - le deuxième calculateur (11) mémorise (118) une alarme dans la deuxième zone dédiée si le descriptif de ladite commande principale n'est pas intègre (117). Procédé selon l'une des revendications 1 à 12, caractérisé en ce que ladite commande principale est une commande pour lire une donnée résidente dans le premier calculateur, en ce que la commande auxiliaire comporte une cinquième trame (25) qui comprend un champ (48) d'identification de commande de lecture et un champ (49) d'identification de ladite donnée résidente, et en ce que la réponse émise par le premier calculateur (12, 13, 14) comporte une sixième trame (26) qui comprend un champ (50) d'identification de réponse à la commande de lecture, un champ (51) d'identification de ladite donnée résidente, et un champ (52) contenant une valeur de ladite donnée résidente. Procédé selon l'une des revendications 1 à 12, caractérisé en ce que ladite commande principale est une commande pour installer un composant numérique dans ledit premier calculateur.