国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

通過FPGA設計安全的高級輔助駕駛系統

發布時間:2014-12-24 15:29    發布者:designapp

        隨著道路上汽車數量的增加,我們需要更多的技術來進一步減少交通事故。過去幾年,基于雷達和攝像機的新系統功能的出現使駕駛更加安全。很多高級輔助駕駛系統(ADAS)應用,如自動巡航控制、道路偏離報警、交通信號標志識別等,已經成為車輛上非常方便的功能,但對車輛行為沒有影響或影響很小。然而,現在這些技術開始在車輛控制中扮演積極主動的角色,如車道輔助保持(LKA)或自動緊急剎車(AEB)等,以幫助實現減少交通事故的既定目標。這帶來的挑戰是,當系統出現故障時,必須確保系統不會對車輛和環境造成更大的損害。
本文以單前端攝像機系統為例,對其進行深入分析,介紹它如何通過使用Altera Cyclone V SoC確定關鍵數據流。在現有的診斷機制下,如何找到故障;并提供一些診斷實例,通過靈活的可編程FPGA,在系統級實現診斷。與使用通用微處理器、數字信號處理(DSP)和其他平臺相比,在某些情況下,針對實際應用使用定制診斷方法可以提高應用性能。
ADAS應用中的FPGA
上文提到的很多應用都有相對較高的計算需求,需要從雷達或視頻圖像中提取特征信號,確定目標及其蹤跡。這通常要求高性能多核CPU體系結構。這些CPU能夠靈活地對特殊事件重新編程,但缺點是效率較低,因為有些功能并非必需或很少使用。
功耗是需重點關注的另一因素。很多系統位于后視鏡前面的擋風玻璃下面,直接暴露在陽光下,或位于散熱器前保險杠中,因此無法高效地散熱。當使用高頻運行的多核通用CPU體系結構時,很難滿足性能和功耗要求。使用FPGA可同時解決這些問題。FPGA的功耗通常比標準邏輯高,但與通用計算體系結構相比,高效的定制實現某一算法實際上降低了功耗。FPGA的另一優點是,當實現流處理算法后,可以避免在內部和外部存儲器之間傳送數據。若使用外部DDR存儲器進行數據處理,實際功耗會非常大。
就性能而言,流處理也降低了某些應用中遇到外部存儲器帶寬問題的風險。FPGA內在的可編程特性帶來了通用計算體系結構所具有的某些優勢。它甚至支持系列產品的在現場更新,實現在系統編程。在某些情況下,基于FPGA開發,要比基于CPU的高性能芯片體系結構容易得多。由于SoC越來越多,因此,FPGA能夠很好地結合這兩種體系結構,例如Altera Cyclone V SoC系列,它在一個芯片上集成了通用CPU系統和FPGA架構。Cyclone V SoC實現了兩個ARM Cortex—A9 CPU,支持通用微控制器和處理器常用的很多外設。
性能安全
與目前市場上的其他解決方案相比,FPGA更加容易滿足應用的功能安全需求。ADAS需要滿足特殊的功能安全要求。2011年,發布了載重3.5噸以上的ISO26262標準,以降低系統出現故障后造成危險狀態的風險。這一標準要求實現嚴密的設計過程,在應用執行過程中探測隨機硬件故障,以減少系統性故障。它涉及到一個系統及多個系統的分析和開發,列出了系統中使用的每一硬件組件的指南(包括這些硬件組件上運行的軟件),設定了產品整個安全生命周期中的要求。
應用開發人員定義了專門的安全目標,針對每一目標分配了相應的汽車安全完整性等級(ASIL)。對于應用中最高級別的ASIL,通常定義了每一組件從開發直至工作到壽命終了時應滿足的要求。圖1顯示了ASlL目前的范圍,來自ADAS需要遵守的客戶需求。


圖1 ADAS ASlL市場需求

ASIL-B是市場上的最低級別,而某些應用則要求采用ASIL-D以支持某些功能。越來越多的ASIL有更嚴格的要求。在某些具體實現中,組件的通用ASIL或者條目(系統)等級都會帶來不必要的復雜度,對開發成本和進度有影響。建議應詳細地了解應用需求。這一般通過分析系統概念,并從中得出安全概念和要求來實現。還可以把應用分成幾種不同的步驟,具有不同的ASIL,更容易實現,效率更高。



       
ADAS單前端攝像機應用系統概念
本文舉例的前端攝像機應用使用了ADAS中常見的一個圖像傳感器。圖2顯示了系統的整體框圖。



