TECH ARTICLE

EB tresos Classic AUTOSAR:
軟體組件 (SWC) 基礎技術解析

系統性基礎教學,涵蓋 SWC 的基本概念、元素構成以及實際應用案例,旨在幫助開發者快速掌握如何設計與實現 ECU 的特定功能,提升開發效率。

本篇文章基於 Elektrobit (EB) 提供的「EB tresos Classic AUTOSAR - 軟件組件 (SWC) 基礎培訓」影片內容整理而成。影片針對 Classic AUTOSAR 軟體架構中的軟體組件(Software Component, 簡稱 SWC)進行了系統性的基礎教學,涵蓋了 SWC 的基本概念、元素構成以及實際應用案例,旨在幫助開發者快速掌握如何設計與實現 ECU(電子控制單元)的特定功能,提升開發效率。

1. 什麼是 AUTOSAR SWC?

在 AUTOSAR 分層架構中,最上層為「應用層(Application Layer)」,而這一層主要是由一個個相互連接的軟體組件(SWC)所構成。SWC 的核心設計理念是「硬體無關性」。開發者在設計 SWC 時,不需要關心底層微控制器的硬體細節,所有的資料交換與函數調用都是透過虛擬的功能匯流排(VFB, Virtual Functional Bus)和運行時環境(RTE, Runtime Environment)來實現。這種設計大幅提升了車載軟體的可重用性與移植性。

2. SWC 的核心元素構成

影片中詳細拆解了構成 SWC 的幾個關鍵元素,這是使用 EB tresos 等工具進行配置時的重點:

settings_input_component 端口 (Ports)

SWC 之間,以及 SWC 與底層基礎軟體(BSW)之間通訊的接口。主要分為兩種:

  • P-Port (Provide Port):提供數據或服務。
  • R-Port (Require Port):請求數據或服務。

cable 接口 (Interfaces)

定義了 Port 傳遞資料的格式與機制,常見的通訊模式包含:

  • Sender/Receiver (S/R):用於傳輸資料(如車速、溫度),類似廣播或訂閱機制。
  • Client/Server (C/S):用於呼叫服務或函數(如請求儲存數據),屬於一問一答的同步或非同步操作。

account_tree 內部行為 (Internal Behavior)

定義了 SWC 內部是如何運作的,這是連接外部 Port 與內部程式碼的橋樑。

play_circle 可運行實體 (Runnable Entities)

簡稱 Runnables。它們是 SWC 中實際執行邏輯的 C 語言函數。Runnables 不能自己運行,必須由 RTE 根據特定的條件來觸發。

bolt RTE 事件 (RTE Events)

用來觸發 Runnables 執行的條件。例如:

  • Timing Event:週期性觸發(例如每 10ms 執行一次)。
  • Data Received Event:當接收到新資料時觸發。

3. EB tresos 在 SWC 開發中的角色與實用案例

在實際的 ECU 開發流程中,工具鏈扮演著至關重要的角色。透過 EB tresos Studio,開發者可以進行以下操作:

  • check_circle
    架構設計: 圖形化地建立 SWC,定義它們的 Ports 與 Interfaces。
  • check_circle
    行為配置: 配置 SWC 的 Internal Behavior,包含設定 Runnables 以及綁定觸發這些 Runnables 的 RTE Events。
  • check_circle
    生成與對接: 配置完成後,EB tresos 會協助生成標準的 XML 描述文件(ARXML)以及與 RTE 介接的 C 語言標頭檔,讓軟體工程師能專注於編寫 Runnables 內部的商業邏輯(Application Logic)。

總結

透過這部基礎培訓影片可以了解到,Classic AUTOSAR 中的 SWC 是實現汽車功能的基石。藉由標準化的 Ports 和 Runnables 設計,搭配 EB tresos 這樣成熟的配置工具,開發團隊能夠將複雜的車輛功能模組化,不僅降低了軟體與硬體之間的耦合度,也讓 ECU 軟體的開發、測試與整合變得更加簡單高效。

教學影片