1 Introduction and functional overview
1.1 Use Cases
1.2 Functional Overview
2 Acronyms and Abbreviations
2.1 Definitions
2.1.1 Time Base Customer
3 Related documentation
3.1 Input documents & related standards and norms
3.2 Related specification
4 Constraints and assumptions
4.1 Limitations
4.1.1 OS ScheduleTable
4.1.2 Synchronized Time Base Identifier
4.1.3 Mode switches
4.1.4 Configuration
4.1.5 Out of scope
4.2 Applicability to car domains
4.3 Conflicts
5 Dependencies to other modules
5.1 Code file structure
5.2 Header file structure
6 Requirements Tracing
7 Functional specification
7.1 Startup behavior
7.1.1 Preconditions
7.1.2 Initialization
7.2 Shutdown behavior
7.3 Normal operation
7.3.1 Introduction
7.3.1.1 Virtual Local Time
7.3.1.2 Types of Time Bases
7.3.1.3 Roles of the StbM
7.3.1.4 Interpolating the Global Time
7.3.2 Synchronized Time Bases
7.3.2.1 Global Time Master
7.3.2.2 Time Slave
7.3.3 Offset Time Bases
7.3.3.1 Global Time Master
7.3.3.2 Time Slave
7.3.4 Pure Local Time Bases
7.3.5 Synchronization State
7.3.5.1 Global Time Master
7.3.5.2 Time Slaves
7.3.6 Immediate Time Synchronization
7.3.7 User Data
7.3.8 Time Correction
7.3.8.1 Rate Correction Measurement (for Time Slaves)
7.3.8.2 Time Interpolation, Rate and Offset Correction (for Time Slaves)
7.3.8.3 Time Interpolation and Rate Correction for Global Time Masters
7.3.9 Time Base Cloning
7.3.10 Notification of Customers
7.3.10.1 Time Notifications
7.3.10.2 Status Notifications
7.3.11 Triggering Customers
7.3.12 Time Recording
7.3.12.1 General
7.3.12.2 Global Time Precision Measurement Support
7.3.12.3 Time Validation Support
7.3.13 Freshness Value
7.3.13.1 General
7.3.14 Interaction with User Defined Timesync Module (CDD)
7.4 Multicore Distribution
7.5 Error Handling
7.6 Error Classification
7.6.1 Development Errors
7.6.2 Runtime Errors
7.6.3 Transient Faults
7.6.4 Production Errors
7.6.5 Extended Production Errors
7.7 Version Check
8 API specification
8.1 Imported types
8.2 Type definitions
8.2.1 Extension to Std_ReturnType
8.2.2 StbM_ConfigType
8.2.3 StbM_VirtualLocalTimeType
8.2.4 StbM_MeasurementType
8.3 Function definitions
8.3.1 StbM_GetVersionInfo
8.3.2 StbM_Init
8.3.3 StbM_GetCurrentTime
8.3.4 StbM_GetCurrentTimeExtended
8.3.5 StbM_GetCurrentVirtualLocalTime
8.3.6 StbM_SetGlobalTime
8.3.7 StbM_UpdateGlobalTime
8.3.8 StbM_SetUserData
8.3.9 StbM_SetOffset
8.3.10 StbM_GetOffset
8.3.11 StbM_BusGetCurrentTime
8.3.12 StbM_BusSetGlobalTime
8.3.13 StbM_GetRateDeviation
8.3.14 StbM_SetRateCorrection
8.3.15 StbM_GetTimeLeap
8.3.16 StbM_GetTimeBaseStatus
8.3.17 StbM_CloneTimeBase
8.3.18 StbM_StartTimer
8.3.19 StbM_GetSyncTimeRecordHead
8.3.20 StbM_GetOffsetTimeRecordHead
8.3.21 StbM_TriggerTimeTransmission
8.3.22 StbM_GetTimeBaseUpdateCounter
8.3.23 StbM_GetMasterConfig
8.3.24 StbM_CanSetSlaveTimingData
8.3.25 StbM_ FrSetSlaveTimingData
8.3.26 StbM_EthSetSlaveTimingData
8.3.27 StbM_CanSetMasterTimingData
8.3.28 StbM_FrSetMasterTimingData
8.3.29 StbM_EthSetMasterTimingData
8.3.30 StbM_EthSetPdelayInitiatorData
8.3.31 StbM_EthSetPdelayResponderData
8.3.32 StbM_GetBusProtocolParam
8.3.33 StbM_SetBusProtocolParam
8.3.34 StbM_GetTxFreshness
8.3.35 StbM_GetTxFreshnessTruncData
8.3.36 StbM_SPduTxConfirmation
8.3.37 StbM_GetRxFreshness
8.4 Callback notifications
8.5 Scheduled functions
8.5.1 StbM_MainFunction
8.6 Expected interfaces
8.6.1 Mandatory interfaces
8.6.2 Optional interfaces
8.6.3 Configurable interfaces
8.6.3.1 SyncTimeRecordBlockCallback
8.6.3.2 OffsetTimeRecordBlockCallback
8.6.3.3 StatusNotificationCallback
8.6.3.4 _TimeNotificationCallback
8.6.3.5 SPduTxConfirmationFct
8.6.3.6 GetTxFreshnessTruncDataFct
8.6.3.7 GetTxFreshnessFct
8.6.3.8 GetRxFreshnessFct
8.7 Service Interfaces
8.7.1 Provided Ports
8.7.1.1 GlobalTime_Master
8.7.1.2 GlobalTime_Slave
8.7.1.3 GlobalTime_StatusEvent
8.7.1.4 StartTimer
8.7.2 Required Ports
8.7.2.1 GlobalTime_TimeEvent
8.7.2.2 GlobalTime_Measurement
8.7.2.3 TimeBaseProviderNotification_Eth
8.7.2.4 TimeBaseProviderNotification_Fr
8.7.2.5 TimeBaseProviderNotification_Can
8.7.2.6 FreshnessManagement
8.7.3 Sender-Receiver Interfaces
8.7.3.1 StatusNotification
8.7.4 Client-Server-Interfaces
8.7.4.1 GlobalTime_Master
8.7.4.2 GlobalTime_Slave
8.7.4.3 StartTimer
8.7.4.4 TimeNotification
8.7.4.5 MeasurementNotification
8.7.4.6 TimeBaseProviderNotification_Eth
8.7.4.7 TimeBaseProviderNotification_Fr
8.7.4.8 TimeBaseProviderNotification_Can
8.7.4.9 FreshnessManagement
8.7.5 Implementation Data Types
8.7.5.1 StbM_PortIdType
8.7.5.2 StbM_SynchronizedTimeBaseType
8.7.5.3 StbM_TimeBaseStatusType
8.7.5.4 StbM_TimeStampShortType
8.7.5.5 StbM_TimeStampType
8.7.5.6 StbM_TimeStampExtendedType
8.7.5.7 StbM_TimeTupleType
8.7.5.8 StbM_TimeDiffType
8.7.5.9 StbM_RateDeviationType
8.7.5.10 StbM_CloneConfigType
8.7.5.11 StbM_UserDataType
8.7.5.12 StbM_CustomerIdType
8.7.5.13 StbM_TimeBaseNotificationType
8.7.5.14 StbM_SyncRecordTableHeadType
8.7.5.15 StbM_SyncRecordTableBlockType
8.7.5.16 StbM_OffsetRecordTableHeadType
8.7.5.17 StbM_OffsetRecordTableBlockType
8.7.5.18 StbM_MasterConfigType
8.7.5.19 StbM_EthTimeMasterMeasurementType
8.7.5.20 StbM_FrTimeMasterMeasurementType
8.7.5.21 StbM_CanTimeMasterMeasurementType
8.7.5.22 StbM_EthTimeSlaveMeasurementType
8.7.5.23 StbM_FrTimeSlaveMeasurementType
8.7.5.24 StbM_CanTimeSlaveMeasurementType
8.7.5.25 StbM_PdelayInitiatorMeasurementType
8.7.5.26 StbM_PdelayResponderMeasurementType
8.7.5.27 StbM_TimeSyncType
8.7.5.28 StbM_ProtocolParamType
8.7.5.29 StbM_FreshnessArrayType
9 Sequence diagrams
9.1 StbM Initialization
9.2 Immediate Time Synchronisation
9.3 Explicit synchronization of OS ScheduleTable
10 Configuration specification
10.1 How to read this chapter
10.2 Containers and configuration parameters
10.2.1 StbM
10.2.2 StbMGeneral
10.2.3 StbMSynchronizedTimeBase
10.2.4 StbMTimeCorrection
10.2.5 StbMLocalTimeClock
10.2.6 StbMTimeRecording
10.2.7 StbMTimeValidation
10.2.8 StbMNotificationCustomer
10.2.9 StbMTriggeredCustomer
10.2.10 StbMFreshnessValueInformation
10.2.11 StbMFreshnessValue
10.3 Constraints
10.4 Published Information
A Not applicable requirements