改搭可編程FPGA SoC ADAS系統性故障銳減

作者: Frank Noha
2015 年 04 月 19 日

改搭可編程FPGA SoC ADAS系統性故障銳減
ADAS須要滿足特殊的功能安全要求。在2011年,ISO發布針對載重3.5噸以下客車的ISO26262標準,以降低系統出現故障後造成危險的風險。這個標準要求採用嚴密的設計過程,在應用執行過程中探測隨機硬體故障,以減少系統性故障。
 



提升ADAS功能安全 FPGA SoC受青睞 



應用開發人員定義了專門的安全目標,針對每個目標分配相應的汽車安全完整性等級(ASIL)。對於應用中最高級別的ASIL-D,通常定義了每一個元件從開發直至運作到壽命終了時應滿足的要求。圖1顯示了從客戶需求角度來看,ADAS應符合的ASIL目前的範圍。
 



圖1 ADAS所需ASIL規範等級




ASIL-B是市場上的最低級別,而某些應用則要求採用ASIL-D,以支援某些功能。越來越多的ADAS應用對ASIL有更嚴格的要求。在某些具體實現中,元件的通用ASIL或者項目(系統)等級都會帶來不必要的複雜度,影響開發成本和進度。分析系統概念,得出安全概念和要求後,還可以把應用分成幾種不同的步驟,具有不同的ASIL,如此一來,系統設計則可更容易實現,而且實現的效率更高。
 



例如,前方攝影機應用使用ADAS中常見的一個影像感測器,如圖2顯示的高階結構圖。一個影像感測器連接至影像處理器,該處理器可以是Altera Cyclone FPGA系統單晶片(SoC)或其他方案。訊號處理鏈路和資料流程被分成四個部分。首先,透過把影像變換成更實用的表現方式,在圖元層級上進行底層處理。然後,對影像或者區塊圖像進行中間層級處理,使用相應的演算法,提取出邊緣等特徵。下一步,則會進行高階處理,提取出每一個圖幀的資料,探測目標並進行分類。然後,系統會追蹤目標,如果需要採取措施,則與煞車或者轉向引擎控制單元(ECU)進行通訊。
 



圖2 高階單一前方攝影機ADAS




除了能夠在FPGA上非常高效率的實現底層和中間層級處理,用戶也可以在Cyclone V系列FPGA SoC硬式核心處理器系統(HPS)的Cortex-A9等處理核心實現某些中間層級處理。高階處理主要是控制碼,可以映射到HPS中的一個或者兩個Cortex-A9上。處理鏈路的最後一步是目標追蹤和判斷,可以在外部微控制器(MCU)上完成這一個步驟。
 



在整個處理過程中,工程師可將輸入資料進行簡化,以得到更有意義的資料,資料減少意味提高安全臨界值。因此,底層實現可以分成品質管制(QM)或底層ASIL(例如ASIL-A)。會這樣做的原因是因為單一個像素期間出現的故障對後續演算法的性能影響很小,因此可以忽略。在這個例子中,假設中間層級處理符合ASIL-A或ASIL-B,識別目標並進行分類的高階處理功能應符合ASIL-B。對目標進行分類後,會產生目標表,並提供給微控制器,進行目標追蹤和判斷。這是訊號鏈路最關鍵的部分,我們認為它應該符合ASIL-D,這對汽車的行為有直接影響。
 



實現分級安全處理 FPGA兼顧設計可靠度/效率
 



在這類應用中,最好對資料流程進行更全面的分析,每一個層級的安全臨界定義對整個系統的性能會產生直接影響。對前面運算層級有太高的安全要求會導致難以滿足系統性能目標,而且對系統整體安全的影響很小。不過,處理鏈路底層也會出現故障,對系統安全功能產生較大的影響,例如,底層處理功能的永久故障會導致高層上的資料永久損害,透過合理性檢查很容易探測到這類故障,對系統性能的影響相對較小。
 



圖3顯示單一前方攝像機系統實例的高階結構圖。由一個外部電源管理電路為Cyclone V SoC提供電源,當供電電壓不在額定運作範圍內時,單獨的電壓監控功能會產生重置,外部非揮發性記憶體連接至四路串列周邊介面(Quad SPI)模組,系統啟動過程中載入應用程式,配置FPGA時會使用這些模組。我們使用雙倍資料率(DDR)記憶體來執行應用程式碼、儲存資料和影像圖幀,透過SPI連接外部微控制器,進行目標探測和最終判斷,並利用控制器區域網路(CAN)介面與汽車底盤的其他部分進行通訊。
 



圖3 單一前方攝影機系統實例




此應用所使用的影像處理器模組如圖4所示。視訊埠接收來自影像感測器的資料,將其傳送至影像處理模組,這一個模組相當於底層圖像處理層級,在這個例子中,資料透過圖像處理模組後,通過FPGA至HPS(F2H)橋接被寫入到DDR記憶體中,也可以傳送至下一層級,實現的效率更高。第二級是中間層級處理,由各種影像處理模組來完成,透過HPS至FPGA(H2F)橋接讀出以前儲存在DDR記憶體中的資料,再次將其寫入到DDR記憶體中。在這個例子中,由HPS完成高階處理層級。
 



