首頁 > 新能源汽車

HIL第2講,零基礎(chǔ)教程,HIL來源和實(shí)時(shí)系統(tǒng)

來源:新能源汽車網(wǎng)
時(shí)間:2019-04-13 10:01:55
熱度:

HIL第2講,零基礎(chǔ)教程,HIL來源和實(shí)時(shí)系統(tǒng)第二講,本節(jié)簡要介紹HIL的歷史,并介紹什么是實(shí)時(shí)系統(tǒng),閱讀本節(jié)之后,讀者應(yīng)學(xué)會(huì)自行分析自己的測試對象,看看需要不需要實(shí)時(shí)系統(tǒng),以及,

第二講,本節(jié)簡要介紹HIL的歷史,并介紹什么是實(shí)時(shí)系統(tǒng),閱讀本節(jié)之后,讀者應(yīng)學(xué)會(huì)自行分析自己的測試對象,看看需要不需要實(shí)時(shí)系統(tǒng),以及,需要什么樣的實(shí)時(shí)系統(tǒng),還可以對自己的測試對象的實(shí)時(shí)性,做一些簡單的評估。

上一節(jié)我們總體上聊了本系列文章的目的,從本講開始,我們進(jìn)入正題。本節(jié),我們聊聊HIL系統(tǒng)的起源,以及什么是實(shí)時(shí)系統(tǒng)。

HIL系統(tǒng)很厲害,但是它是怎么誕生的呢?

我們假設(shè)該偏文章的讀者都具有單片機(jī)的概念(汽車上的控制器就是一個(gè)加強(qiáng)型的單片機(jī)),那么回想一下,大學(xué)時(shí)候,我們是怎么在硬件層次上測試單片機(jī)呢?

一般都是,從淘寶上買個(gè)開發(fā)板或者自己做一個(gè)開發(fā)板,把代碼燒進(jìn)去之后,把單片機(jī)外設(shè)的IO輸入用導(dǎo)線印出來,把導(dǎo)線的另一端跟電源或者地點(diǎn)觸一下又一下,跟電焊似的,創(chuàng)造數(shù)字信號(hào)輸入,看單片機(jī)的反應(yīng)如何。對于單片機(jī)的輸出,我們一般是拿個(gè)示波器測試PWM波,或者拿個(gè)萬用表測數(shù)字量輸出。總之,單片機(jī)需要什么,我們就給它創(chuàng)造什么,單片機(jī)輸出什么,我們就想辦法檢測什么。

上個(gè)世紀(jì)80年代之前,全世界范圍內(nèi)還沒有新能源車,燃油車上的控制器也很少,沒有ABS、ESP、SPB、氣囊、ADAS、雨量傳感器……,汽車控制器的開發(fā)還是很簡單的,所以,還是勉強(qiáng)可以按大學(xué)單片機(jī)的做法來開發(fā)的。但也正是上個(gè)世紀(jì)80年代起,汽車技術(shù)蓬勃發(fā)展,大量的新技術(shù)和電子產(chǎn)品開始引入到汽車中,整車的復(fù)雜度大大提升,這在提高了汽車的安全性、舒適性的同時(shí),也大大增加了汽車開發(fā)的工作量,開發(fā)周期變得更長了。

在這個(gè)時(shí)候,在汽車起源的地方,銳意進(jìn)取的日耳曼人再一次走在了世界的前列,Herbert Hanselmann博士在University of Paderborn成立了dSPACE公司,并同時(shí)發(fā)布了兩款劃時(shí)代的產(chǎn)品:快速原型、HIL。附圖一張創(chuàng)始人的畫像:

HIL第2講,零基礎(chǔ)教程,HIL來源和實(shí)時(shí)系統(tǒng)

這兩個(gè)產(chǎn)品相互合作,完美解決了當(dāng)時(shí)乃至今天仍然存在的兩大難題:1、我做好了軟件,但是硬件還需時(shí)日,樣車快下線了,怎么能找一個(gè)控制器,把軟件燒進(jìn)去,裝到車上代替我的硬件,先頂一下,別耽誤車輛進(jìn)度;2、我的軟件、硬件都做好了,軟件也燒進(jìn)去了,在裝車之前,我想先在測試環(huán)境中對它進(jìn)行細(xì)致地檢查和測試(畢竟在車上很難創(chuàng)造各種邏輯條件,覆蓋率較低),最好能讓我覺得像是真的在操作一輛車。

