新聞中心

EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 通過(guò)FPGA設(shè)計(jì)安全的高級(jí)輔助駕駛系統(tǒng)

通過(guò)FPGA設(shè)計(jì)安全的高級(jí)輔助駕駛系統(tǒng)

作者: 時(shí)間:2016-10-29 來(lái)源:網(wǎng)絡(luò) 收藏
通過(guò)FPGA設(shè)計(jì)安全的高級(jí)輔助駕駛系統(tǒng)

圖4顯示了單前端攝像機(jī)應(yīng)用中的圖像處理器模塊。由于具體實(shí)現(xiàn)各不相同,因此,并沒(méi)有詳細(xì)介紹的具體執(zhí)行過(guò)程,但是對(duì)于在更高抽象級(jí)別上介紹不同分析步驟這樣的目的來(lái)說(shuō)已經(jīng)足夠了。

圖像傳感器配置

假設(shè)由HPS系統(tǒng)對(duì)傳感器進(jìn)行配置。圖5顯示了圖像傳感器配置涉及的模塊。一個(gè)或者兩個(gè)Cortex—A9CPU執(zhí)行代碼,數(shù)據(jù)通過(guò)I2C模塊從DDR存儲(chǔ)器傳送至傳感器。DDR存儲(chǔ)器和L2高速緩存的單錯(cuò)誤糾正雙錯(cuò)誤探測(cè)(SECDED)糾錯(cuò)碼(ECC)功能保護(hù)相關(guān)的存儲(chǔ)器。奇偶校驗(yàn)功能保護(hù)CPU的L1高速緩存。這包括TAGRAM,以及全局歷史緩沖和分支預(yù)測(cè)單元的分支目標(biāo)訪問(wèn)高速緩存。傳感器配置相關(guān)的邏輯(CPU、L3互聯(lián)、I2C等等)只能使用一次,沒(méi)有特殊的診斷。要探測(cè)可能出現(xiàn)的故障時(shí),可以采用寫(xiě)入和回讀方法。例如,CPU0向傳感器寫(xiě)入配置數(shù)據(jù),CPU1將其回讀。后續(xù)進(jìn)行寫(xiě)入數(shù)據(jù)和回讀數(shù)據(jù)對(duì)比,能夠探測(cè)到寫(xiě)會(huì)話過(guò)程中引入故障。一個(gè)CPU寫(xiě)數(shù)據(jù),另一個(gè)CPU讀回?cái)?shù)據(jù),這樣做的優(yōu)點(diǎn)是能夠探測(cè)到其中一個(gè)CPU中的永久故障。只有一個(gè)CPU用于寫(xiě)讀會(huì)話時(shí),可以采用各種軟件來(lái)探測(cè)永久故障。但是,由于需要對(duì)CPU內(nèi)部功能進(jìn)行詳細(xì)的分析,增加了軟件的復(fù)雜度,因此,這實(shí)現(xiàn)起來(lái)難度很大。

通過(guò)FPGA設(shè)計(jì)安全的高級(jí)輔助駕駛系統(tǒng)

汽車中使用的某些傳感器支持在每一圖像幀的輔助掃描線中傳送某些配置寄存器數(shù)據(jù)。通過(guò)這一功能,可以檢查每一幀的傳感器設(shè)置,不需要通過(guò)I2C接口來(lái)讀取寄存器。不需要CPU開(kāi)銷,傳送幀數(shù)據(jù)時(shí)就可以在中實(shí)現(xiàn)這種檢查。

上面所有的配置寄存器測(cè)試的優(yōu)點(diǎn)是,不僅覆蓋了Cyclone V SoC故障,而且還有傳感器外部接口或者傳感器內(nèi)部帶來(lái)的故障。某些應(yīng)用會(huì)使用更復(fù)雜的處理器體系結(jié)構(gòu),在總線上進(jìn)行內(nèi)部診斷。但是內(nèi)置診斷機(jī)制不一定覆蓋I2C模塊中的故障和外部故障,仍然需要考慮這些故障,采用與前面討論的相似的機(jī)制。在這一場(chǎng)景中,增加的處理器診斷功能帶來(lái)的優(yōu)勢(shì)有限。

底層圖像處理

圖6顯示了圖像處理級(jí)涉及到的模塊。在很多情況下,圖像傳感器通過(guò)并行視頻接口連接至圖像處理器。對(duì)于Cyclone V SoC應(yīng)用,可以例化Altcra視頻和圖像處理套裝的視頻端口,用于接收來(lái)自傳感器的數(shù)據(jù)。然后,將這些數(shù)據(jù)傳送至圖像預(yù)處理模塊。數(shù)據(jù)處理完成后,被寫(xiě)入到DDR存儲(chǔ)器中。

通過(guò)FPGA設(shè)計(jì)安全的高級(jí)輔助駕駛系統(tǒng)