圖4 Cyclone V SoC電路架構圖




發揮可編程效益 FPGA全方位探測系統故障
發揮可編程效益 FPGA全方位探測系統故障
 



接下來的段落將說明用於探測設計中,不同區域是否有故障的診斷功能。一些診斷功能能夠探測到永久故障,而有的只能探測到暫時性故障,也有的能探測各種故障。暫時性故障是一種出現後又消失的故障,對於這一類情形,設計人員應考慮實現某些功能時記憶體中出現的故障,以及實現功能時邏輯中可能出現的故障。
 



在應用軟體使用影像感測器之前,工程師應對其進行配置,在應用程式執行過程中不斷修改配置以適應不同的光線條件。影像感測器對於應用操作非常關鍵,因此,建議在容錯時間間隔(FTTI)期間對其配置至少進行一次檢查,這並不一定能覆蓋感測器所有可能的故障,但可以管理好配置暫存器組(表1)。






汽車使用的某些感測器支援在每個圖幀輔助掃描線中,傳送某些配置暫存器資料。透過此功能,用戶可以檢查每一個圖幀的感測器設置,不須要透過I2C介面來讀取暫存器,也不須要CPU進行運算,傳送圖幀資料時就能在FPGA中實現這種檢查。
 



透過底層影像處理,一個像素的變化不太可能對實際應用的行為產生很大的影響,因此在大多數情況下,設計人員可以忽略這類故障,但是仍應檢查會導致圖幀丟失或者整個圖幀被損壞的故障。
 



大部分影像感測器含有傳送定義好的測試圖幀的功能,不須要傳送正常的影像資料,定義好輸入資料後,也就定義了影像處理模組的輸出資料,接著進行後續測試。例如透過對輸出資料進行循環冗餘校驗碼(CRC),可找到系統中出現的任何永久故障,這種測試覆蓋整個資料傳輸鏈路中的永久故障。
 



此外,工程師還應該探測到FPGA中一個模組向另一個模組傳輸資料時資料的變化。前面段落提到的測試樣板或測試圖幀方法涵蓋大部分永久故障,但探測不到暫時性故障,各種傳輸或者資訊冗餘技術則能夠探測到這類故障。
 



中間層影像處理實現了邊緣或角落探測演算法,還可以應用特徵提取演算法,因此,只查看影像中關注的特徵,減少產生的資料,資料減少後,故障會導致後續處理步驟中丟失目標,因此,丟失特徵的風險就會增大。
 



高階影像處理階段包括目標探測和目標分類,從軟體術語的角度來說,這一個層級主要是控制碼,因此,非常適合在CPU上運行。HPS採用幾種硬體功能,例如錯誤碼修正(ECC)、記憶體管理單元(MMU)、看門狗,在HPS中進行故障診斷。
 



符合ISO26262規範 ADAS確保行車安全
 



功能安全重要的另一面是確保減少系統性故障,這可透過使用可靠的開發過程和工具來實現。ISO26262標準詳細規定功能安全的管理要求,例如,對安全生命周期和支援過程中不同的行為進行一致性測量,像是配置和修改管理。如果使用工具有可能造成應用故障,就應該分析這些工具,進行測量以減低故障發生的機率。
 



ADAS是確保越來越擁擠的道路更加安全的下一波創新,這些系統的性能需求給現有和未來的標準商用現貨(COTS)產品帶來挑戰,很多COTS產品在設計時並沒有體現功能安全,而可程式化FPGA在這方面有很大的優勢,實現專用診斷能擴大系統的診斷涵蓋範圍。因此,使用具有功能安全的平台和開發環境,與擅長功能安全的合作夥伴合作,都有利於系統的整體實現。
 



(本文作者任職於Altera工業和汽車業務部) 


》想看更多內容?快來【免費加入會員】【登入會員】,享受更多閱讀文章的權限喔!
標籤
相關文章

SoC設計探索善用儲存架構特性 提昇快閃記憶體系統效能

2004 年 11 月 11 日

數位頻譜分析儀出擊 無線胎壓偵測系統量測輕鬆上手

2009 年 05 月 24 日

兼顧部署成本與傳輸效能   DSL+LTE混合網路受營運商青睞

2018 年 01 月 19 日

感測系統連上線 邊緣智慧護IIoT節點安全

2018 年 07 月 16 日

SPARC沉積薄膜有效克服訊號串擾(1)

2023 年 04 月 27 日

可程式化移相器問世 光子晶片設計彈性大增(2)

2024 年 11 月 12 日
前一篇
搭配模型基礎設計工具 FPGA SoC加速馬達開發
下一篇
搭配語音/手勢辨識技術 穿戴裝置開啟智慧新生活