道路安全也能從摩爾定律中受益良多?是的,處理能力的提升以及 CMOS 圖像傳感器 (CIS) 和其他傳感器技術的發展,讓車輛制造商得以推出高級駕駛員感知系統 (ADAS)。ADAS 能增強駕駛員對周邊環境的感知,減少發生碰撞的概率。部分系統還能夠監控駕駛員并向駕駛員發出告警,例如在駕駛員打盹時。
ADAS 還越來越多地接手控制(或為無人駕駛系統提供信息),從而為駕駛員提供泊車輔助、車道輔助和自適應巡航控制等功能方面的協助。
圖1:顯示導航和狀態感知信息的 ADAS 抬頭應用
因此,不出意料,到 2021 年預計 ADAS 市場的規模將達到 420 億美元,目前的年復合增長率(GAGR)達到 10%(來源:http://www.marketsandmarkets.com/Market-Reports/driver-assistance-systems-market-1201.htm)。
ADAS 通常使用嵌入式視覺、RADAR 和 LIDAR 等多類傳感器來提取所需信息,并運用傳感器融合方法整合來自多個傳感器的信息。在嵌入式視覺領域, ADAS 又可劃分為兩大類。一類負責外部監控,解決車道偏離、對象檢測、盲點檢測和交通標識識別等問題。另一類負責內部系統監控,例如負責駕駛員打盹監測和眼睛檢測等。內外部 ADAS 應用在實現圖像處理算法時都面臨自身的挑戰。
這些挑戰從實現應用所需算法的能力直至符合正確的汽車標準,不一而足。許多 ADAS 應用還要求傳感器融合功能以整合來自多個傳感器的輸入,從而顯著提高了所需的處理能力。在使用多個同類傳感器的時候,傳感器融合可以是同構傳感器融合。在使用不同類型的傳感器提取所需信息時,傳感器融合則為異構傳感器融合。
因具備高度的靈活性,許多應用都選用 All Programmable SoC 或 FPGA 來實現系統。兩種都能實現所需的算法,而且兩者都能夠連接不同類型的傳感器類型和網絡。
伴隨高性能 ADAS 應用而來的是幾個系統難題。這些難題在開始思考時并不明顯。汽車制造商需要滿足嚴格的污染標準要求,因此總體解決方案的重量和功耗相當重要。因為生產的車輛以數十萬計,解決方案的成本也很關鍵。雖然系統的保密性和安全性非常關鍵而且受多重標準的制約,使用 SoC 或 FPGA 能幫助我們解決一系列此類問題。
系統架構
開發用于監測內外部攝像頭的嵌入式視覺 ADAS 可以說這是一項更具挑戰性的 ADAS 實現方案。該系統需要與車身四周多個攝像頭連接,以處理圖像并給乘客提供信息。許多攝像頭解決方案使用點對點 LVDS 連線來傳輸數據,但是這會因布線需求而增加成本和重量。但是也有其他替代性方法正在日漸贏得使用,這些方法把部分功能內置在攝像頭中。如果攝像頭的圖像輸出采用壓縮方式而不是原始圖像,這樣基于網絡的架構就有可能實現傳輸。這些網絡可以圍繞通用汽車總線架構,例如:
?媒體導向系統傳輸 (MOST)——一種能以光學或電氣物理層方式實現的高速網絡。
?IDB-1394——實現在電氣物理層上的高速網絡,采用雛菊鏈拓撲結構。
?以太網 AVB——以太網音視頻橋接能夠圍繞車輛按需發送圖像數據和其他數據。
如果我們選擇使用網絡,系統架構師必須確保提供所需帶寬,以便在攝像頭和 ADAS 內核之間傳輸圖像數據,同時滿足應用時延要求。
ADAS 系統生成的數據可能需要與汽車中的其他系統共享,例如自適應巡航控制或泊車輔助。因此 ADAS 必須能夠與 CAN 或 FlexRay 等其他通用汽車接口連接。
圖2:Zynq 支持與傳感器和消費者的任意接口
在架構層,使用基于 All Programmable Zynq SoC 的方法可提供多重優勢。如果點對點連線用于連接這些攝像頭,攝像頭接收器可實現在位于圖像處理鏈條前的可編程邏輯中。如果要使用 All programmable SoC,處理器系統側應具備足夠高的靈活性,在需要與可編程邏輯中的邏輯和外部 PHY 結合時,能方便地采用 CAN、以太網和 FlexRay 等其他協議。雙核處理器與可編程邏輯的完美組合可帶來極低的單位像素功耗,因為系統緊密集成。
All Programmable SoC 架構
SoC 體現出自己價值的地方是運用可編程邏輯 (PL) 實現攝像頭接口和圖像處理鏈。同時 SoC 的處理系統 (PS) 可根據需要提供通信、控制和額外的算法處理。圖像處理流水線可使用所提供的眾多 IP 庫以及來自專業廠商的更專業的 IP 核來生成,以縮短產品上市時間。
圖3:用于多攝像頭系統的基于 Zynq 的架構模塊
如果我們要開發額外的算法,我們可以運用Vivado HLS、SDSoC 和 Matlab 等高層次綜合工具套件來加速開發進程。我們可以使用 C 或 C++ 等更高級語言,而不使用 VHDL 或 Verilog 等傳統硬件描述語言來開發 IP,可加速產品上市進程。
要進一步加快算法可使用 OpenCV 等開源框架。使用該框架開發的算法可映射到受 Vivado HLS 和 SDSoC 支持的 HLS 視頻庫中。這樣可以順利從概念和演示驗證過渡到運行在目標硬件上進行特性描述和認證的算法。
許多已實現的架構會使用處理器的 DDR 內存作為幀緩存。例如如果使用基于以太網的系統或 PCIe,這樣可以讓處理器根據需要訪問圖像,進一步向前傳輸。我們還可以使用處理器系統的功能對存儲在 DDR 中的圖像執行額外的圖像處理算法,然后在需要時再度插入到圖像處理鏈條中。
這樣可以提供一個非常有意思的功能,即 SoC 本身可構成其自己的原型和演示平臺。如果使用運行在處理器內核上的通用嵌入式視覺開發框架(如 OpenCV),這樣可以提供一個精簡的原型系統。該系統隨即使用 SoC 的可編程邏輯可進行性能優化。
安全性
ADAS 的基本性質就是為汽車提供安全性,為此該系統必須和其他高可靠性系統一樣在開發中遵循一個標準,對 ADAS 而言可適用的標準就是 ISO 26262。該標準定義了一系列汽車安全完整性等級 (A-SIL),每個等級代表失效時間(以小時計)??偣灿兴膫€ A-SIL 等級,其中 D 是最高和最難達到的,A 是最低級別。要滿足這些要求,需要使用綜合工程交付生命周期來保障不僅能實現目標 A-SIL,而且生成的數據包通過存留必要的證據,還能證明這一點。
汽車應用受制于嚴苛的環境,為此開發人員需要確保自己使用的是汽車級的組件,例如通過 AEC-Q100 認證的組件。這類組件的制造和認證標準比商用組件要高。
它們還必須考慮系統的安全性,防止無授權人員對系統進行修改,因為這可能導致災難性的后果。
使用 All Programmable SoC,就能夠使用它的安全引導功能,防止未授權程序和比特流被配置到系統里。要做到這一點,開發人員可將 AES 加密、HMAC 和 RSA 認證與 TrustZone 技術結合使用。TrustZone 可讓系統設計人員實現正交軟件環境,限制訪問含可編程邏輯外設在內的 SoC 內部硬件功能。
系統的健康狀況可使用能夠監測 SoC 供電電壓和晶片溫度的 XADC 加以監測。開發人員還可以使用外部 SoC 引腳來監測更廣泛系統范圍內的其他模擬信號,進一步監測系統的健康狀況和使用情況。
因為該 SoC 將處理器和與內部 ADC 耦合的可編程邏輯緊密集成,設計人員能夠得到因部件數量減少所帶來的明顯好處。而且減少組件數還能有力幫助我們實現所要求的低故障率。
總 結
從系統層面和器件層面來看,使用 All Programmable SoC 均能為ADAS開發帶來一系列好處,實現更高集成度,減輕系統重量,提高系統能效。最新高層次綜合工具能快速開發可供 OpenCV 等眾多開源通用框架使用的圖像處理功能。
-
以太網
+關注
關注
40文章
5425瀏覽量
171732 -
嵌入式視覺
+關注
關注
8文章
117瀏覽量
59147 -
自動駕駛
+關注
關注
784文章
13812瀏覽量
166461
發布評論請先 登錄
相關推薦
評論