FR 3018413 A1 20150911 FR 1451879 A 20140307 PROCEDE ET SYSTEME POUR LE TELECHARGEMENT ACCELERE DE DONNEES L'invention concerne un procédé et un système de téléchargement d'au moins un fichier dans un ou plusieurs calculateurs. Dans la suite de cette description, lorsque le fichier à télécharger contient des instructions ou le code exécutable d'un logiciel, on parle également de téléchargement d'un logiciel. La complexité croissante de la fonction électronique embarquée la entraîne une multiplication des boîtiers électroniques (ou calculateurs) montés sur les véhicules automobiles. Afin de limiter la diversité qui en résulte, il a été décidé de pratiquer un téléchargement de ces calculateurs dans le flux de production des véhicules. L'opération est réalisée moyennant un outil débarqué qui se connecte sur la prise diagnostic du véhicule et permet de 15 programmer dans la mémoire du ou des calculateurs le logiciel qui assure un fonctionnement conforme du véhicule produit en prenant en compte les caractéristiques (motorisation, options) propres à ce véhicule. La communication entre l'outil de production et le ou les calculateurs fait usage de la technologie CAN 500kbps permettant de transférer les données à 20 programmer. On connaît déjà dans l'état de la technique des procédés et des systèmes de téléchargement de fichiers dans des calculateurs embarqués à bord de véhicules automobiles, tels que ceux décrits par exemple dans le document FR-A-2719924. Ce document détaille les différentes étapes 25 successives de la procédure utilisée lors de l'assemblage des véhicules ou dans le réseau après-vente d'un constructeur, lors de la correction d'une prestation par échange de fichier. Cette fonction de téléchargement a été optimisée par la suite afin de la rendre compatible avec des exigences du flux de fabrication des véhicules, 30 dans lequel le téléchargement d'un ensemble de calculateurs d'un même véhicule est réalisé simultanément. On peut par exemple se reporter au document FR-A-2825813 qui décrit cette optimisation. Cependant, l'accueil de nouvelles fonctionnalités embarquées et de règlements toujours plus complexes poussent à des tailles mémoires embarquées et des besoins en temps de téléchargement de ces mémoires de plus en plus grands. Cette augmentation du volume des données augmente sans cesse ce qui rend le téléchargement incompatible avec le temps imparti à la réalisation de cette opération dans le flux de production. Le temps alloué au téléchargement ne peut pas être allongée sans une réorganisation importante des usines de production. Il existe donc un besoin de calculateurs et de système permettant d'effectuer des téléchargements dans le temps imparti à la réalisation de cette opération dans le flux principal d'une usine d'assemblage. Le but de l'invention est donc de résoudre ces problèmes et de proposer une solution pour le téléchargement, dans des calculateurs, d'au moins un fichier dans un délai compatible avec le flux de production d'une usine. Elle propose plus précisément à cet effet un procédé pour le téléchargement de données vers au moins un calculateur de véhicule, ledit calculateur étant adapté pour exécuter un logiciel applicatif, caractérisé en qu'il comporte des étapes de : Réception d'une requête de téléchargement par l'intermédiaire du réseau, Configuration, du réseau dans un premier mode adapté au téléchargement de données, - Téléchargement des données vers le calculateur par l'intermédiaire du réseau, - Reconfiguration, du réseau dans un deuxième mode adapté à l'exécution du logiciel applicatif. La configuration du réseau dans le premier mode, adapté au téléchargement de données, permet de télécharger plus rapidement les données vers le calculateur. Ainsi, la durée du téléchargement d'un calculateur est compatible avec le flux de production d'une usine de montage, même avec un important volume de données à télécharger. La configuration du réseau dans le deuxième mode, adapté à l'exécution du logiciel applicatif, permet d'assurer le fonctionnement du véhicule une fois que le calculateur est téléchargé. C'est à partir de ce second mode (qui est en fait la configuration par défaut du réseau R) qu'il est possible de basculer le calculateur dans le premier mode, adapté au téléchargement. La reconfiguration du réseau d'un mode à l'autre se fait par le réseau lui-même et ne nécessite pas de technologie auxiliaire. Selon une caractéristique de l'invention, le calculateur accède au réseau au moyen d'un multiplexage temporel définissant des cycles de communication. Selon une autre caractéristique de l'invention, l'étape de configuration du réseau dans le premier mode et l'étape de configuration du réseau dans le deuxième mode comporte la modification de la durée des cycles de communication. Selon une autre caractéristique de l'invention, la durée des cycles de communication dans le premier mode est inférieure à la durée des cycles de 20 communication dans le deuxième mode. Selon une autre caractéristique de l'invention, le calculateur comportant, en outre une mémoire dans laquelle sont stockés un logiciel applicatif et un chargeur d'amorçage, le procédé comporte en outre une étape de vérification de l'intégrité des données téléchargées et si les données 25 téléchargées sont intègres, l'exécution par le calculateur du logiciel applicatif sinon l'exécution par le calculateur du chargeur d'amorçage. Selon une autre caractéristique de l'invention, le procédé comporte en outre des étapes de : - Ouverture d'une session de diagnostic, avant l'étape de 30 téléchargement, - Ouverture d'une session par défaut après l'étape de téléchargement. Selon une autre caractéristique de l'invention, le procédé comporte en outre une étape de lancement d'un service autorisant la modification de la configuration du réseau. L'invention concerne aussi un calculateur de véhicule automobile relié à un réseau et comportant des moyens de réception d'une requête de téléchargement par l'intermédiaire du réseau, caractérisé en ce qu'il comporte en outre : - des moyens de modification de la configuration du réseau, - des moyens de mise en oeuvre du procédé de téléchargement selon l'invention. L'invention concerne aussi un véhicule automobile caractérisé en ce qu'il comporte au moins un calculateur selon l'invention. L'invention concerne aussi un système pour le téléchargement de données comportant un outil de téléchargement, caractérisé en ce qu'il comporte en outre un calculateur selon l'invention et une passerelle reliant l'outil de téléchargement au calculateur, la passerelle étant reliée au calculateur par l'intermédiaire d'un réseau, le système étant apte à fonctionner selon un premier mode dans lequel l'outil de téléchargement télécharge des données vers le calculateur, et selon un deuxième mode dans lequel le calculateur exécute un logiciel applicatif correspondant aux données téléchargées selon le premier mode. D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels: - La figure 1 représente un système de téléchargement d'au moins un fichier vers un ou plusieurs calculateurs ; - La figure 2 représente un logigramme illustrant le procédé de téléchargement de données de l'outil vers le premier calculateur. Les dessins annexés pourront non seulement servir à compléter l'invention, mais aussi contribuer à sa définition, le cas échéant. La figure 1 représente un système de téléchargement d'au moins un fichier vers un ou plusieurs calculateurs. Par exemple, le fichier est un fichier contenant le code exécutable d'un logiciel. Ce code exécutable contient des instructions exécutables par les calculateurs dans lequel ce fichier est téléchargé. Le système de téléchargement 10 selon l'invention comporte : - un outil de téléchargement 11 par exemple de type ordinateur personnel (ou PC pour Personal Computer), - un ou plusieurs calculateurs 13.1, 13.2, 13.3 intégrés dans un véhicule 14 ou disponibles « sur table » - un réseau de communication R auquel chacun des calculateurs 13.1, 13.2, 13.3 est relié. Le réseau R (par exemple réseau un de communication asynchrone) est un réseau (de communication) chargé de transmettre des trames T ayant un format donné et présentant un certain débit. Dans ce qui suit, on considère à titre d'exemple non limitatif que le réseau R est de type FlexRay (réseau dit déterministe (ou « time-trigger »)). Mais, l'invention n'est pas limitée à ce type de réseau de communication. Elle concerne en effet tous réseaux de communication asynchrones de type différents et présentant des débits différents. Par ailleurs, on considère dans ce qui suit, à titre d'exemple non limitatif, que le réseau R est embarqué dans un véhicule automobile. Mais l'invention n'est pas limitée à ce type de système. Elle concerne en effet tout type de système, et notamment les aéronefs. Le réseau R comprend classiquement des équipements S2j (j = 1 à M, M 2) qui sont connectés en parallèle à un bus multiplexés. Il est rappelé que dans un réseau de type FlexRay l'accès des équipements (S2j) au bus multiplexé se fait selon le mode dit TDMA (multiplexage temporel), chaque équipement (S2j) disposant au cours de chaque cycle d'au moins une tranche temporelle allouée, pendant laquelle il est autorisé à émettre des données (éventuellement dans une (seconde) trame T2). Plus précisément, l'accès au bus est partagé, périodiquement, entre deux segments : le segment statique (pour les flux périodiques) et le segment dynamique (pour les flux apériodiques). Dans le segment statique, l'accès se fait suivant un mécanisme TDMA: (Time-Division Multiple Access) : le temps est partagé entre les différents noeuds du réseau. C'est uniquement pendant le (ou les) intervalle(s) de temps alloué(s) que l'un des noeuds peut transmettre un message, à destination de tous les autres. Dans le segment dynamique, l'accès se fait suivant le FDMA: Flexible 1 o TDMA, qui consiste à gérer des priorités par temps d'attente. On appelle cycle de communication une durée (comptée en MacroTick - unité de temps liée à la fréquence d'horloge des calculateurs) et divisée en au moins deux zones logiques consécutives du point de vue temporel : le segment statique et le segment dynamique. 15 Selon une caractéristique de l'invention, le système de téléchargement comporte des moyens de paramétrer le réseau R et en particulier de modifier la durée des cycles de communication. Les calculateurs dans lesquels le ou les fichiers doivent être téléchargés sont des calculateurs destinés à être montés dans un véhicule tel 20 qu'un véhicule automobile. Ici, le véhicule automobile est une voiture. Par exemple, ces calculateurs peuvent être des calculateurs de contrôle moteur, des calculateurs de boîte de vitesses, des calculateurs d'ABS (Antiblock Breaking System), des calculateurs de suspensions ou des calculateurs d'habitacle. 25 Pour simplifier la figure 1, seuls trois calculateurs 13.1 à 13.3 sont représentés. Par exemple, les calculateurs 13.1 à 13.3 sont respectivement un calculateur de contrôle moteur, un calculateur d'habitacle et un calculateur ABS. Ces calculateurs comportent des caractéristiques communes décrites 30 ci-après. Chacun des calculateurs comprend une mémoire non volatile réinscriptible. Par exemple, cette mémoire est une mémoire NVRAM (Non Volatil Random Access Memory). A titre d'illustration, il s'agit d'une mémoire connue sous la terminologie de « mémoire flash » ou « flash Eprom ». Cette mémoire contient des fichiers. Ces fichiers peuvent contenir des instructions exécutables par le calculateur. Ici, il s'agit d'instructions pour contrôler le moteur d'un véhicule dans le cas du calculateur moteur. C'est ce fichier exécutable (aussi appelé applicatif) qui correspond au logiciel pouvant être reprogrammé en usine de montage ou en service après-vente. La mémoire du calculateur comporte aussi un chargeur d'amorçage (ou bootloader selon l'expression anglo-saxonne). Le chargeur d'amorçage est un logiciel permettant d'initialiser le calculateur et qui contient l'intégralité ou une partie de la procédure de téléchargement. Chacun des calculateurs comprend également au moins un émetteur-récepteur (ou transceiver selon l'expression anglo-saxonne) permettant de raccorder ce calculateur à différents équipements du véhicule dans lequel il est destiné à être monté. En particulier, cet émetteur-récepteur est destiné à être raccordé au réseau R. De façon avantageuse, le véhicule 14 comporte en outre un connecteur 12 comportant une pluralité de broches. Un ensemble de broches est relié au réseau R. L'outil de téléchargement 11 comporte un calculateur programmable apte à exécuter des instructions enregistrées dans une mémoire. A cet effet, le calculateur est raccordé à la mémoire contenant des instructions pour l'exécution du procédé de téléchargement selon l'invention. L'outil de téléchargement 11 est connecté à un port d'entrée/sortie de la passerelle 15 via une liaison Ethernet car elle permet d'alimenter le réseau Flexray avec un débit élevé (10Mbps ou mégabits par seconde). De plus, cette technologie se justifie au travers de la nature de l'outil qui est un PC renforcé mécaniquement et dispose d'un port Ethernet en standard évitant l'intégration d'une carte de communication supplémentaire. La passerelle 15 est elle-même reliée à un port d'entrée/sortie du véhicule 14 via une liaison Flexray pour la mise à jour des calculateurs. La figure 2 représente un logigramme illustrant le procédé de téléchargement de données de l'outil 11 vers le premier calculateur 13.1 via le réseau R. Le mécanisme permettant la mise en situation puis le téléchargement via le réseau comprend les étapes : 31/31', 32/32', 33/33', 34, 35, 36, 37 et 38. L'étape 31 correspond à la réception par le calculateur 13.1 de la requête demandant l'ouverture d'une session de diagnostic étendue, lorsque celui-ci exécute son logiciel applicatif. L'ouverture 32 de la session de diagnostic étendu permet d'autoriser la réception de requêtes associées au service dit « Link Control » (étape 33). Ce service permet de modifier les caractéristiques de la communication entre l'outil 11 et le calculateur 13.1 afin d'accroître la bande passante (débit) pour répondre à des cas d'utilisation tel que par exemple le téléchargement. L'étape 33 réalise aussi un basculement dans le bootloader, avec comme point d'entrée une fonction permettant la reconfiguration du réseau Flexray 34. Le réseau R est configuré dans un premier mode, optimisé pour le téléchargement. En particulier, la durée des cycles de communication est réduite. Chacun des calculateurs 13.1, 13.2, 13.3 comporte en mémoire une table définissant des paramètres de fonctionnement du réseau Flexray et en particulier la durée des cycles de communications. Cette table est modifiée au cours de l'étape de configuration du réseau. Le raccourcissement du cycle de communication permet d'augmenter sa fréquence, donc de donner plus souvent la parole à l'outil de téléchargement 11 et aux calculateurs 13.1, 13.2 et 13.3 ce qui augmente le débit. En revanche, les cycles courts ne sont pas adaptés à l'exécution du logiciel applicatif d'où la nécessite de reconfigurer le réseau R dans le second mode à l'issu du téléchargement. Par exemple dans le premier mode de configuration la durée des cycles est 1,7 ms et dans le deuxième mode de configuration la durée des cycles est de 5 ms. Après l'étape 34, la communication entre l'outil de téléchargement 11, et les calculateurs 13.1, 13.2, 13.3 via le réseau présente un débit supérieur. L'étape 34bis permet de basculer en « session de reprogrammation » ce qui permet de télécharger le calculateur en transmettant les requêtes outil- calculateur par le réseau (étape 35). Il devient alors possible de reprogrammer le calculateur en transmettant les requêtes outil-calculateur permettant de dérouler la procédure de téléchargement et de reprogrammation. L'étape 36 est exécutée consécutivement à la réception de la requête (DSC 01) de confirmation de fin de téléchargement et permet à l'issue du téléchargement de 1) remettre le calculateur en session par défaut, 2) déclencher un RESET entraînant la réinitialisation complète du calculateur une exécution de l'étape 37 provoquant une reconfiguration du réseau R. Le réseau R est reconfiguré dans un deuxième mode, optimisé pour l'exécution du logiciel application. En particulier, la durée des cycles de communication est allongée. Le passage du premier au deuxième mode se fait par modification des tables de configuration de chacun des calculateurs 13.1, 13.2, 13.3. L'étape 38 permet de vérifier l'intégrité du logiciel « client » (applicatif) et en cas d'issue favorable de basculer du bootloader vers l'applicatif nouvellement téléchargé. Le téléchargement peut aussi être réalisé lorsque le calculateur exécute son chargeur d'amorçage ce qui se produit qu'il n'y a pas d'applicatif valide en mémoire. Dans ce cas les étapes 31', 32' et 33' sont exécutées à la place des étapes 31, 32 et 33. L'étape 31' correspond à la réception par le calculateur 13.1 de la requête demandant l'ouverture d'une session de diagnostic étendue, lorsque celui-ci exécute son chargeur d'amorçage. L'ouverture 32' de la session de diagnostic étendu permet d'autoriser la réception de requêtes associées au service dit « Link Control » (étape 33'). Contrairement à l'étape 33, l'étape 33' ne réalise pas de basculement dans le chargeur d'amorçage, puisque celui-ci est déjà en cours d'exécution. REVENDICATIONS1. Procédé pour le téléchargement de données vers au moins un calculateur (13.1) de véhicule (14), ledit calculateur (13.1) étant adapté pour exécuter un logiciel applicatif, caractérisé en qu'il comporte des étapes de : - Réception (31, 31') d'une requête de téléchargement par l'intermédiaire du réseau (R), - Configuration (34), du réseau (R) dans un premier mode adapté au téléchargement de données, - Téléchargement (35) des données vers le calculateur (13.1) par l'intermédiaire du réseau (R), - Reconfiguration (37), du réseau (R) dans un deuxième mode adapté à l'exécution du logiciel applicatif. 2. Procédé pour le téléchargement selon la revendication 1, dans lequel le calculateur (13.1) accède au réseau (R) au moyen d'un multiplexage temporel définissant des cycles de communication. 3. Procédé pour le téléchargement selon la revendication 2 dans lequel l'étape de configuration (34) du réseau (R) dans le premier mode et l'étape de configuration (37) du réseau (R) dans le deuxième mode comporte la modification de la durée des cycles de communication. 4. Procédé pour le téléchargement selon la revendication 3 dans lequel la durée des cycles de communication dans le premier mode est inférieure à la durée des cycles de communication dans le deuxième mode. 5. Procédé pour le téléchargement selon l'une des revendication précédentes, caractérisé en ce que, le calculateur (13.1) comportant, en outre une mémoire dans laquelle sont stockés un logiciel applicatif et un chargeur d'amorçage, leprocédé comporte en outre une étape de vérification (38) de l'intégrité des données téléchargées et si les données téléchargées sont intègres, l'exécution par le calculateur du logiciel applicatif sinon l'exécution par le calculateur du chargeur d'amorçage. 6. Procédé pour le téléchargement selon l'une des revendications précédentes, caractérisé en ce qu'il comporte en outre des étapes de : - Ouverture d'une session de diagnostic (32, 32'), avant l'étape de téléchargement (35), - Ouverture d'une session par défaut (36) après l'étape de téléchargement (35). 7. Procédé pour le téléchargement selon l'une des revendications précédentes, caractérisé en ce qu'il comporte en outre une étape de lancement d'un service (33, 33') autorisant la modification de la configuration du réseau. 8. Calculateur de véhicule (13.1) automobile relié à un réseau (R) et comportant des moyens de réception d'une requête de téléchargement par l'intermédiaire du réseau (R), caractérisé en ce qu'il comporte en outre : - des moyens de modification de la configuration du réseau (R), - des moyens de mise en oeuvre du procédé de téléchargement selon l'une des revendications précédentes. 9. Véhicule automobile (14) caractérisé en ce qu'il comporte au moins un calculateur (13.1) selon la revendication précédente. 10. Système pour le téléchargement de données comportant un outil de téléchargement (11), caractérisé en ce qu'il comporte en outre un calculateur (13.1) selon la revendication 8 et une passerelle (15) reliant l'outil de téléchargement (11) au calculateur (13.1), la passerelle (15) étant reliée au calculateur (13.1) par l'intermédiaire d'un réseau (R), le système étant apte àfonctionner selon un premier mode dans lequel l'outil de téléchargement (11) télécharge des données vers le calculateur (13.1), et selon un deuxième mode dans lequel le calculateur (13.1) exécute un logiciel applicatif correspondant aux données téléchargées selon le premier mode.5