1. 程式人生 > 其它 >測試開發實踐:閘道器路由功能及測試

測試開發實踐:閘道器路由功能及測試

前言


當前,車內通訊技術越來越複雜,協議型別更加多樣,不同匯流排及協議間的轉換和路由等也更為複雜,閘道器作為通訊樞紐的載體,其測試的複雜程度和重要性也越來越高。本文將分享閘道器路由測試開發過程中的經驗和遇到的問題。


閘道器功能簡介


閘道器主要功能是通過報文路由轉發、報文過濾與訊號重組等工作實現資訊的交換,包括不同通訊協議間的互動,如Ethernet、FlexRay、CAN、CAN FD、LIN。傳統的閘道器按照實現方式可分為獨立閘道器和整合閘道器, 整合閘道器指整合路由功能的儀表或車身控制器,使用整合閘道器時,其網路拓撲相對簡單;獨立閘道器主要實現路由功能,網路拓撲相對複雜。近幾年E/E架構逐漸向域控方向發展,新的域控制器,通常也具備閘道器路由的功能。

目前,典型的網路拓撲主要有以下三種:

  • 傳統的EE架構,Central Gateway與所有ECU直連,獨立完成整車所有的資訊互動任務。

圖1 傳統網路架構及閘道器

  • 基於Domain的EE架構,整車拓撲中除了Central Gateway還存在Domain Gateway,Domain Gateway參與下屬節點間的資訊互動,也承載了閘道器的功能。

圖2 基於域控制器的網路架構及閘道器

  • 混合的E/E架構,在從傳統網路架構到基於域控制器的網路架構的過渡階段存在的網路架構,兼具兩種網路架構的特點。

圖3 混合網路架構及閘道器

以上基於域節點的網路架構的Central Gateway和Domain Gateway直接通過乙太網點對點連線,域節點間的資訊互動通過L2的Switch和L3的IP Router實現。


除了基本的路由功能,閘道器通常還具有以下屬性和功能:

  1. 各功能域物理隔離:閘道器區分各個功能域,將不同的功能域區分開
  2. 外部溝通媒介與網路安全防護:閘道器是整車與外部資訊互動的媒介,因此閘道器需要過濾外部資訊,避免整車內部網路被攻擊
  3. 網路休眠喚醒管理:閘道器依據整車休眠喚醒條件,協調各個網段間的休眠喚醒
  4. OTA Master功能:實現整車遠端刷寫功能,獲取ECU升級資料包並存儲在本地,當滿足刷寫條件時,閘道器可作為刷寫機,以既定的刷寫流程將刷寫資料傳輸給待升級ECU
  5. 整車狀態管理和能量管理:管理整車模式和使用者使用模式

由於閘道器功能多樣和複雜,且部分功能具有功能安全要求,需要通過測試來保證最終軟體的成熟度。針對閘道器的不同功能需要做相應的測試,本文重點探討基本的路由功能測試。


閘道器路由型別介紹


閘道器路由的型別可以分為3種:訊號路由、報文路由、TP路由(診斷路由)。以下針對這三種路由型別分別做介紹。

  • 訊號路由:從源網段接收到的一條或多條報文中的部分訊號(或訊號組)打包在新報文中,然後在目標網段上按照定義的方式傳送出來。 訊號從源網段到目標網段的路由過程中,訊號所在報文的傳送方式、訊號在報文中的位置、訊號所在報文的ID和訊號所在報文的週期都可以改變,另外源網段和目標網段的通訊協議也可以不一致。

AUTOSAR架構下定義了訊號和訊號組的Update bit,對於有Update bit的訊號和訊號組,只有在其Update bit置位的情況下閘道器才對其進行轉發,並在目標網段更新Update bit,當源網段訊號丟失時閘道器轉發的訊號的Update bit持續不置位,指示接受該訊號的控制器訊號超時。而針對非AUTOSAR架構 ,部分OEM定義了Timeout flag,指示源網段訊號超時。

圖4 訊號路由

  • 報文路由:從源網段接收到報文後轉發到目標網段。根據目標網段的傳送形式,報文路由又可以分為事件型報文路由和週期型報文路由。事件型報文路由在源網段收到報文後立即觸發目標網段的傳送;週期型報文路由在源網段和目標網段都有固定的週期,源網段接收到報文的週期和目標網段傳送的報文週期沒有必然關係。