dSPACE公司是HIL產(chǎn)品乃至HIL概念的發(fā)明者,時(shí)至今日仍是這個(gè)領(lǐng)域全球最優(yōu)秀的選手,追隨者、模仿者有一大批,比如ETAS、NI,以及其他一眾叫不上來名字的小公司。師子一號(hào)的此系列文章,只聊HIL,快速原型不談。

當(dāng)年,dSPACE的HIL,主要是針對發(fā)動(dòng)機(jī)控制器(Engine Control Unit)ECU的,所以,當(dāng)下全世界大多數(shù)HIL設(shè)備,都帶有發(fā)動(dòng)機(jī)的靈魂,冥想起來,似乎有一股淡淡的汽油味。整車模型、故障注入、實(shí)時(shí)系統(tǒng)……這些概念全部都是因?yàn)楫?dāng)年測試發(fā)動(dòng)機(jī)而搞出來的,針對發(fā)動(dòng)機(jī)控制器ECU盾測試,這些東西基本上都是是必須的。

先說第一個(gè),什么是HIL領(lǐng)域的實(shí)時(shí)系統(tǒng)?師子一號(hào)對它的定義為:操作系統(tǒng)控制板卡輸出或者輸入信號(hào),最大時(shí)延是可控的,這就是實(shí)時(shí)系統(tǒng)。它和“運(yùn)行速度快”不是一個(gè)概念,強(qiáng)調(diào)的是可靠性可控性。我們打個(gè)比方,公司八點(diǎn)半上班,有兩位員工,都挺勤快,甲每天大概都是8點(diǎn)20到,乙在多數(shù)情況下,都是8點(diǎn)10分之前到。但是,甲從來沒有遲到過,最遲也是8點(diǎn)29,而且,我們分析甲的起床時(shí)間,通勤方式……也確實(shí)相信他以后也不大可能會(huì)遲到;而乙,就不是了,他在多數(shù)情況下都能早早到公司,但他偶爾會(huì)遲到,甚至,下大雪了時(shí)候,還可能會(huì)臨時(shí)請假甚至?xí)绻ぁ?/p>

在這個(gè)例子中,8點(diǎn)30,就是最大時(shí)延,也是判斷在該場景下是不是實(shí)時(shí)系統(tǒng)的標(biāo)準(zhǔn),實(shí)時(shí)系統(tǒng)是相對某一標(biāo)準(zhǔn)而言的,一個(gè)系統(tǒng)在汽車行業(yè)是實(shí)時(shí)的,到了航天領(lǐng)域可能就不是實(shí)時(shí)的了。很明顯,甲員工就是實(shí)時(shí)系統(tǒng),而乙不是。

實(shí)時(shí)系統(tǒng)主要有l(wèi)inux-RT、Vxworks等類型。

那,為什么發(fā)動(dòng)機(jī)ECU測試需要實(shí)時(shí)系統(tǒng)呢?答案在于ECU處理的信號(hào)很特殊,氧傳感器、爆震傳感器、曲軸凸輪軸位置傳感器;點(diǎn)火控制……這些都是以一定頻率變化的,假如,我們想通過板卡的pin,輸出給ECU的某一輸入pin下圖所示的信號(hào)(橫軸代表時(shí)間,數(shù)軸代表電壓),當(dāng)然,這是理想信號(hào)。

HIL第2講,零基礎(chǔ)教程,HIL來源和實(shí)時(shí)系統(tǒng)

如果我們采用實(shí)時(shí)系統(tǒng),那,我們雖然不能保證信號(hào)的實(shí)際時(shí)序曲線和圖中完全一樣,但能保證是在它可控的附近,從而滿足ECU對該信號(hào)的時(shí)間延遲的定義及要求,確保ECU不報(bào)故障(這些故障是ECU實(shí)現(xiàn)定義好的、ECU軟件已經(jīng)實(shí)現(xiàn)了);如果我們采用非實(shí)時(shí)的單核系統(tǒng),則有可能當(dāng)我們在這個(gè)系統(tǒng)上同時(shí)進(jìn)行別的操作時(shí),比如用matlab進(jìn)行仿真分析,導(dǎo)致進(jìn)程擁塞,上圖某個(gè)點(diǎn)的信號(hào)出現(xiàn)較大時(shí)間后延,超出了ECU的時(shí)延,從而導(dǎo)致ECU報(bào)了故障。

