AUTOSAR_SWS_OS
FIG-c2c1b9a41881a1e4
949 × 550 px
3 Release(s)
Figure 7.8: Explicit Schedule Table Synchronization The Operating System module provides the service SetScheduleTableAsync() (see SWS_Os_00422) to cancel synchronization being performed at adjustable expiry points on a schedule table.
SHA-256 Inhalts-Fingerabdruck:
c2c1b9a41881a1e48cf2aaee5845370de4b194f80918b54319413a7174122bce
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
Timing- und Zustandsdiagramm zur expliziten Synchronisation einer OS-Schedule-Table (AUTOSAR_SWS_OS). Das Diagramm illustriert das Zusammenspiel zwischen den internen Zuständen einer Schedule Table (STOPPED, WAITING, RUNNING, RUNNING_AND_SYNCHRONOUS), den Ablaufpunkten (Expiry Points EP1, EP2, EP3), dem zu Grunde liegenden Zähler der Schedule Table (Drive Counter) sowie einer externen bzw. übergeordneten Synchronisationszeitbasis (Synchronization Counter).
2. Komponenten, Entitäten & Schnittstellen
- Schedule Table (
Tbl): Enthält Expiry PointsEP1(Offset 2),EP2(Offset 5),EP3(Offset 8) bei einer Gesamtdauer (Duration) von 10 Ticks (Wertebereich 0 bis 9). - Expiry Points (
EP1,EP2,EP3): Konfigurierte Aktionszeitpunkte mit definierbaren maximalen Anpassungsgrenzen (MaxShorten,MaxLengthen) zur Phasenkorrektur. - Drive Counter: Zeitbasis/Zähler des OS (hier 16-Bit-Darstellung mit Überlauf bei 65535 auf 0), der den physikalischen Fortschritt der Tabelle steuert.
- Synchronization Counter: Referenzzähler (Wertebereich 0 bis 9 zyklisch), an den die Tabelle synchronisiert wird.
- OS-API-Schnittstellen:
StartScheduleTableSynchron(ScheduleTableType ScheduleTableID)SyncScheduleTable(ScheduleTableType ScheduleTableID, GlobalTimeTickType GlobalTime)SetScheduleTableAsync(ScheduleTableType ScheduleTableID)(in der Spezifikation zur Beendigung der Synchronisation genannt)
3. Dynamisches Verhalten & Sequenzablauf
- Startphase:
StartScheduleTableSynchron(Tbl)versetzt die Schedule Table vonSTOPPEDin den ZustandWAITING. - Erster Synchronisationsaufruf: Bei
SyncScheduleTable(Tbl, 8)wird der initiale Berechnungsabgleich durchgeführt (DriveCtr.Match = DriveCtr.Now + (Duration - 8) + InitialOffset = 65535 + 2 + 2 = 3), wodurch die Tabelle synchron bei Offset 0 im ZustandRUNNING_AND_SYNCHRONOUSgestartet wird. - Erste Abweichung (Verlängerung/Lengthening):
- Aufruf von
SyncScheduleTable(Tbl, 5): Aus der aktuellen Position auf der Tabelle (PositionOnTbl = NextEP.Offset - (DriveCtr.Match - DriveCtr.Now) = 8 - (9 - 8) = 7) ergibt sich eine AbweichungDeviation = PositionOnTbl - 5 = 2. - Die Schedule Table wechselt in den Zustand
RUNNING. - Die Korrektur erfolgt am verstellbaren Ablaufpunkt
EP3:EP3.Delay = EP3.Delay + AdjustmentmitAdjustment = min(MaxLengthen, Deviation) = min(..., 2) = 2. Die Verzögerung vergrößert sich von 3 auf 5 (+2Verlängerung der Tabelle). - Nach erfolgreicher Anpassung kehrt die Tabelle in den Zustand
RUNNING_AND_SYNCHRONOUSzurück.
- Aufruf von
- Zweite Abweichung (Verkürzung/Shortening):
- Aufruf von
SyncScheduleTable(Tbl, 3): Berechnung ergibtPositionOnTbl = 2 - (25 - 24) = 1und eine negative AbweichungDeviation = PositionOnTbl - 3 = -2. - Die Schedule Table wechselt wieder in den Zustand
RUNNING. - Der Abbau der Abweichung wird auf mehrere Expiry Points aufgeteilt (jeweils um
-1verkürzt):- An
EP1:EP1.Delay = EP1.Delay - min(MaxShorten, Deviation) = 2 - 1 = 1. - An
EP2:EP2.Delay = EP2.Delay - min(MaxShorten, Deviation) = 3 - 1 = 2.
- An
- Nach vollständiger Kompensation von insgesamt 2 Ticks erreicht die Schedule Table wieder den Zustand
RUNNING_AND_SYNCHRONOUS.
- Aufruf von
4. Normative Relevanz & Entwickler-Hinweise
- Das Diagramm konkretisiert die Anforderungen zur expliziten Synchronisation gemäß AUTOSAR OS (u. a.
SWS_Os_00422,SWS_Os_00199,SWS_Os_00206). - Die Abweichung (
Deviation) bestimmt, ob Ablaufpunkte verzögert (MaxLengthen) oder vorgezogen (MaxShorten) werden. Entwickler müssen beachten, dass eine Phasenkorrektur über konfigurierte Schwellwerte (OsScheduleTableMaxLengthen,OsScheduleTableMaxShorten) begrenzt ist und sich somit über mehrere Expiry Points oder Tabelleniterationen erstrecken kann. - Der Wechsel zwischen
RUNNINGundRUNNING_AND_SYNCHRONOUSerfolgt deterministisch anhand der verbleibenden Abweichung im Vergleich zum konfigurierten Synchronisationspräzisionsfenster (OsScheduleTableSyncPrecision).
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.