圖5 報文路由

  • TP路由:帶有傳輸協議報文的路由稱為TP路由。TP路由又可分為兩種:不帶協議轉換的TP路由(一般稱為報文透傳)和帶有協議轉換的TP路由。前者在部分OEM的定義中和事件型報文路由未作區分,但實際兩種路由的應用場景是不同的,事件型報文路由針對應用報文,要求轉發延時低且最新的訊號值最具重要性(latest value is the most important);報文透傳對速率的要求不高,但要求先入先出(first in first out)和不丟幀。帶有協議轉換的TP路由主要特點是:可以實現協議轉換(源網段和目標網段的協議可以不一致),且閘道器作為傳輸連線的一部分,在源網段的接收和轉發均須符合傳輸層協議,不符合傳輸協議的不轉發。

圖6 TP路由

下圖以CAN-LIN的TP路由為例介紹帶協議轉換的TP路由,由於CAN和LIN的傳輸協議不一致,閘道器在源網段以CAN的傳輸層協議接收資料後,在LIN的網段按照LIN傳輸層協議傳送資料。CAN和LIN的報文雖然都是8位元組,但由於傳輸層協議不同, CAN和LIN網段的每幀報文傳輸的資料內容都是不一致的。此外,由於CAN和LIN的傳輸速率不一樣,CAN網段接收資料後儲存在快取中,在LIN網段按順序發出。


圖7 CAN-LIN2.1 TP路由

由於帶協議轉換的TP路由需要在源網段接收到資料後先儲存到快取中,因此需要佔用較多的記憶體資源,但同時這也是並行刷寫的實現基礎,閘道器在高頻寬的網段接收到診斷資料後先行儲存,然後按照低頻寬網段的傳輸協議,並行分發到各個低頻寬網段,在此過程中最大效率的利用了高頻寬網段的頻寬,提高整車的刷寫效率。

閘道器路由測試實踐


對於具備多種路由形式的閘道器,為了驗證是否滿足設計需求,應該根據每種路由型別設計測試規範和測試場景,本節將探討路由測試的痛點與積累的經驗。

訊號路由測試


訊號路由測試的難點在於訊號路由的數量眾多並且路由資訊的提取困難。根據北匯過往專案經驗來看,基於非域控架構(所有控制器都和中央閘道器直連)的訊號路由數量大約有800+;基於域控的網路架構則更加複雜,每個域控制器都具有閘道器行為。在訊號路由數量如此龐大的情況下手動驗證已幾乎不可能。此外,基於AUTOSAR架構的訊號路由和訊號組路由,通過人工方式更難獲取相關的資訊。

為了實現訊號路由自動化測試,北匯通過定製開發,實現了從ARXML檔案中提取訊號路由資訊並將訊號路由和訊號組路由加以區分,定義了標準的路由表模板,也可基於OEM給定的通訊矩陣或路由模板進行定製適配。下圖為支援Update bit的訊號路由的自動化測試報告。

圖8 訊號路由自動化測試報告

報文路由測試


報文路由測試與訊號路由測試一樣,都面臨路由條目眾多的問題,此外針對於事件型報文路由和週期型報文路由,由於路由機制不同,對應的測試策略需要分別制定。

圖9 路由自動化測試工程


TP路由測試

針對報文透傳,除了測試路由一致性外,還需要考慮在各種應用場景(EOL、刷寫、標定等)下,閘道器需保證不丟幀不亂序。


針對帶有協議轉換的TP路由測試,測試難點在於針對各個通訊協議其傳輸層機制不同,測試中需要按照各網段對應的傳輸層協議傳送和接收資料。在支援並行刷寫的TP路由測試中,需要考慮多個傳輸連線同時傳送和接收資料。這種路由方式需同步關注快取數量、快取大小以及Upper_Link和Lower_Link網段傳輸層機制和引數。

圖10 帶有協議轉換的TP路由測試


總結


隨著乙太網通訊技術的應用、OTA的推廣以及電子電器架構的更新換代,閘道器的“形態”和功能都呈現了新的變化。

北匯信息緊跟閘道器技術發展態勢,專注於汽車電子測試,通過與各OEM的合作,從源頭掌握了各型別閘道器路由的策略和設計需求,積累了豐富的測試實踐經驗,覆蓋了第一代和第二代架構下的閘道器。後續文章我們將針對新一代“閘道器”,其新的功能特點、構成形態以及測試方案與大家繼續探討和分享。


參考文獻
[1] AUTOSAR_SRS_Gateway

本文來自部落格園,作者:{北匯信息},轉載請註明原文連結:{https://www.cnblogs.com/polelink/}