Brevet FR3088036A1 — publié le 20200508

Procédé de transmission de trames entre des réseaux de communication d'un véhicule automobile L'invention concerne les réseaux de communication embarqués dans les véhicules automobiles et plus particulièrement un procédé de transmission de trames de données via une passerelle reliant différents réseaux de communication. L'invention vise notamment à permettre des échanges rapides et efficaces de trames de données entre des équipements d'un véhicule automobile. De nos jours, les véhicules automobiles comprennent différents équipements électroniques reliés entre eux par un ou plusieurs réseaux de communication permettant à ces équipements d'échanger des trames de données. Un type de réseau très largement utilisé aujourd'hui est connu sous le nom de réseau CAN (ou bus CAN), pour Control Area Network en langue anglaise. Dans un tel réseau, chaque trame comporte un unique identifiant, désigné « CAN ID », permettant d'aiguiller la trame à travers le réseau. Dans une solution connue, plusieurs réseaux de communication peuvent être mis en oeuvre afin de connecter divers équipement, ces réseaux présentant par exemple des vitesses de transfert différentes. Dans ce cas, les différents réseaux CAN communiquent entre eux via des passerelles, désignées » CAN Gateway » par l'homme du métier. Une telle passerelle reçoit des trames de données d'un réseau de communication auquel elle est reliée puis les renvoie vers le ou les réseaux auxquels ces trames de données sont destinées. De manière classique, les trames sont gérées par la passerelle selon un mode de fonctionnement de type FIFO pour First In First Out en langue anglaise signifiant premier entrant, premier sortant. Certaines trames étant plus importantes que d'autres, il est nécessaire de garantir la bonne gestion des trames qui sont davantage prioritaires. Or, dans une gestion de type FIFO, même si la dernière trame reçue est prioritaire, elle sera renvoyée en dernier par la passerelle, c'est-à-dire qu'elle peut être envoyée après des trames qui sont moins prioritaires mais qui ont été reçues précédemment. Il existe alors un risque que cette trame prioritaire ne soit pas renvoyée, ce qui représente un inconvénient majeur. Aussi, il a été proposé une gestion différente désignée MPFO pour Most Priority Frame First en langue anglaise signifiant la trame la plus prioritaire en premier, selon laquelle les trames sont triées lors de leur réception afin de les classer par ordre de priorité. Elles sont ensuite renvoyées de la plus prioritaire à la moins prioritaire. Ce tri est réalisé à partir de l'identifiant de la trame (i.e. du CAN ID) qui définit la priorité de la trame par rapport aux autres trames. 2 Cependant, une telle solution utilise, comme pour une file de type FIFO, une liste chaînée. Dans une liste chaînée, les trames sont assemblées les unes aux autres à l'aide de pointeurs reliant deux trames successives formant ainsi une chaîne. Lorsqu'une nouvelle trame arrive, il faut lire la liste chaînée depuis le début jusqu'à trouver la position 5 de la trame dans la chaîne qui correspond à sa priorité. Un tel classement nécessite ainsi un délai dépendant du nombre de trames déjà présentes dans la chaine. En particulier, si la trame reçue a une priorité faible, elle sera placée en fin de chaîne et le temps nécessaire pour la classer sera plus important que si elle avait eu une priorité élevée et avait été placée en début de chaîne. La durée nécessaire 10 à un tel classement n'est donc pas constante et peut s'avérer supérieure à la durée de vie de la trame, qui peut par exemple être comprise entre 105 et 170 microsecondes dans le protocole standard CAN, ce qui présente un inconvénient important. En effet, il est nécessaire que la durée de classement d'une trame soit inférieure à sa durée de vie afin que toutes les trames puissent être classées et ensuite renvoyées par la passerelle. 15 Il existe donc le besoin d'une solution permettant d'optimiser la gestion des trames échangées via une passerelle entre des réseaux de communication d'un véhicule automobile. A cette fin, l'invention a pour objet un procédé de transmission de trames de données entre au moins un réseau de communication, dit « émetteur », et au moins un 20 réseau de communication, dit « destinataire », ledit procédé étant mis en oeuvre par une passerelle reliant l'au moins un réseau de communication émetteur et l'au moins un réseau de communication destinataire, ledit procédé étant remarquable en ce qu'il comprend les étapes de : - réception d'une trame de données envoyée par un réseau de communication 25 émetteur, ladite trame de données comprenant un identifiant dudit réseau de communication émetteur, dit « identifiant source », et au moins une donnée utile, ledit identifiant source comprenant un niveau de priorité de transmission de ladite trame de données et une information sur l'identifiant d'au moins un réseau de communication destinataire dit « identifiant cible », 30 - génération d'un index de priorité, représentatif du niveau de priorité de l'au moins une donnée utile, à partir de l'identifiant source, - enregistrement de la donnée utile dans une table d'enregistrement stockée dans une zone mémoire de la passerelle en fonction de l'index de priorité de manière à classer la donnée utile dans ladite table d'enregistrement selon son niveau de priorité et, - fourniture, à partir de l'au moins un identifiant cible, de la donnée utile enregistrée à l'au moins un réseau de communication destinataire lorsque la donnée utile 3 présente le niveau de priorité le plus élevé parmi les niveaux de priorité des données utiles enregistrées dans la table d'enregistrement. Grâce au procédé selon l'invention, les trames de données sont classées lors de leur enregistrement dans une table indexée, ce qui permet un classement rapide et aisé. 5 De plus, la durée de classement d'une trame de données correspond à la durée d'enregistrement dans la table indexée, ce qui permet d'obtenir une durée de classement constante, indépendamment du niveau de priorité de la trame de données. Enfin, le classement par enregistrement dans une table indexée ne nécessite pas ou peu de calcul, ce qui permet de limiter la quantité de mémoire vive nécessaire et la puissance de calcul 10 nécessaire afin d'être supporté par les microcontrôleurs habituellement utilisés dans les applications automobiles. Les étapes du procédé de transmission selon l'invention peuvent être mise en oeuvre en moins de 100 microsecondes, ce qui permet de s'assurer de la transmission des trames de données avant leur expiration. Avantageusement, le procédé comprend une étape de marquage dans au 15 moins une table de marquage stockée dans une zone mémoire de la passerelle qu'une donnée utile correspondant à l'identifiant source a été reçue. Ceci permet de classer par ordre de priorité les données utiles dans la table de marquage. Selon un aspect de l'invention, l'étape de marquage comprend une sous-étape d'activation dans la table de marquage d'un marqueur associé à l'identifiant source à partir 20 d'une table de masque stockée dans une zone mémoire de la passerelle, ladite table de masque associant chaque identifiant source à un marqueur de la table de marquage afin d'activer un marqueur de manière rapide et aisée. De préférence, la passerelle comprend au moins une table de marquage par réseau de communication afin de déterminer les trames de données à fournir à chaque 25 réseau de communication. De préférence encore, la table d'enregistrement est commune à tous les réseaux de communication, ce qui limite l'espace utilisée dans la mémoire de la passerelle. Avantageusement, la table d'enregistrement comprend une ligne par index de priorité, lesdits index de priorité étant classés par ordre de priorité afin de déterminer le 30 niveau de priorité de la donnée utile à fournir. De manière avantageuse, la donnée utile est supprimée de la table d'enregistrement lorsque qu'elle a été fournie, la donnée utile la plus prioritaire étant la première donnée utile enregistrée dans la table d'enregistrement dans l'ordre croissant des index de priorité. Ainsi, le classement des données utiles par ordre de priorité est effectué 35 en continu. De préférence, l'étape de fourniture comprend une étape de génération de l'identifiant du réseau de communication émetteur à partir de l'index de priorité. Grâce aux 4 deux étapes de génération inverse, une trame de données est traitée par rapport à son index de priorité par la passerelle, indépendamment de l'identifiant de la trame de données. L'invention vise également une passerelle reliant au moins un réseau de communication émetteur et au moins un réseau de communication destinataire, ladite 5 passerelle étant configurée pour mettre en oeuvre le procédé de transmission décrit précédemment. L'invention concerne en outre un véhicule automobile comprenant au moins un réseau de communication émetteur, au moins un réseau de communication destinataire et au moins une passerelle, telle que décrite précédemment, reliant l'au moins un réseau de 10 communication émetteur et l'au moins un réseau de communication destinataire. D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit faite en regard des figures annexées données à titre d'exemples non limitatifs et dans lesquelles des références identiques sont données à des objets semblables. 15 La figure 1 illustre schématiquement une forme de réalisation d'un système de transmission comprenant une passerelle selon l'invention. Les figures 2 et 3 illustrent schématiquement des exemples de tables de conversion du système de la figure 1. La figure 4 illustre schématiquement un exemple de table d'enregistrement du 20 système de la figure 1. La figure 5 illustre schématiquement un exemple de table de gestion du système de la figure 1. La figure 6 illustre schématiquement un exemple de table de masque. La figure 7 illustre schématiquement un exemple de table d'adresse. 25 La figure 8 illustre schématiquement un mode de réalisation du procédé selon l'invention. L'invention sera présentée ci-après en vue d'une mise en oeuvre dans un véhicule automobile. Cependant, toute mise en oeuvre dans un contexte différent, en particulier pour tout véhicule est également visé par la présente invention. 30 Un véhicule automobile comprend différents systèmes électroniques, tels que le système de freinage, le système de suspension, le système de transmission, le système de contrôle moteur, etc. Chacun de ces systèmes comprend différents équipements électroniques reliés entre eux par des réseaux de communication, de type réseaux (ou bus) CAN pour Control Area Network en langue anglaise dans l'exemple préféré décrit ci-après. 35 On a représenté schématiquement à la figure 1 un véhicule 1 comprenant huit réseaux de communication 10 référencés respectivement 10-1, ..., 10-8. Cependant, il va 5 de soi que le véhicule 1 pourrait comprendre un nombre différent de réseaux de communication 10. Le véhicule 1 comprend également une passerelle 20, désignée « CAN Gateway » en langue anglaise, permettant de relier les réseaux de communication 10 entre 5 eux afin de permettre la communication entre les différents systèmes du véhicule 1. Plus particulièrement, la passerelle 20 permet de transmettre des trames de données entre les réseaux de communications 10. De manière avantageuse, cette passerelle 20 peut être mise en oeuvre par un calculateur existant du véhicule 1. Chaque trame de données comprend un identifiant ID et au moins une donnée 10 utile DA qui correspond à la donnée qu'un réseau de communication 10 dit « émetteur » souhaite envoyer à un réseau de communication 10 dit c REVENDICATIONS1. Procédé de transmission de trames de données entre au moins un réseau de communication (10) émetteur et au moins un réseau de communication (10) destinataire, ledit procédé étant mis en oeuvre par une passerelle (20) reliant l'au moins un réseau de communication (10) émetteur et l'au moins un réseau de communication (10) destinataire, ledit procédé étant caractérisé en ce qu'il comprend les étapes de : - réception (El) d'une trame de données envoyée par un réseau de communication (10) émetteur, ladite trame de données comprenant un identifiant (ID) dudit réseau de communication (10) émetteur, dit « identifiant source », et au moins une donnée utile (DA), ledit identifiant source comprenant un niveau de priorité de transmission de ladite trame de données et une information sur l'identifiant (ID) d'au moins un réseau de communication (10) destinataire dit « identifiant cible », - génération (E2) d'un index de priorité (IX), représentatif du niveau de priorité de l'au moins une donnée utile (DA), à partir de l'identifiant (ID) source, - enregistrement (E3) de la donnée utile (DA) dans une table d'enregistrement (230) stockée dans une zone mémoire de la passerelle (20) en fonction de l'index de priorité (IX) de manière à classer la donnée utile (DA) dans ladite table d'enregistrement (230) selon son niveau de priorité et, - fourniture (E5), à partir de l'au moins un identifiant cible, de la donnée utile (DA) enregistrée à l'au moins un réseau de communication (10) destinataire lorsque la donnée utile (DA) présente le niveau de priorité le plus élevé parmi les niveaux de priorité des données utiles (DA) enregistrées dans la table d'enregistrement (230). 2. Procédé selon la revendication 1, comprenant une étape de marquage (E4) dans au moins une table de marquage (241, 242, 243) stockée dans une zone mémoire de la passerelle (20) qu'une donnée utile (DA) correspondant à l'identifiant source a été reçue. 3. Procédé selon la revendication précédente, dans lequel l'étape de marquage (E4) comprend une sous-étape d'activation dans la table de marquage (241, 242, 243) d'un marqueur associé à l'identifiant source à partir d'une table de masque (250) stockée dans une zone mémoire de la passerelle (20), ladite table de masque (250) associant chaque identifiant source à un marqueur de la table de marquage (241, 242, 243). 12 4. Procédé selon l'une des revendications 2 à 3, dans lequel la passerelle (20) comprend au moins une table de marquage (241, 242, 243) par réseau de communication (10). 5 5. Procédé selon l'une des revendications précédentes, dans lequel la table d'enregistrement (230) est commune à tous les réseaux de communication (10). 6. Procédé selon l'une des revendications précédentes, dans lequel la table d'enregistrement (230) comprend une ligne par index de priorité (IX), lesdits index 10 de priorité (IX) étant classés par ordre de priorité afin de déterminer le niveau de priorité de la donnée utile (DA) à fournir. 7. Procédé selon la revendication précédente, dans lequel la donnée utile (DA) est supprimée de la table d'enregistrement (230) lorsque qu'elle a été fournie, la donnée 15 utile (DA) la plus prioritaire étant la première donnée utile (DA) enregistrée dans la table d'enregistrement (230). 8. Procédé selon l'une des revendications précédentes, dans lequel, l'étape de fourniture (E5) comprend une étape de génération de l'identifiant du réseau de 20 communication (10) émetteur à partir de l'index de priorité (IX). 9. Passerelle (20) reliant au moins un réseau de communication (10) émetteur et au moins un réseau de communication (10) destinataire, ladite passerelle (20) étant configurée pour mettre en oeuvre le procédé de transmission selon l'une des 25 revendications précédentes. 10. Véhicule (1) automobile comprenant au moins un réseau de communication (10) émetteur, au moins un réseau de communication (10) destinataire et au moins une passerelle (20), selon la revendication précédente, reliant l'au moins un réseau de 30 communication (10) émetteur et l'au moins un réseau de communication (10) destinataire.