Brevet FR2860310A1 — publié le 20050401

Procédé de télécharqement de données informatiques pour des calculateurs et dispositif de mise en oeuvre d'un tel procédé La présente invention concerne un procédé de téléchargement de données pour un ensemble de calculateurs d'un système informatique embarqué à bord d'un véhicule automobile et un dispositif de mise en oeuvre d'un tel procédé. L'invention concerne plus particulièrement un procédé de téléchargement de données apte à assurer le fonctionnement optimal lo d'un ensemble de calculateurs commandant notamment différents organes fonctionnels d'un véhicule automobile. II est connu que des fonctions, au nombre de plus en plus important, proposées sur un véhicule automobile soient réalisées par des actionneurs dont la commande est régie par au moins un calculateur. Compte tenu que certaines fonctions sont communes à différents véhicules, telle la fonction de contrôle du fonctionnement du moteur, il est d'usage que les calculateurs agissant sur ces fonctions contiennent par défaut un programme et des paramètres standards. Le calculateur est ainsi apte à commander le fonctionnement d'au moins un actionneur dans un mode par défaut. Dans ce mode de commande, le fonctionnement des actionneurs n'est pas affiné, de sorte qu'il soit nécessaire d'exécuter une opération de téléchargement de données pour remplacer les paramètres standards en paramètres spécifiques. Ainsi, le paramètrage d'un calculateur dédié au fonctionnement en mode optimal d'un actionneur nécessite généralement une opération de téléchargement de données. Cette opération a généralement lieu en bout de ligne dans une usine terminale de montage des véhicules, plus particulièrement en phase finale de montage du véhicule, à savoir lorsque les organes fonctionnels du véhicule peuvent être opérationnels. Avec l'augmentation des fonctions commandées par des calculateurs, il est connu que la quantité de données à télécharger s'accentue, de sorte que le temps de téléchargement de données en bout de ligne de montage d'un véhicule est de plus en plus long et que le risque de générer des défauts de téléchargement de données est de plus en plus élevé. Il est aussi connu qu'un téléchargement de données puisse avoir lieu en service après-vente, suite par exemple à un dysfonctionnement d'un actionneur impliquant son remplacement. Il est alors dans ce cas nécessaire de procéder à une nouvelle opération de téléchargement en données de sorte que les nouveaux paramètres relatifs au nouvel actioneur puissent être pris en considération par le ou les calculateurs associés à sa commande. Il est alors connu de l'art antérieur des systèmes dédiés au téléchargement de données pour au moins un ensemble de calculateurs d'un système informatique embarqué à bord d'un véhicule automobile, io comme décrit dans le brevet FR2823876. Ce brevet enseigne, en effet, l'utilisation de moyens de communication des calculateurs dans un mode de fonctionnement de programmation. Dans ce mode de fonctionnement, des moyens de stockage de défauts et des moyens d'échange d'informations de ceux-ci, est inhibé dans certaines situations. Ce document décrit ainsi une solution permettant de couper la communication entre des calculateurs durant leur téléchargement en données afin de réduire les défauts de programmation. La demanderesse a constaté que cette solution, certes convenable d'un point de vue de la qualité des téléchargements en données puisque la communication entre des calculateurs est ainsi intérrompue durant le téléchargement de données, nécessite un temps de chargement de plus en plus important que le nombre de calculateurs augmente, le phénomène s'accentuant significativement par un téléchargement en données du type séquentiel. La demanderesse a également constaté certaines redondances dans les téléchargements, des données communes à plusieurs calculateurs étant en effet téléchargées plusieurs fois. Compte tenu que le téléchargement en données s'effectue traditionnellement en mode séquentiel, le temps alloué à l'opération de téléchargement en données est alors sensiblement proportionnel à la quantité de données à transmettre d'une borne externe de données informatiques vers les calculateurs du véhicule, de sorte qu'une même donnée plusieurs fois téléchargée est une perte injustifiée en terme de coût. Les données communes peuvent, par exemple être une configuration quant au marché d'exportation. En effet, une telle configuration est utile à différents calculateurs, comme ceux de contrôle du fonctionnement d'un moteur et d'une climatisation. Ainsi, le téléchargement d'une même donnée, à savoir un paramètre spécifique commun à plusieurs calculateurs, engendre un temps de téléchargement élevé, donc coûteux pour un véhicule assemblé sur une ligne de montage. Un but de la présente invention est de proposer un procédé de téléchargement de données pour un ensemble de calculateurs d'un système informatique embarqué à bord d'un véhicule automobile, le système informatique comprenant au moins un réseau de communication utile aux échanges de données entre un calculateur principal et des calculateurs secondaires, les calculateurs pilotant des actionneurs dans un mode de fonctionnement par défaut, le téléchargement des données io s'effectuant par l'intermédiaire d'une base de données reliée à une partie du réseau de communication, palliant ainsi tout ou partie des inconvénients de l'art antérieur relevés ci-dessus. La présente invention a trait à un procédé de téléchargement de données caractérisé en ce qu'il comprend: - une opération d'apprentissage en données consistant en une identification d'un besoin réel en données pour chacun des calculateurs secondaires, - une opération de téléchargement de données, les données à transmettre étant principalement fonction du besoin réel en données pour chacun des calculateurs secondaires préalablement déterminé, les données transmises étant alors distinctes les unes des autres mais peuvent être commune à plusieurs calculateurs secondaires, et - une opération de distribution des données du calculateur principal vers les calculateurs secondaires de sorte que les actionneurs pilotés par les calculateurs puissent passer dans un mode optimal de fonctionnement. Avantageusement, le procédé selon l'invention se caractérise en ce que l'opération d'apprentissage du besoin réel en données du système informatique se compose des étapes suivantes: - obtenir une autorisation d'accès à un réseau de communication afin de déverrouiller un calculateur principal, - exécuter une routine destinée à un apprentissage en besoin réel en données, de sorte que le calculateur principal puisse génèrer une trame de requêtage à destination de chacun des calculateurs secondaires, créer une table de besoin en données, les tables étant ainsi créées de manière autonôme par les calculateurs secondaires destinataires de la trâme de requêtage, - exécuter une routine de transformation des tables de besoins ainsi créées en trames de besoin en données, de sorte à pouvoir être envoyées sur le réseau de communication, - envoyer les trames préalablement créés à destination du calculateur principal. Le procédé de l'invention se caractérise également en ce que l'opération de téléchargement des données identifiées par l'opération d'apprentissage se compose des étapes suivantes: - transposer l'ensemble des trames en une table unique de besoin réel, lo - comparer les différents besoins ainsi référencés dans la table unique, - créer une table de synthèse contenant notamment les différents besoins en données de sorte à ne demander qu'une seule fois le téléchargement d'une donnée commune à plusieurs calculateurs, - transposer la table de synthèse en trame de synthèse, attendre la connexion entre une source externe de données et le système informatique embarqué, - lire la trame de synthèse, la lecture étant faite par la source externe exécutant un programme dédié dont le lancement s'effectue de manière autonôme dès réalisation d'une connexion électrique entre deux prises prévue à cet effet, - télécharger les données de la source externe vers une zone d'enregistrement, - distribuer les données contenue dans la zone d'enregistrement à destination des calculateurs, cette étape s'effectuant en temps masqué, la liaison entre le réseau de communiation et la source pouvant être interrompue. Par ailleurs, le procédé de l'invention peut se caractériser en ce que l'opération de détection d'erreur de montage d'un équipement non conforme se compose d'une étape visant à comparer le besoin réel en données à un besoin théorique en données, de sorte à distinguer l'existence d'une erreur de montage d'un équipement non destiné au véhicule concerné. Enfin, l'invention concerne également un dispositif de mise en oeuvre du procédé de téléchargement de données précédemment décrit, le dispositif comportant une source de données informatiques externe au véhicule, la source étant disposée en bout de chaîne de montage du véhicule ou en atelier après-vente, la source permettant le téléchargement de calculateurs, les calculateurs commandant des actionneurs, les caculateurs communiquant avec un calculateur principal par l'intemédiaire d'un réseau de communication, le réseau comportant un premier moyen de connexion, telle une prise, coopérant avec un second moyen de connexion, telle une prise, afin de pouvoir établir une liaison utile à un transfert de données entre la source externe et le réseau de communication. Le dispositif de l'invention se caractérise en ce que les calculateurs primaire et secondaires comportent des routines leur permettant d'effectuer l'opération d'apprentissage d'un besoin réel en données, io l'opération de téléchargement des données et l'opération de détection d'erreur de montage d'un équipement non conforme sur le véhicule, de sorte que le téléchargement de données optimise la commande du fonctionnement des actionneurs effectuée par les calculateurs secondaires. D'autres particularités et avantages apparaîtront à la lecture de la description ci-après faite en référence à l'unique figure schématisant un système informatique selon l'invention. Comme l'illustre donc l'unique figure donnée à titre non limitatif, un système informatique 1 embarqué sur un véhicule automobile peut comporter un calculateur principal 2 et au moins un calculateur secondaire 3. L'unique figure illustre l'exemple d'un système informatique comportant quatre calculateurs secondaires. De manière simplifiée et connue, la communication entre les calculateurs s'effectue par l'intermédiaire d'au moins un réseau de communication 5, du type CAN par exemple. L'architecture électronique déployée sur un véhicule automobile peut cependant comprendre deux familles de système électronique, à savoir un système sous capot et un système carrosserie dont les communications avec un boîtier de servitude intelligent (non représenté) muni d'un calculateur, tel le calculateur principal 2, peuvent s'effectuer à des vitesses différentes. Plusieurs réseaux de communication 5 sont alors nécessaires pour répondre à ce besoin de transfert d'informations selon différentes vitesses. Ainsi, les calculateurs de sous capot sont de préférence attribués à la commande de fonctions telle le contrôle moteur, le contrôle de boîte de vitesses, l'assistance au freinage ou l'assistance à la direction par exemples. Les calculateurs de carrosserie sont quant à eux attribués à la commande de fonctions telle le déplacement d'un siège à mémoire, le contrôle de portes ou de répartition de la puissance électrique par exemples. Afin de paramètrer les calculateurs secondaires 3 de données utiles au fonctionnement en mode optimal des actionneurs 4 qu'ils commandent, il est ainsi connu de procéder à un téléchargement de données en bout de ligne de montage (non représentée). En effet, l'ensemble des calculateurs 2 et 3 du système informatique 1 contenus sur un véhicule (non représenté), comporte par défaut des Io données utiles à l'exécution d'un programme suivant des paramètres standards. Ce téléchargement de données est traditionnellement réalisé par le fournisseur de calculateurs de sorte que le reveil d'au moins un calculateur puisse générer automatiquement au moins une exécution d'une routine ou la commande en mode par défaut d'un actionneur, par exemples. Les systèmes informatiques, tels ceux présents sur des véhicules automobiles, sont particuliers car communs architecturalement pour une même gamme de véhicule, voire parfois identiques sur plusieurs gammes. Seuls les équipements proposés au véhicule peuvent varier. En effet, pour une même gamme de véhicule, plusieurs niveaux d'équipements, donc de finitions, sont proposés de sorte que, pour rendre optimal le fonctionnement de chacun des actionneurs commandé par au moins un calculateur, il faille procéder à un requêtage du besoin en données pour l'ensemble des calculateurs du système informatique. Le besoin est ainsi qualifié de besoin réel en données. En conséquence, tout calculateur 2 ou 3 doit posséder des paramètres spécifiques, afin de commander le fonctionnement en mode optimal des actionneurs 4. Les paramètres spécifiques à télécharger sont par exemple des lois de commandes, des gains, des composantes dimensionnelles telles le diamètre des roues du véhicule, mais aussi une norme de pollution propre au marché pour lequel est destiné le véhicule. Un procédé de téléchargement de données pour un ensemble de calculateurs 2 et 3 d'un système informatique 1 embarqué à bord d'un véhicule automobile effectue, selon l'invention, de préférence une opération d'apprentissage d'un besoin réel en données, une opération de téléchargement de données et une opération de détection d'erreur de montage d'un équipement non conforme au véhicule, chacune des opérations nécessitant une succession d'étapes dont un détail est réalisé ci-après. L'opération visant à effectuer un apprentissage d'un besoin réel en données comprend une première étape destinée à une autorisation d'accès au contenu du calculateur principal 2. Cette opération consiste principalement en un déverrouillage du calculateur principal 2, soit lors de sa première mise sous tension, soit en service après vente. De préférence l'autorisation d'accès au calculateur principal 2 est sécurisée après la première mise sous tension, garantissant de la sorte un accès conforme au respect d'un protocole d'accès dédié. io L'objet de cette première étape est de permettre au calculateur 2 une communication avec les calculateurs secondaires 3. Lorsque l'autorisation d'accés au calculateur 2 est rendue effective, l'opération d'apprentissage passe ensuite à une seconde étape, laquelle consiste en un apprentissage d'un besoin réel en données pour chacun des calculateurs secondaires 3. Pour cela, le calculateur principal 2 exécute une routine destinée à interroger chacun des calculateurs secondaires 3 sur leur besoin en données. Cette routine génère ainsi l'envoi d'une trame de requêtage du calculateur principal 2 à destination de chacun des calculateurs secondaires 3. La réception de la trame de requêtage par chacun des calculateurs secondaires 3 engendre l'activation de la troisième étape. Cette troisième étape consiste de préférence en un lancement d'une routine de création d'une table de besoin en données par les calculateurs secondaires 3 concernés. Les calculateurs 3 ayant ainsi été destinataires de la trame de requêtage, exécutent une routine préenregistrée et destinée à créer une table de besoin en données. A titre d'exemple, les calculateurs 3 dédiés aux fonctions de commande de l'injection d'un moteur à combustion interne et de commande d'un bloc de climatisation ont un besoin commun en données, tels les paramètres concernant le type de moteur présent sur le véhicule. Ainsi, chacun des calculateurs secondaires 3 identifie son propre besoin en données de sorte qu'une fois établi dans une table, le procédé de l'invention prévoit une étape de transformation des tables de besoin en données obtenues préalablement en des trames de besoins en données. Chacune des trames de besoin comprend avantageusement un élément d'identification du calculateur 3 concerné, les versions des familles de composants électroniques et des programmes utiles à son fonctionnement, ainsi que les paramétrages demandées. L'étape suivante concerne un envoi, par l'intermédiaire des réseaux de communication 5, des différentes trames de besoin des calculateurs secondaires 3 vers le calculateur principal 2. A ce niveau du procédé, l'opération d'apprentissage du besoin réel en données est terminée. L'étape suivante concerne la première étape de l'opération de téléchargement de données et consiste en ce qu'après avoir reçu l'ensemble des trames de besoins en données, le calculateur principal 2 lo les transpose en une unique table de sorte à pouvoir procéder à une comparaison de l'ensemble des besoins en données. Cette étape de comparaison a pour objectif de définir une table de synthèse du besoin général en données pour le véhicule. Cette table comprend avantageusement des différents besoins en données de sorte que chaque donnée utile à plusieurs calculateurs ne puisse être qu'une seule fois téléchargée. L'étape suivante de l'invention consiste en une transposition de la table de synthèse en une trame de synthèse destinée à être reçue par la source externe 7 de données lorsque la connection entre une première prise 6 liée au réseau de communication 5 et une seconde prise 8 liée à la source externe 7 est établie, de sorte que l'étape suivante du procédé de l'invention consiste en une mise en attente d'une connexion entre les deux prises 6 et 8. La source externe 7 comprend avantageusement l'ensemble des données nécessaires aux téléchargements de tous les calculateurs présents sur un véhicule, quelle que soit la composition des équipements du véhicule. La source externe 7 est ainsi une base de données contenant la totalité des information numériques pouvant être transmises aux divers calculateurs à télécharger. Lorsque la connexion entre les prises 6 et 8 est effective, la source externe 7 prend connaissance des données à transmettre en effectuant une étape de lecture de la trame de synthèse envoyée par le calculateur principal 2. Pour cela, un programme dédié est exécuté dès l'établissement de cette connexion, rendant ainsi autonôme l'étape de téléchargement de données suivante. La source externe 7 envoit alors les données spécifiées par la trame de synthèse vers une zone d'enregistrement dédiée, contenue par exemple dans le boîtier de servitude intelligent (BSI). L'étape suivante consiste en une distribution de données visant à renseigner chacun des calculateurs secondaires 3 de données téléchargées dans la zone. L'attribution à chaque données d'une identification du calculateur en ayant fait la demande, aide l'étape de distribution. Cette étape de distribution de données s'effectue avantageusement après la rupture de la liaison entre les prises 6 et 8. Cette étape est ainsi réalisé en temps masqué et de façon totalement automôme. io A ce niveau du procédé, l'opération de téléchargement de données est terminée. Ainsi renseigné en données, le système informatique 1 permet le fonctionnement optimal de l'ensemble des actionneurs 4 commandés par l'intermédiaire des calculateurs 2 ou 3. Aussi, le procédé de l'invention permet de préférence l'exécution d'une opération de détection d'erreur de montage d'un équipement non conforme, par une étape avantageusement destinée à comparer les données identifiées par le système informatique 1 aux données qui devraient théoriquement avoir été transmises. En effet, comme cela a été précédemment décrit, selon l'invention, le système informatique d'un véhicule automobile effectue une opération d'apprentissage du besoin en données de l'ensemble des calculateurs 3 reliés à au moins un réseau de communication 5 de sorte que le besoin en données ainsi relevé puisse être qualifié de besoin réel. De façon connue, un véhicule en cours de fabrication sur une ligne de montage répond à une gamme de fabrication préalablement établie, de sorte qu'au moins la totalité des équipements le composant est identifié. Les moyens informatiques utilisés dans la gestion des processus de fabrication du véhicule, ont ainsi connaissance pour chaque véhicule du besoin en données, de sorte que cette connaissance en données puisse être qualifiée de besoin théorique en données à télécharger. Le besoin théorique en données est alors de préférence stocké dans une table de données préenregistrée dans la source externe 7. La connexion entre les prises 6 et 8, liant le réseau de communication 5 à la source externe 7, donne à la source 7 la connaissance du besoin réel en données ainsi qu'un numéro d'identification du véhicule concerné par le téléchargement. Le numéro d'identification permet à la source 7 de consulter la table i0 de besoin théorique en données associée de sorte que, suite à l'étape de téléchargement de données, le procédé comporte une étape de comparaison entre les besoins théorique et réel. La constatation d'une dérive entre le besoin réel et le besion 5 théorique entraine la source externe 7 à en informer l'opérateur établissant la connexion entre les prises 6 et 8. Ainsi, le procédé de l'invention permet avantageusement de garantir un échange de données homogène entre les calculateurs. En effet, les fonctions embarquées dans les différents calculateurs, qu'ils soient io principal 2 ou secondaires 3, agissent mutuellement les unes sur les autres par des échanges de données. Pour cela, il doit exister une homogénéité tant entre les versions des équipements du système informatique embarqué, qu'entre des données et paramètres téléchargés, telles les versions des programmes ou les calibrations par exemples. Ainsi, le téléchargement de calibrations propres à un moteur diesel pour un calculateur destiné au contrôle d'une boîte de vitesses automatiques, le calculateur étant apte à communiquer avec un calculateur de contrôle d'un moteur essence, est un exemple d'hétérogénéité pouvant être constaté par la présente invention. La présente invention permet avantageusement de télécharger des données en un temps faible de sorte que cette opération, notamment commune aux systèmes informatiques embarqués sur des véhicule, soit la moins coûteuse en ligne de fabrication, tout en évitant la redondance d'un téléchargement d'une donnée commune à plusieurs calculateurs. L'invention permet également de constater toute dérive quant au montage d'un équipement non conforme, par une étude comparative entre les besoins réel, au préalable identifié de manière autonôme par le système informatique, et théorique, connu de la gamme de fabrication du véhicule. 11 REVENDICATIONS 1.Procédé de téléchargement de données pour un ensemble de calculateurs (2, 3) d'un système informatique (1) embarqué à bord d'un véhicule automobile, le système informatique (1) comprenant au moins un réseau de communication (5) utile aux échanges de données entre un calculateur principal (2) et des calculateurs secondaires (3), les calculateurs (2, 3) pilotant des actionneurs (4) dans un mode de fonctionnement par défaut, le téléchargement des données s'effectuant par l'intermédiaire d'une base de données reliée à une partie du réseau de communication (5), caractérisé en ce qu'il comprend: - une opération d'apprentissage en données consistant en une identification d'un besoin réel en données pour chacun des calculateurs secondaires (3), - une opération de téléchargement de données, les données à transmettre étant principalement fonction du besoin réel en données pour chacun des calculateurs secondaires (3) préalablement déterminé, les données transmises étant alors distinctes les unes des autres mais peuvent être commune à plusieurs calculateurs secondaires (3), - une opération de distribution des données du calculateur principal (2) vers les calculateurs secondaires (3) de sorte que les actionneurs (4) pilotés par les calculateurs (1, 2) puissent passer dans un mode optimal de fonctionnement. 2. Procédé selon la revendication 1, caractérisé en ce que l'opération d'apprentissage du besoin réel en données du système informatique (1) se compose des étapes suivantes: - obtenir une autorisation d'accès à un réseau de communication (5) afin de déverrouiller un calculateur principal (2), - exécuter une routine destinée à un apprentissage en besoin réel en données, de sorte que le calculateur principal (2) puisse génèrer une trame de requêtage à destination de chacun des calculateurs secondaires (3), - créer une table de besoin en données, les tables étant ainsi créées de manière autonôme par les calculateurs secondaires (3) destinataires de la trâme de requêtage, - exécuter une routine de transformation des tables de besoins ainsi créées en trames de besoin en données, de sorte à pouvoir être envoyées sur le réseau de communication (5), - envoyer les trames préalablement créés à destination du calculateur 5 principal (2). 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'opération de téléchargement des données identifiées par l'opération d'apprentissage se compose des étapes suivantes: - transposer l'ensemble des trames en une table unique de besoin réel, - comparer les différents besoins ainsi référencés dans la table unique - créer une table de synthèse contenant notamment les différents besoins en données de sorte à ne demander qu'une seule fois le téléchargement d'une donnée commune à plusieurs calculateurs, - transposer la table de synthèse en trame de synthèse, - attendre la connexion entre une source externe (7) de données et le système informatique (1) embarqué, - lire la trame de synthèse, la lecture étant faite par la source externe (7) exécutant un programme dédié dont le lancement s'effectue de manière autonôme dès réalisation d'une connexion électrique entre deux prises (6, 8) prévue à cet effet, télécharger les données de la source externe (7) vers une zone d'enregistrement, - distribuer les données contenue dans la zone d'enregistrement à destination des calculateurs (3), cette étape s'effectuant en temps masqué, la liaison entre le réseau de communiation (5) et la source (7) pouvant être interrompue. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'opération de détection d'erreur de montage d'un équipement non conforme se compose d'une étape visant à comparer le besoin réel en données à un besoin théorique en données, de sorte à distinguer l'existence d'une erreur de montage d'un équipement non destiné au véhicule concerné. 5. Dispositif de mise en oeuvre du procédé de téléchargement de données conforme à l'une quelconque des revendications précédentes, comportant une source (7) de données informatiques externe au véhicule, la source (7) étant disposée en bout de chaîne de montage du véhicule ou en atelier après-vente, la source (7) permettant le téléchargement de calculateurs (3), les calculateurs commandant des actionneurs (4), les caculateurs (3) communiquant avec un calculateur principal (2) par l'intemédiaire d'un réseau de communication (5), le réseau (5) comportant un premier moyen de connexion, telle une prise (6), coopérant avec un lo second moyen de connexion, telle une prise (8), afin de pouvoir établir une liaison utile à un transfert de données entre la source externe (7) et le réseau de communication (5), caractérisé en ce que les calculateurs (2, 3) comportent des routines leur permettant d'effectuer une opération d'apprentissage d'un besoin réel en données, une opération de téléchargement des données et une opération de détection d'erreur de montage d'un équipement non conforme sur le véhicule, de sorte que le téléchargement de données optimise la commande du fonctionnement des actionneurs (4) effectuée par les calculateurs (3).