作者 | 謙益行
出品 | 汽車電子與軟件
曾經從事軟件開發工作時,經常會與HIL測試打交道,有使用過HIL臺架進行軟件開發的測試驗證,也有過輔助測試同事來設計測試用例,以及驗收HIL臺架的仿真模型等內容。曾經從事ECU系統工作時,有幸深度參與過HIL臺架的需求定義;曾經也從事功能開發工作時,也深度思考過如何利用HIL臺架更好地進行功能的開發和驗證。因此,本文打算就個人對HIL臺架的認識和思考,稍作分享。
#01 為什么需要HIL臺架系統
首先第一個問題,為什么需要HIL臺架系統?這是因為從整車研發流程來看,不管是在整車的系統層級,或是ECU的系統層級,還是 ECU軟件層級,這些層級都有大量的設計開發內容。開發需要測試驗證這是毫無疑問的,關鍵點在于用什么樣的環境或設備來進行測試驗證。
這些測試驗證工作不可能都使用整車來進行,因為:
- 一是需求的整車數量巨大,成本巨高,耗時巨長;
- 二是開發的不同步,不管是在哪個級別都無法完全協調一致。
因此,在這樣的事實之下,各個層級都需要明確自己的測試需求,進而去構建各自的測試環境,也就是HIL臺架系統。
Source:電子控制單元(ECU)HIL測試 | HIL仿真
以ECU的系統層級為例,其主體是ECU,一方面需要驗證ECU與外界的信息交互功能,另一方需要驗證自身的產品功能和性能。
因此在這個層級進行ECU的系統測試,那么ECU應該具備下列的一些條件,在信號輸入方面有:
- 供電方面,是指電源和接地GND,比如KL30,KL15和KL31;
- 感知方面,是指各種傳感器信號,比如溫度、壓力和速度等,具體取決于ECU的用途;另外信號涵蓋模擬信號形式,數字信號形式,頻率信號形式以及協議形式等;
- 通訊方面,主要有CAN通訊、LIN通訊、以太網通訊和SPI通訊等。
在信號輸出方面有:
- 通訊方面,通訊與輸入的通訊方面一樣;
- 執行方面,主要指功率器件類、電磁閥類和電機類的控制。
也就說要進行完整的ECU的系統測試,這些條件都應該具備。而對于單獨的ECU而言,顯然很多信號的輸入和輸出都需要去構建,因此HIL臺架系統的需求就應運而生。
#02 如何定義HIL臺架系統
我們需要HIL臺架系統做什么,決定了我們如何去定義。不同層級對于HIL臺架系統的需求可能有所差異,但是在HIL臺架系統所具備的硬件配置是基本一致的。2.1 硬件能力
首先是根據ECU的Pin腳定義情況,確定HIL臺架的輸入和輸出能力,包括:
- 電源方面,HIL臺架系統需要提供足夠的電壓或功率能力,電壓范圍多少,功率范圍多少,載流能力多大。
- 輸入方面,HIL臺架系統需要提供足夠的輸入通道。比如模擬信號,數字信號和頻率信號的輸入通道數量分別是多少,電壓范圍是多少,頻率范圍是多少等;對于輸出方面也類似。
- 通訊方面,HIL臺架系統需要提供足夠的通訊類型和通道,比如:
- 需要具備多少路CAN/CAN FD通道,多少路LIN通道,多少路以太網通道;
- 需要支持SENT協議,SPI協議或AK協議等。
然后是根據故障診斷需求,需要提供足夠的故障注入的類型和通道,以支持診斷的需求。
最后可能還包括提供一些負載的模擬或者替代等。
2.2 軟件能力
HIL臺架系統的軟件能力,主要包括兩個方面,一個是HIL臺架系統本身的軟件能力,另一個是HIL臺架系統所能提供的ECU軟件仿真能力。關于HIL臺架系統本身的軟件能力,借助dspace產品來進行說明,主要包括以下幾個方面:
- 對上述所提供的硬件能力,需要有相應的軟件平臺進行實時硬件的配置,像ConfigurationDesk能提供較好的圖形化配置。
- 需要提供測試用例的編寫和測試自動化的軟件,像AutomationDesk可以使用戶能以圖形格式創建和編輯測試程序,無需具備編程技能。
- 需要提供豐富HIL測試狀態和進度的可視化,像ControlDesk用于開發ECU的通用模塊化實驗和儀表軟件,讓測試人員更容易接收到測試的信息和狀態。
- 需要HIL測試的數據管理與協作軟件,像SYNECT提供了從需求到測試結果的完全可追溯性,與ALM工具和過程集成,以彌補與實際測試執行之間的差距,這樣便于軟件測試的管理,也優化HIL利用率。

