基于FPGA的汽車ECU設(shè)計充分符合AUTOSAR和ISO 26262標準
用戶可以將在 MCU 和 BSW 層中綜合的外設(shè)和硬件協(xié)處理器設(shè)置成高智能化水平,以釋放 CPU 時間,從而簡化車載 ECU 的軟件。
本文引用地址:http://www.ex-cimer.com/article/221573.htm隨著 ECU 平臺日趨復雜化,系統(tǒng)所需的 I/O 線路數(shù)也在不斷增加。在這方面 FPGA 較微控制器有明顯的優(yōu)勢,因為 FPGA一般能夠提供多得多的用戶引腳數(shù)。這一點一般與基于 MCU 的 ECU 有關(guān),因為這種 ECU 需要采用執(zhí)行并-串數(shù)據(jù)轉(zhuǎn)換的外部芯片(比如數(shù)字移位寄存器或模擬多路復用器)來擴展 ECU 的輸入和輸出。采用 FPGA 可以繞開這些外部組件,進而縮減材料清單成本以及電子開發(fā)板的 PCB尺寸。
先進的 FPGA 器件已經(jīng)集成有模數(shù)轉(zhuǎn)換器。這個特性對汽車設(shè)計意義重大,因為許多 ECU使用模擬信號(比如電池電壓)來實現(xiàn)所需的部分功能。在可編程邏輯器件中集成模數(shù)轉(zhuǎn)換器為 FPGA 開辟了新的應用領(lǐng)域。
與 MCU 類似,F(xiàn)PGA 也提供遠程更新功能。但在這里需要提醒的是,下載到 FPGA 中的位流不僅涉及到軟件代碼,而且與硬件電路也息息相關(guān)。這意味著就算產(chǎn)品已經(jīng)進入量產(chǎn)階段,仍然可以通過系統(tǒng)更新或升級來修改硬件設(shè)計。汽車產(chǎn)業(yè)非常欣賞這種靈活性,因為它能夠在產(chǎn)品發(fā)布后修改缺陷(軟/硬件均可)。
在任何嵌入有符合 ISO 26262安全相關(guān)要求的功能的 ECU 中,涉及該實現(xiàn)方案的軟硬件必須根據(jù)其分類滿足一定程度的保護要求。從軟件的角度講,它必須體現(xiàn)出抗干擾能力,即運行在 ECU 中的非安全相關(guān)代碼一定不能危及同一 ECU 中安全相關(guān)類的代碼的運行。這種隔離是保證安全相關(guān)功能與非安全相關(guān)功能在同一處理器上正確并行運行所必須的。一般來說,在可編程邏輯中管理這些指標比在 MCU 中具有更大的靈活性。
對于面向功能安全的存儲器保護策略,有必要確保只能授權(quán)的安全軟件組件有權(quán)對特定安全相關(guān)信號進行寫入存取。在 MCU 器件環(huán)境中,存儲器分區(qū)提供了一種故障約束機制,能夠?qū)④浖帽舜朔蛛x,避免其間發(fā)生數(shù)據(jù)錯誤??删幊踢壿嫼苡锌赡軐崿F(xiàn)一種更有效的自我保護機制??删幊踢壿嬁梢酝ㄟ^專用的單個雙端口存儲器來管理與安全信號相關(guān)的 RTE 緩存,這樣數(shù)據(jù)從寫端口寫入,從讀端口讀取。采用這種方法,可以采用專用的硬件控制器給寫入或讀取這些來自軟件側(cè)的信號設(shè)置不同的約束條件。這種方法也可以采用寄存器來實現(xiàn)。
能夠在 ECU 系統(tǒng)中導入定制硬件解決方案是 FPGA 的一大優(yōu)勢,特別是對安全相關(guān)的功能而言。具體而言,對 I/O 引腳和 GPIO 控制器,在安全功能中涉及的引腳布局可以組合成定制的 I/O 端口,僅供 ECU 中的安全組件訪問,與器件的其余引腳分離。這是將系統(tǒng)的安全相關(guān)引腳與非安全相關(guān)引腳分開的理想辦法,從設(shè)計上避免了干擾的發(fā)生。任何對非安全引腳的訪問都不會破壞安全引腳的狀態(tài),因為安全引腳只受安全相關(guān)代碼的管理。這種構(gòu)思的具體描述見圖 4。
圖4 軟/硬件聯(lián)合設(shè)計的安全架構(gòu),可將安全相關(guān)端口和非安全相關(guān)端口隔離開來,以保證無干擾
另外,還能夠根據(jù)應用或處理該應用的軟件組件的需求定制每個 GPIO 端口的大小,從而避免將 GPIO 端口轉(zhuǎn)換為不同應用共享的物理資源,如MCU端口的情況。用這種方法,F(xiàn)PGA中每一個由不同軟件組件(比如車窗升降器、雨刷、外后視鏡等)管理的應用都能夠?qū)⒆约禾囟ǖ亩丝谟成涞较到y(tǒng)存儲映射中特定的寄存器。這在 MCU 平臺上無法做到,因為 MCU的端口有固定尺寸(一般為8、16 或 32 位寬)且按字長尋址,而非按位尋址。因此在采用 MCU 的情況下,這種控制寄存器在程序執(zhí)行的時候變成了有多個 SWC 訪問的共享資源。
我們可以把用于 GPIO 控制器的策略擴展用于其它標準外設(shè)。這樣 AUTOSAR 借助 SWC 概念在頂層提倡的功能分區(qū)和隔離思路也可以在可編程硬件的幫助下推廣運用到較低層的資源上。這種技術(shù)如果采用基于標準 MCU 器件的靜態(tài)硬件解決方案是無法實現(xiàn)的。
我們上文介紹的用于 MCU 標準外設(shè)的隔離策略也可以用于安全功能的各個通道或數(shù)據(jù)路徑。這一特性尤其適用于按 ISO 26262 標準的 ASIL 分級組織的精細分類安全目標(見側(cè)邊欄)。此項功能可用于將各個通道或者數(shù)據(jù)路徑分解成較低 ASIL 級別的冗余分區(qū),這樣每一個通道或路徑都以冗余方式運行,后續(xù)根據(jù)各自的新級別予以實現(xiàn)。這種基于冗余的安全策略是選擇可編程邏輯的又一理由,因為可編程邏輯能夠在同一器件中多次例化多個相同、獨立的處理引擎。另外,滿足某個 ASIL 級別的要求用架構(gòu)方法(硬件)往往比用抽象軟件能夠更輕松明晰地證明,特別是像抗干擾這樣的功能。C 編程語言中的棧溢出或是數(shù)據(jù)指針處理不當可能會給系統(tǒng)帶來出乎意料的安全性問題。
這種基于冗余的安全策略是選擇可編程邏輯的又一理由,因為可編程邏輯能夠在同一器件中多次例化多個相同、獨立的處理引擎。
可編程邏輯的靈活性及其對功能安全的適用性還帶來另一項設(shè)計優(yōu)勢,就是可以采用三模冗
余 (TMR) 策略。這是航空航天應用中用于緩解單粒子翻轉(zhuǎn) (SEU) 風險的常見方法。這種緩解方案由三個相同邏輯電路構(gòu)成,并行執(zhí)行相同的任務,對應的輸出由一個多數(shù)表決電路進行比較。采用硬件實現(xiàn)這種策略效率很高。
另外,在這個高度關(guān)注成本和功耗的市場上,賽靈思 Zynq-7000 EPP等一些可編程邏輯器件能夠支持多項降低系統(tǒng)總體功耗的功能,其中的部分功能是從 MCU 繼承而來。像處理系統(tǒng)的僅加電模式、休眠模式和外設(shè)獨立時鐘域這樣的功能能夠大幅降低器件待機期間的動態(tài)功耗。
某些可編程邏輯器件在結(jié)構(gòu)中配備有硬核處理器,便于設(shè)計人員第一步先用軟件開發(fā)整個系統(tǒng)功能,就像他們尋常在 MCU 平臺上所做的一樣,隨后逐步地在設(shè)計中增加硬件,將部分設(shè)計移植到可編程邏輯資源。這種方法能夠讓設(shè)計人員為解決方案開發(fā)出不同的版本,而且與純軟件方法相比,能夠?qū)崿F(xiàn)在定制硬件中綜合部分功能的優(yōu)勢。
在運行時可重配置硬件上進行 ECU 設(shè)計
在探討完畢借助可編程邏輯在靜態(tài)硬件和軟件上實現(xiàn) ECU 的優(yōu)勢后,我們接下來探討采用基于 SRAM 并具備運行時部分可重配置功能的 FPGA 設(shè)計 ECU。部分可重配置技術(shù)能夠為汽車設(shè)計人員提供更多優(yōu)勢。
評論