DEENESPTFRRUARHIKOZHNL

Watchdog Manager (WdgM)

ModulWdgM (Watchdog Manager)
BSW-Modul-ID13
Standard-Header#include "WdgM.h"
SWS-SpezifikationAUTOSAR_SWS_WatchdogManager.pdf
ClusterSystem Services

Руководство по модулюСОЗДАНО ИИ

Контролирует последовательность выполнения и тайминг программного обеспечения с помощью контрольных точек и в зависимости от этого управляет триггерированием сторожевых таймеров.
СОЗДАНО ИИ не проверено Модель: claude-opus-5-5 · Усилие: high · Температура: не регулируется · Промпт: 112cef190a48 Происхождение Открытые вопросы (4)
Причинный якорь: R20-11 Действует с R20-11 Заново синтезировано для этой версии спецификации.
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Контролирует последовательность выполнения и тайминг программного обеспечения с помощью контрольных точек и в зависимости от этого управляет триггерированием сторожевых таймеров.

Watchdog Manager контролирует выполнение программного обеспечения. Supervised Entities передают контрольные точки через WdgM_CheckpointReached [SWS_WdgM_00263]. Циклическая WdgM_MainFunction оценивает Alive-, Deadline- и Logical Supervision и агрегирует результаты в локальные статусы и глобальный статус. Пока всё в порядке, WdgM устанавливает корректное условие триггерирования через Watchdog Interface. Если глобальный статус достигает STOPPED, драйвер прекращает триггерирование, после чего следует сброс сторожевого таймера [SWS_WdgM_00360]. Смена режима разрешена только при глобальном статусе OK или FAILED.

Watchdog Manager контролирует выполнение Supervised Entities и разрешает продолжать триггерирование аппаратных сторожевых таймеров только до тех пор, пока контроль выполняется без сбоев. Сам тайминг триггерирования определяется в драйвере сторожевого таймера. WdgM лишь устанавливает условие триггерирования через Watchdog Interface (SWS WdgM с. 56). Для этого ему обязательно требуются WdgIf_SetMode, WdgIf_SetTriggerCondition, GetElapsedValue и Det_ReportRuntimeError [SWS_WdgM_00161].

После WdgM_Init контроль начинается с первым вызовом WdgM_MainFunction [SWS_WdgM_00406]. Entities передают контрольные точки через WdgM_CheckpointReached [SWS_WdgM_00263]. Каждый вызов увеличивает Alive Counter и немедленно проверяет Deadline- и Logical Supervision (SWS WdgM с. 79). Основная функция циклически вычисляет значения Alive Counter и тайм-ауты дедлайнов [SWS_WdgM_00404].

регистрации контрольных точек и циклического анализаSupervised EntityWdgMOsSchM / Os-TaskRTE (Mode-Ports)WdgIfUse Case: SE-Kontext (ereignisgesteuert)WdgM_CheckpointReached(SEID, CheckpointID)Инкрементировать Alive Counterконтрольной точкиGetElapsedValue(CounterID, ...)Deadline Supervision:слишком рано / слишком поздно?Logical Supervision:Переход допустим?E_OK / E_NOT_OKUse Case: OS-Scheduler-Kontext (zyklisch)WdgM_MainFunction()loopдля каждой Supervised EntityAlive Supervision(je Supervision Reference Cycle)Deadline-Timeout-Erkennung(falls aktiviert)Local Supervision Status bestimmenGlobal Supervision Status bestimmenСмена статуса посредствомmode_{…} / globalmodeWdgIf_SetTriggerCondition(...)

Диаграмма последовательности: контрольные точки регистрируются по событиям, оценка и триггерирование выполняются циклически. Источники: SWS WdgM с. 32, [SWS_WdgM_00263].

На основе результатов для каждой Entity формируется локальный статус. При этом FAILED является устранимым, а EXPIRED — нет [SWS_WdgM_00359]. Из них WdgM формирует глобальный статус, который эскалирует через EXPIRED в STOPPED. В состоянии STOPPED драйвер прекращает триггерирование, после чего следует сброс сторожевого таймера [SWS_WdgM_00360]. Об изменениях статуса WdgM сообщает через локальные порты режима и глобальный порт режима [SWS_WdgM_00197] [SWS_WdgM_00198].

Global_Supervision_Status stat statische Initialisierung DEACT WDGM_GLOBAL_STATUS_DEACTIVATED stat->DEACT OK WDGM_GLOBAL_STATUS_OK DEACT->OK WdgM_Init (Interpretation) FAILED WDGM_GLOBAL_STATUS_FAILED OK->FAILED Контроль не пройден, в пределах лимита ошибок EXPIRED WDGM_GLOBAL_STATUS_EXPIRED OK->EXPIRED Лимит ошибок превышен STOPPED WDGM_GLOBAL_STATUS_STOPPED OK->STOPPED Сбой WdgIf_SetMode при смене режима FAILED->OK Fehler behoben (Interpretation) FAILED->EXPIRED Лимит ошибок превышен FAILED->STOPPED Сбой WdgIf_SetMode при смене режима EXPIRED->STOPPED WdgMExpiredSupervisionCycleTol исчерпан RESET Watchdog-Reset STOPPED->RESET Драйвер больше не выполняет триггирование

Диаграмма состояний: Global Supervision Status от DEACTIVATED до STOPPED; два перехода помечены как интерпретация. Источники: [SWS_WdgM_00387], [SWS_WdgM_00360].

Смена режима через WdgM_SetMode возможна только при глобальном статусе OK или FAILED [SWS_WdgM_00145]. Если WdgMOffModeEnabled имеет значение FALSE, WdgM отклоняет режим Off [SWS_WdgM_00031]. Если WdgIf_SetMode завершается сбоем, глобальный статус переходит в STOPPED (SWS WdgM с. 57). После сброса WdgM_GetFirstExpiredSEID ещё до WdgM_Init возвращает Entity, у которой первой истекло время [SWS_WdgM_00346] [SWS_WdgM_00348].

Роль: контроль программного обеспечения между Supervised Entities и аппаратным сторожевым таймером

Watchdog Manager (WdgM) контролирует выполнение Supervised Entities, то есть SW-C, CDD или процессов BSW. В зависимости от результата он решает, продолжать ли триггерирование аппаратных сторожевых таймеров. Непосредственный тайминг триггерирования определяется в драйвере сторожевого таймера. WdgM лишь устанавливает через Watchdog Interface условие триггерирования, предписывающее драйверу продолжать триггерирование (SWS WdgM с. 56). Для этого ему обязательно требуются WdgIf_SetMode, WdgIf_SetTriggerCondition, GetElapsedValue и Det_ReportRuntimeError [SWS_WdgM_00161]. Опционально он использует Dem_SetEventStatus, Det_ReportError, Mcu_PerformReset и BswM_WdgM_RequestPartitionReset [SWS_WdgM_00162].

