Brevet FR3108006A1 — publié le 20210910

Réseau de communication de véhicule, comprenant : - une pluralité de calculateurs (ECU1-ECU6), - une passerelle de communication (P), comprenant une unité de découverte (UD), une unité de cartographie (UC), et une unité de passerelle (UP), ● dans lequel l'unité de découverte (UD) est agencée pour envoyer des messages de découverte de service à chacun des calculateurs (ECU1-ECU6), ● dans lequel l'unité de cartographie (UC) est agencée pour stocker et mettre à jour une carte de services, ● dans lequel l'unité de passerelle (UP) est agencée pour : - recevoir, de l'un des calculateurs (ECU1-ECU6), un message de service destiné à un autre des calculateurs (ECU1-ECU6), - envoyer à l'unité de cartographie (UC) une requête d'identification, dans la carte de services, du message de service, - envoyer, à l'autre des calculateurs (ECU1-ECU6), le message de service. Figure pour l'abrégé: Fig. 1 Réseau et procédé de communication de véhicule. Domaine technique de l'invention La présente invention concerne de manière générale un réseau de communication et un procédé de communication pour un véhicule automobile, dans le cas où de multiples calculateurs sont embarqués dans le véhicule, et n'utilisent pas forcément les mêmes protocoles de communication. État de la technique Il est connu dans l’art antérieur de prévoir un véhicule avec de multiples calculateurs dont certains n'utilisent pas le même protocole de communication. En particulier, le document US20140086242 décrit un routage particulier de messages en fonction du protocole du message. Cependant, ce système n'est pas versatile, car il n'existe qu'un nombre prédéfini de routages, et de protocoles utilisés. Cependant, le nombre de protocoles et de routage utilisés par les calculateurs d'un véhicule varie en fonction de chaque modèle de véhicule, en fonction des options au sein d'un même modèle et même désormais en fonction chaque véhicule quand le client choisit de connecter un appareil nomade ou un autre. En conséquence, le système ci-dessus décrit avec une architecture qui est supposée connue dès le début ne peut être utilisé, ou nécessite un grand nombre de références. Présentation de l'invention Un but de la présente invention est de répondre aux inconvénients de l’art antérieur mentionnés ci-dessus et en particulier, tout d'abord, de proposer un réseau de communication et/ou un procédé de communication utilisable(s) dans un véhicule automobile embarquant une pluralité de calculateurs de véhicule, utilisant au moins deux protocoles de communication différents, sans pour autant requérir de lourdes opérations de configuration et/ou de multiples références. Pour cela un premier aspect de l'invention concerne un réseau de communication de véhicule, comprenant : - une pluralité de calculateurs de véhicule, utilisant au moins deux protocoles de communication différents, chacun de la pluralité de calculateurs comprenant un répertoire de services stockant chacun un inventaire de services du calculateur listant, pour chaque service, au moins un protocole de communication et un routage de communication du calculateur, - au moins une passerelle de communication, connectée à chacun de la pluralité de calculateurs, comprenant une unité de découverte, une unité de cartographie, et une unité de passerelle, ● dans lequel l'unité de découverte est agencée pour envoyer des messages de découverte de service à chacun des répertoires de services de la pluralité de calculateurs, pour recevoir en retour de chacun des répertoires de services l'inventaire de services de chaque calculateur, ● dans lequel l'unité de cartographie est agencée pour stocker et mettre à jour une carte de services avec les inventaires de service reçus de chacun des calculateurs, de sorte à pouvoir identifier un protocole de communication et un routage de communication associé à un message de service, ● dans lequel l'unité de passerelle est agencée pour : - recevoir, de l'un des calculateurs, un message de service destiné à un autre des calculateurs, - envoyer à l'unité de cartographie une requête d'identification, dans la carte de services, du message de service, - recevoir de l'unité de cartographie l'identification du protocole de communication et du routage de communication associés au dit message de service reçu et à utiliser pour envoyer le message de service à l'autre des calculateurs, - envoyer, à l'autre des calculateurs, le message de service en utilisant le protocole de communication et le routage de communication identifiés. Selon l'invention, les calculateurs sont embarqués dans le véhicule, et la passerelle effectue, via l'unité de découverte, une scrutation vers chacun des calculateurs, pour recevoir en réponse les services effectués, avec leurs principales caractéristiques (protocole à utiliser, adresse ou routage). Ainsi une carte de services peut être dressée et maintenue pour ensuite identifier, lors de la réception d'un message émis par un premier calculateur, à quel autre deuxième calculateur il est destiné et selon quel protocole il doit être traduit le cas échéant. Cette phase de scrutation initiale ou d'apprentissage permet de s'adapter à tout véhicule, et même à des modifications du réseau d'un même véhicule. Le réseau de communication est embarqué, si bien que la passerelle est elle-même embarquée, mais elle peut très bien être agencée pour communiquer avec des calculateurs ou des serveurs distants ou débarqués du véhicule. On peut prévoir que la passerelle comprenne : - des ports de communication dédiés à certains protocoles de communication prédéterminés, conformes par exemple à des protocoles de communication dédiés à l'automobile (tels qu'un protocole de diagnostic internet (DoIP), un protocole de commande de message intermédiaire (SOME/IP), un protocole de découverte de service (SOME/IP-SD)…), et - des ports de communication dédiés à certains autres protocoles de communication prédéterminés non liés au domaine automobile (protocole de publication-abonnement (MQTT), protocole de transfert hypertextuel sécurisé (HTTPs), protocole de communication pour navigateur internet (WebSocket)…). Avantageusement, l'unité de passerelle est agencée pour : - recevoir, de l'un des calculateurs, le message de service selon un premier protocole de communication, - envoyer, à l'autre des calculateurs, le message de service en utilisant un deuxième protocole de communication, différent du premier protocole de communication. Avantageusement, le répertoire de services comprend, en plus du protocole de communication et du routage de communication du calculateur : - le nom du service, et/ou - un nom et/ou adresse de port de communication du calculateur ; et/ou - un nom et/ou adresse de calculateur du calculateur ; et/ou - un nom et/ou adresse de sous réseau du calculateur. Avantageusement, l'unité de découverte est agencée pour envoyer des messages de découvertes à intervalles réguliers, par exemple : - lors d'un démarrage du véhicule, - lors de la détection de la connexion d'un nouveau calculateur, - lors d'une phase de réinitialisation. En d'autres termes, une scrutation du réseau est régulière, dans le but de mettre à jour la carte des services. Un deuxième aspect de l'invention est relatif à un véhicule automobile comprenant un réseau de communication selon le premier aspect de l'invention. Un troisième aspect de l'invention concerne un procédé de communication mis en œuvre par le réseau de communication selon le premier aspect de l'invention, comprenant une phase d'apprentissage avec les étapes consistant à: - envoyer des messages de découverte de service à chacun des répertoires de services de la pluralité de calculateurs, - recevoir en retour de chacun des répertoires de services l'inventaire de services de chaque calculateur, - stocker et mettre à jour une carte de services avec les inventaires de services reçus de chacun des calculateurs, de sorte à pouvoir identifier un protocole de communication et un routage de communication associé à un message de service. Avantageusement, l'étape d'envoi des messages de découverte de service à chacun des répertoires de services de la pluralité de calculateurs est réitérée de manière régulière, par exemple : - lors d'un démarrage du véhicule, - lors de la détection de la connexion d'un nouveau calculateur, - lors d'une phase de réinitialisation. Avantageusement, le procédé de communication comprend une étape préliminaire consistant à charger, dans chacun de la pluralité de calculateurs, le répertoire de services stockant chacun un inventaire de services du calculateur listant, pour chaque service, au moins un protocole de communication et un routage de communication du calculateur. Avantageusement, le procédé de communication comprend une phase de communication avec les étapes consistant à : - recevoir, de l'un des calculateurs, un message de service destiné à un autre des calculateurs, - envoyer à l'unité de cartographie une requête d'identification, dans la carte de services, du message de service, - recevoir l'identification du protocole de communication et du routage de communication associés au dit message de service reçu et à utiliser pour envoyer le message de service à l'autre des calculateurs, - envoyer, à l'autre des calculateurs, le message de service en utilisant le protocole de communication et le routage de communication identifiés. Avantageusement, le répertoire de services comprend, en plus du protocole de communication et du routage de communication du calculateur : - le nom du service, et/ou - un nom et/ou adresse de port de communication du calculateur ; et/ou - un nom et/ou adresse de calculateur du calculateur ; et/ou - un nom et/ou adresse de sous réseau du calculateur. Un quatrième aspect de l'invention concerne un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé de communication selon le troisième aspect de l'invention, lorsque ledit programme est exécuté sur un ordinateur. Un cinquième aspect de l'invention concerne un produit programme d’ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur, comprenant des moyens de programmation lisibles par ordinateur pour effectuer les étapes du procédé de communication selon le troisième aspect de l'invention, lorsque ledit programme fonctionne sur un ordinateur. Description des dessins 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 une vue générale d'un véhicule embarquant une pluralité de calculateurs de véhicule, utilisant au moins deux protocoles de communication différents, connectés entre eux par une passerelle de communication ; représente une première étape d'une phase d'auto-apprentissage d'un procédé de communication entre les différents calculateurs ; représente une deuxième étape d'une phase d'auto-apprentissage d'un procédé de communication entre les différents calculateurs ; représente une phase de communication entre deux calculateurs parmi les différents calculateurs du véhicule. Description détaillée de l'invention La figure 1 représente un véhicule embarquant plusieurs calculateurs ECU1 à ECU6 selon cet exemple simplifié. Chaque calculateur ECU1 – ECU6 comprend typiquement une unité de calcul, une ou plusieurs unité de mémoire, et en particulier chaque calculateur ECU1 – ECU6 comprend un répertoire de services noté R1 à R6 respectivement. On appelle typiquement ici service des fonctions assurées par les calculateurs, ou toute opération de contrôle ou de commande. Selon l'exemple représenté, on définit que les calculateurs ECU1-ECU3 sont des calculateurs automobiles (typiquement construits selon une architecture conforme au standard AUTOSAR), c’est-à-dire qu'ils sont dédiés au fonctionnement du véhicule. Il peut s'agir de calculateurs moteur, de calculateurs de sécurité, de calculateurs pilotant des organes du véhicule tels qu'un groupe de climatisation, un autoradio… A tire d'exemple, les calculateurs ECU1-ECU3 peuvent mettre un œuvre des protocoles de communication spécifiques liés au domaine automobile, tels qu'un protocole de diagnostic internet (DoIP), un protocole de commande de message intermédiaire (SOME/IP), un protocole de découverte de service (SOME/IP-SD)… Les calculateurs ECU3 – ECU6 selon l'exemple représenté ne sont pas des calculateurs automobiles, et fonctionnent sous d'autres systèmes (UNIX, Linux, Andraoid…) en utilisant d'autres protocoles (protocole de publication-abonnement (MQTT), protocole de transfert hypertextuel sécurisé (HTTPs), protocole de communication pour navigateur internet (WebSocket))… Par exemple, les calculateurs ECU3 – ECU6 peuvent être connectés à des réseaux distants via internet (ondes radio 3G, 4G, 5G, Wifi, USB, Bluetooth…) L'invention propose de manière schématique une passerelle P représentée figure 1 entre les calculateurs ECU1-ECU6, qui comprend une unité de découverte UD, une unité de cartographie UC, et une unité de passerelle UP. Chaque calculateur ECU1-ECU6 est connecté avec la passerelle pour transmettre des messages de service. Typiquement, un message de service est relatif à une demande de service, c'est à dire une demande de fonction, d'opération effectuée par un calculateur, et demandée par un autre calculateur (envoi d'une demande d'affichage, une demande de commande d'une organe du véhicule…). A cet effet, l'invention propose un procédé de communication avec une phase d'apprentissage et ensuite une phase de communication. Lors de la phase d'apprentissage, la passerelle va effectuer une scrutation de chaque calculateur ECU1-ECU6 pour dresser la liste des services que chaque calculateur ECU1-ECU6 propose, afin de pouvoir identifier, lors de la phase de communication un message de service envoyé par un calculateur et le diriger vers un autre calculateur en utilisant le protocole de communication et le routage adéquats. En particulier, la figure 2 représente une première étape de la phase d'apprentissage, durant laquelle l'unité de découverte UD de la passerelle P envoie à chacun des calculateurs ECU1 à ECU6 un message de découverte de service. En réponse, comme représenté figure 3, chaque répertoire de services R1-R6 envoie à la passerelle P, et en particulier à l'unité de cartographie UC, un inventaire de services IS, qui contient notamment, pour chaque service proposé par le calculateur en question : - au moins le nom ou type de protocole de communication utilisé par le calculateur, - au moins le routage de communication du calculateur, - au moins le nom du service, et/ou - par exemple un nom et/ou adresse de port de communication du calculateur ; et/ou - par exemple un nom et/ou adresse de calculateur du calculateur ; et/ou - par exemple un nom et/ou adresse de sous réseau du calculateur. L'unité de cartographie UC peut donc stocker toutes ces informations reçues, pour dresser une carte de services, qui intègre les inventaires de services IS de chacun des calculateurs ECU1-ECU6. En conséquence, à la suite de cette scrutation de la phase d'apprentissage, l'unité de cartographie regroupe dans la carte de service tous les services des calculateurs ECU1-ECU6 du véhicule, avec au moins le nom du service, le protocole utilisé et un routage à utiliser. A ce stade, la passerelle est alors capable de retrouver un service proposé et d'identifier le protocole de communication à utiliser, ainsi que le routage de communication associé. On peut bien sûr prévoir de réitérer cette phase de scrutation ou d'apprentissage pour maintenir à jour la carte de services, pour prendre en compte des changements dans les calculateurs connectés au réseau du véhicule. On peut effectuer cette phase d'apprentissage à chaque démarrage du véhicule, de manière régulière (tous les jours, toutes les heures…), ou lors d'une opération de maintenance ou de mise à jour du système informatique du véhicule. En tout état de cause, une fois la phase d'apprentissage terminée et une première version de carte de services définie, une phase de communication peut être effectuée en utilisant la passerelle P. Selon l'exemple de la figure 4, le calculateur ECU2 envoie un message de service MS à l'unité de passerelle UP de la passerelle P, selon un premier protocole de communication P1. A réception de ce message de service MSP1, l'unité de passerelle UP peut interroger l'unité de cartographie UC pour identifier le destinataire de ce message de service et le protocole de communication à utiliser dans la carte de services. En retour, l'unité de cartographie donne à l'unité de passerelle les données relative au service en question, grâce aux données récoltées lors de la phase d'apprentissage, à savoir au moins le (deuxième) protocole de communication et le routage de communication associés au service en question. En conséquence, l'unité de passerelle UP peut traduire le message de service dans le protocole de communication à utiliser, le deuxième protocole de communication P2 et envoyer le message de service MS selon le routage de communication identifié, c’est-à-dire au calculateur ECU6 dans cet exemple. 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. Il est à noter que la passerelle P est représentée d'un seul bloc qui englobe l'unité de découverte UD, l'unité de cartographie UC, et l'unité de passerelle UP, mais on peut prévoir une architecture distribuée ou éclatée, ou même dupliquée avec soit des passerelles P multiples, et/ou des unités de découverte UD, des unités de cartographie UC, et des unités de passerelle UP distinctes et séparées. De même, les calculateurs ECU1-ECU6 peuvent partager un répertoire de services en commun, ou en comporter plusieurs, selon les besoins. Réseau de communication de véhicule, comprenant : - une pluralité de calculateurs (ECU1-ECU6) de véhicule, agencés pour utiliser au moins deux protocoles de communication (P1, P2) différents, chacun de la pluralité de calculateurs (ECU1-ECU6) comprenant un répertoire de services (R1-R6) stockant un inventaire de services (IS) du calculateur (ECU1-ECU6) listant, pour chaque service, au moins un protocole de communication (P1, P2) et au moins un routage de communication du calculateur (ECU1-ECU6), - au moins une passerelle de communication (P), connectée à chacun de la pluralité de calculateurs (ECU1-ECU6), comprenant une unité de découverte (UD), une unité de cartographie (UC), et une unité de passerelle (UP), ● dans lequel l'unité de découverte (UD) est agencée pour envoyer des messages de découverte de service à chacun des répertoires de services (R1-R6) de la pluralité de calculateurs (ECU1-ECU6), pour recevoir en réponse de chacun des répertoires de services (R1-R6) l'inventaire de services (IS) de chaque calculateur (ECU1-ECU6), ● dans lequel l'unité de cartographie (UC) est agencée pour stocker et mettre à jour une carte de services avec les inventaires de service (IS) reçus de chacun des calculateurs (ECU1-ECU6), de sorte à pouvoir identifier un protocole de communication (P1, P2) et un routage de communication associé à un message de service (MS), ● dans lequel l'unité de passerelle (UP) est agencée pour : - recevoir, de l'un des calculateurs (ECU1-ECU6), un message de service (MS) destiné à un autre des calculateurs (ECU1-ECU6), - envoyer à l'unité de cartographie (UC) une requête d'identification, dans la carte de services, du message de service (MS), - recevoir de l'unité de cartographie l'identification du protocole de communication (P1, P2) et du routage de communication associés au dit message de service (MS) reçu et à utiliser pour envoyer le message de service (MS) à l'autre des calculateurs (ECU1-ECU6), - envoyer, à l'autre des calculateurs (ECU1-ECU6), le message de service (MS) en utilisant le protocole de communication (P1, P2) et le routage de communication identifiés. Réseau de communication selon la revendication précédente, dans lequel l'unité de passerelle (UP) est agencée pour : - recevoir, de l'un des calculateurs (ECU1-ECU6), le message de service (MS) selon un premier protocole de communication (P1), - envoyer, à l'autre des calculateurs (ECU1-ECU6), le message de service (MS) en utilisant un deuxième protocole de communication (P2), différent du premier protocole de communication (P1). Réseau de communication selon l'une des revendications précédentes, dans lequel le répertoire de services (R1-R6) comprend, en plus du protocole de communication (P1, P2) et du routage de communication du calculateur (ECU1-ECU6) : - le nom du service, et/ou - un nom et/ou adresse de port de communication du calculateur (ECU1-ECU6) ; et/ou - un nom et/ou adresse de calculateur du calculateur (ECU1-ECU6) ; et/ou - un nom et/ou adresse de sous réseau du calculateur (ECU1-ECU6). Véhicule automobile comprenant un réseau de communication selon l'une des revendications 1 à 3. Procédé de communication mis en œuvre par le réseau de communication selon l'une des revendications 1 à 3, comprenant une phase d'apprentissage avec les étapes consistant à: - envoyer des messages de découverte de service à chacun des répertoires de services (R1-R6) de la pluralité de calculateurs (ECU1-ECU6), - recevoir en réponse de chacun des répertoires de services (R1-R6) l'inventaire de services (IS) de chaque calculateur (ECU1-ECU6), - stocker et mettre à jour une carte de services avec les inventaires de service (IS) reçus de chacun des calculateurs (ECU1-ECU6), de sorte à pouvoir identifier un protocole de communication (P1, P2) et un routage de communication associé à un message de service (MS). Procédé de communication selon la revendication précédente, comprenant une étape préliminaire consistant à charger, dans chacun de la pluralité de calculateurs (ECU1-ECU6), le répertoire de services (R1-R6) stockant un inventaire de services (IS) du calculateur (ECU1-ECU6) listant, pour chaque service, au moins un protocole de communication (P1, P2) et un routage de communication du calculateur (ECU1-ECU6). Procédé de communication selon l'une des revendication 5 ou 6, comprenant une phase de communication avec les étapes consistant à : - recevoir, de l'un des calculateurs (ECU1-ECU6), un message de service (MS) destiné à un autre des calculateurs (ECU1-ECU6), - envoyer à l'unité de cartographie (UC) une requête d'identification, dans la carte de services, du message de service (MS), - recevoir l'identification du protocole de communication (P1, P2) et du routage de communication associés au dit message de service (MS) reçu et à utiliser pour envoyer le message de service (MS) à l'autre des calculateurs (ECU1-ECU6), - envoyer, à l'autre des calculateurs (ECU1-ECU6), le message de service (MS) en utilisant le protocole de communication (P1, P2) et le routage de communication identifiés. Procédé de communication selon l'une des revendication 5 à 7, dans lequel le répertoire de services (R1-R6) comprend, en plus du protocole de communication (P1, P2) et du routage de communication du calculateur (ECU1-ECU6) : - le nom du service, et/ou - un nom et/ou adresse de port de communication du calculateur (ECU1-ECU6) ; et/ou - un nom et/ou adresse de calculateur du calculateur (ECU1-ECU6) ; et/ou - un nom et/ou adresse de sous réseau du calculateur (ECU1-ECU6). Programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé de communication selon l'une des revendication 5 à 8, lorsque ledit programme est exécuté sur un ordinateur. Produit programme d’ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur, comprenant des moyens de programmation lisibles par ordinateur pour effectuer les étapes du procédé de communication selon l'une des revendication 5 à 8, lorsque ledit programme fonctionne sur un ordinateur.