圖2 高級單前端攝像機ADAS


一個圖像傳感器連接至圖像處理器,即Altera Cyclone V SoC。信號處理鏈和數據流被分成4部分:
◆ 通過把圖像變換成更實用的表示,在像素級上進行底層處理。
◆ 對行圖像或者塊圖像進行中間級處理,使用相應的算法,例如Sobcl濾波器或者Canny邊沿探測算法等,提取出邊沿等特征。
◆ 進行高級處理,提取出每一幀的數據,探測目標并分類。
◆ 跟蹤識別出的目標,決定在危險環境下是否需要采取措施,例如剎車或者換擋電子控制單元(ECU)等會要求與微控制器進行通信。
在FPGA上能夠非常高效地實現底層和中間級處理,但用戶也可以在Cyclone V SoC硬核處理器系統(HPS)的Cortex—A9處理器等CPU上實現某些中間級處理。高級處理主要是控制代碼,可以映射到HPS中的一個或兩個Cortex—A9上。處理鏈的最后一步是目標跟蹤和判決,可以在外部微控制器上完成這一步。
在整個處理過程中,每一步將輸入數據進行簡化得到更有意義的數據,數據減少意味著提高了安全臨界。因此,底層實現可以分成質量管理(QM)或底層ASIL(如ASIL-A)。這樣的原因是,一個像素期間引入的故障對后續算法性能的影響很小,可以忽略。在這個例子中,假設中間級處理符合ASIL-A或者ASIL-B,識別目標并進行分類的高級處理應符合ASIL-B。對目標進行分類后,生成目標表,提供給微控制器,進行目標跟蹤和判決。這是信號鏈最關鍵的部分,我們假設它應該符合ASIL-D,這對汽車的行力有直接影響。
組件應用功能
圖3顯示了單前端攝像機系統實例的總體結構圖。由一個外部電源管理電路為Cyclone V SoC提供電源。當供電電壓不在額定工作范圍內時,單獨的電壓監控功能會產生復位。外部非易失存儲器連接至四路串行外設(quad SPI)模塊,用于系統啟動過程中裝入應用程序并配置FPGA。執行應用代碼,存儲數據和圖像幀時,我們使用DDR存儲器。通過SPI連接外部微控制器,進行目標探測和最終判決,通過CAN總線接口與汽車基礎結構的其他部分進行通信。



圖3 單前端攝像機系統實例



圖4 Cyclone V SoC模塊視圖


圖4顯示了單前端攝像機應用中的圖像處理器模塊。由于具體實現各不相同,因此,并沒有詳細介紹FPGA的具體執行過程,但是對于在更高抽象級別上介紹不同分析步驟這樣的目的來說已經足夠了。



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



圖5 圖像傳感器配置涉及的模塊


汽車中使用的某些傳感器支持在每一圖像幀的輔助掃描線中傳送某些配置寄存器數據。通過這一功能,可以檢查每一幀的傳感器設置,不需要通過I2C接口來讀取寄存器。不需要CPU開銷,傳送幀數據時就可以在FPGA中實現這種檢查。
上面所有的配置寄存器測試的優點是,不僅覆蓋了Cyclone V SoC故障,而且還有傳感器外部接口或者傳感器內部帶來的故障。某些應用會使用更復雜的處理器體系結構,在總線上進行內部診斷。但是內置診斷機制不一定覆蓋I2C模塊中的故障和外部故障,仍然需要考慮這些故障,采用與前面討論的相似的機制。在這一場景中,增加的處理器診斷功能帶來的優勢有限。
底層圖像處理
圖6顯示了圖像處理級涉及到的模塊。在很多情況下,圖像傳感器通過并行視頻接口連接至圖像處理器。對于Cyclone V SoC應用,可以例化Altcra視頻和圖像處理套裝的視頻端口,用于接收來自傳感器的數據。然后,將這些數據傳送至圖像預處理模塊。數據處理完成后,被寫入到DDR存儲器中。



圖6 底層圖像處理級涉及到的模塊