Supervised Entities передают контрольные точки через WdgM_CheckpointReached [SWS_WdgM_00263]. Модули управления режимом управляют жизненным циклом с помощью WdgM_Init, WdgM_SetMode и WdgM_DeInit [SWS_WdgM_00151] [SWS_WdgM_00154] [SWS_WdgM_00261]. Циклическую обработку выполняет WdgM_MainFunction из SchM_WdgM.h [SWS_WdgM_00159]. Концепция безопасности возлагает на WdgM логический контроль потока выполнения программы по контрольным точкам и разрешённым переходам (SafetyConceptStatusReport с. 15).

WdgM_Kontext SWC SW-Cs / CDDs (Supervised Entities) RTE RTE SWC->RTE CheckpointReached, Statusabfragen RTE->SWC Statuswechsel WdgM WdgM RTE->WdgM Service-Ports Mgr EcuM / BswM Mgr->WdgM WdgM_Init, WdgM_SetMode, WdgM_DeInit, WdgM_PerformReset SchM SchM / Os-Task SchM->WdgM WdgM_MainFunction (zyklisch) WdgM->RTE Mode-Ports (lokal / global) WdgM->Mgr BswM_WdgM_RequestPartitionReset (optional) WdgIf WdgIf WdgM->WdgIf WdgIf_SetMode, WdgIf_SetTriggerCondition Os Os WdgM->Os GetElapsedValue Det DET WdgM->Det Det_ReportRuntimeError, Det_ReportError (optional) Dem DEM WdgM->Dem Dem_SetEventStatus (optional) Mcu Mcu WdgM->Mcu Mcu_PerformReset (optional) Wdg Wdg-Treiber (intern / extern) WdgIf->Wdg HW Watchdog-Hardware Wdg->HW Triggern

Контекстная диаграмма: WdgM связывает сообщения о контрольных точках приложения со стеком сторожевого таймера, а также с Os, DET, DEM, Mcu и BswM. Источники: [SWS_WdgM_00161], [SWS_WdgM_00162], SWS WdgM с. 85.

Жизненный цикл: инициализация, смена режима и деинициализация

Global Supervision Status статически инициализирован значением WDGM_GLOBAL_STATUS_DEACTIVATED [SWS_WdgM_00387]. В этом состоянии службы отвечают отказом с WDGM_E_UNINIT или возвращаются без выполнения действий [SWS_WdgM_00253] [SWS_WdgM_00395]. WdgM_Init принимает указатель на WdgM_ConfigType [SWS_WdgM_00355]. Функция инициализирует все переменные модуля и устанавливает начальный режим (SWS WdgM с. 74). Интерпретация: после этого глобальный статус, вероятно, должен быть WDGM_GLOBAL_STATUS_OK, так как активные в начальном режиме Entities локально запускаются со статусом OK (SWS WdgM с. 30). Вопрос Q-a1728b38f957607d (открытый)

Повторный вызов WdgM_Init вне состояния DEACTIVATED остаётся безрезультатным [SWS_WdgM_00390]. Поэтому повторная инициализация выполняется через WdgM_DeInit с последующим WdgM_Init (SWS WdgM с. 74). Контроль и обработка сторожевого таймера начинаются только с первым вызовом WdgM_MainFunction после инициализации [SWS_WdgM_00406].

WdgM_SetMode переключается в другой сконфигурированный режим [SWS_WdgM_00154], однако только при глобальном статусе OK или FAILED [SWS_WdgM_00145]. Для Entities, которые деактивированы в новом режиме, действует следующее:

  • Они переходят в WDGM_LOCAL_STATUS_DEACTIVATED [SWS_WdgM_00315].
  • Их результаты снова считаются корректными [SWS_WdgM_00315].
  • Их счётчик ошибок сбрасывается в 0 [SWS_WdgM_00315].

Entities, остающиеся активными, сохраняют своё состояние [SWS_WdgM_00182]. Для каждого сторожевого таймера WdgM устанавливает параметры режима через WdgIf_SetMode [SWS_WdgM_00186]. Пока выполняется смена режима, WdgM_GetMode всё ещё возвращает старый режим (SWS WdgM с. 77).

WdgM_SetMode_Ablauf start WdgM_SetMode(Mode) d1 Global Status OK или FAILED? start->d1 e1 Возврат без действия d1->e1 нет d2 Новый режим использует WDGIF_OFF_MODE и WdgMOffModeEnabled = FALSE? d1->d2 да e2 kein Moduswechsel, WDGM_E_DISABLE_NOT_ALLOWED, E_NOT_OK d2->e2 да wechsel Смена режима: деактивированная в новом режиме SE → WDGM_LOCAL_STATUS_DEACTIVATED, результаты корректны, счетчик ошибок 0; активные SE сохраняют состояние; WdgIf_SetMode для каждого сторожевого таймера (WdgMWatchdogMode) d2->wechsel нет d3 WdgIf_SetMode erfolgreich? wechsel->d3 ok E_OK d3->ok да nok WDGM_E_SET_MODE, Global Status STOPPED, E_NOT_OK d3->nok нет

Диаграмма активности: смена режима проходит через проверку статуса, защиту от режима Off и установку режимов сторожевого таймера; если последнее завершается сбоем, процесс завершается переходом в STOPPED. Источники: [SWS_WdgM_00145], [SWS_WdgM_00031], [SWS_WdgM_00186], [SWS_WdgM_00139]; порядок проверок является интерпретацией

При переходе в SLEEP модуль EcuM вызывает WdgM_DeInit. Функция сначала переключается в режим сна, определённый интегратором. Благодаря этому условие триггерирования, несмотря на оконные сторожевые таймеры, позволяет выполнить оставшееся завершение работы без сброса. После этого модуль деинициализируется (SWS WdgM с. 59). При этом контроль и обработка сторожевого таймера останавливаются [SWS_WdgM_00407]. Во время SLEEP триггерирование должны взять на себя BswM или EcuM.

WdgM-Lebenszyklus: Start, Moduswechsel, DeinitialisierungEcuM / BswMSchM / Os-TaskWdgMWdgIfDemUse Case: StartWdgM_Init(ConfigPtr)Modulvariablen initialisieren,Initial-Modus herstellenWdgIf_SetMode(DeviceIndex, WdgMode)erster Aufruf WdgM_MainFunction()Контроль иWatchdog Handling startenoptWdgMDemStoppedSupervisionReport = TRUEDem_SetEventStatus(WDGM_E_SUPERVISION, PASSED)Use Case: BetriebWdgM_SetMode(Mode)WdgIf_SetMode(...) je WatchdogE_OK / E_NOT_OKUse Case: переход в SLEEPWdgM_DeInit()WdgIf_SetMode(...) для режима SleepКонтроль иWatchdog Handling stoppenВо время SLEEP еще активныемодули BSW (BswM/EcuM) триггируют сторожевые таймеры

