新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的汽車ECU設(shè)計

基于FPGA的汽車ECU設(shè)計

作者: 時間:2013-05-31 來源:網(wǎng)絡(luò) 收藏

當(dāng)今的汽車制造商正在把越來越多的高級功能添加到汽車電子控制單元(ECU)中,以改善駕駛體驗,增強安全性,當(dāng)然還期望超過同類競爭產(chǎn)品的銷量。在這種情況下,汽車開放系統(tǒng)架構(gòu)(AUTOSAR)計劃和功能安全國際標(biāo)準(zhǔn)ISO 26262正在快速成為汽車ECU設(shè)計的技術(shù)和架構(gòu)基礎(chǔ)。

汽車產(chǎn)業(yè)利用可重配置硬件技術(shù),可靈活地綜合車載功能。

當(dāng)今的汽車制造商正在把越來越多的高級功能添加到汽車電子控制單元(ECU)中,以改善駕駛體驗,增強安全性,當(dāng)然還期望超過同類競爭產(chǎn)品的銷量。在這種情況下,汽車開放系統(tǒng)架構(gòu)(AUTOSAR)計劃和功能安全國際標(biāo)準(zhǔn)ISO 26262正在快速成為汽車ECU設(shè)計的技術(shù)和架構(gòu)基礎(chǔ)。

為了滿足新車型日益提高的功能需求,汽車電子產(chǎn)品的密度不斷增大,F(xiàn)PGA廠商也正在不斷推出更大型的器件。這些器件能夠集成所有的應(yīng)用,而且與前代器件相比,功耗更低,價格更具競爭力。這種趨勢意味著可重配置計算技術(shù)在汽車產(chǎn)業(yè)將會得到進一步推廣和應(yīng)用。

我們推出了一種具有開創(chuàng)性的方法,即使用可編程FPGA器件而非基于MCU的平臺作為ECU的基礎(chǔ),設(shè)計出一款能夠同時滿足AUTOSAR和ISO 26262標(biāo)準(zhǔn)的汽車ECU。我們的設(shè)計方法對可重配置硬件的關(guān)鍵特性,比如并行性、可定制性、靈活性、冗余性和多功能性進行了充分的探索。在概念設(shè)計完成后,我們希望在原型中實現(xiàn)設(shè)計。賽靈思Zynq-7000可擴展處理平臺成為了理想選擇。該款FPGA平臺將ARM雙核Cortex-A9 MPCore硬處理器和具備動態(tài)部分可重配置功能的28nm賽靈思7系列可編程邏輯器件完美結(jié)合在一起,不但可充分滿足所需要求,而且還配備有CAN和以太網(wǎng)等車載網(wǎng)絡(luò)常用的片上通信控制器。

新興應(yīng)用

目前汽車計算能力借助通過通信網(wǎng)絡(luò)互連的ECU來分配。在未來幾年內(nèi),由于機動車輛中新應(yīng)用的興起,這樣的計算能力有望進一步提高。這些新應(yīng)用包括安全和駕駛員輔助功能、車輛間通信功能、舒適性和控制功能、車載娛樂功能以及為數(shù)眾多的混合動力電動技術(shù)。毫無疑義,車輛電子設(shè)備的數(shù)量預(yù)計還會增加。根據(jù)分析人員的預(yù)測,汽車應(yīng)用半導(dǎo)體市場的規(guī)模將在未來五年內(nèi)以8%的年均復(fù)合增長率(CAGR)增長。其中增長最快的細(xì)分市場之一涉及到微控制器(MCU)和可編程邏輯器件,比如現(xiàn)場可編程門陣列(FPGA)。

在車載功能的數(shù)量和先進性與日俱增的同時,設(shè)計和管理這些系統(tǒng)變得日趨復(fù)雜,汽車制造商認(rèn)為有必要采取有效方式來解決這一難題。其結(jié)果就是當(dāng)今AUTOSAR和ISO 26262兩大標(biāo)準(zhǔn)都在影響著實際汽車ECU軟硬件系統(tǒng)的架構(gòu)、設(shè)計和部署方式(見側(cè)邊欄)。

2003年由多家汽車制造商共同制定的AUTOSAR標(biāo)準(zhǔn)旨在為分布于車輛中的ECU定義標(biāo)準(zhǔn)的系統(tǒng)軟件架構(gòu)。而ISO 26262標(biāo)準(zhǔn)的目的則以功能安全性為中心,實質(zhì)上是以避免或檢測并處理故障為目的,從而減輕故障影響并防止出現(xiàn)對任何既有的系統(tǒng)安全目標(biāo)的違反行為。隨著全新的安全關(guān)鍵功能(比如駕駛員輔助或動態(tài)控制)的推出,功能安全性已經(jīng)成為汽車開發(fā)中的關(guān)鍵問題之一。ISO 26262標(biāo)準(zhǔn)于2011年批準(zhǔn)生效,可為軟硬件的安全開發(fā)提供支持。

