基于FPGA的汽車(chē)ECU設(shè)計(jì)充分符合AUTOSAR和ISO 26262標(biāo)準(zhǔn)(四)
可編程邏輯的靈活性及其對(duì)功能安全的適用性還帶來(lái)另一項(xiàng)設(shè)計(jì)優(yōu)勢(shì),就是可以采用三模冗
余 (TMR) 策略。這是航空航天應(yīng)用中用于緩解單粒子翻轉(zhuǎn) (SEU) 風(fēng)險(xiǎn)的常見(jiàn)方法。這種緩解方案由三個(gè)相同邏輯電路構(gòu)成,并行執(zhí)行相同的任務(wù),對(duì)應(yīng)的輸出由一個(gè)多數(shù)表決電路進(jìn)行比較。采用硬件實(shí)現(xiàn)這種策略效率很高。
另外,在這個(gè)高度關(guān)注成本和功耗的市場(chǎng)上,賽靈思 Zynq-7000 EPP等一些可編程邏輯器件能夠支持多項(xiàng)降低系統(tǒng)總體功耗的功能,其中的部分功能是從 MCU 繼承而來(lái)。像處理系統(tǒng)的僅加電模式、休眠模式和外設(shè)獨(dú)立時(shí)鐘域這樣的功能能夠大幅降低器件待機(jī)期間的動(dòng)態(tài)功耗。
某些可編程邏輯器件在結(jié)構(gòu)中配備有硬核處理器,便于設(shè)計(jì)人員第一步先用軟件開(kāi)發(fā)整個(gè)系統(tǒng)功能,就像他們尋常在 MCU 平臺(tái)上所做的一樣,隨后逐步地在設(shè)計(jì)中增加硬件,將部分設(shè)計(jì)移植到可編程邏輯資源。這種方法能夠讓設(shè)計(jì)人員為解決方案開(kāi)發(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)槠?chē)設(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í)間開(kāi)銷(xiāo)。運(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ū)域部分成比例降低。在使用汽車(chē)電池供電的 ECU 中,節(jié)能模式尤為重要。為此,在車(chē)輛未使用時(shí)(即處于休眠模式時(shí)),車(chē)載 ECU 可使用低功耗模式,以讓 ECU 功耗保持最低。同樣,可以在不需要的時(shí)候使用空白位流禁用 FPGA 的部分區(qū)域,減少邏輯活動(dòng),從而降低動(dòng)態(tài)功耗。
在采用運(yùn)行時(shí)可重配置邏輯的系統(tǒng)中,汽車(chē)設(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ē)產(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)車(chē)輛向前直行駛時(shí)使用行車(chē)道偏離預(yù)警功能,倒車(chē)時(shí),則切換到后視攝像頭視圖或停車(chē)輔助應(yīng)用)。這種設(shè)計(jì)思路可以幫助降低此類(lèi)嵌入式系統(tǒng)的成本和復(fù)雜性,釋放空間,減輕車(chē)身重量。
評(píng)論