基于FPGA的汽車ECU設(shè)計(jì)
某些可編程邏輯器件在結(jié)構(gòu)中配備有硬核處理器,便于設(shè)計(jì)人員第一步先用軟件開發(fā)整個(gè)系統(tǒng)功能,就像他們尋常在MCU平臺(tái)上所做的一樣,隨后逐步地在設(shè)計(jì)中增加硬件,將部分設(shè)計(jì)移植到可編程邏輯資源。這種方法能夠讓設(shè)計(jì)人員為解決方案開發(fā)出不同的版本,而且與純軟件方法相比,能夠?qū)崿F(xiàn)在定制硬件中綜合部分功能的優(yōu)勢(shì)。
在運(yùn)行時(shí)可重配置硬件上進(jìn)行ECU設(shè)計(jì)
在探討完畢借助可編程邏輯在靜態(tài)硬件和軟件上實(shí)現(xiàn)ECU的優(yōu)勢(shì)后,我們接下來(lái)探討采用基于SRAM并具備運(yùn)行時(shí)部分可重配置功能的FPGA設(shè)計(jì)ECU。部分可重配置技術(shù)能夠?yàn)槠囋O(shè)計(jì)人員提供更多優(yōu)勢(shì)。
事實(shí)上,其中的一大優(yōu)勢(shì)是如果FPGA包含有不必在啟動(dòng)時(shí)(如在ECU喚醒或加電)配置的部分可重配置區(qū)域,可以縮短系統(tǒng)啟動(dòng)時(shí)間。不支持動(dòng)態(tài)部分可重配置的FPGA在加電時(shí)需要配置所有的FPGA資源,但運(yùn)行時(shí)可重配置FPGA只需下載部分位流進(jìn)行部分重配置。
由于當(dāng)今先進(jìn)的FPGA器件具有巨大的容量,故在加電時(shí)下載完整的位流會(huì)引起可觀的配置時(shí)間開銷。運(yùn)行時(shí)部分可重配置技術(shù)能夠顯著地縮短這種配置時(shí)延。在那種情況下,有可能在加電時(shí)只配置一個(gè)最起碼的子系統(tǒng)(即引導(dǎo)載入程序和立即需要的部分系統(tǒng)應(yīng)用),讓系統(tǒng)其余部分保持待機(jī)狀態(tài),直到有必要初始化為止。如果系統(tǒng)在加電或喚醒時(shí)需要快速響應(yīng),可將這種啟動(dòng)工作劃分為兩個(gè)階段,以加快初始化過(guò)程。為此,可將系統(tǒng)架構(gòu)分解為一個(gè)靜態(tài)域和一個(gè)或者多個(gè)部分可重配置域(PRR)。靜態(tài)域涵蓋負(fù)責(zé)執(zhí)行啟動(dòng)過(guò)程的系統(tǒng)(一般來(lái)說(shuō)是主機(jī)CPU),以及可重配置引擎和通往位流庫(kù)的數(shù)據(jù)鏈路。由特定部分位流描述的其他域可按應(yīng)用需求,隨后下載。
另外,如果禁用PRR域,則可以讓器件的功耗與禁用區(qū)域部分成比例降低。在使用汽車電池供電的ECU中,節(jié)能模式尤為重要。為此,在車輛未使用時(shí)(即處于休眠模式時(shí)),車載ECU可使用低功耗模式,以讓ECU功耗保持最低。同樣,可以在不需要的時(shí)候使用空白位流禁用FPGA的部分區(qū)域,減少邏輯活動(dòng),從而降低動(dòng)態(tài)功耗。
在采用運(yùn)行時(shí)可重配置邏輯的系統(tǒng)中,汽車設(shè)計(jì)人員還可使用一種從航空航天應(yīng)用中借鑒來(lái)的重配置技術(shù)。重配置(configuration scrubbing)可以將系統(tǒng)從因單粒子翻轉(zhuǎn)(SEU)和電磁干擾造成的SRAM故障中恢復(fù)過(guò)來(lái)。定期重新配置硬件外設(shè)可保證系統(tǒng)在出現(xiàn)故障時(shí)自我修復(fù)。另外,這樣也可以將故障的最大時(shí)長(zhǎng)限制在重配置時(shí)間間隔內(nèi)。這種技術(shù)也通常運(yùn)用在軟件中,作為一種常見(jiàn)的抗干擾保護(hù)措施,例如MCU外設(shè)的定期重配置。
另一項(xiàng)運(yùn)行時(shí)部分重配置技術(shù)的靈活性帶來(lái)的有前景的功能是在FPGA資源的某個(gè)特定二維位置出現(xiàn)永久性或不可修復(fù)的電路故障,比如影響到特定邏輯單元或RAM模塊時(shí),可通過(guò)功能重定位實(shí)現(xiàn)故障修復(fù)。一旦發(fā)現(xiàn)有硬件或軟件故障出現(xiàn),可以在運(yùn)行中將所需的功能自動(dòng)重定位到同一ECU中的可編程邏輯器件的其他部分。雖然這個(gè)構(gòu)思是可行的,但這項(xiàng)功能還沒(méi)有得到當(dāng)今的自動(dòng)化工具的完全支持。
適用于汽車產(chǎn)業(yè)的運(yùn)行時(shí)可重配置計(jì)算技術(shù)最強(qiáng)大的特性無(wú)疑是共享的硬件資源上功能的實(shí)時(shí)時(shí)分復(fù)用??梢詫?duì)由ECU中的相同計(jì)算資源處理的功能性應(yīng)用進(jìn)行時(shí)間共享,如果應(yīng)用間相互獨(dú)立(例如,當(dāng)車輛向前直行駛時(shí)使用行車道偏離預(yù)警功能,倒車時(shí),則切換到后視攝像頭視圖或停車輔助應(yīng)用)。這種設(shè)計(jì)思路可以幫助降低此類嵌入式系統(tǒng)的成本和復(fù)雜性,釋放空間,減輕車身重量。
這種設(shè)計(jì)思路還可用于實(shí)現(xiàn)特定算法在不斷變化的環(huán)境條件或者外部條件中的自適應(yīng)性。例如,給定的引擎控制算法可通過(guò)部分可重配置自主調(diào)整部分硬件模塊,以在任何運(yùn)行溫度下或電池電壓下實(shí)現(xiàn)理想的運(yùn)行。同樣的理念對(duì)通信系統(tǒng)也適用,比如可以設(shè)計(jì)某種加密控制器,能夠在運(yùn)行中運(yùn)用特定的參數(shù)函數(shù)制定專門的安全等級(jí)。另如,可以設(shè)計(jì)某種ECC加密器/解密器IP,用于在高噪聲通信信道中檢測(cè)和修改數(shù)據(jù)傳輸錯(cuò)誤,能夠根據(jù)感應(yīng)到的信噪比動(dòng)態(tài)適應(yīng)其硬件架構(gòu)。
圖5顯示了一個(gè)采用賽靈思Virtex-4 FPGA部署的ECU系統(tǒng)的示例,由一個(gè)靜態(tài)域和一個(gè)部分可重配置域構(gòu)成。靜態(tài)域集成了一個(gè)MicroBlaze軟核處理器和一個(gè)基于ICAP的重配置控制器,部分可重配置域(PRR)則發(fā)揮著共享資源的作用,負(fù)責(zé)在不同時(shí)間換入和換出不同的功能任務(wù)或應(yīng)用。
圖5 在由部分可重配置域和靜態(tài)域構(gòu)成的運(yùn)行時(shí)可重配置FPGA中實(shí)現(xiàn)的汽車ECU應(yīng)用的空間分區(qū)和臨時(shí)分區(qū)
最后,如果將前述的構(gòu)想發(fā)揮到極致,可以設(shè)計(jì)出一種通用汽車ECU平臺(tái)。這種平臺(tái)可以在生產(chǎn)線上進(jìn)行配置并針對(duì)汽車中特定的ECU功能進(jìn)行定制。這種構(gòu)想在技術(shù)上借助可重配置硬件具有可行性,能夠簡(jiǎn)化制造廠的物流要求,將存貨壓低到最低水平。這是因?yàn)閺挠布慕嵌葋?lái)看,在生產(chǎn)線上組裝的模塊對(duì)所有車輛都是一樣的,都采用單一平臺(tái)設(shè)計(jì)或產(chǎn)品架構(gòu)(基于靈活的硬件)。只有可下載的位流會(huì)讓ECU的功能具有差異。
高集成度ECU
在當(dāng)今的汽車產(chǎn)業(yè)中,有約90%的創(chuàng)新來(lái)自汽車電子設(shè)備,而且這個(gè)勢(shì)頭方興未艾。未來(lái)汽車將采用非常先進(jìn)的軟硬件技術(shù),實(shí)現(xiàn)大量的新功能,比如自動(dòng)駕駛、車輛間通信、娛樂(lè)以及和更高安全性。但是,對(duì)在這個(gè)以大批量制勝的產(chǎn)業(yè)而言,控制車載嵌入式系統(tǒng)的成本對(duì)汽車制造商極其重要。因此,當(dāng)前的趨勢(shì)是在減少車輛中的ECU數(shù)量的同時(shí)讓每個(gè)ECU發(fā)揮強(qiáng)勁的功能。要實(shí)現(xiàn)這個(gè)目標(biāo)需要功能更加強(qiáng)大的計(jì)算平臺(tái)。
許多行業(yè)參與方共同采用的方法是開發(fā)用作域控制器的高集成度ECU。就是將多個(gè)單核處理器或微控制器布置在同一開發(fā)板上,共享總線連接和其他資源,旨在從整車的角度降低系統(tǒng)復(fù)雜性。這種趨勢(shì)讓我們聯(lián)想到可以將可重配置硬件用于ECU的設(shè)計(jì),從而在有效提高計(jì)算并行性,降低PCB的復(fù)雜性的同時(shí),實(shí)現(xiàn)最高性價(jià)比解決方案。
這種設(shè)計(jì)方法雖然在我們的工作中尚處于萌芽階段,卻為將AUTOSAR和ISO 26262標(biāo)準(zhǔn)與運(yùn)行時(shí)可重配置硬件融合用于軟/硬件聯(lián)合設(shè)計(jì),實(shí)現(xiàn)完整的車載嵌入式ECU系統(tǒng)奠定了基礎(chǔ)。實(shí)際上,雖然目前AUTOSAR還沒(méi)有覆蓋到可重配置硬件,但我們不排除將來(lái)有這種可能?;赟RAM的運(yùn)行時(shí)可重配置FPGA已用于航空航天應(yīng)用,能夠滿足容易導(dǎo)致SEU的更為惡劣的環(huán)境條件的要求,況且汽車行業(yè)從歷史上看有借鑒航空航天行業(yè)率先開創(chuàng)的風(fēng)氣的習(xí)慣。另外,在市場(chǎng)上已經(jīng)存在某些合格的用于實(shí)現(xiàn)基于FPGA的安全相關(guān)系統(tǒng)的設(shè)計(jì)方法和工具,而且行業(yè)中涉及FPGA器件的標(biāo)準(zhǔn)也已經(jīng)存在有相當(dāng)長(zhǎng)時(shí)間,比如用于規(guī)范航空電子業(yè)組件和系統(tǒng)設(shè)計(jì)的DO-254標(biāo)準(zhǔn)。
聯(lián)合設(shè)計(jì)帶來(lái)模式變革
因此,我們的工作將掀起汽車產(chǎn)業(yè)計(jì)算模式的變革。在特定的ECU應(yīng)用場(chǎng)景中,純軟件的解決方案將被軟/硬件聯(lián)合設(shè)計(jì)和可重配置計(jì)算技術(shù)所取代。這是因?yàn)椴捎民T諾依曼型MCU的純軟件方法由于性能、復(fù)雜性和安全性方面的局限,已不敷使用??删幊踢壿嫾夹g(shù)的價(jià)格的不斷降低,加上汽車電子控制單元性能需求的不斷走高,將在不久的將來(lái)把這場(chǎng)變革變?yōu)楝F(xiàn)實(shí)。
兩大關(guān)鍵標(biāo)準(zhǔn)
汽車產(chǎn)業(yè)在設(shè)計(jì)車載電子設(shè)備時(shí)已將兩項(xiàng)關(guān)鍵標(biāo)準(zhǔn)奉為圭皋。其中一項(xiàng)標(biāo)準(zhǔn)是AUTOSAR,它通過(guò)適當(dāng)?shù)能浻布軜?gòu)解決嵌入式系統(tǒng)復(fù)雜性問(wèn)題。另一項(xiàng)標(biāo)準(zhǔn)是即將推出的ISO 26262,用于管理功能安全性。AUTOSAR提出的以及ISO 26262采用的相關(guān)技術(shù)課題主要為安全問(wèn)題的檢測(cè)和處理,比如運(yùn)行時(shí)發(fā)生的硬件故障、時(shí)序失常和應(yīng)用執(zhí)行的邏輯順序打亂、數(shù)據(jù)損壞等。
AUTOSAR詳解
近年來(lái),電子組件已經(jīng)取代了車輛中的機(jī)械系統(tǒng)和液壓系統(tǒng)。隨著設(shè)計(jì)人員開始用軟件實(shí)現(xiàn)更多的控制、監(jiān)控和診斷功能,這種趨勢(shì)正在持續(xù)。實(shí)際上,用電子技術(shù)能夠?qū)崿F(xiàn)僅用機(jī)械和液壓解決方案無(wú)法開發(fā)者開發(fā)成本高的新功能。但這些部件必須滿足嚴(yán)格的安全要求,以避免出錯(cuò)和故障。
雖然軟件相關(guān)的故障目前來(lái)看比較罕見(jiàn),但隨著軟件在汽車這種工業(yè)制品中用量的不斷增加,系統(tǒng)變得日趨復(fù)雜,加上產(chǎn)品開發(fā)周期的縮短,最終可能導(dǎo)致產(chǎn)品故障。為解決這個(gè)問(wèn)題,汽車產(chǎn)業(yè)通過(guò)結(jié)盟和實(shí)施標(biāo)準(zhǔn),確保使用和開發(fā)安全可靠的軟件。
評(píng)論