因此,整個ECU的設(shè)計和開發(fā)流程由需要系統(tǒng)性進程的標(biāo)準(zhǔn)進行管理。我們的工作就是設(shè)計一款高性價比嵌入式計算平臺,采用可重配置硬件技術(shù)實現(xiàn)優(yōu)化的系統(tǒng)架構(gòu)。

系統(tǒng)架構(gòu)

AUTOSAR和ISO 26262標(biāo)準(zhǔn)主要從軟件開發(fā)的角度著眼,面向的是基于微控制器單元的計算平臺。但是,硬件/軟件聯(lián)合設(shè)計和可重配置計算技術(shù)的應(yīng)用可為這個領(lǐng)域帶來眾多優(yōu)勢。雖然標(biāo)準(zhǔn)的MCU往往是汽車ECU硬件平臺的最佳選擇,但隨著新型FPGA成本的不斷降低,加上部分FPGA產(chǎn)品內(nèi)部集成有硬核處理器,使得FPGA器件也成為這個市場中值得廣泛應(yīng)用的理想解決方案。

為了在汽車應(yīng)用中發(fā)揮可重配置硬件的全部優(yōu)勢,我們將以關(guān)于部署最終用戶功能的汽車計算網(wǎng)絡(luò)中最為重要的ECU之一——“車身控制器模塊”為重點,通過使用案例展現(xiàn)這種技術(shù)的潛力。該ECU也稱為“車身域控制器”,負(fù)責(zé)綜合和控制車輛中主要的電子車身功能,比如擋風(fēng)玻璃雨刷/噴水系統(tǒng)、車燈、搖窗器、引擎點火/熄火、車外后視鏡和中控鎖。我們的目標(biāo)是在FPGA平臺上設(shè)計出一款配備有安全關(guān)鍵功能且符合AUTOSAR的ECU系統(tǒng)。

實際情景

如果汽車制造商要想經(jīng)濟高效地管理日益復(fù)雜的車輛功能,經(jīng)AUTOSAR提倡的ECU系統(tǒng)架構(gòu)的標(biāo)準(zhǔn)化則是必由之路。它能夠?qū)崿F(xiàn)分布在ECU中的各項功能的高度集成和軟件組件的重復(fù)使用。AUTOSAR的主要目的是定義一個統(tǒng)一的ECU架構(gòu),讓硬件與軟件分離。這樣AUTOSAR通過定義硬件無關(guān)的接口,可提高軟件的重復(fù)使用。換句話說,如果按照AUTOSAR標(biāo)準(zhǔn)編寫的軟件組件,只要正確集成到符合AUTOSAR標(biāo)準(zhǔn)的運行環(huán)境中,就能夠在任何廠商的微控制器上運行。

這項功能給汽車制造商帶來了更高的靈活性。由于AUTOSAR標(biāo)準(zhǔn)內(nèi)在的即插即用特性,汽車制造商可以在整個汽車平臺上以透明的方式更換不同供應(yīng)商開發(fā)的相同軟件模塊的各個版本,且不會給汽車中其余功能的發(fā)揮造成負(fù)面效果。最終硬件和軟件實現(xiàn)彼此高度獨立。這種分離是通過標(biāo)準(zhǔn)軟件的API將抽象層互聯(lián)實現(xiàn)的。圖1是AUTOSAR定義的功能層的分解圖。


圖1 從MCU到應(yīng)用層的AUTOSAR分層模型

底部以黑色表示的是硬件層或物理層,由MCU自身(即CPU和與其相連的部分標(biāo)準(zhǔn)外設(shè))構(gòu)成。微控制器之上是基礎(chǔ)軟件(BSW),分為三層:粉色的微控制器抽象層(MCAL)、綠色的ECU抽象層(ECUAL)和復(fù)雜驅(qū)動程序、紫色的服務(wù)層(SRV)。這三層經(jīng)組織形成了多個列或協(xié)議棧(存儲器、通信、輸入/輸出等)。

緊貼硬件組件的是微控制器抽象層。正如其名所示,該層是MCU的抽象。該層的目的是提供一個硬件獨立的API,負(fù)責(zé)處理微控制器中的硬件外設(shè)。微控制器抽象層的上一層是ECU抽象層,負(fù)責(zé)抽象ECU開發(fā)板上的其他智能器件,一般直接與MCU接觸(例如,系統(tǒng)電壓調(diào)節(jié)器、智能交換控制器、可配置通信收發(fā)器等)。接下來的第三層是服務(wù)層。該層基本具有硬件獨立性,其作用是處理所需的不同類型的背景服務(wù)。例如網(wǎng)路服務(wù),系統(tǒng)看門狗的NVRAM處理或管理。通過這三層,AUTOSAR定義了一套基礎(chǔ)軟件功能。這套軟件功能在特定的硬件平臺下支持著汽車ECU各高級抽象層的所有功能。

