Конфигурирует пороговые значения, величины шагов и значения скачка для устранения дребезга мониторов на основе счетчика.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 60957358c6ecПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Конфигурирует пороговые значения, величины шагов и значения скачка для устранения дребезга мониторов на основе счетчика.
Структура ara::diag::CounterBased определяет пороговые значения, величины шагов и параметры скачка для устранения дребезга диагностических событий на основе счетчика [SWS_DM_00538]. Она инстанцируется приложением и передается в конструктор ara::diag::Monitor для задания критериев квалификации ошибок и исправного состояния [SWS_DM_00549]. Diagnostic Management использует эти параметры для обновления счетчика, если в Diagnostic Extract (DEXT) не сохранены приоритетные данные устранения дребезга.
Контекст
Структура ara::diag::CounterBased представляет параметры конфигурации для устранения дребезга диагностических событий на основе счетчика [SWS_DM_00538] согласно спецификации AUTOSAR Adaptive Platform SWS Diagnostics §7.3.4.1.5.1 «Counter-based debouncing». Внутри диагностической подсистемы она служит для обмена параметрами устранения дребезга между применяющей реализацией монитора и Diagnostic Management (DM).
Взаимодействие происходит главным образом через четырех участников интерфейса:
Диагностическое приложение инстанцирует и заполняет CounterBased предельными значениями событий.
Diagnostic Extract (DEXT) определяет предшествующие параметры устранения дребезга; если в DEXT существуют подходящие параметры, они обязательно имеют приоритет, и значения, переданные через конструктор, игнорируются DM [SWS_DM_01099].
В качестве структуры данных C++ (struct) SWS Diagnostics §8.41.2 «Struct: CounterBased»CounterBased создается применяющим программным компонентом в стеке или куче как чистый контейнер значений. Ее жизненный цикл обычно ограничен фазой конфигурации и инициализации до создания ara::diag::Monitor.
После того как атрибуты определены, структура передается по значению в конструктор Monitor[SWS_DM_00549]. Сама структура не содержит внутреннего динамического состояния и не имеет конечного автомата; непрерывное управление счетчиком возлагается исключительно на Diagnostic Management. Поскольку CounterBased спроектирована как пассивная структура данных и не имеет внутренних механизмов синхронизации, согласно интерпретации конфигурация перед передачей в монитор должна выполняться потоко-локально или синхронизированно.
Путь использования
Типичное использование подразделяется на определение параметров устранения дребезга, передачу в монитор и обработку счетчика во время выполнения:
Приложение создает экземпляр CounterBased и задает предельные значения: failedThreshold для квалификации ошибки [SWS_DM_00621], а также passedThreshold для распознавания исправного состояния [SWS_DM_00622].
Величины шагов определяются через failedStepsize для сообщаемых состояний ошибки [SWS_DM_00623] и passedStepsize для сообщений об исправном состоянии [SWS_DM_00624].
Опционально настраиваются скачкообразные корректировки: через useJumpToFailed[SWS_DM_00627] и failedJumpValue[SWS_DM_00625] активируется скачок к минимальному значению ошибки. Аналогично useJumpToPassed[SWS_DM_00628] и passedJumpValue[SWS_DM_00626] управляют скачками в направлении исправного состояния.
Заполненная структура передается в конструктор Monitor[SWS_DM_00549]. Если определения DEXT отсутствуют, DM использует эти значения [SWS_DM_01101].
Если счетчик достигает failedThreshold, DM классифицирует событие как kFinallyDefective[SWS_DM_00024]. Соответствующее правило действует для сообщений об исправном состоянии посредством passedStepsize[SWS_DM_00876].
При использовании CounterBased необходимо учитывать несколько граничных условий и правил приоритета:
Конфликт приоритета DEXT: если в DEXT присутствуют параметры устранения дребезга, DM полностью игнорирует параметры, определенные в CounterBased[SWS_DM_01099]. Ошибочная конфигурация возникает тогда, когда разработчики приложений ожидают динамического изменения параметров через конструктор, несмотря на то что активны статические значения DEXT.
Отсутствующие значения DEXT: если в DEXT отсутствуют указания, DM обязательно зависит от того, чтобы конструктор предоставил допустимый экземпляр CounterBased[SWS_DM_01101].
Превышение порога: если внутренний счетчик устранения дребезга вследствие сложения с failedStepsize возрастает выше порогового значения failedThreshold, DM сбрасывает счетчик точно на это пороговое значение и квалифицирует дефект [SWS_DM_00024], [SWS_DM_00875].
Условная логика скачка: если useJumpToFailed установлен, скачок на failedJumpValue совершается только тогда, когда значение счетчика до инкрементирования строго меньше failedJumpValue[SWS_DM_00022]. Для useJumpToPassed аналогично действует правило, что счетчик должен быть больше passedJumpValue[SWS_DM_00023].
Этот руководство базируется на спецификации AUTOSAR Adaptive Platform R25-11 и обобщает требования к устранению дребезга на основе счетчика.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал