Configure les valeurs de seuil, les pas d'incrémentation et les valeurs de saut pour le filtrage antirebond basé sur compteur des moniteurs.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 60957358c6ecProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Configure les valeurs de seuil, les pas d'incrémentation et les valeurs de saut pour le filtrage antirebond basé sur compteur des moniteurs.
La structure ara::diag::CounterBased définit les seuils, les pas d'incrémentation et les paramètres de saut pour le filtrage antirebond basé sur compteur des événements de diagnostic [SWS_DM_00538]. Elle est instanciée par l'application et transmise au constructeur de ara::diag::Monitor afin de déterminer les critères de qualification de défaut et de bon fonctionnement [SWS_DM_00549]. Le Diagnostic Management utilise ces paramètres pour l'incrémentation du compteur, pour autant qu'aucune donnée de filtrage prioritaire ne soit consignée dans le Diagnostic Extract (DEXT).
Contexte
La structure ara::diag::CounterBased représente les paramètres de configuration pour le filtrage antirebond basé sur compteur des événements de diagnostic [SWS_DM_00538] conformément à la spécification de l'AUTOSAR Adaptive Platform SWS Diagnostics §7.3.4.1.5.1 « Counter-based debouncing ». Au sein du sous-système de diagnostic, elle sert à l'échange de paramètres de filtrage entre l'implémentation du moniteur applicatif et le Diagnostic Management (DM).
L'interaction s'effectue pour l'essentiel via quatre partenaires d'interface :
L'application de diagnostic instancie et renseigne CounterBased avec les valeurs limites d'événement.
Le Diagnostic Extract (DEXT) définit des paramètres de filtrage antirebond amont ; s'il existe des paramètres adéquats dans le DEXT, ceux-ci ont obligatoirement priorité et les valeurs transmises par le constructeur sont ignorées par le DM [SWS_DM_01099].
En tant que structure de données C++ (struct) SWS Diagnostics §8.41.2 « Struct: CounterBased », CounterBased est créée sur la pile ou le tas par le composant logiciel utilisateur comme un simple conteneur de valeurs. Son cycle de vie est typiquement limité à la phase de configuration et d'initialisation précédant la création du ara::diag::Monitor.
Une fois les attributs définis, la structure est transmise par valeur au constructeur de Monitor[SWS_DM_00549]. La structure elle-même ne conserve aucun état dynamique interne et ne possède pas de machine à états ; la gestion continue du compteur incombe exclusivement au Diagnostic Management. CounterBased étant conçue comme une structure de données passive et ne disposant d'aucun mécanisme de synchronisation interne, la configuration doit, d'après l'interprétation, être effectuée de manière locale au thread ou synchronisée avant la transmission au moniteur.
Parcours d'utilisation
L'utilisation typique s'articule autour de la définition des paramètres de filtrage antirebond, de la transmission au moniteur et de l'évaluation du compteur à l'exécution :
L'application crée une instance de CounterBased et affecte les valeurs limites : failedThreshold pour la qualification de défaut [SWS_DM_00621] ainsi que passedThreshold pour la détection de bon fonctionnement [SWS_DM_00622].
Les pas sont définis via failedStepsize pour les états de défaut signalés [SWS_DM_00623] et passedStepsize pour les signalements d'absence de défaut [SWS_DM_00624].
Des adaptations par saut sont configurées de manière optionnelle : via useJumpToFailed[SWS_DM_00627] et failedJumpValue[SWS_DM_00625], le saut vers une valeur minimale de défaut est activé. De manière analogue, useJumpToPassed[SWS_DM_00628] et passedJumpValue[SWS_DM_00626] pilotent des sauts en direction de l'état sans défaut.
La structure renseignée est transmise au constructeur de Monitor[SWS_DM_00549]. Si aucune définition DEXT n'est présente, le DM utilise ces valeurs [SWS_DM_01101].
Lorsque le compteur atteint failedThreshold, le DM qualifie l'événement de kFinallyDefective[SWS_DM_00024]. La même logique s'applique aux signalements de bon fonctionnement au moyen de passedStepsize[SWS_DM_00876].
Diagramme de séquence : déroulement allant de la configuration des paramètres et de l'initialisation du moniteur jusqu'à la qualification par compteur. Sources : [SWS_DM_00549], [SWS_DM_00875], [SWS_DM_00022], [SWS_DM_00024].
Scénarios d'erreur
Plusieurs contraintes et règles de priorité doivent être prises en compte lors de l'utilisation de CounterBased :
Conflit de priorité DEXT : si des paramètres de filtrage sont présents dans le DEXT, le DM ignore totalement les paramètres définis dans CounterBased[SWS_DM_01099]. Une mauvaise configuration survient lorsque les développeurs d'application s'attendent à une modification dynamique des paramètres via le constructeur alors que des valeurs DEXT statiques sont actives.
Valeurs DEXT manquantes : si aucune indication ne figure dans le DEXT, le DM a impérativement besoin que le constructeur fournisse une instance valide de CounterBased[SWS_DM_01101].
Dépassement de seuil : si le compteur de filtrage interne dépasse le seuil failedThreshold du fait de l'addition de failedStepsize, le DM réinitialise le compteur exactement à ce seuil et qualifie le défaut [SWS_DM_00024], [SWS_DM_00875].
Logique de saut conditionnel : si useJumpToFailed est défini, le saut vers failedJumpValue n'est opéré que si la valeur du compteur avant l'incrémentation est strictement inférieure à failedJumpValue[SWS_DM_00022]. Pour useJumpToPassed, la règle s'applique par analogie : le compteur doit être supérieur à passedJumpValue[SWS_DM_00023].
Ce guide repose sur la spécification AUTOSAR Adaptive Platform R25-11 et récapitule les exigences relatives au filtrage antirebond basé sur compteur.
gemini-3.8-flash-low· 2026-10-13 · Original allemand