Диаграмма последовательности: от запуска через смену режима до деинициализации перед SLEEP. Источники: SWS WdgM с. 102, [SWS_WdgM_00406], [SWS_WdgM_00408], [SWS_WdgM_00407].

Контрольные точки и три функции контроля

Supervised Entity сообщает о контрольной точке с помощью WdgM_CheckpointReached(SEID, CheckpointID) [SWS_WdgM_00263]. Оба идентификатора имеют тип uint16. Контрольная точка уникальна только в составе пары из ID SE и ID контрольной точки [SWS_WdgM_00356] [SWS_WdgM_00357]. Вызов выполняет три действия (SWS WdgM с. 79):

  • Он увеличивает Alive Counter контрольной точки.
  • Он проверяет Deadline Supervision на слишком раннее или слишком позднее поступление.
  • Он выполняет Logical Supervision.

Если Entity деактивирована в текущем режиме, служба возвращает E_NOT_OK и сообщает WDGM_E_SEDEACTIVATED [SWS_WdgM_00319].

Alive Supervision проверяет циклические процессы. Основная функция оценивает счётчики Alive Counter с частотой WdgMSupervisionReferenceCycle, кратной Supervision Cycle (SWS WdgM с. 42). Deadline Supervision проверяет соблюдение границ WdgMDeadlineMin/WdgMDeadlineMax между начальной и конечной контрольными точками. Временные метки возвращает GetElapsedValue со счётчиком OS для Entity; масштабирование выполняется через OsSecondsPerTick [SWS_WdgM_00373] [SWS_WdgM_00374]. Если начальная временная метка равна 0, проверка успешно завершается без измерения [SWS_WdgM_00354]. Если конечная контрольная точка отсутствует, WdgM_MainFunction обнаруживает тайм-аут, если установлено WdgMEnableTimeoutDetection [SWS_WdgM_00403] [SWS_WdgM_00404].

Logical Supervision проверяет последовательность контрольных точек. Для каждого графа существует флаг активности, который WdgM_Init устанавливает в false. Граф начинается в начальной контрольной точке (SWS WdgM с. 51). Внутренние графы принадлежат одной Entity и действуют во всех режимах. Внешние графы связывают несколько Entities и конфигурируются отдельно для каждого режима (SWS WdgM с. 46, [SWS_WdgM_00366]).

регистрации контрольных точек и циклического анализаSupervised EntityWdgMOsSchM / Os-TaskRTE (Mode-Ports)WdgIfUse Case: SE-Kontext (ereignisgesteuert)WdgM_CheckpointReached(SEID, CheckpointID)Инкрементировать Alive Counterконтрольной точкиGetElapsedValue(CounterID, ...)Deadline Supervision:слишком рано / слишком поздно?Logical Supervision:Переход допустим?E_OK / E_NOT_OKUse Case: OS-Scheduler-Kontext (zyklisch)WdgM_MainFunction()loopдля каждой Supervised EntityAlive Supervision(je Supervision Reference Cycle)Deadline-Timeout-Erkennung(falls aktiviert)Local Supervision Status bestimmenGlobal Supervision Status bestimmenСмена статуса посредствомmode_{…} / globalmodeWdgIf_SetTriggerCondition(...)

Диаграмма последовательности: контрольные точки регистрируются по событиям, оценка и триггерирование выполняются циклически в основной функции. Источники: SWS WdgM с. 32, [SWS_WdgM_00263], [SWS_WdgM_00404], [SWS_WdgM_00197].

Локальный и глобальный статусы контроля

На основе трёх результатов WdgM формирует для каждой Entity статус Local Supervision Status (SWS WdgM с. 30). WDGM_LOCAL_STATUS_FAILED является устранимым: если Entity снова ведёт себя штатно, она возвращается в состояние OK. Если число сбоев превышает лимит, она переходит в WDGM_LOCAL_STATUS_EXPIRED [SWS_WdgM_00359]. Этот допуск распространяется только на Alive Supervision. При ошибках дедлайна и логических ошибках уже первый ошибочный результат приводит к EXPIRED (SWS WdgM с. 30).

Local_Supervision_Status init WdgM_Init OK WDGM_LOCAL_STATUS_OK init->OK SE активна в начальном режиме DEACT WDGM_LOCAL_STATUS_DEACTIVATED init->DEACT SE не активна в начальном режиме FAILED WDGM_LOCAL_STATUS_FAILED OK->FAILED Alive-Ergebnis fehlerhaft, Toleranz > 0 EXPIRED WDGM_LOCAL_STATUS_EXPIRED OK->EXPIRED Ошибка Deadline/Logical или ошибка Alive без допуска OK->DEACT WdgM_SetMode: SE деактивирована в новом режиме FAILED->OK все результаты снова корректны FAILED->EXPIRED Сбои превышают допустимый предел FAILED->DEACT WdgM_SetMode: SE деактивирована в новом режиме

Диаграмма состояний: жизненный цикл Local Supervision Status для Supervised Entity. Источники: SWS WdgM с. 30, [SWS_WdgM_00359], [SWS_WdgM_00315].

Для всего программного обеспечения существует Global Supervision Status со значениями DEACTIVATED, OK, FAILED, EXPIRED и STOPPED (SWS WdgM с. 36). EXPIRED означает: предел ошибок превышен, но драйвер всё ещё выполняет триггерирование. В состоянии STOPPED драйверу предписано прекратить триггерирование, после чего следует сброс сторожевого таймера [SWS_WdgM_00360]. Время нахождения WdgM в состоянии EXPIRED определяет WdgMExpiredSupervisionCycleTol в значениях, кратных Supervision Cycle (SWS WdgM с. 36).

Global_Supervision_Status stat statische Initialisierung DEACT WDGM_GLOBAL_STATUS_DEACTIVATED stat->DEACT OK WDGM_GLOBAL_STATUS_OK DEACT->OK WdgM_Init (Interpretation) FAILED WDGM_GLOBAL_STATUS_FAILED OK->FAILED Контроль не пройден, в пределах лимита ошибок EXPIRED WDGM_GLOBAL_STATUS_EXPIRED OK->EXPIRED Лимит ошибок превышен STOPPED WDGM_GLOBAL_STATUS_STOPPED OK->STOPPED Сбой WdgIf_SetMode при смене режима FAILED->OK Fehler behoben (Interpretation) FAILED->EXPIRED Лимит ошибок превышен FAILED->STOPPED Сбой WdgIf_SetMode при смене режима EXPIRED->STOPPED WdgMExpiredSupervisionCycleTol исчерпан RESET Watchdog-Reset STOPPED->RESET Драйвер больше не выполняет триггирование

Диаграмма состояний: эскалация Global Supervision Status вплоть до сброса; оба перехода, отмеченные как интерпретация, явным образом не подтверждены документацией. Источники: [SWS_WdgM_00387], [SWS_WdgM_00360], SWS WdgM с. 36, SWS WdgM с. 57.

