Brevet FR3164036A1 — publié le 20260102

Un procédé d’adressage dans un réseau multiplexé comprenant un nœud maître et une pluralité de nœuds esclaves et dont au moins une partie des adresses des nœuds esclaves est configurée en utilisant un procédé de shunt de bus, ledit procédé d’adressage comprend les étapes effectuées par le nœud maître de : envoi (201) d’une consigne de configuration d’adresse à un nœud esclave configurable par le procédé de shunt de bus ; réception (203) d’un signal de prise en compte de la configuration par le nœud esclave  ; en cas d’échec de la réception du signal, itération des deux étapes précédentes jusqu’à la réception du signal de prise en compte. Un produit-programme, un réseau, un système et un véhicule automobile comprenant le système sont également décrits. Figure à publier avec l’abrégé : Fig 2 Procédé d’adressage dans un réseau multiplexé comprenant un nœud maître et une pluralité de nœuds esclaves configurables avec un procédé de shunt de bus. La présente invention se rapporte à un procédé d’adressage dans un réseau multiplexé comprenant un nœud maître et une pluralité de nœuds esclaves configurables avec un procédé de shunt de bus, un produit-programme d’ordinateur, un réseau de communication, un système et un véhicule automobile comprenant un tel système. État de la technique Un réseau de communication multiplexé de type LIN (acronyme anglais « Local Interconnect Network ») (LIN est une marque déposée) est un réseau de communication de faible complexité et de faible coût destiné à être utilisé dans des applications automobiles. Le protocole LIN est normalisé sous la référence ISO 17987 entre 2016 et 2019. Un tel réseau comprend essentiellement un nœud maître et des nœuds esclaves. Le nœud maître contrôle le flux de données sur le réseau et les nœuds esclaves répondent aux demandes du nœud maître. Lorsqu’un esclave est ajouté au réseau LIN, il doit recevoir un identifiant unique en tant qu’adresse pour pouvoir communiquer avec les autres nœuds du réseau. Le réseau LIN utilise un mécanisme communément désigné par : « auto-adressage des esclaves », pour permettre aux esclaves d’obtenir une adresse automatiquement en fonction de leur position physique sur le réseau, ce qui simplifie l’installation et la configuration du réseau. En particulier, le réseau LIN utilise un algorithme de configuration appelé « Bus Shunt Method » (BSM — procédé de shunt de bus) pour cet autoadressage. L’algorithme BSM est décrit en détail dans le document « LIN Bus Shunt Slave Node Position Detection », révision 1.0, 10 décembre 2008. Cependant, le procédé décrit ne prévoit pas de sécurisation ni de gestion des défauts pendant l’affectation des adresses, ce qui n’est pas adapté à une application automobile. Une solution permettant de sécuriser le procédé décrit serait d’approvisionner différentes références de nœuds esclaves ayant des adressages prédéfinis, ce qui nuit à la flexibilité, nécessite des espaces de stockage supplémentaires en usine pendant la production, ainsi qu’en après-vente pour l’entretien des véhicules automobiles. Il existe donc un réel besoin d’un procédé et d’un système de configuration d’adressage qui résolvent tout ou partie des inconvénients précités. Description de l’invention Pour résoudre un ou plusieurs des inconvénients cités précédemment, selon un premier mode de réalisation, un procédé d’adressage dans un réseau multiplexé comprenant un nœud maître et une pluralité de nœuds esclaves et dont au moins une partie des adresses des nœuds esclaves est configurée en utilisant un procédé de shunt de bus, ledit procédé d’adressage comprend les étapes effectuées par le nœud maître de : envoi d’une consigne de configuration d’adresse à un nœud esclave configurable par le procédé de shunt de bus ; réception d’un signal de prise en compte de la configuration par le nœud esclave  ; en cas d’échec de la réception du signal, itération des deux étapes précédentes jusqu’à la réception du signal de prise en compte. Ainsi, le nœud maître maîtrise l’état des nœuds esclaves et peut détecter ceux qui sont en défaut, sans adresse ou avec une adresse erronée. Des caractéristiques ou des modes de réalisation particuliers, utilisables seuls ou en combinaison sont : en cas d’échec, l’itération est exécutée jusqu’à un nombre maximal d’itérations  ; lorsque le nombre maximal d’itérations est atteint sans réception du signal de prise en compte, le procédé comprend en outre une étape de mémorisation d’un message d’erreur par le nœud maître  ; le nœud maître attend la réception du signal de prise en compte pendant une durée maximale prédéterminée ; et/ou les étapes sont répétées successivement pour chaque nœud esclave ayant une adresse à configurer. Dans un deuxième mode de réalisation, un produit programme d’ordinateur comprend des instructions de code de programme pour la mise en œuvre du procédé ci-dessus lorsque le produit-programme est exécuté sur un calculateur. Dans un troisième mode de réalisation, un réseau de communication multiplexé comprend un nœud maître et des nœuds esclaves et dont au moins une partie des adresses des nœuds esclaves est configurée en utilisant un procédé de shunt de bus, le nœud maître étant apte à communiquer avec chacun des nœuds esclaves de manière à exécuter le procédé ci-dessus. Dans un quatrième mode de réalisation, un système comprend un réseau de communication selon le troisième mode de réalisation. Dans un cinquième mode de réalisation, un véhicule automobile comprend un système selon le quatrième mode de réalisation. Brève description des figures L’invention sera mieux comprise à la lecture de la description qui suit, faite uniquement à titre d’exemple, et en référence aux figures en annexe dans lesquelles : FIG. 1 représente une vue d’un réseau multiplexé comprenant un nœud maître et des nœuds esclaves selon un mode de réalisation ; FIG. 2 représente un ordinogramme d’un procédé d’adressage de certains nœuds esclaves du réseau de la FIG. 1 selon un mode de réalisation ; et FIG. 3 représente un diagramme d’état d’un mode de réalisation détaillée du procédé d’adressage de la FIG. 2 . Modes de réalisation Les modes de réalisation présentés ci-après font référence à un véhicule automobile, une voiture. Cependant, l’homme du métier comprend que ceux-ci sont également utilisables avec d’autres types de véhicule tels que les camionnettes, les vans, etc. En référence à la FIG. 1 , un réseau 101 de type LIN comprend un nœud maître, 103 et sept nœuds esclaves, 105, 107, 109, 111, 113, 115, 117. Parmi ces nœuds esclaves, les nœuds, 105, 109, 115, 117 ont une adresse non configurable et les nœuds 107, 111, 113 ont une adresse configurable. La configuration des adresses de ces trois derniers nœuds utilise le procédé de shunt de bus appelé ci-après BSM. Dans la FIG. 1 , chaque nœud est illustré par le circuit électronique permettant ou non la configuration d’adresse en BSM. Le procédé de configuration d’adresse décrit ci-après va détailler le dialogue entre le nœud maître 103 et le nœud esclave à adresse configurable 107. On comprend qu’une fois le procédé terminé pour ce nœud, les étapes sont répétées pour les autres nœuds esclaves 111, 113, et plus généralement pour tous les nœuds esclaves à adresse configurable du réseau. En référence à la FIG. 2 , le procédé de configuration comprend les étapes suivantes mises en œuvre par le nœud maître 103. À l’étape 201, le nœud maître envoie une consigne de configuration d’adresse au nœud esclave 107 configurable par le procédé de shunt de bus. À l’étape 203, il attend la réception d’un signal de prise en compte de la configuration par le nœud esclave 107. S’il ne réceptionne pas le signal de prise en compte, il itère l’étape 201 et l’étape 203. S’il réceptionne le signal de prise en compte, cela veut dire que le nœud esclave 107 a une adresse bien configurée et le procédé se termine par un enregistrement de cette adresse, étape 205. De façon qu’en cas de non-réception du signal de prise en compte, le nœud maître 103 ne reste pas bloqué à l’étape 203, il est avantageux de lancer un minuteur fixant un temps maximal prédéterminé d’attente. À la fin de ce délai, le nœud maître considère que l’étape 203 est en échec. Par ailleurs, il est également avantageux de prévoir un nombre maximal d’itérations. Lorsque le nombre maximal d’itérations est atteint, étape 207, le procédé s’arrête et le nœud maître considère que le nœud esclave 107 est en erreur et il mémorise un code d’erreur associé, étape 209. De façon plus détaillée et en reprenant les acronymes utilisés dans la documentation LIN référencée ci-dessus, la FIG. 3 représente un diagramme d’états du procédé décrit ci-dessus. Avant de décrire les transitions, les états du diagramme sont : Début de la fonction ST_FONC, 301 ; Initialisation BSM BSM_INITIALIZATION 303 ; Adresse de nœud suivant NEXT_NAD 305 ; Stockage adresse de nœud STORE_NAD 307 ; Requête de vérification d’adresse NAD_CHECK_REQ 309 ; Réponse de vérification d’adresse NAD_CHECK_RESP 311 ; Fin de la requête d’adressage BSM BSM_FINISHED 313 ; Fin du procédé BSM_END 315. Les états 303 à 315 sont inclus dans le procédé ST_ASSIGN_NAD 317. Les transitions entre états sont alors les suivantes : La transition 321 est déclenchée par le lancement de la routine. Le nœud maître envoie une trame de mode BSM dans une trame DIAG_REQUEST. Le compteur ATTEMPT_INDEX est initialisé à 1. Le compteur SLAVE_INDEX est initialisé à 1. Le statut BSM est égal à « learning in progress » (« apprentissage en cours »). La transition 323 est enclenchée par la notification de transmission de la trame de mode BSM. Le nœud maître envoie la trame de requête NEXT_NAD pour associer le nœud esclave (SLAVE_INDEX) dans la trame DIAG_REQUEST. Le nouveau champ NAD contenu dans la trame doit prendre la valeur NAD définie pour ce SLAVE_INDEX. La transition 325 est enclenchée par la notification de transmission de la trame NEXT_NAD. Le nœud maître envoie la requête STORE_NAD dans la trame DIAG_REQUEST afin de stocker le NAD dans une mémoire non volatile NVM. La transition 327 est enclenchée par la notification de la transmission de la trame STORE_NAD. Le nœud maître envoie une requête de gestion de session dans une trame DIAG-REQUEST avec NAD égal à SLAVE_INDEX. La transition 329 est enclenchée par la notification de la transmission de la trame NAD_CHECK_REQ. Le nœud maître envoie un en-tête 0x3D afin d’obtenir une réponse du dernier esclave désigné SLAVE_INDEX. La transition 331 est enclenchée par la notification de la réception de la trame NAD_CHECK_RESP et le compteur SLAVE_INDEX est strictement inférieur au nombre d’esclaves NB_SLAVE. Le compteur SLAVE_INDEX est incrémenté de 1. Le nœud maître envoie la trame de requête NEXT_NAD dans une trame DIAG_REQUEST pour associer l’esclave SLAVE_INDEX. Le nouveau champ NAD contenu dans cette trame prend la valeur NAD définie pour ce SLAVE_INDEX. La transition 333 est enclenchée par le compteur SLAVE_INDEX supérieur ou égal à NB_SLAVE et la notification de la réception de la trame NAD_CHECK_RESP. Le nœud maître envoie la requête « BSM Finished » (« BSM fini ») dans une trame DIAG_REQUEST. Si le drapeau PROG_ERROR est actif, le défaut est activé. Il en est de même si le drapeau « TRANSMISSION_ERROR » est actif. Le drapeau BSM_ERROR est mis égal à NO_ERROR. La transition 335 est enclenchée par la notification de la transmission de la trame « BSM Finished » ou le champ TIMEOUT_10 est dans BSM_END. Le nœud maître bascule sur tableau de programmation fonctionnelle LIN (activé dans une étape précédente en accord avec la gestion de la diversité). Le statut BSM est égal à « learning finished OK » (apprentissage terminé OK) puis, après le délai BSM_TMP, le statut BSM est égal à « learning not launched » (apprentissage non démarré). La transition 337 est enclenchée par le délai TIMEOUT_10 est à l’état BSM_INITIALIZATION. Le nœud maître envoie la requête « BSM Finished » dans une trame DIAG_REQUEST. L’index NB_SLAVE_ERROR est égal à SLAVE_INDEX et le compteur FINISH_INDEX est mis à 1. La transition 339 est enclenchée par le délai TIMEOUT_10 dans l’état NEXT_NAD. Le nœud maître envoie la requête « BSM Finished » dans une trame DIAG_REQUEST. Le compteur NB_SLAVE_ERROR est égal à SLAVE_INDEX et le compteur FINISH_INDEX est mis à 1. La transition 341 est enclenchée par le délai TIMEOUT_10 dans l’état STORE_NAD. Le nœud maître envoie une requête « BSM Finished » dans une trame DIAG_REQUEST. Le compteur NB_SLAVE_ERROR est égal à SLAVE_INDEX et le compteur FINISH_INDEX est mis à 1. La transition 343 est enclenchée par le délai TIMEOUT_10 dans l’état NAD_CHECK_REQ. Le nœud maître envoie une requête « BSM Finished » dans une trame DIAG_REQUEST. Le compteur NB_SLAVE_ERROR est égal à SLAVE_INDEX et le compteur FINISH_INDEX est mis à 1. La transition 345 est enclenchée par l’événement TIME_OUT_NO_ANSWER dans l’état NAD_CHECK_RESP. Le nœud maître envoie une requête « BSM Finished » dans une trame DIAG_REQUEST. Le compteur NB_SLAVE_ERROR est égal à SLAVE_INDEX et le compteur FINISH_INDEX est mis à 1. La transition 347 est enclenchée par le compteur ATTEMP_INDEX strictement inférieur à NB_ATTEMPT et la notification de la transmission de la trame « BSM_Finished ». Le compteur SLAVE_INDEX est initialisé à 1. Le compteur ATTEMPT_INDEX est incrémenté de 1. Le nœud maître envoie une requête « BSM initialisation » dans une trame DIAG_REQUEST. La transition 349 est enclenchée par TIMEOUT_10 dans l’état BSM_FINISHED et le compteur FINISH_INDEX strictement inférieur à NB_FINISH. Le compteur FINISH_INDEX est incrémenté de 1. Le nœud maître envoie la requête d’initialisation BSM dans une trame DIAG_REQUEST. La transition 351 est enclenchée par TIMEOUT_10 dans l’état BSM_FINISHED et le compteur FINISH_INDEX supérieur ou égal à NB_FINISH. Si PROG_ERROR est actif, le défaut est récupéré. Le défaut « TRANSMISSION_ERROR » est actif. BSM_ERROR est égal à TRANSMISSION_ERROR. Le nœud maître bascule sur le tableau de programmation fonctionnelle LIN. Le statut BSM est égal à « learning finished NOK » (« apprentissage terminé en défaut »), puis, après le délai BSM_TMP, le statut BSM devient « learning not launched » (« apprentissage non démarré »). La transition 353 est enclenchée par le compteur ATTEMP_INDEX supérieur ou égal à NB_ATTEMPT et la notification de la transmission de la trame « BSM_Finished ». PROG_ERROR est actif. BSM_ERROR est égal à PROG_ERROR. Si le défaut « TRANSMISSION_ERROR » est actif, le défaut doit être récupéré par défaut. Le nœud maître bascule sur le tableau de programmation fonctionnelle LIN. Le statut BSM est égal à « learning finished NOK » (« apprentissage terminé en défaut »), puis, après le délai BSM_TMP, le statut BSM devient « learning not launched » (« apprentissage non démarré »). La FIG. 1 illustre un système selon certains modes de réalisation. Le découpage présenté a un but pédagogique pour mettre en avant les différentes fonctions. Cependant, on comprend que chaque bloc peut être implémenté en utilisant différents moyens ou leurs combinaisons, tels que des composants matériels, du logiciel, un ou plusieurs calculateurs et/ou des circuits électroniques. Chacun des composants peut inclure au moins un calculateur ou une unité de contrôle-commande. Au moins une mémoire peut être comprise dans chaque composant. La mémoire peut inclure des instructions de programme d’ordinateur ou du code logiciel. Les calculateurs peuvent être réalisés par n’importe quel type de dispositif de traitement de données, tel qu’une unité centrale de calcul, un processeur de traitement de signal, un circuit intégré d’application spécifique, un réseau de portes programmable, etc. Les calculateurs peuvent être réalisés sous forme d’un unique contrôleur, ou d’une pluralité de contrôleurs ou de calculateurs. Les différents modules sont connectés entre eux par des liaisons de données adaptées à l’environnement. Celles-ci peuvent être de type filaire ou sans-fil. Pour le logiciel, l’implémentation peut comprendre des modules ou unités répartis sous forme de procédures, fonctions, etc. Les mémoires peuvent être n’importe quel type de circuit de stockage. Elles peuvent faire partie du circuit du processeur, ou en être séparées et connectées via des liaisons électriques de donnée. Cela peut être des mémoires de type non volatiles, des disques durs, des mémoires vives, des mémoires flash, etc. Le produit-programme peut être téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur. Il peut être directement exécutable par un processeur ou être sous la forme d’un langage de haut niveau nécessitant une ou des opérations intermédiaires pour être exécutable. Ainsi les instructions de programme stockées dans la mémoire et traitées par les calculateurs peuvent être n’importe quel type de code de programme, par exemple, un programme compilé ou interprété écrit dans un langage de programmation adapté. Les instructions de programme d’ordinateur stockées dans la mémoire sont telles que, quand elles sont exécutées par le calculateur, ce dernier réalise une ou plusieurs des étapes des procédés décrits ci-dessus. L’invention a été illustrée et décrite en détail dans les dessins et la description précédente. Celle-ci doit être considérée comme illustrative et donner à titre d’exemple et non comme limitant l’invention a cette seule description. De nombreuses variantes de réalisation sont possibles. Procédé d’adressage dans un réseau multiplexé comprenant un nœud maître et une pluralité de nœuds esclaves et dont au moins une partie des adresses des nœuds esclaves est configurée en utilisant un procédé de shunt de bus, ledit procédé d’adressage comprenant les étapes effectuées par le nœud maître de : envoi (201) d’une consigne de configuration d’adresse à un nœud esclave configurable par le procédé de shunt de bus ; réception (203) d’un signal de prise en compte de la configuration par le nœud esclave  ; en cas d’échec de la réception du signal, itération des deux étapes précédentes jusqu’à la réception du signal de prise en compte. Procédé selon la revendication 1, dans lequel, en cas d’échec, l’itération est exécutée jusqu’à un nombre maximal d’itérations. Procédé selon la revendication 2, dans lequel lorsque le nombre maximal d’itérations est atteint sans réception du signal de prise en compte, le procédé comprend en outre une étape de mémorisation d’un message d’erreur par le nœud maître. Procédé selon la revendication 1, 2 ou 3, dans lequel le nœud maître attend la réception du signal de prise en compte pendant une durée maximale prédéterminée. Procédé selon la revendication 1, 2, 3 ou 4, dans lequel les étapes sont répétées successivement pour chaque nœud esclave ayant une adresse à configurer. Produit-programme d’ordinateur caractérisé en ce qu’il comprend des instructions de code de programme pour la mise en œuvre du procédé selon l’une quelconque des revendications 1 à 5 lorsque le produit-programme est exécuté sur un calculateur. Réseau (101) de communication multiplexé comprenant un nœud maître (103) et des nœuds esclaves (105, 107, 109, 111, 113, 115, 117) et dont au moins une partie des adresses des nœuds esclaves (107, 111, 113) est configurée en utilisant un procédé de shunt de bus, le nœud maître étant apte à communiquer avec chacun des nœuds esclaves de manière à exécuter le procédé l’une des revendications 1 à 5. Système comprenant un réseau de communication selon la revendication 7. Véhicule automobile comprenant un système selon la revendication 8.