AUTOSAR圖解==>AUTOSAR_AP_EXP_SOVD

AUTOSAR服務導向車輛診斷詳解

面向現代化車輛架構的診斷方案

目錄

  • 1. 引言
    • 1.1 ASAM SOVD簡介
    • 1.2 SOVD產生的動機
  • 2. SOVD參考架構
    • 2.1 SOVD網關
    • 2.2 診斷管理器
    • 2.3 SOVD到UDS轉換
    • 2.4 后端連接
  • 3. SOVD用例
    • 3.1 SOVD和UDS的共同用例
    • 3.2 SOVD特定用例
      • 3.2.1 訪問權限
      • 3.2.2 軟件更新
      • 3.2.3 日志記錄
      • 3.2.4 批量數據
      • 3.2.5 配置
  • 4. 總結

1. 引言

2022年,ASAM(汽車標準化協會)發布了新的診斷標準SOVD(Service-Oriented Vehicle Diagnostics,服務導向車輛診斷)的第一個版本。本文檔旨在解釋AUTOSAR如何實現SOVD標準,并提供面向用例的指導。本文檔的范圍超出了功能集群ara::diag,旨在提供更全面的視圖,以便恰當地處理SOVD的整體性質。

1.1 ASAM SOVD簡介

SOVD是一種全新的診斷協議標準,具有以下關鍵特性:

在這里插入圖片描述

1.1.1 SOVD標準關鍵特性解析

上圖展示了SOVD標準的關鍵特性和優勢:

  1. 自解釋協議:SOVD是一個自解釋協議,不需要外部ODX數據描述進行解釋。這解決了傳統UDS協議的一大限制,即客戶端對ODX文件的依賴。

  2. 支持多種診斷場景

    • 遠程診斷:通過互聯網進行遠程診斷操作
    • 臨近診斷:在車輛附近進行診斷
    • 車內診斷:直接在車內進行診斷
  3. 中央邊緣節點通信:SOVD網關作為中央通信點,統一管理診斷請求的路由分發。

  4. 包含UDS作為子集:SOVD保留了與現有UDS功能的兼容性,可以被視為UDS的超集。

  5. 支持HPC用例:原生支持在高性能計算機(HPC)上的診斷需求,這是現代車輛架構的關鍵組成部分。

  6. 使用現代信息技術

    • 基于HTTP/HTTPS的通信
    • 使用REST API設計理念
    • 基于JSON的數據交換

1.2 SOVD產生的動機

截至2023年,汽車行業主流的診斷協議是UDS(統一診斷服務)。UDS最初于2006年作為ISO 14229標準化,主要針對具有嚴格ROM和RAM要求的微控制器進行診斷。由于該協議注重效率,數據的解釋由客戶端使用ODX文件處理。這帶來了兩個主要挑戰:

  1. 客戶端技術棧的復雜性:客戶端必須能夠解析和理解ODX文件
  2. 客戶端ODX文件與診斷實現之間的強依賴:客戶端ODX文件必須與車輛上的診斷實現精確匹配

SOVD通過以下方式解決這些挑戰:

  • 自解釋協議:不依賴外部ODX數據描述
  • 現代技術:使用當前信息技術的診斷API,如HTTP/HTTPS、JSON等

在當今的車輛架構中,高性能計算機(HPC)承擔著核心功能,滿足車輛端日益增長的需求。隨著軟件復雜性的增加,對診斷方法的新要求也隨之出現,這正是SOVD標準旨在滿足的需求。


2. SOVD參考架構

在分布式系統中提供中央SOVD邊緣節點需要一些基礎設施組件。為實現這一目標,AUTOSAR引入了一個將功能分為幾個塊的參考架構。這一架構如下圖所示:

在這里插入圖片描述

2.0.1 SOVD參考架構解析