Порты, сообщения о статусе и службы запроса

Для каждой Supervised Entity WdgM предоставляет порт контроля [SWS_WdgM_00146]. Он называется localSupervision_{SupervisedEntityCheckpointName} и передаёт ID SE и ID контрольной точки в качестве определённых портом аргументов [SWS_WdgM_00147] [SWS_WdgM_00333]. Локальный статус запрашивается через localSupervisonStatus_{SupervisedEntityName} [SWS_WdgM_91003] [SWS_WdgM_91004]. Глобальные запросы, такие как GetGlobalStatus или GetFirstExpiredSEID, выполняются через globalSupervision [SWS_WdgM_91002] [SWS_WdgM_91001].

Об изменениях статуса WdgM инициативно сообщает через порты режима: для каждой Entity через mode_{SupervisedEntityName} и один раз через globalmode [SWS_WdgM_00149] [SWS_WdgM_00150]. Оба используют Mode Declaration Group WdgM_Mode со значениями от SUPERVISION_OK до SUPERVISION_DEACTIVATED [SWS_WdgM_00334]. Локальные изменения передаются немедленно, глобальные — каждый раз только один раз [SWS_WdgM_00197] [SWS_WdgM_00199]. Локальный и глобальный порты режима имеют разные интерфейсы. Благодаря этому к локальным портам можно обращаться через Indirect Port API без появления глобального порта в этом списке (SWS WdgM с. 101).

WdgM_Ports swc1 swc1: SWC Type A (se1, se2) lsup localSupervision_{SupervisedEntityCheckpointName} WdgM_LocalSupervision swc1->lsup CheckpointReached swc2 swc2: SWC Type A (se1, se2) swc2->lsup CheckpointReached swc3 swc3: SWC Type B (se) swc3->lsup CheckpointReached lstat localSupervisonStatus_{SupervisedEntityName} WdgM_LocalSupervisionStatus swc3->lstat GetLocalStatus glob Nutzer globaler Dienste (GlobalSupervisionNeeds) gsup globalSupervision WdgM_GlobalSupervision glob->gsup GetGlobalStatus, GetMode, GetFirstExpiredSEID, ... WdgM WdgM lsup->WdgM lstat->WdgM gsup->WdgM lmode mode_{SupervisedEntityName} WdgM_LocalMode lmode->swc1 lmode->swc2 lmode->swc3 gmode globalmode WdgM_GlobalMode gmode->swc3 WdgM->lmode Local Supervision Status WdgM->gmode Global Supervision Status

Диаграмма кооперации: компоненты SW-C и глобальные пользователи привязаны к WdgM через служебные порты и порты режима. Источники: SWS WdgM с. 99, [SWS_WdgM_00147], [SWS_WdgM_00149], [SWS_WdgM_00150], [SWS_WdgM_91002].

Службы запроса и WdgM_CheckpointReached являются реентерабельными. WdgM_SetMode и WdgM_PerformReset реентерабельными не являются [SWS_WdgM_00175] [SWS_WdgM_00263] [SWS_WdgM_00154] [SWS_WdgM_00264]. Модули BSW, которые глобально управляют WdgM или опрашивают его, описывают это через GlobalSupervisionNeeds (TPS BSWMDT с. 257).

Конфигурация: режимы, Supervised Entities и триггерирование сторожевого таймера

WdgM поддерживает VARIANT-PRE-COMPILE и VARIANT-POST-BUILD (SWS WdgM с. 97). Параметры, поддерживающие post-build, находятся в WdgM_ConfigType [SWS_WdgM_00355]. Интегратор ECU выполняет конфигурацию сверху вниз (top-down), анализируя для этого ServiceNeeds из ECU Extract (TR Methodology с. 389). SupervisedEntityNeeds описывают для каждой Entity, помимо прочего, активацию при запуске, разрешённую деактивацию, времена циклов Alive и допустимое количество ошибочных циклов (SWC-Template с. 716).

WdgMMode включает следующие части (SWS WdgM с. 119):

  • WdgMModeId
  • WdgMExpiredSupervisionCycleTol
  • Контейнеры для Alive, Deadline и внешнего Logical Supervision
  • Контейнеры для локальных параметров состояния
  • WdgMTrigger

Триггер определяет WdgMWatchdogMode (FAST/SLOW/OFF) и WdgMTriggerConditionValue (SWS WdgM с. 125). WdgMGeneral содержит такие переключатели, как WdgMDevErrorDetect и WdgMImmediateReset (SWS WdgM с. 107). Для Deadline Supervision каждой сущности требуется счетчик OS (SWS WdgM с. 46).

Поведение при ошибке

При активном WdgMDevErrorDetect WdgM сообщает об ошибках разработки в DET, например WDGM_E_UNINIT, WDGM_E_PARAM_SEID, WDGM_E_INV_POINTER или WDGM_E_CPID [SWS_WdgM_00004]. Если модуль не инициализирован, действует фиксированный шаблон: при наличии проверки сообщается WDGM_E_UNINIT, без проверки служба завершается без совершения действий [SWS_WdgM_00279] [SWS_WdgM_00394]. В качестве ошибок времени выполнения предусмотрены WDGM_E_DISABLE_NOT_ALLOWED, WDGM_E_SEDEACTIVATED и WDGM_E_SET_MODE [SWS_WdgM_00402].

Если WdgMOffModeEnabled равен FALSE, WdgM_SetMode отклоняет режим с WDGIF_OFF_MODE. В этом случае служба сообщает WDGM_E_DISABLE_NOT_ALLOWED и возвращает E_NOT_OK [SWS_WdgM_00031]. WdgM_Init ведет себя аналогично при таком начальном режиме [SWS_WdgM_00030]. В случае сбоя WdgIf_SetMode WdgM сообщает WDGM_E_SET_MODE и устанавливает глобальное состояние в STOPPED [SWS_WdgM_00139]. Сброс выполняется немедленно, если сконфигурирован Immediate Reset, иначе — по истечении первого сторожевого таймера (SWS WdgM с. 57).

Если глобальное состояние достигает STOPPED, WdgM сообщает о событии DEM WDGM_E_SUPERVISION как об ошибке [SWS_WdgM_00375]. После запуска он опционально сообщает о том же событии как о PASSED [SWS_WdgM_00408]. После перезапуска WdgM_GetFirstExpiredSEID возвращает сущность, которая первой перешла в состояние EXPIRED [SWS_WdgM_00346]. Служба доступна еще до WdgM_Init [SWS_WdgM_00348]. Она считывает значение в дважды инвертированном виде из неинициализированной RAM и при несогласованности возвращает E_NOT_OK [SWS_WdgM_00349]. WdgM_Init очищает значение [SWS_WdgM_00370]. Предположительно, WdgM записывает его при первом переходе сущности в состояние EXPIRED. Вопрос Q-bb8ada25b04b0758 (открытый)