第四層是運行環(huán)境(RTE),為應(yīng)用軟件提供通信服務(wù)。它由可從上面的BSW層和應(yīng)用層(APP)共同訪問的一套信號(發(fā)送器/接收器端口)和服務(wù)(客戶端和服務(wù)器端口)構(gòu)成。該RTE從基礎(chǔ)軟件中抽象出應(yīng)用,明確地勾勒出將通用的可交換軟件代碼(APP))與特定的硬件相關(guān)代碼(BSW)分離的軟件協(xié)議棧架構(gòu)。換句話說,RTE可將軟件應(yīng)用與硬件平臺分離。因此運行在RTE上的所有軟件模塊都具有平臺無關(guān)性。

在RTE之上,通過應(yīng)用層,軟件架構(gòu)方式從分層變?yōu)橐越M件為基礎(chǔ)。功能主要封裝在軟件組件(SWC)中。因此,完成AUTOSAR軟件組件接口的標(biāo)準(zhǔn)化是支持各項功能跨不同車輛平臺的ECU實現(xiàn)可擴展性和可移植性的中心環(huán)節(jié)。除復(fù)雜驅(qū)動程序外,AUTOSAR標(biāo)準(zhǔn)明確地規(guī)定了這些組件的API及特性。SWC僅通過運行環(huán)境與其他模塊(ECU間或內(nèi)部)通信。

隨著ECU不斷集成越來越多的功能,F(xiàn)PGA器件成為了單核或多核MCU的明智替代。通過從總體上把握AUTOSAR的不同層次,可以預(yù)見設(shè)計人員將這種架構(gòu)部署在可編程邏輯中所能帶來的優(yōu)勢。下文將更深入地介紹我們的設(shè)計如何實現(xiàn)基于定制靜態(tài)硬件(基于閃存或SRAM的FPGA技術(shù))的解決方案,然后將這種方法延伸為一種運行時可重配置的硬件實現(xiàn)方案(基于SRAM的部分可重配置FPGA)。

基于FPGA靜態(tài)硬件的ECU設(shè)計

AUTOSAR架構(gòu)非常適合由CPU、存儲器和可編程邏輯組成的嵌入式系統(tǒng)。ECU平臺需要一個CPU或主機處理器來管理應(yīng)用并處理分布在應(yīng)用層的軟件組件中的不同功能。同時,MCU層和部分基礎(chǔ)軟件層可以在可編程邏輯結(jié)構(gòu)中的硬件中綜合。因此,除了能夠?qū)崿F(xiàn)與CPU相連的標(biāo)準(zhǔn)外設(shè),其它定制外設(shè)和協(xié)處理器也能夠在硬件中并存,并在軟件中完全或部分地加以管理。


另外從功能安全的角度來看,專用協(xié)處理器或內(nèi)核處理器也非常適用,因為用它們實現(xiàn)功能可讓硬件從源頭避免干擾,即便要求冗余性,也能給系統(tǒng)設(shè)計帶來高靈活性。另外,居于中間的RTE層可以在分布于FPGA中的RAM模塊中,或者在嵌入在器件邏輯單元中的觸發(fā)器中以及外部存儲器中綜合。而且,RTE信號接口經(jīng)簡單設(shè)計就能夠同時進行讀寫操作(通過單端口存儲器)或限制架構(gòu)僅進行讀操作或者寫操作(通過配有兩個獨立讀寫端口的單個雙端口存儲器),以防范干擾,比如AUTOSAR所定義的彼此對應(yīng)的發(fā)送器和接收器軟件端口。


圖2 將AUTOSAR ECU架構(gòu)移植到FPGA平臺上

建議將基于MCU的AUTOSAR ECU架構(gòu)移植到可擴展處理平臺(EPP)或者FPGA器件上,并在各層中確保清晰的系統(tǒng)分區(qū),如圖2所示。位于RTE層以下的有操作系統(tǒng)(OS)、存儲器協(xié)議棧、通信協(xié)議棧、I/O協(xié)議棧等。位于RTE層以上的是軟件組件,它們用于實現(xiàn)應(yīng)用并通過AUTOSAR接口與RTE進行通信。

由于AUTOSAR架構(gòu)內(nèi)在的復(fù)雜性,需要功能強大的嵌入式計算平臺才能進行部署。如今,典型的ECU設(shè)計基于運行在MCU平臺上的32位單核處理器。但是單核越來越難以提供所需的全部計算能力。而使用多核CPU需要通過多處理器總線和仲裁機制共享程序/數(shù)據(jù)存儲器,往往會導(dǎo)致高度復(fù)雜的解決方案,造成性能劣化。


上一頁 1 2 3 4 下一頁

評論


技術(shù)專區(qū)

關(guān)閉