Brevet FR3089026A1 — publié le 20200529

Description Titre de l'invention : Système et procédé de mise à jour d'horloge [0001] La présente demande concerne le domaine des systèmes et des procédés de mise à jour d'une horloge relative équipant un composant, notamment pour un composant incorporé sur un véhicule automobile. [0002] De nos jours, le nombre de composants incorporés à bord des véhicules automobiles, tels que, entre autres, des capteurs et estimateurs, ne cesse d'augmenter. Par ailleurs, de plus en plus de dispositifs d'aide à la conduite sont proposés. De ce fait, de plus en plus d'importance est donnée à la fusion de données. [0003] Un des principaux enjeux de la fusion de données est de récupérer les données fournies par des composants afin d'en extraire une information cohérente. Pour ce faire, il est nécessaire d'avoir une datation précise de tout événement. En effet, une erreur de datation, même infime, peut. entraîner des indécisions et nuire à la performance du système d'assistance à la conduite. [0004] La norme Autosar vise à améliorer la précision de la datation d'informations fournies par des composants non synchrones. La norme Autosar permet de mettre à jour les horloges relatives équipant les composants à partir d'une horloge absolue. Plus précisément, la norme Autosar consiste à calculer un terme de mise à jour d'une horloge relative. Le terme de mise à jour est ajouté au temps mesuré par l'horloge relative. De la sorte, l'horloge relative est recalée sur l'horloge absolue. [0005] Pour déterminer le terme de mise à jour, la norme Autosar traite et transmet des in- formations émises ou reçues entre une horloge absolue et une horloge relative. Les opérations de traitement et de transmission peuvent être à l'origine d'imprécisions du terme de mise à jour. On constate, en particulier, des imprécisions liées à un temps d'accès au réseau, à un temps de codage sur drapeau au début et à la fin d'une émission de la trame de synchronisation, à un temps de traitement par des calculateurs, à des troncatures ou arrondis, à des imprécisions de calcul ou à des imprécisions des horloges. De ce fait, le recalage de l'horloge relative sur l'horloge absolue est imprécis. [0006] Au vu de ce qui précède, l'invention a pour but. de remédier aux inconvénients précités. [0007] Plus précisément, l'invention a pour but de permettre la mise à jour d'une horloge relative en respectant la norme Autosar et en améliorant la précision. [0008] A cet effet, il est proposé un système notamment pour un véhicule automobile, comprenant une pluralité de composants et une unité électronique de commande configurée pour communiquer avec chacun des composants via un réseau de communication, chaque composant étant équipé d'une horloge relative, l'unité de commande comprenant une horloge absolue, le système comprenant unc unité de mise à jour apte 2 à émettre un terme de mise à jour de l'une des horloges relatives. [0009] Selon une de ses caractéristiques générales, l'unité de mise àjour comprend un module de filtrage apte à appliquer un filtre passe-bas au terme de mise àjour calculé par l'unité de mise à jour. [0010] L'application d'un filtre passe-bas permet de mettre en oeuvre une correction du terme de mise àjour pour tenir compte d'un bruit de mise àjour lors de l'application de la norme Autosar. Le système améliore ainsi la précision tout en restant compatible avec la norme Autosar. [0011] Selon un mode de réalisation, l'unité de mise à jour est configurée pour déterminer le terme de mise à jour en appliquant la relation : [0012] [Math.1] T = .57 t 0 + t4 - 1-2 [0013] où AT est le terme de mise à jour, s(to) est une variable dépendant d'un temps absolu à transmettre, t, est un temps relatif de réception d'une trame de synchronisation contenant s(tp) et t4 est un temps envoyé par une trame de suivi. [0014] Dans un mode de réalisation avantageux, s(t0) est l'image du temps absolu à transmettre par une fonction conservant seulement les bits de poids fort. [0015] On peut en outre prévoir que l'unité de mise àjour comprend un module de déter- mination d'un coefficient, le module de filtrage étant apte à appliquer un filtre avec pondération par le coefficient déterminé par le module de détermination. [0016] Lc module de détermination permet, en modifiant le coefficient, de mettre en oeuvre une correction du terme de mise à jour adaptée au bruit de mise à jour. Le filtrage par pondération permet donc, de manière simple, de réduire l'influence de certaines excursions erronées. [0017] Dans un mode de réalisation avantageux, le module de détermination est configuré pour délivrer un coefficient sous la forme : [0018] [Math.2] 1 C = 2n [0019] où c est le coefficient et n est un exposant prédéterminé. [0020] L'utilisation d'un coefficient sous la forme d'une puissance négative de 2 permet de faciliter les opérations de calcul. [0021] Plusieurs variantes sont possibles pour déterminer le coefficient. Selon une première variante, le module de détermination est configuré pour déterminer le coefficient par calcul préliminaire. Selon une deuxième variante, le module de détermination est configuré pour déterminer le coefficient par essais dans un environnement définitif [0022] Dans un mode de réalisation, l'unité de mise àjour comprend un modifie de gé- nération d'un terme de biais et un sommatcur configuré pour calculer un signal corrigé 3 comme la somme d'un signal filtré délivré par le module de filtrage et d'un terme de biais généré par le module de génération. [0023] Le signal corrigé est un terme de mise à jour corrigé, le terme de biais permettant de tenir compte d'un biais systématique dans la mise à jour réalisée par la norme Autosar. [0024] Avantageusement, le module de génération est configuré pour déterminer le terme de biais par essais dans l'environnement définitif avec des éléments finaux. [0025] Selon un autre aspect, il est proposé un procédé de mise à jour d'une horloge relative équipant un composant notamment incorporé sur un véhicule automobile, comprenant : [0026] - l'émission d'un terme de mise à jour de l'horloge relative, [0027] - l'application d'un filtre passe-bas au terme de mise à jour émis, et [0028] - la mise à jour de l'horloge relative en fonction du terme de mise à jour filtré. [0029] Selon encore un autre aspect, il est proposé un programme d'ordinateur comprenant un code configuré pour, lorsqu'il est exécuté par un processeur ou une unité de contrôle électronique, mettre en oeuvre le procédé défini ci-dessus. [0030] D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés sur lesquels : [0031] [fig.1] représente schématiquement un système selon un mode de réalisation de l'invention, [0032] [fig.2] représente schématiquement des axes des temps d'une horloge absolue et d'une horloge relative du système de la figure 1. [0033] En référence à la figure 1, un système 2 est destiné à être incorporé dans un véhicule automobile (non représenté). Le système 2 est en liaison d'informations avec un réseau de communication 4. Le réseau 4 peut être, par exemple, un réseau bien connu de l'homme du métier sous l'appellation anglo-saxonne « Controller Analogic Network » ou sous l'acronyme correspondant « CAN ». [0034] Le système 2 comporte une unité électronique de commande 6. L'unité électronique de commande 6 peut être, par exemple, un calculateur d'aide à la conduite, connu de l'homme du métier sous l'appellation anglo-saxonne « Advanced Driver-Assistance System » ou sous l'acronyme correspondant « ADAS ». [0035] L'unité électronique de commande 6 comporte une horloge interne absolue 8. Dans la présente demande, on désignera par l'expression « temps absolu » un instant lu sur l'horloge 8. L'horloge absolue 8 est également connue de l'homme du métier par l'expression «maître du temps ». [0036] Le système 2 comporte plusieurs composants comme par exemple un capteur 10 et un estimateur 12. Bien que, dans l'exemple illustré, les composants du système 2 se limitent à un capteur et un estimateur, on peut bien entendu envisager d'autres composants de types différents. Le capteur 10 comporte une horloge interne relative 14. L'estimateur 12 comporte une horloge interne relative 16. Quel que soit une horloge relative, dans la présente demande, on entendra par l'expression « temps relatif » un instant lu sur l'horloge relative considérée. Les horloges relatives 14 et 16 sont également connues de l'homme du métier par l'expression « esclave du temps ». [0037] L'unité électronique de commande 6, le capteur 10 et l'estimateur 12 sont en liaison d'informations via le réseau 4. Dans l'exemple illustré, le réseau 4 ne fait pas partie du système 2. Toutefois, on peut bien entendu envisager d'incorporer le réseau 4 dans le système 2. [0038] Le système 2 comporte une unité de mise à jour 22. L'unité 22 comprend des moyens matériels et logiciels 24 pour calculer un terme de mise à jour non corrigé AT associé à l'une des horloges 14 et 16. Bien que l'unité de mise à jour soit schématiquement représentée par un bloc indépendant des autres blocs et en particulier indépendant des blocs représentant les composants 10 et 12, l'unité 22 fait partie, dans l'exemple illustré, des composants 10 et 12. En particulier, l'unité 22 est une ressource logicielle utilisable par tout esclave du temps. Physiquement, il y a autant d'implémentation de cette ressource logicielle qu'il y a d'esclave du temps à synchroniser. [0039] L'unité 22 comporte un module de filtrage 26 en liaison d'informations avec les moyens 24. Un module de détermination 28 est en liaison d'information avec le module de filtrage 26. [0040] L'unité 22 comporte un module de génération 30. L'unité 22 comporte un sommateur 32 en liaison d'informations avec le module 26 et le module 30. [0041] De la sorte, l'unité 22 est apte à délivrer un terme de mise à jour corrigé AT'' de l'une des horloges 14 et 16. Le calcul du terme AT'' pour l'horloge 14 va maintenant être expliqué. Bien entendu, ce calcul peut être mis en oeuvre de manière analogue pour l'horloge 16. [0042] Dans un premier temps, on détermine des temps permettant de calculer le terme AT associé à l'horloge 14. La détermination de ces temps va être détaillée en référence à la figure 2. [0043] La figure 2 représente schématiquement un axe des temps 18 correspondant à l'horloge 8. En d'autres termes, le temps lu sur l'axe 18 est le temps absolu. Un axe des temps 19 correspond à l'horloge relative 14. Le temps lu sur l'axe 19 est donc un temps relatif associé à l'horloge 14. [0044] Tout d'abord, un temps absolu t0 est choisi comme le temps absolu à transmettre à l'horloge 14. Le temps to est traité puis intégré dans une trame de synchronisation 20 pour être envoyé à l'horloge 14. Dans l'exemple illustré, le temps to est soumis à une fonction s ne conservant que les bits de poids fort. Une telle fonction est bien connue de l'homme du métier sous l'appellation anglo-saxonne « most significant bit » ou sous l'acronyme correspondant « MSB ». En l'espèce, la fonction s effectue une troncature à la seconde du temps tu. Par la suite, l'image s(to) est intégrée dans la trame 20. La trame 20 reste en attente de la disponibilité d'un bus de transmission du réseau 4. [0045] Au temps absolu tl, un bus du réseau 4 est disponible et la trame 20 est envoyée depuis l'horloge 8 à l'horloge 14. La trame 20 est reçue au temps relatif t2. [0046] Plus tard, une trame de suivi 21, également connue sous l'appellation anglo-saxonne « Follow Up » ou sous l'acronyme correspondant « FUP », transmet un temps t4 depuis l'horloge 8 à l'horloge 14. Le temps t4 est calculé en mettant en oeuvre l'équation : [0047] [Math.3] t4 = tl 1-0 ) [0048] A partir des temps tu, to et t4, les moyens 24 calculent un terme de mise à jour non corrigé AT associé à l'horloge 14 en appliquant l'équation : [0049] [Math.1] A T s (te) + t, 100501 Le module 28 délivre un exposant n. Dans l'exemple illustré, l'exposant n est pré- déterminé grâce à un calcul préliminaire combiné à des essais dans un environnement définitif. Le calcul préliminaire est un calcul théorique tenant compte des éléments numériques disponibles concernant le réseau 4, l'unité électronique de commande 6, les composants 10 et 12 et les horloges 8, 14 et 16. Ainsi, en tenant compte des périodes de synchronisation, la performance de synchronisation (convergence) et la sensibilité à des aléas peut être ajustée. Par exemple, des essais ont montré que pour ri = 2, une période de mise à l'heure est d'environ 500ms, la convergence de la mise à l'heure est de 8 s pour 1% d'erreur (soit 10 ps pour une correction de 1 ms souhaitée). La sensibilité aux aléas est réduite avec une fréquence de coupure basse inférieure à 1 Hz dans cc cas. [0051] Ainsi, le choix de l'exposant dépend de l'application et de la sensibilité et/ou de la stabilité souhaitées. [0052] Les essais dans un environnement définitif peuvent comprendre, par exemple, des essais sur une plate-forme représentative du véhicule pour la partie électronique. [0053] Le module 26 reçoit le terme AT pour l'horloge 14 et l'exposant n. Lc module 26 traite ces informations pour calculer un terme de mise à jour filtré en appliquant l'équation : [0054] [Math.4] T iiiire 2 100551 De la sorte, le module 26 met en oeuvre un filtre passe-bas du terme AT associé à l'horloge 14. Plus précisément, le filtre appliqué est un filtre passe-bas numérique avec 6 pondération par un coefficient sous la forme d'une puissance négative de 2. Ainsi, le coefficient est indirectement estimé par le module 28 par calcul préliminaire et par essais dans l'environnement définitif. Toutefois, on peut bien entendu sans sortir du cadre de l'invention envisager un mode de détermination différent, par exemple par un calcul préliminaire seulement, par essais dans l'environnement définitif seulement, ou encore par tout autre moyen. [0056] Le module 30 détermine un terme de biais tb,,,' par essais dans un environnement définitif avec des éléments finaux. Les essais en environnement définitif peuvent comprendre une instrumentation des pièces sur le réseau dans sa configuration finale. Le biais, potentiellement différent pour chaque horloge relative 14 ou 16, peut ainsi être ajusté au besoin. Pour déterminer ce biais, on utilisera par exemple une trame CAN courte, de préférence configurée présente en phase d'essai. Cette trame peut être émise par tous les composants du système 2. Par exemple, elle peut être émise par l'horloge absolue 8 à chaque seconde. Cela permet de mesurer l'éventuel écart d'horloge malgré le mécanisme de synchronisation. [0057] Le sommateur 32 reçoit le terme ATfi,,,é associé à l'horloge 14 et le ternie thi'i,. Le sommateur 32 calcule le terme associé à l'horloge 14 en appliquant l'équation : [0058] [Math.5] A Tc,'= A T tom, + [0059] A un temps t3 ultérieur à l'instant de réception de la trame 21, le temps relatif associé à l'horloge 14 est décalé du terme AT','. En d'autres ternies, l'horloge 14 est recalée de sorte que, au temps relatif t3, le temps T','_ti,,, délivré par l'horloge 14 vérifie l'équation : [0060] [Math.6] is_ù_ jour = t, + A T' [0061] Les mêmes actions sont mises en oeuvre concernant l'horloge 16. De même, ces actions sont répétées périodiquement. De la sorte, les horloges 14 et 16 sont de plus en plus synchronisées sur l'horloge 8 et les ternies de mise àjour ATcon. associés aux horloges 14 et 16 convergent vers 0. [0062] L'invention permet donc de délivrer un terme de mise àjour corrigé tenant compte d'un bruit de mise à jour et d'un biais systématique. [0063] Au vu de ce qui précède, l'invention permet la mise àjour d'une horloge relative de manière compatible avec la norme Autosar avec une précision améliorée. 7