Brevet FR2821455A1 — publié le 20020830

Dispositif d'interface et procédé pour la programmation d'unités électroniques de commande à bord d'un véhicule automobile La présente invention concerne un dispositif d'interface et un procédé pour la programmation des unités électroniques de commande à bord d'un véhicule. Ainsi que ceci est bien connu des opérateurs du secteur, un nombre d'unités électroniques de commande toujours plus grand est installé à bord des véhicules automobiles pour présider à une pluralité de fonctions de commande, de régulation, de coordination et de surveillance des dispositifs de bord. L'utilisation croissante de l'électronique dans la gestion perfectionnée des fonctions de l'habitacle ou de la carrosserie pour augmenter le confort et la sécurité de conduite, des systèmes d'assistance à la conduite, de commande et contrôle de moteurs et des émissions de gaz, des systèmes de propulsion alternatifs, pour ne citer à titre d'exemple que quelques champs d'application importants, conduit à la nécessité de modifier ou de mettre à jour fréquemment les programmes logiciels mémorisés dans les unités de commande, et ceci de manière fiable et rapide. Aujourd'hui, de telles interventions de mise à jour sont effectuées séparément et avec difficulté, parce que chaque unité utilise un protocole propre de communication pour effectuer le transfert des données et dispose d'un connecteur électrique spécifique pour réaliser la liaison aux dispositifs externes utilisés pour le chargement des programmes. Il est donc nécessaire d'avoir des instruments dédiés pour l'intervention de mise à jour, en fonction de l'unité à laquelle on prétend se relier. Le but de la présente invention est de fournir une solution satisfaisante remédiant aux inconvénients exposés, permettant de gérer les procédures de mise à jour des différentes unités de commande à bord d'un véhicule automobile, d'une manière simple et rapide, malgré des protocoles de fonctionnement et de transmission distincts. Selon la présente invention, ce but est atteint au moyen d'un dispositif d'interface comprenant, en combinaison : - des premiers moyens de circuit d'interface vers une unité d'assistance à la programmation, agencés pour échanger des informations avec ladite unité par un premier protocole de transmission prédéterminé ; - des deuxièmes moyens de circuit d'interface vers une pluralité d'unités de commande de bord, comprenant une pluralité de modules de circuit correspondants, agencés pour échanger chacun des informations avec au moins une desdites unités par un respectif deuxième protocole de transmission prédéterminé ; - des premiers et des deuxièmes moyens mémoire pour mémoriser respectivement un ensemble de données de programmation d'une unité de commande à programmer et un ensemble d'instructions opérationnelles indicatives du protocole de transmission demandé pour réaliser la liaison à ladite unité ; et - une unité de traitement susceptible de gérer le transfert de données entre une unité d'assistance à la programmation, externe au véhicule, et au moins une unité de commande de bord, ladite unité étant accouplée : aux premiers moyens d'interface, pour recevoir lesdits ensembles de données de programmation et d'instructions opérationnelles de l'unité d'assistance, par un premier protocole de transmission ; aux premiers et deuxièmes moyens mémoire pour mémoriser l'ensemble de données de programmation dans les premiers moyens mémoire et l'ensemble d'instruc- tions opérationnelles dans les deuxièmes moyens mémoire, et aux deuxièmes moyens d'interface, pour transférer l'ensemble de données de programmation à une unité de commande par un deuxième protocole de transmission, déterminés par lesdites instructions opérationnelles, en passant par un module sélectionné parmi ladite pluralité de modules de circuit. Des variantes d'un tel dispositif seront décrites plus loin. En outre, fait l'objet de l'invention un procédé de programmation d'unités électroniques de commande à bord d'un véhicule automobile utilisant pour la programmation desdites unités un dispositif d'interface selon l'invention et ses variantes, et comprenant les étapes consistant à : - prévoir dans une unité d'assistance à la programmation un ensemble de données de programmation d'une unité de commande prédéterminée et un ensemble d'instructions opérationnelles indicatives du protocole de transmission demandé pour réaliser la liaison à ladite unité de commande ; - mémoriser lesdits ensembles de données de programmation et d'instructions opérationnelles dans des premiers et deuxièmes moyens mémoire respectifs, d'un dispositif d'interface préalablement accouplé à l'unité d'assistance à la programmation ; - accoupler ledit dispositif d'interface à une unité de commande à programmer présélectionnée à bord d'un véhicule ; et - réaliser le transfert desdites données de programmation, desdits premiers moyens mémoire du dispositif d'interface à l'unité de commande reliée, selon un protocole de transmission indiqué par lesdites instructions opérationnelles mémorisées dans lesdits deuxièmes moyens mémoire. En synthèse, la présente invention se fonde sur le principe de fournir avantageusement un dispositif d'interfaçage unique agencé pour gérer les différents protocoles de communication et faire l'interface électrique envers les unités de commande de bord, afin de pouvoir effectuer les mises à jour de leurs programmes logiciels. De manière appropriée, ce dispositif est agencé pour permettre le transfert des données vers lesdites unités, de manière protégée et uniquement suite à l'accès conditionné de la part des opérateurs habilités, en prévoyant une série de niveaux de protection différents, en fonction des opérations spécifiques de mise à jour prévues. D'autres caractéristiques et avantages de l'invention seront exposés de façon plus détaillée dans la description ci-après d'une de ses formes de réalisation donnée à pur titre d'exemple non limitatif, en se référant aux dessins annexés dans lesquels : la figure 1 représente un premier schéma à blocs par- tiels du dispositif objet de l'invention dans lequel sont mis en évidence les res- sources de communication du dispositif ; et la figure 2 représente un deuxième schéma à blocs par- tiels du dispositif objet de l'invention, dans lequel sont mis en évidence les res- sources de mémoire du dispositif. Le dispositif selon l'invention est agencé pour être accouplé à une unité d'assistance à la programmation, tel qu'un ordinateur ordinaire, de manière à recevoir un ensemble de données de programmation, pour mémoriser ces données et les transférer successivement à l'une d'une pluralité d'unités électroniques de commande à bord d'un véhicule automobile, agencée pour la mise à jour de paramètres opérationnels. Le dispositif faisant l'objet de l'invention comprend une unité de traitement 10, tel qu'un microcon- trôleur ou un microprocesseur, une partie d'interface pour la liaison avec les unités de commande et l'unité d'assistance à la programmation, ainsi que pour la commande de la part d'un opérateur, et une partie mémoire pour la mémorisation d'instructions opérationnelles et de données de programmation des unités de commande. En se référant à la figure 1, le dispositif d'interface est décrit en mettant en évidence les ressources de communication, c'est-à-dire les modules de circuit qui en permettent la liaison avec les unités et les opérateurs externes. L'unité de traitement 10 est accouplée à une pluralité de modules de circuit d'interface, c'est-à-dire respectivement à une paire de modules d'interface 20 vers un réseau CAN (qui est l'acronyme de Controlled Area Network), à un module d'interface 22 vers un réseau VAN (qui est l'acronyme de Vehicle Area Network) et à un module d'interface 24 vers une ligne de transmission du type"K line". L'accouplement se fait par l'intermédiaire d'une liaison série bidirectionnelle et, à l'exclusion de l'interface avec le réseau VAN, par l'intermédiaire d'une ligne de commande. Dans l'exemple, on a indiqué deux autres liaisons directes à un bus IIC 26 et à un bus SPI (Serial Peripheral Interface) 28, mais d'autres modules d'interface qui ne sont pas représentés, par exemple vers des réseaux LIN (Local Interconnect Network), peuvent être rendues disponibles de manière équivalente. A l'opposée des modules 20,22, 24 mentionnés ci-dessus, par rapport à l'unité de traitement 10, est encore indiqué un module d'interface 30 classique pour effectuer la liaison série bidirectionnelle avec un ordinateur ordinaire selon le protocole RS232. En se référant à la figure 2, le dispositif d'interface est décrit en mettant en évidence les ressour- ces de mémoire, c'est-à-dire les circuits qui permettent la mémorisation d'instructions opérationnelles et de données de programmation. On a indiqué par 40,42, 44 trois circuits mémoire, respectivement un circuit mémoire FLASH 40 externe à l'unité de traitement 10, pour l'amorçage de cette dernière, et une paire de circuits mémoire RAM 42,44. Les circuits mémoire échangent des données mémorisées avec l'unité de traitement 10, au moyen d'une paire de bus, respectivement un bus de données 46 et un bus d'adresse 48, à travers un démultiplexeur 50 d'adresses/données, et encore un bus ordinaire d'adresses/données 51, en fonction de signaux de commande reçus par l'unité 10 au moyen d'un bus de commande 52. Un circuit décodeur d'adresses 54 est reliée au bus d'adresse 48, et couplé à des entrées respectives de sélection des circuits mémoire 40,42, 44. Un premier circuit mémoire RAM 42 est agencé pour mémoriser des données de programmation, et recevoir en entrée un premier signal de sélection des contenus, par une première ligne de sélection 56. Un deuxième circuit mémoire RAM 44 est agencé pour mémoriser des instructions opérationnelles, et recevoir en entrée un deuxième signal de sélection des contenus sur une deuxième ligne de sélection 58. Un circuit d'interface avec un utilisateur, désigné par 60, est relié directement à l'unité de traitement 10. On a enfin désigné par 62 une interface d'horloge pour la synchronisation de l'unité de traitement 10. De manière appropriée, le dispositif objet de l'invention est incorporé dans un terminal du type palmaire, transportable, muni de périphériques d'interface avec l'utilisateur, tel qu'un clavier pour l'envoi d'instructions opérationnelles, de codes, de mots de passe, et un écran pour permettre la visualisation d'informations nécessaires ou utiles pour l'exécution des opérations de programmation. Le dispositif décrit permet avantageusement de gérer les différents protocoles de communication utilisés dans les liaisons avec les diverses unités de commande présentes à bord d'un véhicule et de transmettre à une telle unité toute une série de données de programmation. Pour une intervention de mise à jour d'une unité spécifique de commande, le programme logiciel à transférer à celle-ci est mémorisé dans le dispositif par l'unité d'assistance à la programmation reliée à lui au moyen du module d'interface 30, en utilisant le protocole de transmission standard RS232. Avantageusement, cette opération est permise seulement à la suite de la reconnaissance d'un mot de passe et d'une clef hardware introduit par l'opérateur habilité à effectuer la mise à jour. Au cours de cette opération, les données de programmation sont mémorisées temporairement dans le circuit mémoire RAM 42, tandis que les instructions opérationnelles sur le protocole de communication requis dans la liaison avec l'unité destinée à recevoir la mise à jour sont mémorisées dans le circuit mémoire RAM 44. L'unité de traitement 10 préside ainsi à la communication des données de programmation à l'unité de commande de destination, en acheminant de telles données à travers le module d'interface agencé pour la transmission selon le protocole propre de l'unité de destination, sur la base des indications mémorisées dans le circuit mémoire 44. Pour effectuer le transfert des données de programmation à l'unité de commande, le dispositif peut fonctionner en mode autonome ("stand alone"), utilisant directement l'alimentation électrique du véhicule. De manière appropriée, également cette opération est autorisée uniquement à la suite de la reconnaissance d'un mot de passe introduit par l'opérateur habilité à l'effectuer. Les données de programmation à transférer à l'unité de commande peuvent être chiffrées pour en garantir l'intégrité et la confidentialité. Avantageusement, le dispositif objet de l'invention peut être utilisé en union avec des appareils de test, afin de simuler différents types de réseau pour communiquer avec les unités de commande de bord. Naturellement, en restant dans le principe de l'invention, les formes de réalisation et les détails de réalisation peuvent être amplement modifiés par rapport à ce qui a été écrit et illustré à pur type d'exemple non limitatif, sans pour cela sortir du champ de protection de la présente invention. REVENDICATIONS 1. Dispositif d'interface pour la programmation d'unités électroniques de commande à bord d'un véhicule automobile, comprenant, en combinaison : - des premiers moyens de circuit d'interface (30) vers une unité d'assistance à la programmation, agencés pour échanger des informations avec ladite unité par un premier protocole de transmission prédéterminé ; - des deuxièmes moyens de circuit d'interface vers une pluralité d'unités de commande de bord, comprenant une pluralité de modules de circuit (20,22, 24) correspondants, agencés pour échanger chacun des informations avec au moins une desdites unités par un respectif deuxième protocole de transmission prédéterminé ; -des premiers et des deuxièmes moyens mémoire (42,44) pour mémoriser respectivement un ensemble de données de programmation d'une unité de commande à programmer et un ensemble d'instructions opérationnelles indicatives du protocole de transmission demandé pour réaliser la liaison à ladite unité ; et - une unité de traitement (10) susceptible de gérer le transfert de données entre une unité d'assistance à la programmation, externe au véhicule, et au moins une unité de commande de bord, ladite unité (10) étant accouplée : aux premiers moyens d'interface (30), pour recevoir lesdits ensembles de données de programmation et d'instructions opérationnelles de l'unité d'assistance, par un premier protocole de transmission ; aux premiers et deuxièmes moyens mémoire (42,44) pour mémoriser l'ensemble de données de programmation dans les premiers moyens mémoire (42) et l'ensemble d'instructions opérationnelles dans les deuxièmes moyens mémoire (44), et aux deuxièmes moyens d'interface, pour transférer l'ensemble de données de programmation à une unité de commande par un deuxième protocole de transmission, déterminés par lesdites instructions opérationnelles, en passant par un module sélectionné parmi ladite pluralité de modules de circuit (20,22, 24). 2. Dispositif d'interface selon la revendication 1, caractérisé par le fait que ladite unité de traitement (10) est agencée pour transférer l'ensemble des données de programmation à l'unité de commande actuellement accouplée, seulement à la suite de la reconnaissance d'un mot de passe fourni par l'utilisateur du dispositif. 3. Dispositif d'interface selon la revendication 1 ou 2, caractérisé par le fait que ladite unité de traitement (10) est agencée pour recevoir lesdits ensembles de données de programmation et d'instructions opérationnelles venant de l'unité d'assistance à la programmation, seulement à la suite de la reconnaissance d'un mot de passe fourni par un opérateur habilité à l'effectuer. 4. Dispositif d'interface selon l'une quelconque des revendications précédentes, caractérisé par le fait que lesdits premiers moyens de circuit d'interface (30) sont agencés pour accoupler le dispositif à l'unité d'assistance à la programmation, par une liaison bidirectionnelle de type série. 5. Dispositif d'interface selon l'une quelconque des revendications précédentes, caractérisé par le fait de comprendre des moyens pour être connecté à une alimentation électrique du véhicule. 6. Dispositif d'interface selon l'une quelconque des revendications précédentes, caractérisé par le fait de comprendre des moyens pour établir l'interface avec un utilisateur (60), comprenant des moyens pour l'introduction d'instructions de la part de l'utilisa- teur et des moyens pour la présentation d'informations à l'utilisateur. 7. Dispositif d'interface selon l'une quelconque des revendications précédentes, caractérisé par le fait de comprendre des moyens pour chiffrer lesdites données de programmation destinées à être transmises à une unité de commande. 8. Procédé pour la programmation d'unités électroniques de commande à bord d'un véhicule automobile, utilisant un dispositif d'interface selon l'une des revendications 1 à 7, et comprenant les étapes consistant à : - prévoir dans une unité d'assistance à la programmation un ensemble de données de programmation d'une unité de commande prédéterminée et un ensemble d'instructions opérationnelles indicatives du protocole de transmission demandé pour réaliser la liaison à ladite unité de commande ; - mémoriser lesdits ensembles de données de programmation et d'instructions opérationnelles dans des premiers et deuxièmes moyens mémoire (42,44) respectifs, d'un dispositif d'interface préalablement accouplé à l'unité d'assistance à la programmation ; - accoupler ledit dispositif d'interface à une unité de commande à programmer présélectionnée à bord d'un véhicule ; et - réaliser le transfert desdites données de programmation, desdits premiers moyens mémoire (42) du dispositif d'interface à l'unité de commande reliée, selon un protocole de transmission indiqué par lesdites instructions opérationnelles mémorisées dans lesdits deuxièmes moyens mémoire (44). 9. Procédé selon la revendication 8, caractérisé par le fait que la mémorisation desdits ensembles de données de programmation et d'instructions opérationnelles dans les premiers et deuxièmes moyens mé- moire (42, 44) respectifs du dispositif d'interface, se fait suite à une reconnaissance d'un mot de passe fourni par l'utilisateur du dispositif. 10. Procédé selon la revendication 8 ou 9, caractérisé par le fait que le transfert de l'ensemble des données de programmation à l'unité de commande, auquel le dispositif d'interface a été accouplé, se fait suite à la reconnaissance d'un mot de passe fourni par un opérateur habilité. 11. Procédé selon l'une quelconque des revendications 8 à 10, caractérisé par le fait de comprendre une opération de chiffrage des données de programmation destinées à être transmises à une unité de commande.