Source:電子控制單元(ECU)HIL測試 | HIL仿真
關于HIL臺架系統所能提供的ECU軟件仿真能力,主要指ECU控制的Plant(物理)模型。對于Plant模型主要取決于ECU控制的是什么,MCU對應電機模型,動力總成域控制器對應整車的動力學模型。相對于供應商,OEM對于HIL測試系統的需求更多在于驗證應用層軟件的功能和性能,這樣就需要依托強大的物理模型進行測試驗證,即需要HIL測試系統提供強大的建模能力,比如針對動力總成系統的HIL臺架測試系統,物理模型可能就包括發動機模型,變速箱模型和車輛動力學模型等。

source: Top Level of Vehicle Plant Model | Download Scientific Diagram
以上就是關于HIL臺架系統的主要需求,目前國內HIL臺架系統的主流解決方案來自幾個平臺:dSPACE平臺, NI平臺,Vector平臺和Mathworks平臺。總的來說,這些平臺都具有各自的優勢,有的成本低,有的易于維護,有的便于擴展。對于如何選擇這些平臺,最終還是看自己的需求。這些平臺基本都能保證功能實現,主要看自己的會偏向于哪個特性。
#03 如何驗收HIL臺架系統
當定義好了HIL臺架系統,接下來就是供應商去設計和制造,然后需求方再進行驗收工作。
- HIL臺架系統的硬件能力,這些是供應商必須實現的,通常都沒啥問題。
- HIL臺架系統的軟件能力,這些需求通常不夠清晰,邊界不夠精準,因此是驗收重點。
曾經碰到過動力總成的Plant模型問題,雖然經歷過多次的技術溝通,但最終給出還是相對折衷的交付物。其原因是軟件或模型這塊屬于定制化需求,我理解的并不一定是你所理解的,此時供應商的技術人員就特別重要,一方面是否對方是否真正理解了你的需求,另一方面是對方是否具備足夠的能力去實現你的需求。 這里舉一個例子,假設要求HIL的電機模型支持轉速控制和轉矩控制,如果只是簡單這樣一條需求,那么實現方案是存在多種可能性,比如:
- 最簡單的話,直接做轉速和轉矩層面的PI控制就行。
- 稍微復雜的話,采用電機控制算法來實現電機轉速和轉矩控制。
- 再復雜的話,建立電機控制及其本體模型,能反饋電機的電流電壓等參數狀態。
這樣我們不難理解,隨著需求的詳細程度和復雜成不同,對HIL臺架系統軟件能力將會產生巨大的影響。因此,對于這塊的需求最好事先調研清楚,十分清晰自己的需求。#04 如何使用HIL臺架系統
當HIL臺架系統有了之后,那么接下來的關鍵點在于使用HIL臺架系統的測試人員,對于HIL測試人員有以下幾個核心要點:
- 臺架搭建,包括HIL硬件本體和外圍相關硬件配置的使用和連接,以及HIL軟件測試環境的構建和配置等。
- HIL測試,包括信號的模擬和仿真,測試用例的編寫、運行、評估和管理,測試問題的分析和解決,以及測試場景的構建操作等。
- 功能/軟件開發,主要與功能相關的控制策略和物理模型開發。
對于以上這幾點,前兩點是HIL測試人員必須具備的技能,第三點會隨HIL臺架系統所使用的需求層級而變化,就下圖所示的一個HIL測試工程師的招聘崗位職責:

而對于供應商的ECU系統層級,使用HIL臺架系統主要進行兩大方面的測試驗證給工作,包括:
- ECU與外界環境的信息交互驗證,比如與其他ECU的通訊,傳感器信號的采集和外部執行器的驅動等。
- ECU自身產品功能和性能的驗證,比如正常情況下,電機控制器的轉速和轉矩控制,整車控制器的上下電管理,扭矩控制等,或者非正常情況下,故障的診斷及處理等。
總之,ECU系統層級的HIL測試涵蓋了ECU硬件和軟件的設計驗證,通常在汽車研發體系中還有ECU軟件層級的HIL測試,相對于ECU系統層級是針對ECU系統需求的驗證,ECU軟件層級的HIL測試是驗證ECU軟件需求及詳細設計。
如下示意一種BMS狀態機,當對該狀態進行HIL測試時,出現了某一步的狀態異常跳轉,雖然從控制整體狀態上沒啥影響,ECU系統層級的HIL測試可以不關注這個點,但是從ECU軟件層級的HIL測試角度,這種情況則不能出現,因為不符合軟件需求或軟件的詳細設計,因此需要對此問題分析和修復。

#05 小 結
以上就是針對HIL臺架系統的一些個人認識,歸納起來就是:- 汽車研發過程有大量針對開發設計的測試驗證工作,從成本和效率等考慮,對HIL臺架系統有很強的需求。
- 對于到底怎樣的HIL臺架系統,取決于需要用HIL臺架來做什么,以及要做到什么程度,進而也決定了需要怎樣的HIL測試人員。
- 對于HIL臺架系統的使用,掌握怎么搭建臺架系統,以及如何進行HIL測試,這是必需的工作技能,而對于功能或模型開發的掌握程度,取決于使用HIL臺架系統進行何種層級的HIL測試。