上圖展示了SOVD的參考架構,其主要組件包括:

  1. SOVD客戶端:發起診斷請求的外部設備或系統
  2. 后端連接:處理遠程診斷情況下的請求路由
  3. SOVD網關:作為中央節點,管理所有診斷請求的分發
  4. SOVD服務節點:包含診斷管理器,處理特定診斷請求
  5. SOVD到UDS轉換:將SOVD請求轉換為傳統UDS請求,實現向后兼容
  6. ECU (UDS):使用傳統UDS協議的電子控制單元

此架構通過明確的分層和模塊化設計,實現了SOVD與傳統UDS系統的無縫集成,同時為先進的診斷功能提供了基礎。

2.1 SOVD網關

SOVD網關作為HTTP反向代理,在接收到SOVD客戶端的請求后,將請求路由到相應的內部SOVD端點。路由是基于SOVD請求URI中的實體部分進行的。SOVD網關必須提取URI的這一部分,并將請求路由到相應的端點。潛在內部SOVD端點的設置可以通過靜態配置或使用mDNS動態發現。

轉發本身發生在應用層,這意味著SOVD網關會提取URI的實體部分并路由到相應的端點。

對于SOVD網關的配置,在TPS_Manifest中引入了SOVDGatewayInstantiation。這一清單允許配置面向SOVD客戶端的外部SOVD連接以及內部轉發目標。

2.2 診斷管理器

在SOVD引入之前,診斷管理器的主要目的是根據ISO 14229-1處理診斷服務和故障存儲器。隨著SOVD的引入,診斷管理器也旨在原生支持SOVD,因此作為SOVD服務器。

SOVD引入的主要指導原則之一是盡可能重用UDS的現有功能,同時不限制SOVD的原生支持。在結構層面,診斷管理器允許多個診斷服務器實例,旨在保持各個軟件集群的獨立性。DEXT中的每個診斷貢獻集代表具有單獨診斷地址的診斷服務器實例。這一尋址原則被SOVD采用。

診斷管理器本身代表一個SOVD組件,而每個診斷服務器實例由一個SOVD子組件表示。不過,診斷管理器仍作為SOVD服務器,內部路由由診斷管理器處理。對于此SOVD服務器的配置,在TPS_Manifest中引入了SOVDServerInstance。

2.3 SOVD到UDS轉換

這一功能塊允許基于預定義的ODX定義將SOVD命令轉換為UDS請求。SOVD到UDS轉換的細節由ASAM定義。該功能塊應被視為一個車載測試客戶端,它將向目標診斷地址發送UDS請求,并將翻譯后的UDS響應發送給SOVD客戶端。

盡管從實現角度看,這一功能塊的復雜性很高,但由于ASAM已經定義了這些細節,AUTOSAR將僅引用ASAM標準。

2.4 后端連接

SOVD旨在支持臨近、遠程和車內診斷。SOVD通過引入mDNS,對臨近和車內訪問進行了相當精確的標準化。而由于對后端基礎設施的依賴,標準化遠程訪問相對困難。AUTOSAR保持這一自由度。

盡管如此,通過抽象后端連接的功能塊將SOVD請求路由到SOVD網關,是一種直接的解決方案。后端連接功能塊可以使用mDNS發現SOVD網關,而路由可以通過HTTP轉發實現。


3. SOVD用例

本章描述了SOVD用例在AUTOSAR車輛架構層面的設計和實現方式:

在這里插入圖片描述

3.0.1 SOVD用例圖解析

上圖展示了SOVD支持的各種用例,分為兩大類:

  1. SOVD和UDS共同用例:這些用例在傳統UDS協議中已存在,在SOVD中得到了保留和映射

    • 會話管理
    • 診斷通信管理
    • DTC信息(故障碼)
    • 診斷服務
    • 數據傳輸
    • 例程控制
  2. SOVD特定用例:這些是SOVD新增的功能,專為現代車輛架構設計

    • 訪問權限(包括接近性挑戰)
    • 軟件更新
    • 日志記錄
    • 批量數據處理
    • 配置

