Brevet FR3104281A1 — publié le 20210611

Procédé de chargement de données dans un calculateur de véhicule, le véhicule comprenant : - un port de connexion (20), - au moins un premier et au moins un deuxième réseaux de communication (R1, R2), - un calculateur routeur (10), le procédé comprenant au moins les étapes suivantes mises en œuvre par le calculateur routeur (10) et consistant à: - (E1) : scruter de manière répétitive si le calculateur routeur (10) reçoit une requête de chargement de données via le premier réseau de communication (R1) ou via le deuxième réseau de communication (R2), - recevoir une requête de chargement de données, - (E2) identifier le réseau de communication via lequel la requête de chargement de données est reçue, - charger des données depuis le port de connexion (20) et via le réseau de communication identifié. Figure 1 PROCEDE DE CHARGEMENT DE DONNEES DANS UN CALCULATEUR DE VEHICULE La présente invention concerne de manière générale un procédé de chargement de données pour configurer / mettre à jour / diagnostiquer un calculateur embarqué dans un véhicule depuis un dispositif ou réseau externe au véhicule automobile. Domaine technique de l'invention L’invention se rapporte au domaine des véhicules automobiles, et en particulier au domaine des architectures électriques et électroniques des véhicules automobiles. État de la technique Il est connu d’équiper les véhicules automobiles de divers calculateurs pour gérer différentes fonctions (gestion d’injection, gestion de traitement des gaz d’échappement, gestion des feux de signalisation, gestion du freinage, des équipements de bord…). Plusieurs architectures électriques ou électroniques de réseaux de communication (avec des bus de communication, par exemple bus CAN selon la norme ISO11898) peuvent être envisagées. En particulier au cours du temps, de nouvelles structures électriques ou électroniques peuvent être développées et mises en service sur certains véhicules, alors que d’autres véhicules toujours en service ont une architecture ancienne. On peut mentionner en particulier les bus CAN LS (ou bus « basse vitesse »), les bus CAN HS (ou bus « haute vitesse »), les bus CAN FD (ou bus « données flexibles ») qui peuvent connecter des calculateurs selon des topologies différentes, certains calculateurs pouvant jouer le rôle de passerelle entre diverses technologies réseau. Les nouvelles architectures électriques ou électroniques peuvent présenter des vitesses de communication ou de chargement plus rapides, mais en raison de la coexistence des anciennes architectures électriques ou électroniques, il peut être nécessaire de développer et introduire des calculateurs dédiés à ces architectures électriques ou électroniques, avec des procédures particulières pour configurer / mettre à jour / diagnostiquer ces nouveaux calculateurs. On peut mentionner ici les bus CAN FD (ou bus « données flexibles ») qui permettent d’augmenter les vitesses de transmission, par rapport aux bus CAN LS (ou bus « basse vitesse »), ou encore par rapport aux bus CAN HS (ou bus « haute vitesse »). On accroît alors la diversité matérielle et logicielle, ce qui augmente alors les coûts et forme un frein à l’introduction de ces nouvelles architectures électriques ou électroniques. Enfin, le temps pour configurer / mettre à jour / diagnostiquer les calculateurs est dépendant de l’architecture particulière du véhicule en question, et forme un paramètre très important à optimiser, en particulier lors de la fabrication du véhicule (il ne faut pas retarder la chaîne de montage) ou en après-vente (il ne faut pas immobiliser le véhicule trop longtemps). Multiplier et diversifier les architectures comme vu ci-dessus revient aussi à complexifier la gestion du temps pour configurer / mettre à jour / diagnostiquer les calculateurs. Le document FR2798484A1 propose d’optimiser les temps en proposant une utilisation aux limites de la bande passante d’une liaison CAN HS, en parallélisant notamment le téléchargement de plusieurs calculateurs. Toutefois, aucune solution n’est proposée pour optimiser le temps de chargement de données en cas de diverses architectures véhicule et/ou pour réduire la diversité matérielle ou logicielle. Le document EP3114817 concerne un procédé pour le téléchargement de données vers au moins un calculateur de véhicule automobile comportant un premier émetteur-récepteur relié à un premier réseau, caractérisé en que, le calculateur comportant en outre un deuxième émetteur-récepteur relié à un deuxième réseau, le procédé comporte en outre des étapes de : réception d'une requête de téléchargement par l'intermédiaire du premier réseau, activation, par le calculateur, du deuxième émetteur-récepteur, téléchargement des données vers le calculateur par l'intermédiaire du deuxième réseau, désactivation, par le calculateur, du deuxième émetteur-récepteur. Toutefois, ici encore, aucune solution n’est proposée pour optimiser le temps de chargement de données en cas de diverses architectures électriques ou électroniques véhicule / et/ou pour réduire la diversité matérielle ou logicielle. Un but de la présente invention est de répondre aux inconvénients des documents de l’art antérieur mentionnés ci-dessus et en particulier, tout d'abord, de proposer une méthode de chargement de données dans un calculateur embarqué dans un véhicule, depuis un dispositif externe au véhicule, qui permet de limiter la diversité matérielle / logicielle, tout en garantissant que le temps de chargement sera optimal, compte tenu de la structure électrique ou électronique du véhicule en question. Pour cela un premier aspect de l'invention concerne un procédé de chargement de données dans un calculateur de véhicule, depuis un dispositif externe au véhicule, le véhicule comprenant : - un port de connexion agencé pour être connecté au dispositif externe, - au moins un premier et au moins un deuxième réseaux de communication embarqués et distincts, - un calculateur routeur relié au port de connexion par le premier et par le deuxième réseau de communication embarqués, le procédé comprenant au moins les étapes suivantes mises en œuvre par le calculateur routeur et consistant à: - scruter de manière répétitive si le calculateur routeur reçoit depuis le port de connexion une requête de chargement de données via le premier réseau de communication ou via le deuxième réseau de communication, - recevoir une requête de chargement de données, - identifier le réseau de communication parmi le premier réseau de communication ou le deuxième réseau de communication via lequel la requête de chargement de données est reçue, - charger des données depuis le port de connexion et via le réseau de communication identifié. Le procédé selon la mise en œuvre ci-dessus comprend une étape mise en œuvre par le calculateur routeur lui-même et qui consiste à scruter les différentes entrées du calculateur routeur pour savoir si une requête de chargement de données est envoyée depuis un dispositif externe via le port de connexion. En conséquence, quelle que soit la structure de l’architecture électrique ou électronique du véhicule en question, un même calculateur routeur pourra recevoir correctement une telle requête puis l’acheminer vers le bon réseau de communication embarqué. Enfin, une fois la requête reçue, les données sont chargées depuis le réseau de communication identifié. Il n’y a donc pas besoin de provisionner deux versions différentes de calculateur routeur, ni de coder le calculateur routeur pour lui indiquer, en fonction du véhicule particulier, depuis quel réseau de communication seront reçues les requêtes de chargement de données et les données. Le calculateur routeur réalise lui-même l’auto détection. La diversité matérielle et logicielle et réduite, car un même calculateur routeur pourra être monté sur plusieurs véhicules avec des architectures électriques ou électroniques différentes. De plus, le temps de chargement sera toujours optimal, puisque les données sont chargées depuis le canal de communication adéquat judicieusement choisi sur critère de répartition de charge réseau. Avantageusement, le port de connexion peut être équipé ou relié à un calculateur principal situé en amont du calculateur routeur, entre port de connexion et réseaux internes, qui dispose d’une information préalablement introduite par une requête à destination du calculateur principal, qui indique vers quel réseau interne les requêtes à destination du calculateur routeur devront être aiguillées. En d'autres termes, le calculateur principal est agencé entre le port de connexion et le calculateur routeur, et ne fait que transiter les données par le premier ou le deuxième réseau de communication. Avantageusement, le port de connexion est agencé pour être connecté au dispositif externe selon au moins un réseau de communication externe, qui peut être par exemple de technologie CAN (bus CAN LS, bus CAN HS, bus CAN FD) ou Ethernet, ou encore une liaison sans fil. Avantageusement, ledit moins un premier et ledit au moins un deuxième réseaux de communication embarqués et physiquement distincts peuvent être de technologie différente ou bien identique (bus CAN LS, bus CAN HS, bus CAN FD…. Avantageusement, le procédé de chargement de données comprend, une fois le réseau de communication identifié et avant le chargement de données, une étape mise en œuvre par le calculateur routeur et consistant à restreindre la, ou toute, communication entre le calculateur routeur et le port de connexion au réseau de communication identifié uniquement, au moins pendant le chargement des données. Autrement dit, la suite de la communication intervenant entre le port de connexion et le calculateur routeur est limitée au réseau identifié, le calculateur principal éventuel faisant alors office de passerelle. Cette restriction intervient pendant l’opération de chargement des données vers le calculateur routeur afin de satisfaire aux exigences sécuritaires de certains calculateurs. La sécurité de chargement est assurée, en évitant les doublons de communication, les parasites, ou les pertes de données, car seul le réseau identifié est « regardé » ou « activé » par le calculateur routeur. Avantageusement, le calculateur routeur est relié au port de connexion, éventuellement via le calculateur principal, par au moins deux réseaux de communication et le procédé comporte une étape de configuration permettant d’attribuer quel réseau servira à acheminer les données jusqu’au calculateur routeur. Avantageusement, le calculateur dans lequel les données sont à charger est un calculateur secondaire relié au calculateur routeur par un troisième réseau de communication, et le procédé comprend une étape mise en œuvre par le calculateur routeur et consistant à diriger les données chargées depuis le réseau de communication identifié vers le troisième réseau de communication. Le calculateur routeur dispose d’une « passerelle » ou d’un « aiguillage » entre son ou ses différents ports d’entrée et son ou différents ports de sortie, et les données de chargement sont dirigées vers le réseau de communication qui convient. D’une manière générale, le procédé de chargement de données permet de charger des données dans le calculateur routeur et/ou dans le calculateur secondaire, ce dernier étant connecté au port de connexion uniquement via le calculateur routeur. Avantageusement, le procédé de chargement de données comprend une étape intermédiaire mise en œuvre par le calculateur routeur et consistant à écrire et/ou décoder les données chargées dans une mémoire tampon du calculateur routeur. Pour des raisons de sécurité, les données de chargement sont stockées ou décodées au niveau du calculateur routeur avant d’être définitivement enregistrées ou envoyées dans un autre calculateur. Avantageusement, le procédé de chargement de données comprend une étape finale de décompression et/ou de décodage des données, mise en œuvre par le calculateur de véhicule dans lequel les données ont été chargées. Pour des raisons de temps de chargement et/ou sécurité optimales, les données de chargement sont décompressées et/ou décodées au niveau du calculateur dans lequel elles sont définitivement enregistrées (le calculateur routeur, ou le calculateur secondaire), ce qui rend toute interception des données avant ce calculateur inutile, car les données sont encore encodées. Un deuxième aspect de l’invention concerne un calculateur routeur embarqué dans un véhicule, agencé pour mettre en œuvre le procédé de chargement de données selon le premier aspect de l’invention. Un troisième aspect de l’invention concerne un véhicule automobile comprenant au moins un calculateur routeur selon le deuxième aspect de l’invention. Un quatrième aspect de l’invention concerne un programme d’ordinateur, enregistré sur un calculateur routeur de véhicule automobile et comprenant des portions / moyens / instructions de code de programme pour l’exécution des étapes du procédé de chargement selon le premier aspect de l’invention, lorsque ledit programme d’ordinateur est exécuté sur le calculateur routeur. Description des figures D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description détaillée qui suit d'un mode de réalisation de l'invention donné à titre d'exemple nullement limitatif et illustré par les dessins annexés, dans lesquels : représente un calculateur routeur pouvant mettre en œuvre le procédé selon l’invention ; représente des étapes du procédé selon l’invention mises en œuvre par le calculateur routeur de la figure 1 ; représente une première architecture électrique ou électronique de véhicule avec le calculateur routeur de la figure 1 pouvant mettre en œuvre le procédé selon l’invention ; représente une deuxième architecture électrique ou électronique de véhicule avec le calculateur routeur de la figure 1 pouvant mettre en œuvre le procédé selon l’invention ; représente une troisième architecture électrique ou électronique de véhicule avec le calculateur routeur de la figure 1 pouvant mettre en œuvre le procédé selon l’invention. Description détaillée de mode(s) de réalisation La figure 1 représente un calculateur routeur 10 agencé pour être connecté avec trois réseaux de communication R1, R2 et R3 d’un véhicule automobile. A titre d’exemple, le calculateur routeur 10 peut être un calculateur moteur multifonctions, mais on peut envisager un calculateur central du véhicule ou tout autre calculateur du véhicule. De plus, les réseaux de communication R1, R2 et R3 peuvent être des bus de données CAN selon la norme ISO 11898, et en particulier des bus CAN HS pour « haute vitesse », cependant tout autre réseau de communication peut être envisagé, avec divers degrés de multiplexage et/ou de vitesse de communication. Selon l’exemple représenté, le premier réseau de communication R1 est un bus CAN HS, noté CAN HS1, le deuxième réseau de communication R2 est un bus CAN HS, noté CAN HS2, et le troisième réseau de communication R3 est un bus CAN HS, pour « données rapides ». Il est cependant possible d’appliquer les mécanismes ici décrit à d’autres configurations de bus de données, par exemple, le premier réseau de communication R1 peut être un bus CAN FD "pour données flexibles". Le calculateur routeur 10 comprend des ports d’entrée/sortie 11, 12 et 13 pour recevoir/envoyer des données avec d’autres organes du véhicule. En particulier, et selon l’exemple donné, le calculateur routeur 10 est agencé pour être connecté via le premier réseau de communication R1 et le deuxième réseau de communication R2 avec un port de connexion 20 (voir figures 3, 4 et 5) du véhicule pour recevoir des données à charger. On peut envisager que le calculateur routeur 10 soit relié au port de connexion 20 via un calculateur principal, lui-même connecté au port de connexion 20 via des bus de données CAN HS, ou même un réseau ethernet. Le calculateur routeur 10 est également connecté avec d’autres calculateurs embarqués 30 du véhicule via le troisième réseau de communication R3. Une passerelle 14 est prévue dans le calculateur routeur 10, pour diriger des données depuis l’un des ports d’entrée/sortie reliés au premier réseau de communication R1 et au deuxième réseau de communicaiton R2 vers un autre des ports d’entrée/sortie relié au troisième réseau de communication R3. On peut aussi prévoir une mémoire tampon dans le calculateur routeur 10, non représentée, pour stocker de manière provisoire des données. Afin de pouvoir être monté sur plusieurs véhicules présentant différentes architectures électriques ou électroniques, le calculateur routeur 10 met en œuvre une étape E1 consistant à scruter ses différents ports d’entrées sortie, 11, 12, comme le montre la figure 2, afin de vérifier si une requête de chargement de données est reçue via le premier réseau de communication R1 ou via le deuxième réseau de communication R2. Si une requête de chargement de données est reçue via le premier réseau de communication R1 ou via le deuxième réseau de communication R2, alors le calculateur routeur 10 restreint la réception des données de chargement ultérieures au réseau identifié, ce qui correspondant à l’étape E2. Pour garantir un bon déroulement du chargement de données, le calculateur routeur 10 peut (ou doit) bloquer la communication avec l'autre réseau de communication pour communiquer exclusivement via le réseau de communication identifié. En résumé de la figure 2, le calculateur routeur 10 passe d’un état A avant réception d’une requête de chargement de données à un état B dans lequel un des réseaux de communication R1 ou R2 a été identifié et assigné pour charger des données, de configuration, de mise à jour ou de diagnostic. La figure 3 représente une première architecture électrique ou électronique de véhicule avec le calculateur routeur 10 de la figure 1 pouvant mettre en œuvre le procédé selon l’invention. Le véhicule comprend un port de connexion 20, un premier réseau de communication R1 (par exemple un bus de type CAN HS) et un deuxième réseau de communication R2 (par exemple aussi un bus de type CAN HS) connectant en parallèle le port de connexion 20 à plusieurs calculateurs, comme par exemple un calculateur principal (non représenté, mais qui serait agencé entre le port de connexion 20 et le calculateur routeur 10), un ou plusieurs calculateur(s) 40 et au calculateur routeur 10. Un (ou plusieurs) calculateur secondaire(s) 30 est (sont) connecté(s) au calculateur routeur 10 via un troisième réseau de communication R3. D’une manière générale, le port de connexion 20 comprend un connecteur normalisé, typiquement relié à un calculateur principal, souvent dénommé boîtier intelligent, que l’on peut appeler par exemple boîtier de servitude intelligent (et englobé ici dans la boite de référence 20 de la figure 3), pour assurer une connexion C1 et un dialogue avec un dispositif externe 100 (un poste de configuration/programmation en usine, ou une centrale de diagnostic en phase après-vente). Selon cette architecture, on peut connecter le dispositif externe 100 au port de connexion 20, selon un protocole à faible vitesse de transmission de données (par exemple 500 kbits/s). Ainsi, le port de connexion 20 est agencé pour distribuer des données à charger au calculateur 40 et au calculateur routeur 10 uniquement via le premier réseau de communication R1. Dans ce cas de figure, une requête de chargement de données sera uniquement envoyée au calculateur routeur 10 via le premier réseau de communication R1, si bien que ce sera ce dernier qui sera identifié à l’étape de scrutation E1 de la figure 2, et le calculateur routeur 10 se configurera pour recevoir des données à charger à l’étape E2 uniquement depuis ce réseau identifié. Bien entendu, la passerelle 14 aiguillera les données à charger depuis le premier réseau de communication R1 vers le troisième réseau de communication R3. La figure 4 représente une deuxième architecture électrique ou électronique de véhicule avec le calculateur routeur 10 de la figure 1 pouvant mettre en œuvre le procédé selon l’invention. Le véhicule comprend toujours le port de connexion 20, le premier réseau de communication R1 (bus de type CAN HS) et le deuxième réseau de communication R2 (bus de type CAN HS) connectant en parallèle le port de connexion 20 au(x) calculateur(s) 40 et au calculateur routeur 10. Un (ou plusieurs) calculateur secondaire(s) 30 est(sont) encore connecté(s) au calculateur routeur 10. Selon cet exemple d’architecture de la figure 4, on peut connecter le dispositif externe 100 au port de connexion 20, selon une connexion Ethernet avec protocole à haute vitesse de transmission de données (par exemple plusieurs Mbits/s). Afin de tirer parti de cette haute vitesse, le port de connexion 20 est agencé pour distribuer des données à charger au calculateur 40 via le premier réseau de communication R1 et au calculateur routeur 10 via le deuxième réseau de communication R2. Dans ce cas de figure, une requête de chargement de données sera uniquement envoyée au calculateur routeur 10 via le deuxième réseau de communication R2, si bien que ce sera ce dernier qui sera identifié à l’étape de scrutation E1 de la figure 2, et le calculateur routeur 10 se configurera pour recevoir des données à charger à l’étape E2 uniquement depuis ce réseau identifié. Bien entendu, la passerelle 14 aiguillera les données à charger depuis le deuxième réseau de communication R2 vers le troisième réseau de communication R3. La figure 5 représente une troisième architecture électrique ou électronique de véhicule avec le calculateur routeur 10 de la figure 1 pouvant mettre en œuvre le procédé selon l’invention. Le véhicule comprend toujours le port de connexion 20, le premier réseau de communication R1 (bus de type CAN HS) et le deuxième réseau de communication R2 (bus de type CAN HS), mais un quatrième réseau de communication R4 à plus grande vitesse de communication (par exemple un bus CAN FD) est prévu, connectant, en parallèle avec le deuxième réseau de communication R2, le port de connexion 20 au(x) calculateur(s) 40 et au calculateur routeur 10. Un (ou plusieurs) calculateur secondaire(s) 30 est(sont) encore connecté(s) au calculateur routeur 10 via le troisième réseau de communication R3. Selon cet exemple d’architecture de la figure 5, on peut connecter le dispositif externe 100 au port de connexion 20, selon une connexion Ethernet avec protocole à haute vitesse de transmission de données (par exemple plusieurs Mbits/s). Afin de tirer parti de cette haute vitesse, le port de connexion 20 est agencé pour distribuer des données à charger au calculateur 40 et au calculateur routeur 10 via le deuxième réseau de communication R2 et via le quatrième réseau de communication R4. Par exemple, pour ces véhicules, on peut affecter le transfert de données vers le calculateur 40 uniquement via le deuxième réseau de communication R2, et le transfert de données vers le calculateur routeur 10 uniquement via le quatrième réseau de communication R4 pour bénéficier de la haute vitesse de communication de ce dernier bus de données. Dans ce cas de figure, une requête de chargement de données sera uniquement envoyée au calculateur routeur 10 via le quatrième réseau de communication R4, si bien que ce sera ce dernier qui sera identifié à l’étape de scrutation E1 de la figure 2, et le calculateur routeur 10 se configurera pour recevoir des données à charger à l’étape E2 uniquement depuis ce réseau identifié. Bien entendu, la passerelle 14 aiguillera les données à charger depuis le quatrième réseau de communication R4 vers le troisième réseau de communication R3. Au vu de ces trois exemples des figures 3, 4 et 5, on peut noter que le même calculateur routeur 10 peut être utilisé, sans requérir de modification matérielle ni logicielle entre ces trois exemples. En effet, le procédé selon l’invention prévoyant une étape consistant à scruter de quel réseau de communication vient la requête de chargement de données, cela permet au calculateur routeur 10 de s’auto adapter à l’architecture du véhicule dans lequel il est monté, pour profiter au mieux des caractéristiques du véhicule et des vitesses de communication des réseaux en place. On comprendra que diverses modifications et/ou améliorations évidentes pour l'homme du métier peuvent être apportées aux différents modes de réalisation de l’invention décrits dans la présente description sans sortir du cadre de l'invention. Procédé de chargement de données dans un calculateur de véhicule, depuis un dispositif externe au véhicule, le véhicule comprenant : - un port de connexion (20) agencé pour être connecté au dispositif externe, - au moins un premier et au moins un deuxième réseaux de communication (R1, R2) embarqués et distincts, - un calculateur routeur (10) relié au port de connexion (20) par le premier et par le deuxième réseau de communication (R2) embarqués, le procédé comprenant au moins les étapes suivantes mises en œuvre par le calculateur routeur (10) et consistant à: - (E1) : scruter de manière répétitive si le calculateur routeur (10) reçoit depuis le port de connexion (20) une requête de chargement de données via le premier réseau de communication (R1) ou via le deuxième réseau de communication (R2), - recevoir une requête de chargement de données, - (E2) : identifier le réseau de communication parmi le premier réseau de communication (R1) ou le deuxième réseau de communication (R2) via lequel la requête de chargement de données est reçue, - charger des données depuis le port de connexion (20) et via le réseau de communication identifié. Procédé de chargement de données selon la revendication précédente, comprenant, une fois le réseau de communication identifié et avant le chargement de données, une étape mise en œuvre par le calculateur routeur (10) et consistant à restreindre la communication entre le calculateur routeur (10) et le port de connexion (20) uniquement au réseau de communication identifié, au moins pendant le chargement des données. Procédé de chargement de données selon l'une des revendication précédentes, - dans lequel le calculateur dans lequel les données sont à charger est un calculateur secondaire (30) relié au calculateur routeur (10) par un troisième réseau de communication (R3), le procédé comprenant une étape mise en œuvre par le calculateur routeur (10) et consistant à diriger les données chargées depuis le réseau de communication identifié vers le troisième réseau de communication (R3). Procédé de chargement de données selon l'une des revendications précédentes, comprenant une étape intermédiaire mise en œuvre par le calculateur routeur (10) et consistant à écrire et/ou décoder les données chargées dans une mémoire tampon du calculateur routeur (10). Procédé de chargement de données selon l'une des revendications précédentes, comprenant une étape finale de décompression et/ou de décodage des données, mise en œuvre par le calculateur de véhicule dans lequel les données ont été chargées. Calculateur routeur (10) embarqué dans un véhicule, agencé pour mettre en œuvre le procédé de chargement de données selon l'une des revendications précédentes. Véhicule automobile comprenant au moins un calculateur routeur (10) selon la revendication précédente. Programme d’ordinateur, enregistré sur un calculateur routeur (10) de véhicule automobile et comprenant des portions / moyens / instructions de code de programme pour l’exécution des étapes du procédé de chargement selon l’une des revendications 1 à 5, lorsque ledit programme d’ordinateur est exécuté sur le calculateur routeur (10).