使用FPGA實現(xiàn)ADAS設計的功能安全考慮
ADAS需要滿足特殊的功能安全要求。2011年,載重3.5噸以下客車的ISO26262標準發(fā)布,其目的是降低系統(tǒng)出現(xiàn)故障后造成危險狀態(tài)的風險。這一標準要求采用嚴密的設計過程,在應用執(zhí)行過程中探測隨機硬件故障,以減少系統(tǒng)性故障。
應用開發(fā)人員定義了專門的安全目標,針對每一目標分配了相應的汽車安全完整性等級(ASIL)。對于應用中最高級別的ASIL,通常定義了每一組件從開發(fā)直至工作到壽命終了時應滿足的要求。圖1顯示了從客戶需求角度看,ADAS應符合的ASIL目前的范圍。
圖1.ADAS ASIL市場需求(注:Range of Market Requirements for ADAS Applicatios:針對ADAS應用的市場要求范圍)
ASIL-B是市場上的最低級別,而某些應用則要求采用ASIL-D以支持某些功能。越來越多的ASIL有更嚴格的要求。在某些具體實現(xiàn)中,組件的通用ASIL或者條目(系統(tǒng))等級都會帶來不必要的復雜度,影響了開發(fā)成本和進度。分析系統(tǒng)概念,得出安全概念和要求后,還可以把應用分成幾種不同的步驟,這就具有不同的ASIL,更容易實現(xiàn),而且實現(xiàn)的效率更高。
例如,前端攝像機應用使用了ADAS中常見的一個圖像傳感器。圖2顯示了系統(tǒng)的高級結(jié)構(gòu)圖。
圖2.高級單前端攝像機ADAS
一個圖像傳感器連接至圖像處理器,例如可以是AlteraCyclone VSoC。信號處理鏈和數(shù)據(jù)流被分成四個部分。首先,通過把圖像變換成更實用的表現(xiàn)形式,在像素級上進行底層處理。然后,對行圖像或者塊圖像進行中間級處理,使用相應的算法,提取出邊沿等特征。下一步,進行高級處理,提取出每一幀的數(shù)據(jù),探測目標并分類。然后,系統(tǒng)會跟蹤目標,如果需要采取措施,則與剎車或者轉(zhuǎn)向電子控制單元(ECU)進行通信。
在FPGA上,底層和中間級處理能被非常高效地實現(xiàn),但是,用戶也可以在Cyclone V SoC硬核處理器系統(tǒng)(HPS)的Cortex-A9處理器等CPU上實現(xiàn)某些中間級處理。高級處理主要是控制代碼,可以映射到HPS中的一個或者兩個Cortex-A9上。處理鏈的最后一步是目標跟蹤和決策,可以在外部微控制器上完成這一步。
在整個處理過程中,每一步將輸入數(shù)據(jù)進行簡化得到更有意義的數(shù)據(jù),數(shù)據(jù)減少意味著提高了安全臨界。因此,底層實現(xiàn)可以分成質(zhì)量管理(QM)或者底層ASIL (例如,ASIL-A)。原因是一個像素期間出現(xiàn)的故障對后續(xù)算法性能的影響很小,可以忽略。在這個例子中,假設中間級處理符合ASIL-A或者ASIL-B,識別目標并進行分類的高級處理功能應符合ASIL-B。對目標進行分類后,生成目標表,將之提供給微控制器,進行目標跟蹤和決策。這是信號鏈最關鍵的部分,Altera認為它應該符合ASIL-D,這對汽車的行為有直接影響。
在這類應用中,最好對數(shù)據(jù)流進行更全面的分析,每一級的安全臨界定義對整個系統(tǒng)的性能會產(chǎn)生直接影響。對前面計算級有太高的安全要求會導致難以滿足系統(tǒng)性能目標,而且對系統(tǒng)整體安全的影響很小。但是,處理鏈底層也會出現(xiàn)故障,對系統(tǒng)安全功能產(chǎn)生較大的影響。例如,底層處理功能的永久故障會導致高層數(shù)據(jù)永久損害,但是,合理性檢查很容易探測到這類故障,對系統(tǒng)性能的影響相對較小。
評論