AUTOSAR_EXP_PlatformDesign - 11 Time Synchronization
【translated by sky8336, 2019.06.09, Shanghai】
11 Time Synchronization
11.1Overview
當跨分佈式系統的不同事件之間的有關聯時,不同應用程序和/或ECUs之間的時間同步(TS)是至關重要的,這樣既可以及時跟蹤這些事件,也可以在準確的時間點觸發它們。
因此,爲應用程序提供了一個時間同步API,以便它能夠檢索與其他實體/ ecu同步的時間信息。
然後,時間同步功能通過不同的“時基資源”(從現在開始稱爲TBR)提供,這些“時基資源”通過預構建配置出現在系統中。
11.2Design
對於自適應平臺,考慮了以下三種不同的技術來滿足所有必要的時間同步需求:
- 經典平臺的StbM
- 庫chrono -要麼std::chrono (c++ 11),要麼boost::chrono
- 時間POSIX接口
在分析了這些模塊的接口和它們所包含的時間同步特性之後,我們的動機是設計一個時間同步API,它提供了一個圍繞經典平臺的StbM模塊的功能,但是具有std::chrono風格。
時間同步模塊考慮以下功能方面:
- 啓動行爲(startup behavior)
- 構造函數行爲(初始化)
- 常規操作
- 錯誤處理
在未來的版本中將考慮以下功能方面:
- 關閉行爲
- 錯誤等級(Error Classification)
- 版本檢測
11.3Architecture
應用程序將對每個Time Base資源(TBR)訪問不同的專門化類實現。
通過這個句柄,應用程序將能夠查詢所提供的時間基類型(上面給出的五種類型之一),然後爲該類型的時間基獲得一個專門的類實現。通過這個句柄,應用程序還可以直接創建一個計時器。
TS模塊本身不提供將TBRs同步到其他節點和/或ecu上的時基的方法,如網絡時間協議或時間一致協議。
TBRs的實現可能具有專用的循環功能,該功能從時間同步以太網模塊或類似的模塊檢索時間信息來同步TBRs。
應用程序消耗由TBRs提供和管理的時間信息。因此,TBRs充當時間基代理,提供對同步時間基的訪問。通過這樣做,TS模塊從“真實的(real)”時基提供者中抽象出來。
------------------------
【end-2019.06.09】