使用FPGA實(shí)現(xiàn)ADAS設(shè)計(jì)的功能安全考慮
圖3.單前端攝像機(jī)系統(tǒng)實(shí)例
圖3顯示了單前端攝像機(jī)系統(tǒng)實(shí)例的高級結(jié)構(gòu)圖。由一個外部電源管理電路為Cyclone V SoC提供電源。當(dāng)供電電壓不在額定工作范圍內(nèi)時,單獨(dú)的電壓監(jiān)控功能會產(chǎn)生復(fù)位。外部非易失存儲器連接至四路串行外設(shè)(quad SPI)模組,系統(tǒng)啟動過程中裝入應(yīng)用程序,配置FPGA時會使用這些模組。執(zhí)行應(yīng)用程序代碼,存儲數(shù)據(jù)和圖像幀時,Altera使用DDR存儲器。通過SPI連接外部微控制器,進(jìn)行目標(biāo)探測和最終決策,通過CAN接口與汽車底盤的其他部分進(jìn)行通信。
圖4.Cyclone V SoC模組視圖
應(yīng)用中所使用的圖像處理器模組如圖4所示。視頻端口接收來自圖像傳感器的數(shù)據(jù),將其傳送至圖像預(yù)處理模塊。這一模塊展示了底層圖像處理。在這個例子中,數(shù)據(jù)通過圖像預(yù)處理模塊后,通過FPGA至HPS (F2H)橋接被寫入到DDR存儲器中,也可以傳送至下一級,實(shí)現(xiàn)的效率更高。第二級是中間級處理,由各種圖像處理模塊來完成。通過HPS至FPGA (H2F)橋接讀出以前存儲在DDR存儲器中的數(shù)據(jù),再次將其寫入到DDR存儲器中。在這個例子中,由HPS完成高級處理。
現(xiàn)在,讓我們了解一下用于探測設(shè)計(jì)中不同區(qū)域是否有故障的診斷功能。文中所討論的一些診斷功能能夠探測到永久故障,而有的只能探測到瞬時故障,也有的能夠探測各種故障。瞬時故障是一種出現(xiàn)后又消失的故障。對于這一分析,Altera應(yīng)考慮實(shí)現(xiàn)某些功能時存儲器中出現(xiàn)的故障,以及實(shí)現(xiàn)功能時邏輯中可能出現(xiàn)的故障。
在應(yīng)用軟件使用圖像傳感器之前,應(yīng)對其進(jìn)行配置,在應(yīng)用程序執(zhí)行過程中不斷修改配置以適應(yīng)不同的光照條件。圖像傳感器對于應(yīng)用操作非常關(guān)鍵,因此,建議在容錯時間間隔(FTTI)期間對其配置至少進(jìn)行一次檢查。這并不一定能夠覆蓋傳感器的所有可能的故障,但是,可以管理好配置寄存器組。
汽車中使用的某些傳感器支持用戶在每一圖像幀的輔助掃描線中傳送某些配置寄存器數(shù)據(jù)。通過這一功能,用戶可以檢查每一幀的傳感器設(shè)置,不需要通過I2C接口來讀取寄存器。傳送幀數(shù)據(jù)時就可以在FPGA中實(shí)現(xiàn)這種檢查,而不需要在CPU上花費(fèi)財力。
通過底層圖像處理時,一個像素的變化不太可能對實(shí)際應(yīng)用的行為產(chǎn)生很大的影響,因此,在很多情況下,可以忽略這類故障。但是,會導(dǎo)致幀丟失或者整個幀被損壞的故障是必須被檢查到的。
大部分圖像傳感器含有傳送定義好的測試幀的功能,不需要傳送正常的圖像數(shù)據(jù)。定義好輸入數(shù)據(jù)后,也就定義了圖像處理模塊的輸出數(shù)據(jù)。然后進(jìn)行后續(xù)測試。例如,通過對輸出數(shù)據(jù)進(jìn)行循環(huán)冗余校驗(yàn)(CRC),找到系統(tǒng)中出現(xiàn)的任何永久故障。這種測試覆蓋了整個數(shù)據(jù)通路中的永久故障。
另外,還應(yīng)該探測到FPGA中一個模塊向另一個模塊傳輸數(shù)據(jù)時數(shù)據(jù)的變化。前面提到的測試碼型或者測試幀方法涵蓋了大部分永久故障,但是,探測不到瞬時故障。而各種傳輸或者信息冗余技術(shù)能夠探測到這類故障。
中間層圖像處理實(shí)現(xiàn)了邊沿或者角探測算法,還可以應(yīng)用特征提取算法。因此,只查看圖像中關(guān)注的特征,減少了生成數(shù)據(jù)。數(shù)據(jù)減少后,由于故障會導(dǎo)致后續(xù)處理步驟中丟失目標(biāo),因此,丟失特征的風(fēng)險增大了。
高級圖像處理階段包括目標(biāo)探測和目標(biāo)分類。從軟件術(shù)語的角度來講,這一級主要是控制代碼,因此,非常適合在CPU上運(yùn)行。HPS采用了幾種硬件功能(例如,ECC、MMU、看門狗),在HPS中進(jìn)行故障診斷。
功能安全重要的另一面是確保減少系統(tǒng)性故障。這通過使用可靠的開發(fā)過程和工具來實(shí)現(xiàn)。ISO26262標(biāo)準(zhǔn)詳細(xì)規(guī)定了功能安全的管理要求,例如,對安全生命周期和支持過程中不同的行為進(jìn)行一致性測量,類似配置和修改管理。如果所使用的工具有可能造成應(yīng)用故障,那么就應(yīng)該分析這些工具,進(jìn)行測量以減小故障發(fā)生的概率。
ADAS是確保越來越擁擠的道路更加安全的下一波創(chuàng)新。這些系統(tǒng)的性能需求給現(xiàn)有以及未來的標(biāo)準(zhǔn)商用貨架(COTS)產(chǎn)品帶來了挑戰(zhàn),而可編程FPGA在這方面有很大的優(yōu)勢。實(shí)現(xiàn)專用診斷能夠擴(kuò)大系統(tǒng)的診斷覆蓋。很多COTS產(chǎn)品在設(shè)計(jì)時并沒有體現(xiàn)功能安全,而通過使用具有功能安全的平臺和開發(fā)環(huán)境,與擅長功能安全的合作伙伴合作,這些都有利于系統(tǒng)的整體實(shí)現(xiàn)。
評論