隨著道路上汽車(chē)數(shù)量的增加,我們需要更多的技術(shù)來(lái)進(jìn)一步減少交通事故。過(guò)去幾年,基于雷達(dá)和攝像機(jī)的新系統(tǒng)功能的出現(xiàn)使駕駛更加安全。很多高級(jí)輔 助駕駛系統(tǒng)(ADAS)應(yīng)用,如自動(dòng)巡航控制、道路偏離報(bào)警、交通信號(hào)標(biāo)志識(shí)別等,已經(jīng)成為車(chē)輛上非常方便的功能,但對(duì)車(chē)輛行為沒(méi)有影響或影響很小。然 而,現(xiàn)在這些技術(shù)開(kāi)始在車(chē)輛控制中扮演積極主動(dòng)的角色,如車(chē)道輔助保持(LKA)或自動(dòng)緊急剎車(chē)(AEB)等,以幫助實(shí)現(xiàn)減少交通事故的既定目標(biāo)。這帶來(lái) 的挑戰(zhàn)是,當(dāng)系統(tǒng)出現(xiàn)故障時(shí),必須確保系統(tǒng)不會(huì)對(duì)車(chē)輛和環(huán)境造成更大的損害。
本文以單前端攝像機(jī)系統(tǒng)為例,對(duì)其進(jìn)行深入分析,介紹它如何通過(guò)使用AlteraCycloneVSoC確定關(guān)鍵數(shù)據(jù)流。在現(xiàn)有的診斷機(jī)制下,如何找到故障;并提供一些診斷實(shí)例,通過(guò)靈活的可編程FPGA,在系統(tǒng)級(jí)實(shí)現(xiàn)診斷。與使用通用微處理器、數(shù)字信號(hào)處理(DSP)和其他平臺(tái)相比,在某些情況下,針對(duì)實(shí)際應(yīng)用使用定制診斷方法可以提高應(yīng)用性能。
ADAS應(yīng)用中的FPGA
上文提到的很多應(yīng)用都有相對(duì)較高的計(jì)算需求,需要從雷達(dá)或視頻圖像中提取特征信號(hào),確定目標(biāo)及其蹤跡。這通常要求高性能多核CPU體系結(jié)構(gòu)。這些CPU能夠靈活地對(duì)特殊事件重新編程,但缺點(diǎn)是效率較低,因?yàn)橛行┕δ懿⒎潜匦杌蚝苌偈褂谩?/p>
功耗是需重點(diǎn)關(guān)注的另一因素。很多系統(tǒng)位于后視鏡前面的擋風(fēng)玻璃下面,直接暴露在陽(yáng)光下,或位于散熱器前保險(xiǎn)杠中,因此無(wú)法高效地散熱。當(dāng)使用高頻運(yùn)行 的多核通用CPU體系結(jié)構(gòu)時(shí),很難滿足性能和功耗要求。使用FPGA可同時(shí)解決這些問(wèn)題。FPGA的功耗通常比標(biāo)準(zhǔn)邏輯高,但與通用計(jì)算體系結(jié)構(gòu)相比,高 效的定制實(shí)現(xiàn)某一算法實(shí)際上降低了功耗。FPGA的另一優(yōu)點(diǎn)是,當(dāng)實(shí)現(xiàn)流處理算法后,可以避免在內(nèi)部和外部存儲(chǔ)器之間傳送數(shù)據(jù)。若使用外部DDR存儲(chǔ)器進(jìn) 行數(shù)據(jù)處理,實(shí)際功耗會(huì)非常大。
就性能而言,流處理也降低了某些應(yīng)用中遇到外部存儲(chǔ)器帶寬問(wèn)題的風(fēng)險(xiǎn)。FPGA內(nèi)在的可編程特性帶來(lái)了 通用計(jì)算體系結(jié)構(gòu)所具有的某些優(yōu)勢(shì)。它甚至支持系列產(chǎn)品的在現(xiàn)場(chǎng)更新,實(shí)現(xiàn)在系統(tǒng)編程。在某些情況下,基于FPGA開(kāi)發(fā),要比基于CPU的高性能芯片體系 結(jié)構(gòu)容易得多。由于SoC越來(lái)越多,因此,F(xiàn)PGA能夠很好地結(jié)合這兩種體系結(jié)構(gòu),例如AlteraCycloneVSoC系列,它在一個(gè)芯片上集成了通 用CPU系統(tǒng)和FPGA架構(gòu)。CycloneVSoC實(shí)現(xiàn)了兩個(gè)ARMCortex-A9CPU,支持通用微控制器和處理器常用的很多外設(shè)。
性能安全
與目前市場(chǎng)上的其他解決方案相比,F(xiàn)PGA更加容易滿足應(yīng)用的功能安全需求。ADAS需要滿足特殊的功能安全要求。2011年,發(fā)布了載重3.5噸以上 的ISO26262標(biāo)準(zhǔn),以降低系統(tǒng)出現(xiàn)故障后造成危險(xiǎn)狀態(tài)的風(fēng)險(xiǎn)。這一標(biāo)準(zhǔn)要求實(shí)現(xiàn)嚴(yán)密的設(shè)計(jì)過(guò)程,在應(yīng)用執(zhí)行過(guò)程中探測(cè)隨機(jī)硬件故障,以減少系統(tǒng)性故 障。它涉及到一個(gè)系統(tǒng)及多個(gè)系統(tǒng)的分析和開(kāi)發(fā),列出了系統(tǒng)中使用的每一硬件組件的指南(包括這些硬件組件上運(yùn)行的軟件),設(shè)定了產(chǎn)品整個(gè)安全生命周期中的 要求。
應(yīng)用開(kāi)發(fā)人員定義了專(zhuān)門(mén)的安全目標(biāo),針對(duì)每一目標(biāo)分配了相應(yīng)的汽車(chē)安全完整性等級(jí)(ASIL)。對(duì)于應(yīng)用中最高級(jí)別的ASIL,通常定義了每一組件從開(kāi)發(fā)直至工作到壽命終了時(shí)應(yīng)滿足的要求。圖1顯示了ASlL目前的范圍,來(lái)自ADAS需要遵守的客戶需求。
圖1ADASASlL市場(chǎng)需求
ASIL-B是市場(chǎng)上的最低級(jí)別,而某些應(yīng)用則要求采用ASIL-D以支持某些功能。越來(lái)越多的ASIL有更嚴(yán)格的要求。在某些具體實(shí)現(xiàn)中,組件的通用 ASIL或者條目(系統(tǒng))等級(jí)都會(huì)帶來(lái)不必要的復(fù)雜度,對(duì)開(kāi)發(fā)成本和進(jìn)度有影響。建議應(yīng)詳細(xì)地了解應(yīng)用需求。這一般通過(guò)分析系統(tǒng)概念,并從中得出安全概念 和要求來(lái)實(shí)現(xiàn)。還可以把應(yīng)用分成幾種不同的步驟,具有不同的ASIL,更容易實(shí)現(xiàn),效率更高。
ADAS單前端攝像機(jī)應(yīng)用系統(tǒng)概念
本文舉例的前端攝像機(jī)應(yīng)用使用了ADAS中常見(jiàn)的一個(gè)圖像傳感器。圖2顯示了系統(tǒng)的整體框圖。
圖2高級(jí)單前端攝像機(jī)ADAS
一個(gè)圖像傳感器連接至圖像處理器,即AlteraCycloneVSoC。信號(hào)處理鏈和數(shù)據(jù)流被分成4部分:
◆通過(guò)把圖像變換成更實(shí)用的表示,在像素級(jí)上進(jìn)行底層處理。
◆對(duì)行圖像或者塊圖像進(jìn)行中間級(jí)處理,使用相應(yīng)的算法,例如Sobcl濾波器或者Canny邊沿探測(cè)算法等,提取出邊沿等特征。
◆進(jìn)行高級(jí)處理,提取出每一幀的數(shù)據(jù),探測(cè)目標(biāo)并分類(lèi)。
◆跟蹤識(shí)別出的目標(biāo),決定在危險(xiǎn)環(huán)境下是否需要采取措施,例如剎車(chē)或者換擋電子控制單元(ECU)等會(huì)要求與微控制器進(jìn)行通信。
在FPGA上能夠非常高效地實(shí)現(xiàn)底層和中間級(jí)處理,但用戶也可以在CycloneVSoC硬核處理器系統(tǒng)(HPS)的Cortex-A9處理器等CPU 上實(shí)現(xiàn)某些中間級(jí)處理。高級(jí)處理主要是控制代碼,可以映射到HPS中的一個(gè)或兩個(gè)Cortex-A9上。處理鏈的最后一步是目標(biāo)跟蹤和判決,可以在外部微 控制器上完成這一步。
在整個(gè)處理過(guò)程中,每一步將輸入數(shù)據(jù)進(jìn)行簡(jiǎn)化得到更有意義的數(shù)據(jù),數(shù)據(jù)減少意味著提高了安全臨界。因此,底層實(shí)現(xiàn) 可以分成質(zhì)量管理(QM)或底層ASIL(如ASIL-A)。這樣的原因是,一個(gè)像素期間引入的故障對(duì)后續(xù)算法性能的影響很小,可以忽略。在這個(gè)例子中, 假設(shè)中間級(jí)處理符合ASIL-A或者ASIL-B,識(shí)別目標(biāo)并進(jìn)行分類(lèi)的高級(jí)處理應(yīng)符合ASIL-B。對(duì)目標(biāo)進(jìn)行分類(lèi)后,生成目標(biāo)表,提供給微控制器,進(jìn) 行目標(biāo)跟蹤和判決。這是信號(hào)鏈最關(guān)鍵的部分,我們假設(shè)它應(yīng)該符合ASIL-D,這對(duì)汽車(chē)的行力有直接影響。
組件應(yīng)用功能
圖3顯示了單前端攝像機(jī)系統(tǒng)實(shí)例的總體結(jié)構(gòu)圖。由一個(gè)外部電源管理電路為CycloneVSoC提供電源。當(dāng)供電電壓不在額定工作范圍內(nèi)時(shí),單獨(dú)的電壓 監(jiān)控功能會(huì)產(chǎn)生復(fù)位。外部非易失存儲(chǔ)器連接至四路串行外設(shè)(quadSPI)模塊,用于系統(tǒng)啟動(dòng)過(guò)程中裝入應(yīng)用程序并配置FPGA。執(zhí)行應(yīng)用代碼,存儲(chǔ)數(shù) 據(jù)和圖像幀時(shí),我們使用DDR存儲(chǔ)器。通過(guò)SPI連接外部微控制器,進(jìn)行目標(biāo)探測(cè)和最終判決,通過(guò)CAN總線接口與汽車(chē)基礎(chǔ)結(jié)構(gòu)的其他部分進(jìn)行通信。
圖3單前端攝像機(jī)系統(tǒng)實(shí)例
圖4CycloneVSoC模塊視圖
圖4顯示了單前端攝像機(jī)應(yīng)用中的圖像處理器模塊。由于具體實(shí)現(xiàn)各不相同,因此,并沒(méi)有詳細(xì)介紹FPGA的具體執(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)難度很大。
圖5圖像傳感器配置涉及的模塊
汽車(chē)中使用的某些傳感器支持在每一圖像幀的輔助掃描線中傳送某些配置寄存器數(shù)據(jù)。通過(guò)這一功能,可以檢查每一幀的傳感器設(shè)置,不需要通過(guò)I2C接口來(lái)讀取寄存器。不需要CPU開(kāi)銷(xiāo),傳送幀數(shù)據(jù)時(shí)就可以在FPGA中實(shí)現(xiàn)這種檢查。
上面所有的配置寄存器測(cè)試的優(yōu)點(diǎn)是,不僅覆蓋了CycloneVSoC故障,而且還有傳感器外部接口或者傳感器內(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ì)于CycloneVSoC應(yīng)用,可以例化Altcra視頻和圖像處 理套裝的視頻端口,用于接收來(lái)自傳感器的數(shù)據(jù)。然后,將這些數(shù)據(jù)傳送至圖像預(yù)處理模塊。數(shù)據(jù)處理完成后,被寫(xiě)入到DDR存儲(chǔ)器中。
圖6底層圖像處理級(jí)涉及到的模塊
大部分圖像傳感器含有傳送定義好的測(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)題。檢查永久故障的另一方法是在FPGA架構(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í)故障。使用AlteraAvalon流協(xié)議在模塊之間傳輸數(shù)據(jù)時(shí),可能會(huì)例化兩個(gè)不同的接口,保證瞬時(shí)故障對(duì)兩個(gè)通路中的數(shù)據(jù)傳 輸有不同的影響。不同圖像流水實(shí)例見(jiàn)圖7。
圖7不同圖像流水實(shí)例
在很多設(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)的故障。然后由SECDEDECC以及校驗(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í)圖像處理涉及的模塊。
圖8中間級(jí)圖像處理涉及的模塊
需要讀回前面圖像預(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í)是否被修改。
最好在這一處理級(jí)實(shí)現(xiàn)一些存儲(chǔ)器緩沖,以便臨時(shí)存儲(chǔ)數(shù)據(jù)。可以再次針對(duì)這些存儲(chǔ)器例化奇偶校驗(yàn)或SECDEDECC,實(shí)現(xiàn)相對(duì)較高的診斷覆蓋。
探測(cè)邏輯本身的故障吋,可以把兩個(gè)相同的邏輯模塊放到一起,鎖定它們。為能夠?qū)ΤR?jiàn)的故障進(jìn)行探測(cè),可以針對(duì)它們使用不同的時(shí)鐘網(wǎng)絡(luò),或者運(yùn)行一個(gè)具有兩周期時(shí)鐘延時(shí)的邏輯模塊。對(duì)兩個(gè)模塊的輸出進(jìn)行連續(xù)對(duì)比,能夠探測(cè)到一個(gè)模塊中出現(xiàn)的故障。
在這一中間處理級(jí)產(chǎn)生了新數(shù)據(jù)后,需要再次寫(xiě)入外部DDR存儲(chǔ)器。與前面的步驟相同,可以對(duì)新數(shù)據(jù)計(jì)算校驗(yàn)和,將這一校驗(yàn)和寫(xiě)入到存儲(chǔ)器中。DDR存儲(chǔ)器控制器中的存儲(chǔ)器保護(hù)功能會(huì)探測(cè)地址故障,避免覆寫(xiě)其他關(guān)鍵的應(yīng)用數(shù)據(jù)。
高級(jí)圖像處理
高級(jí)圖像處理階段包括目標(biāo)探測(cè)和目標(biāo)分類(lèi)。從軟件術(shù)語(yǔ)的角度來(lái)講,這一級(jí)主要是控制代碼,因此,非常適合在CPU上運(yùn)行。在我們的應(yīng)用實(shí)例中,可以在HPS中開(kāi)發(fā)這類(lèi)功能。圖9顯示了高級(jí)圖像處理涉及到的模塊。
雖然實(shí)現(xiàn)了兩個(gè)CPU,但是并沒(méi)有運(yùn)行在鎖定模式下,即在程序執(zhí)行過(guò)程中,一個(gè)CPU進(jìn)行檢查,另一個(gè)自動(dòng)探測(cè)故障。如果一個(gè)執(zhí)行安全關(guān)鍵代碼或者 數(shù)據(jù)的CPU出現(xiàn)了故障,那么,應(yīng)用程序應(yīng)保證對(duì)計(jì)算結(jié)果進(jìn)行檢查。這可以通過(guò)在相同的CPU或者另一個(gè)CPU上冗余執(zhí)行代碼來(lái)完成。如果一個(gè)CPU出現(xiàn) 了永久故障,在一個(gè)CPU上相同的代碼執(zhí)行了兩遍,那么,CPU中的故障可能會(huì)產(chǎn)生兩次錯(cuò)誤的結(jié)果,從而不會(huì)被探測(cè)到??梢酝ㄟ^(guò)實(shí)現(xiàn)兩種不同的程序來(lái)避免 這一問(wèn)題,但是,其缺點(diǎn)是增加了開(kāi)發(fā)工作量,針對(duì)同一程序開(kāi)發(fā)兩種不同的版本。另一種選擇是在第二個(gè)CPU上運(yùn)行冗余計(jì)算。一個(gè)CPU中的永久故障不會(huì)影 響另一個(gè)CPU,因此,只要故障不是在共享資源中,那么,不需要運(yùn)行不同的軟件就能夠探測(cè)到錯(cuò)誤執(zhí)行。運(yùn)行算法兩次,然后對(duì)比結(jié)果,也可以探測(cè)到瞬時(shí)故 障。對(duì)于軟件在兩個(gè)CPU上執(zhí)行的情況,很有可能相同的代碼并沒(méi)有在兩個(gè)CPU的同一周期中執(zhí)行,因此,進(jìn)行計(jì)算然后對(duì)比冗余執(zhí)行的輸出即可發(fā)現(xiàn)故障。在 不同的時(shí)間執(zhí)行代碼的優(yōu)點(diǎn)是能夠有效地測(cè)出常見(jiàn)的故障。
圖9高級(jí)圖像處理涉及到的模塊
正如前面所提到的,由SECDEDECC或者奇偶校驗(yàn)功能來(lái)保護(hù)處理過(guò)程所涉及到的存儲(chǔ)器。
而在L3互聯(lián)、DDR存儲(chǔ)器控制器、片內(nèi)RAM控制器的其他邏輯中還可能會(huì)出現(xiàn)故障。對(duì)于較大的數(shù)據(jù),可以采用CRC校驗(yàn)和來(lái)保護(hù)數(shù)據(jù)不會(huì)被修改。為中 間級(jí)處理模塊生成的數(shù)據(jù)建立了校驗(yàn)和后,可以在用于后面的操作之前對(duì)其進(jìn)行檢查。對(duì)于較小的數(shù)據(jù),存儲(chǔ)這些數(shù)據(jù),讀回就可以確定傳輸是否正確。對(duì)于讀取用 于處理的數(shù)據(jù),可以讀兩遍,在使用之前進(jìn)行對(duì)比。當(dāng)數(shù)據(jù)規(guī)模有限時(shí)這不會(huì)產(chǎn)生太大的處理開(kāi)銷(xiāo),但是能夠很好地測(cè)出故障。
用于探測(cè)故障的其他特性包括每一Cortex-A9處理器中的存儲(chǔ)器管理單元(MMU)、DDR存儲(chǔ)器控制器中的存儲(chǔ)器保護(hù)特性,以及看門(mén)狗定時(shí)器。
結(jié)論
ADAS是確保越來(lái)越擁擠的道路更加安全的下一波創(chuàng)新。這些系統(tǒng)的性能需求給現(xiàn)有以及未來(lái)的標(biāo)準(zhǔn)商用貨架(COTS)產(chǎn)品帶來(lái)了挑戰(zhàn),而可編程FPGA 在這方面有很大的優(yōu)勢(shì)。實(shí)現(xiàn)定制碼型發(fā)生器或者定制看門(mén)狗定時(shí)器等專(zhuān)用診斷功能,能夠提高對(duì)系統(tǒng)的診斷覆蓋范圍,而這些功能很難在標(biāo)準(zhǔn)產(chǎn)品上實(shí)現(xiàn)。流處理 是圖像處理的第一步,減少了存儲(chǔ)器讀寫(xiě)操作,因此,能夠減少故障的發(fā)生,降低功耗,提高應(yīng)用性能。很多COTS產(chǎn)品在設(shè)計(jì)時(shí)并沒(méi)有體現(xiàn)功能安全,使用具有 功能安全的平臺(tái)和開(kāi)發(fā)環(huán)境,與擅長(zhǎng)功能安全的合作伙伴合作,都有利于系統(tǒng)的整體實(shí)現(xiàn)。