圖中還展示了不同用例與參與者的交互關系:

  • 診斷客戶端可以訪問所有用例
  • 傳統ECU (UDS)僅支持共同用例

3.1 SOVD和UDS的共同用例

SOVD用例的很大一部分可以直接映射到現有的UDS用例。診斷管理器中這種映射的實現方式在SWS Diagnostics中有詳細說明。對于與UDS (ISO 14229-1)匹配的情況,引入了一個主要原則:重用與相應UDS服務相同的端口實例。

這對應用設計特別方便,因為不需要集成具有冗余功能的額外端口。此外,這些實現遵循與UDS相同的關于重入性和并行執行的規則。某些用例的SOVD處理可能與其UDS對應物有足夠的差異,需要差異化的要求和機制。

在方法論上,這些SOVD方法采用了現有的配置機制,使用DEXT并僅在需要的地方擴展DEXT。

3.2 SOVD特定用例

除了與UDS共享的用例外,SOVD還引入了一些特定的用例,這些用例專為滿足現代車輛架構的需求而設計。

3.2.1 訪問權限

訪問權限管理是SOVD的一個重要方面,特別是在遠程診斷場景中。接近性挑戰是其中一個關鍵功能,用于驗證客戶端是否實際位于車輛附近,這是某些診斷功能的安全前提。

接近性挑戰通過要求診斷客戶端提供僅在物理接近車輛時才能獲得的信息,來防止未授權的遠程訪問。這增強了診斷系統的整體安全性。

3.2.2 軟件更新

SOVD為軟件更新提供了專用的用例支持,包括軟件包的下載、安裝和驗證過程。與傳統UDS相比,SOVD的軟件更新功能更加強大和靈活,特別適合高性能計算機(HPC)上的復雜軟件架構。

這一用例支持增量更新、版本回滾和更新過程中的狀態報告等先進功能。

3.2.3 日志記錄

日志記錄用例提供對系統日志的訪問,允許診斷客戶端檢索、過濾和分析車輛系統生成的日志信息。這對于故障排除和系統監控至關重要。

SOVD的日志記錄功能支持多種日志級別、格式和過濾選項,使診斷更加高效和精確。

3.2.4 批量數據

批量數據用例支持大量數據的高效傳輸,這在處理大規模診斷數據、系統日志或軟件更新時非常重要。

SOVD采用現代數據傳輸技術和壓縮方法,確保批量數據處理的高效性和可靠性。

3.2.5 配置

配置用例允許遠程配置系統參數,實現車輛功能的定制和優化。這包括修改系統設置、更新配置參數和調整功能行為。

配置用例結合了強大的驗證機制,確保只有授權的更改才能被應用,從而保障系統的安全性和穩定性。


4. 總結

SOVD(服務導向車輛診斷)代表了汽車診斷領域的重大進步,特別適合當今的高性能計算機(HPC)和分布式架構。通過引入自解釋協議、現代通信技術和豐富的用例支持,SOVD解決了傳統UDS面臨的一系列挑戰。

AUTOSAR的SOVD實現提供了一個全面的參考架構,包括SOVD網關、診斷管理器、SOVD到UDS轉換和后端連接等核心組件。這一架構不僅保持了與現有UDS系統的兼容性,還為先進的診斷功能和用例提供了堅實的基礎。

SOVD特別適合以下場景:

  1. 高性能計算機(HPC)診斷:利用現代技術如HTTP/HTTPS和JSON,SOVD為HPC提供了更適合的診斷解決方案
  2. 遠程診斷:通過標準化的接口和安全機制,SOVD簡化了遠程診斷操作
  3. 分布式系統:SOVD的中央邊緣節點通信模型完美適應現代分布式車輛架構
  4. 高級用例:訪問權限、軟件更新、日志記錄、批量數據和配置等特定用例滿足了現代車輛的先進需求