WdgM_PerformReset устанавливает условие триггера всех драйверов в 0 и после этого больше его не обновляет (SWS WdgM с. 82). EcuM выполняет эту службу в качестве одной из своих целей сброса (SWS EcuM с. 72).

Эскалация до сброса и анализ причинSchM / Os-TaskWdgMнеинициализированная RAMDemWdgIf / WdgMcuEcuM / AufruferWdgM_MainFunction()SE erreichtWDGM_LOCAL_STATUS_EXPIREDSEID doppelt-invers ablegenИнтерпретация: сохранение припервом переходе в EXPIREDGlobal Status EXPIREDloopдо исчерпания WdgMExpiredSupervisionCycleTolWdgM_MainFunction()Global Status STOPPEDDem_SetEventStatus(WDGM_E_SUPERVISION, FAILED)(falls konfiguriert)altImmediate Reset konfiguriertMcu_PerformReset()иначекорректное условие триггера больше отсутствуетпервый сторожевой таймер истекает→ Hardware-ResetUse Case: После перезапускаWdgM_GetFirstExpiredSEID(&SEID)считать значение и инверсиюE_OK + SEID / E_NOT_OK + 0WdgM_Init(ConfigPtr)удалить сохраненное значение

Диаграмма последовательности: эскалация от просроченной контролируемой сущности (Supervised Entity) до сброса и анализ причины после перезапуска. Источники: [SWS_WdgM_00360], [SWS_WdgM_00375], [SWS_WdgM_00349], [SWS_WdgM_00370], SWS WdgM с. 57; момент сохранения является интерпретацией

Дальнейшие подробные доказательства

Сгенерированное ИИ руководство для WdgM (Classic, R20-11) на основе приложенных выдержек из спецификаций. Нормативными являются связанные требования. Некоторые фрагменты документов взяты из более поздних релизов и использовались только там, где они не противоречат требованиям R20-11. Утверждения, обозначенные как интерпретация, не имеют документального подтверждения.

Watchdog Manager (WdgM)

Performs alive supervision, deadline supervision, and logical program flow monitoring.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

функция WdgM_Init [SWS_WdgM_00151] 📄 PDF

void WdgM_Init (const WdgM_ConfigType* ConfigPtr);

Initializes the Watchdog Manager.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: c034e317eda3 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция WdgM_Init синхронно инициализирует Watchdog Manager и является нереэнтрантной [SWS_WdgM_00151]. Единственным входным параметром выступает ConfigPtr, указывающий на данные конфигурации этапа post-build (WdgM_ConfigType) [SWS_WdgM_00151]. Формально функция не имеет возвращаемого значения (void) [SWS_WdgM_00151].

Обработка ошибок и граничные условия

Перед инициализацией Watchdog Manager должен находиться в состоянии WDGM_GLOBAL_STATUS_DEACTIVATED: если параметр конфигурации разработки WdgMDevErrorDetect деактивирован и модуль не находится в этом состоянии, WdgM_Init завершается без выполнения действий [SWS_WdgM_00390].

Если переключатель конфигурации WdgMOffModeEnabled не активирован и начальный режим, заданный через ConfigPtr, отключил бы сторожевой таймер (WDGIF_OFF_MODE), функция прерывает работу без выполнения дальнейших действий и сообщает об ошибке времени выполнения WDGM_E_DISABLE_NOT_ALLOWED в Default Error Tracer (DET) [SWS_WdgM_00030]. Требуемый спецификацией возврат с E_NOT_OK при этом следует интерпретировать как внутреннее прерывание по ошибке, поскольку сигнатура предписывает void [SWS_WdgM_00151]. Вопрос Q-83a164f8f4669d4d (открытый)

Взаимодействие и последовательность

  • Диагностика ошибок перед инициализацией: функция WdgM_GetFirstExpiredSEID() должна быть доступна еще до вызова WdgM_Init, чтобы считать ID ранее завершившейся по таймауту контролируемой сущности (SEID) [SWS_WdgM_00348].
  • Очистка RAM: во время инициализации WdgM_Init удаляет сохраненное в неинициализированной RAM дважды инвертированное значение SEID первой завершившейся по таймауту сущности [SWS_WdgM_00370].
  • Сообщение о статусе в DEM: в рамках первого вызова WdgM_MainFunction после WdgM_Init модуль при установленном параметре WdgMDemStoppedSupervisionReport сообщает статус PASSED для WDGM_E_SUPERVISION в DEM [SWS_WdgM_00408].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция WdgM_DeInit [SWS_WdgM_00261] 📄 PDF

void WdgM_DeInit (void);

De - initializes the Watchdog Manager.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f81345e92521 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Синхронная функция WdgM_DeInit служит для деинициализации Watchdog Manager [SWS_WdgM_00261]. Интерфейс имеет идентификатор сервиса (Service-ID) 0x01, предоставляется через заголовочный файл WdgM.h и не принимает входных параметров, а также не возвращает вызывающей стороне возвращаемого значения [SWS_WdgM_00261]. В качестве контекста вызова, предположительно, предусмотрена упорядоченная последовательность выключения (Shutdown Sequence) электронного блока управления (ЭБУ), в которой активные контроли перед отключением контролируемо завершаются. Вопрос Q-50d7e49c71d2dfd3 (открытый)

Функциональный объем и взаимодействие

В рамках деинициализации модуль WdgM полностью останавливает функции контроля (Supervision Functions) во всех сконфигурированных алгоритмах контроля (Supervision Algorithms) и одновременно завершает обслуживание сторожевого таймера (Watchdog Handling) [SWS_WdgM_00407].

Обработка ошибок и граничные условия

Если в момент вызова Watchdog Manager уже находится в глобальном состоянии WDGM_GLOBAL_STATUS_DEACTIVATED, поведение зависит от параметра конфигурации WdgMDevErrorDetect: если это обнаружение ошибок разработки отключено, WdgM_DeInit возвращает управление немедленно и без какого-либо эффекта [SWS_WdgM_00388].

Относительно параллелизма установлено, что функция является нереентерабельной [SWS_WdgM_00261]. Поэтому вызов ни в коем случае не должен происходить с прерыванием или параллельно из нескольких контекстов.

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.

функция WdgM_SetMode [SWS_WdgM_00154] 📄 PDF

Std_ReturnType WdgM_SetMode (WdgM_ModeType Mode);

Sets the current mode of Watchdog Manager.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 3fd969cfebd9 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Функция WdgM_SetMode служит для синхронного переключения Watchdog Manager в один из сконфигурированных рабочих режимов ([SWS_WdgM_00154]). В качестве входного параметра она ожидает Mode типа WdgM_ModeType. Возвращаемое значение Std_ReturnType сигнализирует с помощью E_OK об успешном выполнении смены режима, а с помощью E_NOT_OK — о сбое ([SWS_WdgM_00154]).

Ограничения и обработка ошибок

