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

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

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

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

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