隨著車輛架構和功能的不斷發展,SOVD將繼續發揮重要作用,為汽車行業提供強大、靈活且面向未來的診斷解決方案。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/88957.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/88957.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/88957.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第八講:STL簡介

1. 什么是STL STL(standard template libaray-標準模板庫):是C標準庫的重要組成部分,不僅是一個可復的 組件庫,而且是一個包羅數據結構與算法的軟件框架。 2. STL的版本 a. 原始版本 Alexander Stepanov、Meng Lee 在惠普實驗室完成的原始版本…

高彈性、高可靠!騰訊云 TDMQ RabbitMQ Serverless 版全新發布

導語 2025年6月起,騰訊云 TDMQ RabbitMQ 版正式推出 Serverless 版本,該版本基于自研的存算分離架構,兼容 AMQP 0-9-1 協議和開源 RabbitMQ 的各個組件與概念,且能夠規避開源版本固有的不抗消息堆積、腦裂等穩定性缺陷&#xff0…

Linux 內存調優之 BPF 分析用戶態小內存分配

寫在前面 博文內容為 使用 BPF 工具跟蹤 Linux 用戶態小內存分配(brk,sbrk)理解不足小伙伴幫忙指正 ??,生活加油我看遠山,遠山悲憫 持續分享技術干貨,感興趣小伙伴可以關注下 _ brk 內存分配簡單概述 一般來說,應用程序的數據存放于堆內存中,堆內存通過brk(2)系統調用進…

心理測評app心理測試系統框架設計

一、邏輯分析 用戶管理邏輯 新用戶注冊:需要收集用戶的基本信息,如用戶名、密碼、郵箱等,并且要對輸入信息進行合法性校驗,確保信息完整且符合格式要求。同時,為每個新用戶生成唯一的標識符,方便后續數據管…

配置有nvlink的H20A800使用pytorch報錯

背景 裝有nvlink的h20機器上配置好驅動和cuda之后使用pytorch報錯 A800機器同樣 (pytorch2.4) rootxx-dev-H20:~# python Python 3.12.0 | packaged by Anaconda, Inc. | (main, Oct 2 2023, 17:29:18) [GCC 11.2.0] on linux Type “help”, “copyright”, “credits” or …

sql的語句執行過程

第一步:客戶端把語句發給服務器端執行 當我們在客戶端執行SQL語句時,客戶端會把這條SQL語句發送給服務器端,讓服務器端的進程來處理這語句。也就是說,Oracle 客戶端是不會做任何的操作,他的主要任務就是把客戶端產生的…

深度學習-分類