Функция является нереентерабельной (Non Reentrant) ([SWS_WdgM_00154]). Выполнение привязано к текущему глобальному статусу Watchdog Manager:

  • Если модуль находится не в статусе WDGM_GLOBAL_STATUS_OK и не в WDGM_GLOBAL_STATUS_FAILED, функция возвращает управление без выполнения каких-либо действий ([SWS_WdgM_00145]).
  • Если параметр конфигурации WdgMDevErrorDetect деактивирован, вызов в статусе WDGM_GLOBAL_STATUS_DEACTIVATED остается без какого-либо эффекта ([SWS_WdgM_00392]).

Взаимодействие и последствия

При наличии действительного глобального статуса (WDGM_GLOBAL_STATUS_OK или WDGM_GLOBAL_STATUS_FAILED) WdgM_SetMode обновляет контролируемые сущности, а также сторожевые таймеры:

  • Для каждой Supervised Entity, активированной в целевом режиме, текущее состояние сохраняется ([SWS_WdgM_00182]).
  • Для каждой Supervised Entity, деактивированной в целевом режиме, локальное состояние меняется на WDGM_LOCAL_STATUS_DEACTIVATED; результаты Active, Deadline и Logical Supervision устанавливаются в корректное значение, а счетчик ошибочных циклов сбрасывается в 0 ([SWS_WdgM_00315]). Благодаря переходу в режим с деактивацией сущности также устраняются ошибки, которые ранее привели к WDGM_GLOBAL_STATUS_FAILED ([SWS_WdgM_00182]).
  • В заключение сконфигурированные параметры режима сторожевого таймера активируются для каждого аппаратного сторожевого таймера через интерфейс WdgIf_SetMode ([SWS_WdgM_00186]).

Этот перевод основан на спецификации AUTOSAR R20-11 и курирован ИИ.

Руководство разработчика реализации в подготовке (сложность I2)

функция WdgM_CheckpointReached [SWS_WdgM_00263] 📄 PDF

Std_ReturnType WdgM_CheckpointReached (WdgM_SupervisedEntityIdType SEID, WdgM_CheckpointIdType CheckpointID);

Indicates to the Watchdog Manager that a Checkpoint within a Supervised Entity has been reached.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 3c32ca59b4bb Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Синхронная функция сообщает в Watchdog Manager о достижении контрольного пункта внутри Supervised Entity [SWS_WdgM_00263]. В качестве входных параметров она принимает идентификатор контролируемой сущности (SEID), а также идентификатор достигнутого контрольного пункта (CheckpointID) и возвращает E_OK при успешном обновлении счетчика активности (Alive-счетчика) или E_NOT_OK при возникновении ошибок [SWS_WdgM_00263].

Обработка ошибок и статус

Если Watchdog Manager находится в статусе WDGM_GLOBAL_STATUS_DEACTIVATED, поведение зависит от конфигурации флага разработки: при активированном WdgMDevErrorDetect функция сообщает об ошибке WDGM_E_UNINIT в Default Error Tracer (DET) и завершается без каких-либо дальнейших действий [SWS_WdgM_00279]. Если WdgMDevErrorDetect деактивирован, возврат происходит без сообщения и без какого-либо действия [SWS_WdgM_00394].

Конкурентность и дедлайны

Вызов специфицирован как реэнтрантный [SWS_WdgM_00263]. Для определения временных меток и разностей времени при контроле дедлайнов функция использует функцию OS GetElapsedValue со сконфигурированным для сущности CounterID [SWS_WdgM_00373]. Масштабирование разностей времени под предельные значения осуществляется через параметр OsSecondsPerTick [SWS_WdgM_00374]. Если при вызове в активном режиме достигнут Deadline End Checkpoint, а временная метка соответствующего Start-Checkpoint равна 0, функция успешно завершается без измерения разности [SWS_WdgM_00354].

Это указание по использованию было создано автоматически на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция WdgM_GetLocalStatus [SWS_WdgM_00169] 📄 PDF

Std_ReturnType WdgM_GetLocalStatus (WdgM_SupervisedEntityIdType SEID, WdgM_LocalStatusType* Status);

Returns the supervision status of an individual Supervised Entity.

функция WdgM_GetGlobalStatus [SWS_WdgM_00175] 📄 PDF

Std_ReturnType WdgM_GetGlobalStatus (WdgM_GlobalStatusType* Status);

Returns the global supervision status of the Watchdog Manager.

функция WdgM_PerformReset [SWS_WdgM_00264] 📄 PDF

void WdgM_PerformReset (void);

Instructs the Watchdog Manager to cause a watchdog reset.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9885fefa4e38 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и контекст вызова

Синхронная функция WdgM_PerformReset предписывает модулю Watchdog Manager инициировать сброс сторожевым таймером [SWS_WdgM_00264]. Интерфейс объявляется через заголовочный файл WdgM.h и имеет идентификатор сервиса (Service-ID) 0x0f [SWS_WdgM_00264]. Она не принимает ни входных, ни выходных параметров и не возвращает возвращаемого значения [SWS_WdgM_00264].

Параллелизм и ограничения

Поскольку WdgM_PerformReset определена как нереентерабельная (Non Reentrant), параллельный или прерывающий многократный вызов не допускается [SWS_WdgM_00264]. Вызывающие стороны должны гарантировать, что вызовы синхронизированы или выполняются исключительно из подходящего контекста.

Зависимое от состояния поведение и обработка ошибок

Выполнение зависит от глобальных состояний Watchdog Manager: если параметр конфигурации WdgMDevErrorDetect отключен и модуль находится в глобальном статусе WDGM_GLOBAL_STATUS_DEACTIVATED, функция возвращает управление без какого-либо действия [SWS_WdgM_00401]. Сброс в этом случае полностью отменяется. Поведение при включенном обнаружении ошибок разработки (WdgMDevErrorDetect) в полезной нагрузке не специфицировано; интерпретация: в этом случае в отключенном состоянии, вероятно, регистрируется соответствующая ошибка разработки. Вопрос Q-8a726bba4154540f (открытый)

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.

функция WdgM_GetFirstExpiredSEID [SWS_WdgM_00346] 📄 PDF

Std_ReturnType WdgM_GetFirstExpiredSEID (WdgM_SupervisedEntityIdType* SEID);

Returns SEID that first reached the stat e WDGM_ LOCAL_ STATUS_ EXPIRED.

функция WdgM_MainFunction [SWS_WdgM_00159] 📄 PDF

void WdgM_MainFunction (void);

Performs the processing of the cyclic Watchdog Manager jobs.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6960691f573c Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Применение и циклический процесс

Функция WdgM_MainFunction выполняет периодические задачи Watchdog Manager [SWS_WdgM_00159]. Она имеет сигнатуру void WdgM_MainFunction(void), не принимает параметров, не возвращает значения и предоставляется через заголовочный файл SchM_WdgM.h [SWS_WdgM_00159]. При первом вызове после инициализации модуля она запускает как все функции контроля (для всех алгоритмов контроля, включая эталонные циклы), так и обработку сторожевого таймера [SWS_WdgM_00406].