而且,請讀者注意一點(diǎn),上圖這個(gè)周期為6.28秒,一周期變化20次的信號(hào),靠人工操作是不可能實(shí)現(xiàn)的,必須通過軟件,而且是運(yùn)行在實(shí)時(shí)系統(tǒng)上的軟件。這個(gè)所謂的軟件,就是“整車模型”的一部分。下一講師子一號(hào)將會(huì)詳細(xì)說說什么是整車模型。

上面這個(gè)例子,清晰展示了所謂實(shí)時(shí)系統(tǒng)的作用。當(dāng)年dSPACE公司大力推行實(shí)時(shí)系統(tǒng),是因?yàn)闆]它不行,而且多核處理器還沒有出生。所以,HIL系統(tǒng)就成了那副樣子,兩個(gè)主機(jī),一個(gè)主機(jī)裝上實(shí)時(shí)系統(tǒng),成了一個(gè)大號(hào)的單片機(jī),然后用它作為標(biāo)準(zhǔn),去給另一個(gè)增強(qiáng)型的迷你單片機(jī)提供輸入輸出信號(hào);另一個(gè)主機(jī)是一個(gè)普通PC,做一些文檔編輯、測試用例設(shè)計(jì)操作的工作,兩個(gè)主機(jī)之間一般通過網(wǎng)線通訊。

可是,時(shí)代是會(huì)變化的,CPU、操作系統(tǒng)的技術(shù)也是不斷升級的,現(xiàn)在的多核CPU,已經(jīng)完全可以通過軟件對普通windows系統(tǒng)進(jìn)行實(shí)時(shí)化,不再需要兩臺(tái)獨(dú)立主機(jī)了。而且,并不是所有的控制器都像ECU那樣,有這種高時(shí)間特性的信號(hào),需要實(shí)時(shí)系統(tǒng)來測試。比如VCU、HCU、BMS、BCM、FCU、網(wǎng)關(guān)……普通的單機(jī)win7系統(tǒng)完全綽綽有余。

我們需要實(shí)時(shí)系統(tǒng),是因?yàn)?,如果信?hào)延遲了,被測對象要報(bào)錯(cuò),基本無法再正常工作。而這樣的“報(bào)錯(cuò)”,對被測對象而言,是一個(gè)正常且必須的功能。所以,看看被測對象是否有這樣的“時(shí)延檢測”功能,是我們判斷是否需要實(shí)時(shí)系統(tǒng)的最重要的依據(jù)。

經(jīng)綜合考慮,本系列文章主要講單主機(jī)普通PC、WIN7系統(tǒng)的HIL,和雙主機(jī)的HIL。普通win7系統(tǒng)的實(shí)時(shí)化技術(shù),可以成本極低的實(shí)時(shí)系統(tǒng),但在汽車行業(yè)比較小眾,不做介紹,讀者可自行研究。

可是,為什么“兩臺(tái)主機(jī)”這種架構(gòu)的HIL系統(tǒng),仍然是HIL供應(yīng)商力推的呢?哪怕你測個(gè)BCM,也給你推銷這種架構(gòu)。因?yàn)?,看起來很龐大,可以擴(kuò)大消費(fèi),提高GDP…

.adva-cont{margin: 20px 0;background: #f2f2f2;width: 604px;height: 200px;padding: 20px;position: relative;}.adva-cont .img-cont{float: left;position: relative;width: 160px;height: 160px;padding: 20px;background: #FFF;}.adva-cont .img-cont img{position: absolute; top: 50%; left: 50%; max-width: 90%; max-height: 90%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%);}.adva-cont h3 a{font-family: SimHe, '黑體';text-decoration: none;font-size: 20px;color: #000;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;}.adva-cont .adva-text{position: absolute;top: 50%;transform: translateY(-50%);padding: 20px 20px 20px 230px;}.adva-text p{margin-top: 30px;}.adva-text p a{height: 79px;text-decoration: none;font-size: 14px;color: #666;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 4;overflow: hidden;}#keywordsHidden{display:none;}HIL硬件在環(huán)測試新能源汽車電控測試