深度學習-分類方式 (重點)一、按數據類型與處理邏輯分類1. 序列數據(時序/順序相關)2. 網格狀數據(空間相關)3. 圖結構數據(非歐幾里得結構)4. 其他特殊類型數據 (重點&a…

C語言---常見的字符函數和字符串函數介紹

目錄 前言 1 字符分類函數 2 字符轉換函數 3 strlen的使用和模擬實現 3.1 strlen的模擬實現 4 strcpy的使用和模擬實現 4.1 strcpy的模擬實現 5 strcat的使用和模擬實現 5.1 strcat的模擬實現 6 strcmp的使用和模擬實現 6.1 strcmp的模擬實現 7 strncpy函數的使用…

Minio入門+適配器模式(實戰教程)

一、安裝Minio 1.1 拉取鏡像 docker pull minio/minio docker images 1.2創建掛載目錄 1.2.1 創建數據目錄 mkdir -p /docker-minio/data 1.2.2 創建配置文件目錄 mkdir -p /docker-minio/config 1.2.3 設置權限 chmod -R 777 /docker-minio/data /docker-minio/config …

LLaMA-Factory 對 omnisql 進行 ppo dpo grpo nl2sql任務 實現難度 時間 全面對比

在LLaMA-Factory框架下,針對omnisql任務(自然語言到SQL生成)應用PPO、DPO、GRPO三種算法的實現難度、時間及全面對比如下: 一、實現難度對比 1. PPO(近端策略優化) 難度:★★☆☆☆&#xff…

Kingbase 數據庫中的 sys_guid() 函數報錯

解決 Kingbase 數據庫中的 sys_guid() 函數報錯問題 問題背景 Kingbase 數據庫在遷移或使用過程中,可能會遇到 select sys_guid() 函數報錯 , 提示函數不存在的情況,這通常是由于以下幾種原因造成的: 函數未正確安裝或未啟用函數參數不符合…

零基礎RT-thread第五節:電容按鍵(2)

上一章的電容按鍵完全使用的HAL庫的代碼,并沒有使用線程。這里嘗試使用線程來控制電容按鍵。 依舊是 F767 本來以為會很容易實現,沒想到嘗試了很久,電容按鍵一直沒有反應。 static rt_uint32_t measure_charge_time(void) {// 步驟1: 放電 …

華為云Flexus+DeepSeek征文|單機部署 與 CCE 高可用部署下 Dify 性能實測

引言 在當今的 AI 應用開發領域,選擇合適的部署方式對于應用的性能表現、資源利用和成本控制至關重要。華為云為開發者提供了多樣化的部署選擇,其中基于單機 Flexus 實例的基礎版部署和基于 CCE 容器的高可用版部署是兩種常見的方式。本文將深入對比這兩…

釘釘小程序框架:Pinia 狀態管理與持久化存儲封裝

上一篇文章完成了 Pinia 在釘釘小程序中的引入與基礎配置 文章地址:釘釘小程序框架引入 Pinia 狀態管理-CSDN博客 本文將深入探討如何通過Pinia 結合持久化存儲 實現用戶狀態 在上一章節中,我們已經完成了 Pinia 在釘釘小程序中的引入與基礎配置。本章將…

云計算產業鏈

一、云計算定義與分類體系 本質特征 按需服務模式:以網絡化方式提供可配置的計算資源共享池(網絡/服務器/存儲/應用)。核心能力:快速彈性擴容、資源池化共享、按使用量付費、低管理開銷。技術原理:通過分布式計算將大型…

git使用詳解和示例

什么是 Git? Git 是一個 分布式版本控制系統(DVCS),用于跟蹤文件的變化,協調多人協作開發。由 Linus Torvalds 開發,用于管理 Linux 內核代碼。 Git 的核心概念 名稱說明工作區 (Working Directory)你看到…

深度學習的引出

雖然我們的神經?絡給出了令?印象深刻的表現,但這樣的表現帶有?分神秘 ?絡中的權重和偏置是被?動發現的。這意味著我們不能?即解釋?絡怎么做的、做了什么。我們能否找 到?些?法來理解我們的?絡通過什么原理分類?寫數字?并且,在知道…

GEO(生成式引擎優化)—— 內容創作者與企業的生死新戰場

在搜索引擎優化(SEO)定義了互聯網信息獲取規則數十年后,一場由生成式人工智能(AIGC)驅動的風暴正悄然重塑整個格局。當ChatGPT、Claude、Gemini等AI助手能夠直接生成整合后的答案,而非僅僅提供鏈接列表時&a…

混合密度模型GMM的似然函數(二)

設 Θ { π k , θ k } k 1 K \varTheta \{ \pi_k, \boldsymbol {\theta}_k \}_{k1}^{K} Θ{πk?,θk?}k1K?為參數向量, X { x 1 , ? , x n } \mathcal {X} \{ {\bm x}_1, \cdots, {\bm x}_n \} X{x1?,?,xn?}為觀測數據,給定數據點的獨立性&a…

selenium元素定位

當我們可以打開瀏覽器后我們如果想要進行web測試我們自然要對網頁的一些功能進行單獨拿出來進行測試,但是我們要怎么才能拿到我們想要的元素,并且對其進行操作呢。 我們就以百度主頁的輸入框為例,如果我們想要王輸入框中輸入一些內容我們就需…