大部分圖像傳感器含有傳送定義好的測(cè)試幀的功能,不需要傳送正常的圖像數(shù)據(jù)。定義好輸入數(shù)據(jù)后,也就定義了圖像處理模塊的輸出數(shù)據(jù)。然后進(jìn)行后續(xù)測(cè)試。例如,通過(guò)對(duì)輸出數(shù)據(jù)進(jìn)行循環(huán)冗余校驗(yàn)(CRC),找到系統(tǒng)中出現(xiàn)的任何永久故障。這種測(cè)試覆蓋了整個(gè)數(shù)據(jù)通路中的永久故障。它支持對(duì)外部連接問(wèn)題進(jìn)行測(cè)試,測(cè)試視頻端口和圖像處理模塊中的問(wèn)題,以及DDR存儲(chǔ)器數(shù)據(jù)傳輸過(guò)程中出現(xiàn)的問(wèn)題。檢查永久故障的另一方法是在架構(gòu)中實(shí)現(xiàn)測(cè)試碼型發(fā)生器,可以將其復(fù)用到視頻端口的輸入通路上。定義好的測(cè)試碼型覆蓋了整個(gè)通路中的很多故障。

某些圖像傳感器還具有在每一幀中傳送幀計(jì)數(shù)器等其他功能。這一功能有助于探測(cè)幀間隙,或者像素時(shí)鐘、幀同步問(wèn)題等。除此之外,視頻端口實(shí)現(xiàn)了每一行像素?cái)?shù)以及行數(shù)計(jì)數(shù)器功能。如果計(jì)數(shù)器與設(shè)置好的數(shù)值不一致,則產(chǎn)生一個(gè)中斷。這也可以用于探測(cè)像素時(shí)鐘,以及垂直和水平同步問(wèn)題。

還應(yīng)該探測(cè)到FPGA中一個(gè)模塊傳輸數(shù)據(jù)時(shí)數(shù)據(jù)的變化。前面提到的測(cè)試碼型或者測(cè)試幀方法涵蓋了大部分永久故障,但是,探測(cè)不到瞬時(shí)故障。實(shí)現(xiàn)各種圖像流水線時(shí),會(huì)出現(xiàn)瞬時(shí)故障。使用Altera Avalon流協(xié)議在模塊之間傳輸數(shù)據(jù)時(shí),可能會(huì)例化兩個(gè)不同的接口,保證瞬時(shí)故障對(duì)兩個(gè)通路中的數(shù)據(jù)傳輸有不同的影響。不同圖像流水實(shí)例見(jiàn)圖7。

通過(guò)FPGA設(shè)計(jì)安全的高級(jí)輔助駕駛系統(tǒng)

在很多設(shè)計(jì)中,也需要使用存儲(chǔ)器緩沖來(lái)臨時(shí)存儲(chǔ)數(shù)據(jù)。對(duì)于這種情況,也可以例化奇偶校驗(yàn)或者SECDEDECC,這是因?yàn)镕PGA架構(gòu)中的用戶存儲(chǔ)器已經(jīng)為具體實(shí)現(xiàn)提供了所需的奇偶校驗(yàn)位。

數(shù)據(jù)最終被寫(xiě)入到DDR存儲(chǔ)器之后,在傳輸時(shí),應(yīng)隨時(shí)計(jì)算數(shù)據(jù)的校驗(yàn)和??梢葬槍?duì)每一幀或者幀中的每一行來(lái)完成這一工作。在大部分情況下,由于后面的中間級(jí)處理可以按行或者模塊來(lái)讀取數(shù)據(jù),很容易檢查這些數(shù)據(jù),因此,可以按行來(lái)進(jìn)行這一工作。Altera提供了CRC引擎,可以在用戶設(shè)計(jì)的不同部分來(lái)例化它,產(chǎn)生流數(shù)據(jù)CRC校驗(yàn)和。在牛成的數(shù)據(jù)上附加校驗(yàn)和也能夠覆蓋F2H橋接和DDR控制器中可能出現(xiàn)的故障。然后由SECDED ECC以及校驗(yàn)和來(lái)保護(hù)DDR中的數(shù)據(jù)。需要考慮的另一種故障是數(shù)據(jù)地址可能會(huì)改變。為避免覆寫(xiě)其他關(guān)鍵的應(yīng)用數(shù)據(jù),DDR存儲(chǔ)器控制器實(shí)現(xiàn)了存儲(chǔ)器保護(hù)功能,可以定義20種不同的存儲(chǔ)器區(qū),它們有不同的訪問(wèn)權(quán)限,而主機(jī)可以訪問(wèn)某些特定的區(qū)域。

中間級(jí)圖像處理

只查看圖像中關(guān)注的特征,減少了生成數(shù)據(jù)。數(shù)據(jù)減少后,由于故障會(huì)導(dǎo)致后續(xù)處理步驟中丟失目標(biāo),因此,丟失特征的風(fēng)險(xiǎn)增大了,也增大了應(yīng)用程序出現(xiàn)錯(cuò)誤的風(fēng)險(xiǎn)。圖8顯示了中間級(jí)圖像處理涉及的模塊。

通過(guò)FPGA設(shè)計(jì)安全的高級(jí)輔助駕駛系統(tǒng)

需要讀回前面圖像預(yù)處理級(jí)產(chǎn)生的數(shù)據(jù)以及存儲(chǔ)在外部DDR存儲(chǔ)器中的數(shù)據(jù),以便進(jìn)行各種圖像處理。由于前面的數(shù)據(jù)附加了CRC校驗(yàn)和,因此,可以再次對(duì)其進(jìn)行檢查,查看數(shù)據(jù)存儲(chǔ)在外部存儲(chǔ)器期間是否被修改,或者傳送至FPGA時(shí)是否被修改。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