Контроль дедлайнов и обнаружение таймаутов

В циклических вызовах WdgM_MainFunction выполняет контроль дедлайнов для обнаружения таймаутов для всех сущностей с активным контролем и обновляет их результат [SWS_WdgM_00404]:

  • Если обнаружение активировано через WdgMEnableTimeoutDetection, функция проверяет все сконфигурированные в активном режиме контроли дедлайнов, для которых был зарегистрирован начальный контрольный пункт (Start-Checkpoint), однако соответствующий конечный контрольный пункт (End-Checkpoint) еще ожидается [SWS_WdgM_00403].
  • Если измеренная разность времени до текущей временной метки превышает максимум WdgMDeadlineMax, функция устанавливает результат контроля Supervised Entity в ошибочный (incorrect) [SWS_WdgM_00403].

Взаимодействие с операционной системой

Для определения временных меток и разностей WdgM_MainFunction вызывает функцию OS GetElapsedValue со сконфигурированным для сущности идентификатором счетчика (параметр WdgMOSCounter) [SWS_WdgM_00373]. Масштабирование значений разности под предельные значения WdgMDeadlineMin и WdgMDeadlineMax осуществляется на основе параметра OsSecondsPerTick [SWS_WdgM_00374].

Этот текст был автоматически сгенерирован на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

тип WdgM_ConfigType [SWS_WdgM_00355] 📄 PDF

This structure contains all post - build configurable parameters of the Watchdog Manager. A pointer to this structure is passed to the Watchdog Manager initialization function for configuration. AUTOSAR CP R20 - of D ocument ID : AUTOSAR_SWS_WatchdogManager

тип WdgM_SupervisedEntityIdType [SWS_WdgM_00356] 📄 PDF

This type identifies an individual Supervised Entity for the Watchdog Manager.

тип WdgM_CheckpointIdType [SWS_WdgM_00357] 📄 PDF

This type identifies a Checkpoint in the context of a Supervised Entity for the Watchdog Manager. Note that an individual Checkpoint can only be identified by the pair of Supervised Entity ID and Checkpoint ID.

тип WdgM_Mode [SWS_WdgM_00334] 📄 PDF

The category of Mode Declaration Group Wdg M_ Mode is EXPLICIT_ ORDER, The attribute value for the Mode Declaration are set as following: "SUPERVISION_ OK" = 0 "SUPERVISION_ FAILED" = 1 "SUPERVISION_ EXPIRED" = 2 "SUPERVISION_ STOPPED" = 3 "SUP ERVISION_ DEACTIVATED" = 4 The on Transition Value is defined as 255

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: dbc1e33f878e Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Тип WdgM_Mode определен как Mode Declaration Group категории EXPLICIT_ORDER и служит для представления состояний контроля модуля [SWS_WdgM_00334].

Использование и диапазон значений

В качестве начального режима задан SUPERVISION_OK [SWS_WdgM_00334]. Для отдельных режимов заданы явные числовые значения [SWS_WdgM_00334]:

  • SUPERVISION_OK = 0
  • SUPERVISION_FAILED = 1
  • SUPERVISION_EXPIRED = 2
  • SUPERVISION_STOPPED = 3
  • SUPERVISION_DEACTIVATED = 4

Для значения перехода (on transition value) между режимами определено значение 255 [SWS_WdgM_00334].

Взаимодействие

Благодаря отнесению к категории EXPLICIT_ORDER и присвоению фиксированных порядковых значений данная группа, по-видимому, предназначена для упорядоченного отображения статуса внутри Watchdog Manager [SWS_WdgM_00334]. Вопрос Q-47c55c3bc2e2a23d (открытый)

Этот текст был создан ИИ на основе спецификации.

Руководство разработчика реализации в подготовке (сложность I1)

тип WdgM_LocalStatusType [SWS_WdgM_00359] 📄 PDF

This type shall be used for variables that represent the current status of supervision for individual Supervised Entitie s.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7f77d0becca2 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Тип WdgM_LocalStatusType используется для переменных, отображающих текущий локальный статус контроля отдельной контролируемой сущности (Supervised Entity) в Watchdog Manager [SWS_WdgM_00359]. Тип данных является производным от базового типа uint8 и предоставляется через заголовочный файл Rte_WdgM_Type.h [SWS_WdgM_00359].

Диапазон значений включает четыре дискретных состояния согласно [SWS_WdgM_00359]:

  • WDGM_LOCAL_STATUS_OK (значение 0): контроль Supervised Entity не содержит ошибок.
  • WDGM_LOCAL_STATUS_FAILED (значение 1): контроль завершился сбоем, однако состояние еще может быть восстановлено («healed»), если сущность вернется к нормальному поведению. Это применимо до тех пор, пока не превышен конфигурируемый предел ошибок; в противном случае статус переходит в WDGM_LOCAL_STATUS_EXPIRED.
  • WDGM_LOCAL_STATUS_EXPIRED (значение 2): контроль завершился необратимым сбоем; выйти из этого состояния невозможно.
  • WDGM_LOCAL_STATUS_DEACTIVATED (значение 4): локальный контроль Supervised Entity временно деактивирован.

Вследствие определения в Rte_WdgM_Type.h данный тип, по-видимому, в первую очередь предназначен для межкомпонентного и проходящего через RTE обмена состояниями контроля [SWS_WdgM_00359]. Вопрос Q-a9e584dc4c7cfa3b (открытый)

Этот текст был создан ИИ. Все данные основаны исключительно на спецификациях AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

тип WdgM_GlobalStatusType [SWS_WdgM_00360] 📄 PDF

This type shall be used for variables that represent the global supervision status of the Watchdog Manager module.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f7b49aed5af1 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Тип данных WdgM_GlobalStatusType служит для определения переменных, представляющих глобальный статус контроля модуля Watchdog Manager [SWS_WdgM_00360]. Он является производным от базового типа uint8 и предоставляется через заголовочный файл Rte_WdgM_Type.h [SWS_WdgM_00360].

Диапазон значений включает пять определенных состояний контроля [SWS_WdgM_00360]:

  • WDGM_GLOBAL_STATUS_OK (0): контроль не содержит никаких ошибок.
  • WDGM_GLOBAL_STATUS_FAILED (1): контроль завершился сбоем, однако все еще находится в пределах допустимого лимита ошибок.
  • WDGM_GLOBAL_STATUS_EXPIRED (2): контроль завершился сбоем и допустимый лимит ошибок был превышен, однако драйверу сторожевого таймера еще не была дана команда прекратить запуск триггера.
  • WDGM_GLOBAL_STATUS_STOPPED (3): лимит ошибок был превышен и драйверу сторожевого таймера была дана команда прекратить запуск триггера, вследствие чего сброс сторожевого таймера непосредственно неизбежен.
  • WDGM_GLOBAL_STATUS_DEACTIVATED (4): модуль WdgM не инициализирован и поэтому не управляет сторожевыми таймерами.