大部分圖像傳感器含有傳送定義好的測試幀的功能,不需要傳送正常的圖像數據。定義好輸入數據后,也就定義了圖像處理模塊的輸出數據。然后進行后續測試。例如,通過對輸出數據進行循環冗余校驗(CRC),找到系統中出現的任何永久故障。這種測試覆蓋了整個數據通路中的永久故障。它支持對外部連接問題進行測試,測試視頻端口和圖像處理模塊中的問題,以及DDR存儲器數據傳輸過程中出現的問題。檢查永久故障的另一方法是在FPGA架構中實現測試碼型發生器,可以將其復用到視頻端口的輸入通路上。定義好的測試碼型覆蓋了整個通路中的很多故障。
某些圖像傳感器還具有在每一幀中傳送幀計數器等其他功能。這一功能有助于探測幀間隙,或者像素時鐘、幀同步問題等。除此之外,視頻端口實現了每一行像素數以及行數計數器功能。如果計數器與設置好的數值不一致,則產生一個中斷。這也可以用于探測像素時鐘,以及垂直和水平同步問題。
還應該探測到FPGA中一個模塊傳輸數據時數據的變化。前面提到的測試碼型或者測試幀方法涵蓋了大部分永久故障,但是,探測不到瞬時故障。實現各種圖像流水線時,會出現瞬時故障。使用Altera Avalon流協議在模塊之間傳輸數據時,可能會例化兩個不同的接口,保證瞬時故障對兩個通路中的數據傳輸有不同的影響。不同圖像流水實例見圖7。



圖7 不同圖像流水實例


在很多設計中,也需要使用存儲器緩沖來臨時存儲數據。對于這種情況,也可以例化奇偶校驗或者SECDEDECC,這是因為FPGA架構中的用戶存儲器已經為具體實現提供了所需的奇偶校驗位。
數據最終被寫入到DDR存儲器之后,在傳輸時,應隨時計算數據的校驗和。可以針對每一幀或者幀中的每一行來完成這一工作。在大部分情況下,由于后面的中間級處理可以按行或者模塊來讀取數據,很容易檢查這些數據,因此,可以按行來進行這一工作。Altera提供了CRC引擎,可以在用戶設計的不同部分來例化它,產生流數據CRC校驗和。在牛成的數據上附加校驗和也能夠覆蓋F2H橋接和DDR控制器中可能出現的故障。然后由SECDED ECC以及校驗和來保護DDR中的數據。需要考慮的另一種故障是數據地址可能會改變。為避免覆寫其他關鍵的應用數據,DDR存儲器控制器實現了存儲器保護功能,可以定義20種不同的存儲器區,它們有不同的訪問權限,而主機可以訪問某些特定的區域。



       
中間級圖像處理
只查看圖像中關注的特征,減少了生成數據。數據減少后,由于故障會導致后續處理步驟中丟失目標,因此,丟失特征的風險增大了,也增大了應用程序出現錯誤的風險。圖8顯示了中間級圖像處理涉及的模塊。



圖8 中間級圖像處理涉及的模塊


