新聞中心

EEPW首頁 > 汽車電子 > 設計應用 > 通過FPGA設計安全的高級輔助駕駛系統(tǒng)

通過FPGA設計安全的高級輔助駕駛系統(tǒng)

作者: 時間:2016-10-29 來源:網絡 收藏

最好在這一處理級實現一些存儲器緩沖,以便臨時存儲數據??梢栽俅吾槍@些存儲器例化奇偶校驗或SECDED ECC,實現相對較高的診斷覆蓋。

探測邏輯本身的故障跡可以把兩個相同的邏輯模塊放到一起,鎖定它們。為能夠對常見的故障進行探測,可以針對它們使用不同的時鐘網絡,或者運行一個具有兩周期時鐘延時的邏輯模塊。對兩個模塊的輸出進行連續(xù)對比,能夠探測到一個模塊中出現的故障。

在這一中間處理級產生了新數據后,需要再次寫入外部DDR存儲器。與前面的步驟相同,可以對新數據計算校驗和,將這一校驗和寫入到存儲器中。DDR存儲器控制器中的存儲器保護功能會探測地址故障,避免覆寫其他關鍵的應用數據。

高級圖像處理

高級圖像處理階段包括目標探測和目標分類。從軟件術語的角度來講,這一級主要是控制代碼,因此,非常適合在CPU上運行。在我們的應用實例中,可以在HPS中開發(fā)這類功能。圖9顯示了高級圖像處理涉及到的模塊。

通過FPGA設計安全的高級輔助駕駛系統(tǒng)

雖然實現了兩個CPU,但是并沒有運行在鎖定模式下,即在程序執(zhí)行過程中,一個CPU進行檢查,另一個自動探測故障。如果一個執(zhí)行安全關鍵代碼或者數據的CPU出現了故障,那么,應用程序應保證對計算結果進行檢查。這可以通過在相同的CPU或者另一個CPU上冗余執(zhí)行代碼來完成。如果一個CPU出現了永久故障,在一個CPU上相同的代碼執(zhí)行了兩遍,那么,CPU中的故障可能會產生兩次錯誤的結果,從而不會被探測到??梢酝ㄟ^實現兩種不同的程序來避免這一問題,但是,其缺點是增加了開發(fā)工作量,針對同一程序開發(fā)兩種不同的版本。另一種選擇是在第二個CPU上運行冗余計算。一個CPU中的永久故障不會影響另一個CPU,因此,只要故障不是在共享資源中,那么,不需要運行不同的軟件就能夠探測到錯誤執(zhí)行。運行算法兩次,然后對比結果,也可以探測到瞬時故障。對于軟件在兩個CPU上執(zhí)行的情況,很有可能相同的代碼并沒有在兩個CPU的同一周期中執(zhí)行,因此,進行計算然后對比冗余執(zhí)行的輸出即可發(fā)現故障。在不同的時間執(zhí)行代碼的優(yōu)點是能夠有效地測出常見的故障。

正如前面所提到的,由SECDED ECC或者奇偶校驗功能來保護處理過程所涉及到的存儲器。

而在L3互聯、DDR存儲器控制器、片內RAM控制器的其他邏輯中還可能會出現故障。對于較大的數據,可以采用CRC校驗和來保護數據不會被修改。為中間級處理模塊生成的數據建立了校驗和后,可以在用于后面的操作之前對其進行檢查。對于較小的數據,存儲這些數據,讀回就可以確定傳輸是否正確。對于讀取用于處理的數據,可以讀兩遍,在使用之前進行對比。當數據規(guī)模有限時這不會產生太大的處理開銷,但是能夠很好地測出故障。

用于探測故障的其他特性包括每一Cortex-A9處理器中的存儲器管理單元(MMU)、DDR存儲器控制器中的存儲器保護特性,以及看門狗定時器。

結論

ADAS是確保越來越擁擠的道路更加安全的下一波創(chuàng)新。這些系統(tǒng)的性能需求給現有以及未來的標準商用貨架(COTS)產品帶來了挑戰(zhàn),而可編程在這方面有很大的優(yōu)勢。實現定制碼型發(fā)生器或者定制看門狗定時器等專用診斷功能,能夠提高對系統(tǒng)的診斷覆蓋范圍,而這些功能很難在標準產品上實現。流處理是圖像處理的第一步,減少了存儲器讀寫操作,因此,能夠減少故障的發(fā)生,降低功耗,提高應用性能。很多COTS產品在設計時并沒有體現功能安全,使用具有功能安全的平臺和開發(fā)環(huán)境,與擅長功能安全的合作伙伴合作,都有利于系統(tǒng)的整體實現。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