Adaptive AUTOSAR 學習筆記 16 - 時間同步和網路管理

Zijian/TENG發表於2021-09-03

本系列學習筆記基於 AUTOSAR Adaptive Platform 官方文件 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf。作者:Zijian/TENG
原文地址(獲取最新更新):https://www.cnblogs.com/tengzijian/p/15221138.html

縮寫

  • TS:Time Synchronization
  • TBR:Time Base Resources
  • NM:Network Management
  • SM:State Management
  • PN:Partial Network

11 時間同步

11.1 概覽

不同應用/ECU之間的時間同步(TS)非常重要,尤其是在分散式系統中,需要確定不同事件的相關性時:要麼能及時追蹤這些事件,要麼能在精確的時間點觸發這些事件。

因此,AP 嚮應用提供了時間同步 API,用於取得和其他實體、ECU 同步的時間資訊。

時間同步功能由不同的時基資源(TBR,Time Base Resources)提供,時基資源在系統中以預編譯配置的形式呈現。

11.2 設計

AP 中用到下列三種技術來滿足時間同步需求:

  • CP 中的 StbM
  • chrono 庫 - C++11 的 std::chronoboost::chrono
  • POSIX 時間介面

經過對這些模組的介面和其所覆蓋需求的分析,AP 決定設計一套包含 CP StbM 功能,但遵循 std::chrono 風格的時間同步 API。

時間同步模組考慮了以下功能:

  • 啟動行為
  • 構造行為(初始化)
  • 正常操作
  • 錯誤處理

今後的 release 中還會考慮:

  • 關閉行為
  • 錯誤分類
  • 版本檢查

11.3 架構

對每個時基資源 TBR,應用都可以訪問其特定的類實現。

通過該控制程式碼,應用可以查詢提供的時基型別(上述五種型別之一),然後獲取該時基型別的特定類實現。應用還可以通過該控制程式碼直接建立 timer。

TS 模組不提供將 TBR 和其他節點/ECU 時基同步(如 network time protocol 或 time agreement protocol)的方法。

時基資源 TBR 的實現可能有一個專門的週期性的功能,從時間同步乙太網等模組取得時間資訊,來同步 TBR。

應用程式使用由 TBR 提供和管理的時間資訊。TBR 充當時基代理,提供對同步時基的訪問。這樣 TS 模組從“真實”時基提供者中抽象出來。

12 網路管理

12.1 網路管理演算法概覽

AUTOSAR NM 基於去中心化的網路管理策略,即每個網路節點僅依據接收/傳輸的 NM 報文,獨立地執行活動。

AUTOSAR NM 演算法基於週期性的 NM 報文。NM 報文通過多播訊息傳送,叢集中所有的節點都會接收。

收到 NM 報文意味著傳送節點想要保持網路叢集處於喚醒狀態。如果某個節點想要進入睡眠模式,它會停止傳送 NM 報文,但如果仍然收到來自其他節點的 NM 訊息,則暫緩進入睡眠模式。最終如果所有的節點都不再傳送 NM 報文(意味著所有節點都想進入睡眠模式),則經過一定時間(定時器超時),所有的節點都將進入睡眠模式。

如果 NM 叢集中的任意節點需要匯流排通訊,可以開始傳送 NM 報文,喚醒整個 NM 叢集。

12.2 架構

AP 規範描述了 AP 網路管理的功能、API 設計和配置,無關底層通訊媒介。目前只考慮了乙太網,但該架構獨立於匯流排技術。

網路管理 NM 旨在由狀態管理 SM 控制,因為部分網路 PN 的控制需要協調相關應用集(通過 SM 控制的 Functional Group State)。本章內容尚未反映該設計。

image

其主要目的是協調底層網路(區域性網路 PN,VLAN 或物理通道)在內部協調狀態機的正常模式和匯流排睡眠模式的轉換。

它向狀態管理 SM 提供了服務介面,用於請求/釋放網路及查詢狀態。它協調不同例項(網路控制程式碼)的請求,並通過網路提供聚合的機器請求。

如果使用了區域性網路 PN 功能,則 NM 訊息可以包含 PN 請求,ECU 可以忽略請求其他 PN 的 NM 報文。在這種情況下,即使其他 PN 仍有通訊,ECU 依然可以關閉或部分關閉。

更多關於 Adaptive AUTOSAR 文章

AUTOSAR AP 學習筆記總目錄

相關文章