需要讀回前面圖像預處理級產生的數據以及存儲在外部DDR存儲器中的數據,以便進行各種圖像處理。由于前面的數據附加了CRC校驗和,因此,可以再次對其進行檢查,查看數據存儲在外部存儲器期間是否被修改,或者傳送至FPGA時是否被修改。
最好在這一處理級實現一些存儲器緩沖,以便臨時存儲數據。可以再次針對這些存儲器例化奇偶校驗或SECDED ECC,實現相對較高的診斷覆蓋。
探測邏輯本身的故障吋,可以把兩個相同的邏輯模塊放到一起,鎖定它們。為能夠對常見的故障進行探測,可以針對它們使用不同的時鐘網絡,或者運行一個具有兩周期時鐘延時的邏輯模塊。對兩個模塊的輸出進行連續對比,能夠探測到一個模塊中出現的故障。
在這一中間處理級產生了新數據后,需要再次寫入外部DDR存儲器。與前面的步驟相同,可以對新數據計算校驗和,將這一校驗和寫入到存儲器中。DDR存儲器控制器中的存儲器保護功能會探測地址故障,避免覆寫其他關鍵的應用數據。
高級圖像處理
高級圖像處理階段包括目標探測和目標分類。從軟件術語的角度來講,這一級主要是控制代碼,因此,非常適合在CPU上運行。在我們的應用實例中,可以在HPS中開發這類功能。圖9顯示了高級圖像處理涉及到的模塊。
雖然實現了兩個CPU,但是并沒有運行在鎖定模式下,即在程序執行過程中,一個CPU進行檢查,另一個自動探測故障。如果一個執行安全關鍵代碼或者數據的CPU出現了故障,那么,應用程序應保證對計算結果進行檢查。這可以通過在相同的CPU或者另一個CPU上冗余執行代碼來完成。如果一個CPU出現了永久故障,在一個CPU上相同的代碼執行了兩遍,那么,CPU中的故障可能會產生兩次錯誤的結果,從而不會被探測到。可以通過實現兩種不同的程序來避免這一問題,但是,其缺點是增加了開發工作量,針對同一程序開發兩種不同的版本。另一種選擇是在第二個CPU上運行冗余計算。一個CPU中的永久故障不會影響另一個CPU,因此,只要故障不是在共享資源中,那么,不需要運行不同的軟件就能夠探測到錯誤執行。運行算法兩次,然后對比結果,也可以探測到瞬時故障。對于軟件在兩個CPU上執行的情況,很有可能相同的代碼并沒有在兩個CPU的同一周期中執行,因此,進行計算然后對比冗余執行的輸出即可發現故障。在不同的時間執行代碼的優點是能夠有效地測出常見的故障。


圖9 高級圖像處理涉及到的模塊

正如前面所提到的,由SECDED ECC或者奇偶校驗功能來保護處理過程所涉及到的存儲器。
而在L3互聯、DDR存儲器控制器、片內RAM控制器的其他邏輯中還可能會出現故障。對于較大的數據,可以采用CRC校驗和來保護數據不會被修改。為中間級處理模塊生成的數據建立了校驗和后,可以在用于后面的操作之前對其進行檢查。對于較小的數據,存儲這些數據,讀回就可以確定傳輸是否正確。對于讀取用于處理的數據,可以讀兩遍,在使用之前進行對比。當數據規模有限時這不會產生太大的處理開銷,但是能夠很好地測出故障。
用于探測故障的其他特性包括每一Cortex-A9處理器中的存儲器管理單元(MMU)、DDR存儲器控制器中的存儲器保護特性,以及看門狗定時器。
結論
ADAS是確保越來越擁擠的道路更加安全的下一波創新。這些系統的性能需求給現有以及未來的標準商用貨架(COTS)產品帶來了挑戰,而可編程FPGA在這方面有很大的優勢。實現定制碼型發生器或者定制看門狗定時器等專用診斷功能,能夠提高對系統的診斷覆蓋范圍,而這些功能很難在標準產品上實現。流處理是圖像處理的第一步,減少了存儲器讀寫操作,因此,能夠減少故障的發生,降低功耗,提高應用性能。很多COTS產品在設計時并沒有體現功能安全,使用具有功能安全的平臺和開發環境,與擅長功能安全的合作伙伴合作,都有利于系統的整體實現。


本文地址:http://m.qingdxww.cn/thread-136551-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 最新精品学生国产自在现拍| 久久精品黄AA片一区二区三区| 俄罗斯19girl video9| 精品视频在线播放| 歪歪漫画羞羞漫画国产| 午夜美女福利视频| 亚洲日本欧美天堂在线| 亚洲色图狠狠干| 性短视频在线观看免费不卡流畅| 日韩在线网址| 欧美性88xx| 视频二区在线观看| 在线色| 亚洲免费视频播放| 91次元黄色观看| 久久777国产线看观看精品卜| 天天综合网网欲色| 色女网站| 日本免费一区二区视频| 亚洲高清视频网站| 秀逼逼| 99久久国语露脸精品国产| 九九热精品在线| 人人舔| 一级毛片免费全部播放| 亚洲欧美a| 亚洲图片二区| 国产精品人妻久久无码不卡| 日本乱子人伦在线视频| 日韩精品欧美成人| 欧美天天视频| 亚洲春黄在线观看| 亚洲欧美一区二区久久| 成人在线观看国产| 秋霞网在线伦理免费| 四虎亚洲国产成人久久精品 | 欧洲一区| 伊人影片| 在线aaa| 好看的电影网站亚洲一区| 午夜视频无码国产在线观看|