Через эти состояния данный тип отображает полный цикл контроля, начиная от деактивации перед инициализацией, через штатную или отказоустойчивую работу и заканчивая многоуровневой эскалацией с окончательным сбросом сторожевого таймера при сохраняющихся ошибках [SWS_WdgM_00360].

Это указание по использованию было создано ИИ на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I1)

тип WdgM_ModeType [SWS_WdgM_00358] 📄 PDF

This type distinguishes the different modes that were configured for the Watchdog Manager.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 991ebd8bd655 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Тип данных WdgM_ModeType служит для однозначного различения различных режимов, спроектированных для Watchdog Manager [SWS_WdgM_00358]. Он предоставляется для программных компонентов и модулей базового ПО через заголовочный файл Rte_WdgM_Type.h [SWS_WdgM_00358].

Согласно спецификации [SWS_WdgM_00358], тип обладает следующими свойствами:

  • Базовый тип: WdgM_ModeType является производным от стандартного типа данных uint8 [SWS_WdgM_00358].
  • Диапазон значений: диапазон значений охватывает от 0 до <Number of Modes> [SWS_WdgM_00358].
  • Зависимость от конфигурации: фактический верхний предел диапазона значений определяется количеством режимов, сконфигурированных для Watchdog Manager [SWS_WdgM_00358].

Поскольку речь идет об определении типа, параметры времени выполнения, коды ошибок или семантики асинхронности отсутствуют. Интерпретация: на основании объявления в Rte_WdgM_Type.h, WdgM_ModeType, вероятно, преимущественно используется для обмена информацией о режимах через интерфейсы RTE между прикладным ПО и Watchdog Manager. Вопрос Q-27975280bc68720e (открытый)

Это указание по использованию основано на спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

тип globalmode [SWS_WdgM_00150] 📄 PDF

-

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 747dfe1f1d56 Происхождение Открытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Элемент globalmode согласно спецификации [SWS_WdgM_00150] определен как предоставляемый порт (Provided Port Interface) Watchdog Manager (WdgM) в AUTOSAR Classic Platform в релизе R20-11. В качестве типа интерфейса указан WdgM_GlobalMode. Элемент служит в общей системе формальным интерфейсом порта, через который модуль предоставляет свой статус другим программным компонентам.

Спецификация [SWS_WdgM_00150] не содержит подробностей относительно конкретного применения, параметров, возвращаемых значений или структур данных. В качестве интерпретации интерфейс портов, по-видимому, в первую очередь служит для предоставления вышестоящим сущностям, таким как BswM или прикладные SW-C, текущего глобального статуса контроля Watchdog Manager. Вопрос Q-6a0217eb1d28c1b4 (открытый) Ввиду отсутствия иных сведений в источниках предоставление режима, вероятно, осуществляется синхронно через RTE.

В отношении обработки ошибок, сообщений DET или DEM, а также специфических кодов ошибок [SWS_WdgM_00150] полностью хранит молчание. Точно так же полезная нагрузка не содержит нормативных определений касательно реверсивности (реэнтрантности), приоритетов или контекстов вызова; однако в качестве интерпретации доступ, по-видимому, подчиняется общим правилам конкурентности управления состоянием WdgM. Вопрос Q-28fa9de4b06e3b0d (открытый) Связанные требования для данного элемента отсутствуют.

Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_WdgM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_WdgM@rel:R20-11#d16204a9
Content hash
d16204a9
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_WatchdogManager.pdf#nameddest=SWS_WdgM_00151

Инициализация и состояние

WdgM_DeInit функция

De - initializes the Watchdog Manager.

void WdgM_DeInit (void);
WdgM_GetVersionInfo функция

Returns the version information of this module.

void WdgM_GetVersionInfo (Std_VersionInfoType* VersionInfo);
WdgM_Init функция

Initializes the Watchdog Manager.

void WdgM_Init (const WdgM_ConfigType* ConfigPtr);

Сервисы

WdgM_CheckpointReached функция

Indicates to the Watchdog Manager that a Checkpoint within a Supervised Entity has been reached.

Std_ReturnType WdgM_CheckpointReached (WdgM_SupervisedEntityIdType SEID, WdgM_CheckpointIdType CheckpointID);

Returns SEID that first reached the stat e WDGM_ LOCAL_ STATUS_ EXPIRED.

Std_ReturnType WdgM_GetFirstExpiredSEID (WdgM_SupervisedEntityIdType* SEID);
WdgM_GetGlobalStatus функция

Returns the global supervision status of the Watchdog Manager.

Std_ReturnType WdgM_GetGlobalStatus (WdgM_GlobalStatusType* Status);
WdgM_GetLocalStatus функция

Returns the supervision status of an individual Supervised Entity.

Std_ReturnType WdgM_GetLocalStatus (WdgM_SupervisedEntityIdType SEID, WdgM_LocalStatusType* Status);
WdgM_GetMode функция

Returns the current mode of the Watchdog Manager.

Std_ReturnType WdgM_GetMode (WdgM_ModeType* Mode);
WdgM_PerformReset функция

Instructs the Watchdog Manager to cause a watchdog reset.

void WdgM_PerformReset (void);
WdgM_SetMode функция

Sets the current mode of Watchdog Manager.

Std_ReturnType WdgM_SetMode (WdgM_ModeType Mode);

Циклические

WdgM_MainFunction функция

Performs the processing of the cyclic Watchdog Manager jobs.

void WdgM_MainFunction (void);

Типы

globalmode тип

-

This type identifies a Checkpoint in the context of a Supervised Entity for the Watchdog Manager. Note that an individual Checkpoint can only be identified by the pair of Supervised Entity ID and Checkpoint ID.

This structure contains all post - build configurable parameters of the Watchdog Manager. A pointer to this structure is passed to the Watchdog Manager initialization function for configuration. AUTOSAR CP R20 - of D ocument ID : AUTOSAR_SWS_WatchdogManager

This type shall be used for variables that represent the global supervision status of the Watchdog Manager module.

This type shall be used for variables that represent the current status of supervision for individual Supervised Entitie s.

WdgM_Mode тип

The category of Mode Declaration Group Wdg M_ Mode is EXPLICIT_ ORDER, The attribute value for the Mode Declaration are set as following: "SUPERVISION_ OK" = 0 "SUPERVISION_ FAILED" = 1 "SUPERVISION_ EXPIRED" = 2 "SUPERVISION_ STOPPED" = 3 "SUP ERVISION_ DEACTIVATED" = 4 The on Transition Value is defined as 255

This type distinguishes the different modes that were configured for the Watchdog Manager.

This type identifies an individual Supervised Entity for the Watchdog Manager.