第二講,本節簡要介紹HIL的歷史,并介紹什么是實時系統,閱讀本節之后,讀者應學會自行分析自己的測試對象,看看需要不需要實時系統,以及,需要什么樣的實時系統,還可以對自己的測試對象的實時性,做一些簡單的評估。
上一節我們總體上聊了本系列文章的目的,從本講開始,我們進入正題。本節,我們聊聊HIL系統的起源,以及什么是實時系統。
HIL系統很厲害,但是它是怎么誕生的呢?
我們假設該偏文章的讀者都具有單片機的概念(汽車上的控制器就是一個加強型的單片機),那么回想一下,大學時候,我們是怎么在硬件層次上測試單片機呢?
一般都是,從淘寶上買個開發板或者自己做一個開發板,把代碼燒進去之后,把單片機外設的IO輸入用導線印出來,把導線的另一端跟電源或者地點觸一下又一下,跟電焊似的,創造數字信號輸入,看單片機的反應如何。對于單片機的輸出,我們一般是拿個示波器測試PWM波,或者拿個萬用表測數字量輸出。總之,單片機需要什么,我們就給它創造什么,單片機輸出什么,我們就想辦法檢測什么。
上個世紀80年代之前,全世界范圍內還沒有新能源車,燃油車上的控制器也很少,沒有ABS、ESP、SPB、氣囊、ADAS、雨量傳感器……,汽車控制器的開發還是很簡單的,所以,還是勉強可以按大學單片機的做法來開發的。但也正是上個世紀80年代起,汽車技術蓬勃發展,大量的新技術和電子產品開始引入到汽車中,整車的復雜度大大提升,這在提高了汽車的安全性、舒適性的同時,也大大增加了汽車開發的工作量,開發周期變得更長了。
在這個時候,在汽車起源的地方,銳意進取的日耳曼人再一次走在了世界的前列,Herbert Hanselmann博士在University of Paderborn成立了dSPACE公司,并同時發布了兩款劃時代的產品:快速原型、HIL。附圖一張創始人的畫像:
這兩個產品相互合作,完美解決了當時乃至今天仍然存在的兩大難題:1、我做好了軟件,但是硬件還需時日,樣車快下線了,怎么能找一個控制器,把軟件燒進去,裝到車上代替我的硬件,先頂一下,別耽誤車輛進度;2、我的軟件、硬件都做好了,軟件也燒進去了,在裝車之前,我想先在測試環境中對它進行細致地檢查和測試(畢竟在車上很難創造各種邏輯條件,覆蓋率較低),最好能讓我覺得像是真的在操作一輛車。
dSPACE公司是HIL產品乃至HIL概念的發明者,時至今日仍是這個領域全球最優秀的選手,追隨者、模仿者有一大批,比如ETAS、NI,以及其他一眾叫不上來名字的小公司。師子一號的此系列文章,只聊HIL,快速原型不談。
當年,dSPACE的HIL,主要是針對發動機控制器(Engine Control Unit)ECU的,所以,當下全世界大多數HIL設備,都帶有發動機的靈魂,冥想起來,似乎有一股淡淡的汽油味。整車模型、故障注入、實時系統……這些概念全部都是因為當年測試發動機而搞出來的,針對發動機控制器ECU盾測試,這些東西基本上都是是必須的。
先說第一個,什么是HIL領域的實時系統?師子一號對它的定義為:操作系統控制板卡輸出或者輸入信號,最大時延是可控的,這就是實時系統。它和“運行速度快”不是一個概念,強調的是可靠性可控性。我們打個比方,公司八點半上班,有兩位員工,都挺勤快,甲每天大概都是8點20到,乙在多數情況下,都是8點10分之前到。但是,甲從來沒有遲到過,最遲也是8點29,而且,我們分析甲的起床時間,通勤方式……也確實相信他以后也不大可能會遲到;而乙,就不是了,他在多數情況下都能早早到公司,但他偶爾會遲到,甚至,下大雪了時候,還可能會臨時請假甚至曠工。
在這個例子中,8點30,就是最大時延,也是判斷在該場景下是不是實時系統的標準,實時系統是相對某一標準而言的,一個系統在汽車行業是實時的,到了航天領域可能就不是實時的了。很明顯,甲員工就是實時系統,而乙不是。
那,為什么發動機ECU測試需要實時系統呢?答案在于ECU處理的信號很特殊,氧傳感器、爆震傳感器、曲軸凸輪軸位置傳感器;點火控制……這些都是以一定頻率變化的,假如,我們想通過板卡的pin,輸出給ECU的某一輸入pin下圖所示的信號(橫軸代表時間,數軸代表電壓),當然,這是理想信號。
如果我們采用實時系統,那,我們雖然不能保證信號的實際時序曲線和圖中完全一樣,但能保證是在它可控的附近,從而滿足ECU對該信號的時間延遲的定義及要求,確保ECU不報故障(這些故障是ECU實現定義好的、ECU軟件已經實現了);如果我們采用非實時的單核系統,則有可能當我們在這個系統上同時進行別的操作時,比如用matlab進行仿真分析,導致進程擁塞,上圖某個點的信號出現較大時間后延,超出了ECU的時延,從而導致ECU報了故障。
而且,請讀者注意一點,上圖這個周期為6.28秒,一周期變化20次的信號,靠人工操作是不可能實現的,必須通過軟件,而且是運行在實時系統上的軟件。這個所謂的軟件,就是“整車模型”的一部分。下一講師子一號將會詳細說說什么是整車模型。
上面這個例子,清晰展示了所謂實時系統的作用。當年dSPACE公司大力推行實時系統,是因為沒它不行,而且多核處理器還沒有出生。所以,HIL系統就成了那副樣子,兩個主機,一個主機裝上實時系統,成了一個大號的單片機,然后用它作為標準,去給另一個增強型的迷你單片機提供輸入輸出信號;另一個主機是一個普通PC,做一些文檔編輯、測試用例設計操作的工作,兩個主機之間一般通過網線通訊。
可是,時代是會變化的,CPU、操作系統的技術也是不斷升級的,現在的多核CPU,已經完全可以通過軟件對普通windows系統進行實時化,不再需要兩臺獨立主機了。而且,并不是所有的控制器都像ECU那樣,有這種高時間特性的信號,需要實時系統來測試。比如VCU、HCU、BMS、BCM、FCU、網關……普通的單機win7系統完全綽綽有余。
我們需要實時系統,是因為,如果信號延遲了,被測對象要報錯,基本無法再正常工作。而這樣的“報錯”,對被測對象而言,是一個正常且必須的功能。所以,看看被測對象是否有這樣的“時延檢測”功能,是我們判斷是否需要實時系統的最重要的依據。
經綜合考慮,本系列文章主要講單主機普通PC、WIN7系統的HIL,和雙主機的HIL。普通win7系統的實時化技術,可以成本極低的實時系統,但在汽車行業比較小眾,不做介紹,讀者可自行研究。
可是,為什么“兩臺主機”這種架構的HIL系統,仍然是HIL供應商力推的呢?哪怕你測個BCM,也給你推銷這種架構。因為,看起來很龐大,可以擴大消費,提高GDP…
審核編輯 黃昊宇
-
新能源汽車
+關注
關注
141文章
10606瀏覽量
99912 -
HIL
+關注
關注
2文章
60瀏覽量
17680 -
電控
+關注
關注
12文章
85瀏覽量
18145 -
實時系統
+關注
關注
0文章
38瀏覽量
14496
發布評論請先 登錄
相關推薦
評論