自動駕駛無疑是現今汽車領域最熱門的話題之一,無論是歷史悠久的汽車製造商或產業新星,皆在研發具有自動駕駛功能的汽車。拜摩爾定律(Moore’s Law)之賜,這些自動駕駛功能的開發者不僅大幅提升處理能力及改善感測器技術,還降低了成本。

「自動駕駛」這個詞彙涵蓋眾多功能的複雜技術領域,其中包含從「全自動駕駛」到「與駕駛共享控制權」。為利於分辨不同的自動駕駛能力,美國汽車工程師協會(Society of Automotive Engineers;SAE)便制訂如表1的自動駕駛分級標準。

20181123TA31P1-1 表1 SAE 自動駕駛等級定義。

隨著自動駕駛等級的提高,車輛也需要更妥善地掌握周圍環境並能安全行駛,為達到此需求,車輛需要採用包含超音波、全球定位系統(GPS)、雷達(RADAR)、攝影機和光達(LIDAR)等多種類型的感測器,以及具備相關的處理能力。

每種類型的感測器都能提供汽車整體環境的相關資料,而自駕車則需將這些元素融合在一起,才能構成一幅完整的影像。根據執行的自動駕駛等級,將改變感測器的部署和類型,例如,攝影機將用於車道維持輔助、盲點檢測和交通號誌辨識等應用;而頻率調變連續波(FMCW)雷達則用於確定與目標物體間的距離。對於2級以上的自動駕駛等級而言,充分理解汽車所處的環境十分重要,這樣,汽車才能辨識自身位置和周圍障礙物,進而落實安全行駛,其可透過攝影機、雷達、光達,以及GPS資料來完成對所處環境的掌握。但只參考GPS資料並不可靠,因為其精準度會改變,且訊號易受建築物和基礎設施阻隔影響。

能夠掌握所在環境並採取行動,是達到自動駕駛功能的關鍵條件,因此不論是SAE 6個等級中的哪一級,只要出現意外的運作或行動,生命與環境皆會受到威脅。所以自動駕駛功能的開發必須限定在一個框架內,以確保設計和所有要素的安全性,嚴格遵守ISO 26262標準是開發自動駕駛汽車的必要條件,若能實施該標準提供的框架,將有助於確保安全性,及定義多個車輛安全完整性等級(ASIL)與容許範圍內的失誤率。部署自動駕駛解決方案後,也將受到來自世界各市場的嚴苛環境考驗,為了確保系統在這些環境中能夠正常運行,汽車級元件需通過被廣泛認可的 AEC-Q100 或更高等級的資格認證。

架構

執行自動駕駛功能的關鍵核心是中央處理模組。為了成功執行自駕功能,中央處理模組必須包含以下功能:

˙資料整合、預處理和分配(DAPD):能連接不同類型感測器,並在處理單元內的各個處理單元與加速器之間,執行基本的資訊處理、路由和交換。

˙高效能連續處理:高效能處理單元用於執行資料萃取和感測器融合,並根據其輸入的資訊進行高階決策制定。在某些應用中,神經網路會在高效能連續處理中運行。

˙安全處理:依據「DAPD元件預處理的環境資料」與「來自神經網路加速與高效能連續處理單元的結果」進行即時處理與車輛控制。

20181123TA31P1 圖1 中央處理模組架構。

創建中央處理模組時,設計人員會面對介面、擴展性、合規性和效能等多方面的挑戰,若部署於功耗和散熱受限的環境中,還要解決傳統的尺寸、重量,以及功耗成本(Size, Weight and Power-Cost ,SWaP-C)的難題,而在設計DAPD和安全處理器時,SWaP-C的難題尤為明顯。

解決挑戰

使用單個元件是解決這些挑戰的方案之一,此方法不僅能在同一個晶片中提供DAPD的介面、預處理和路由功能,還具備安全處理甚至是神經網路加速功能。這種高度整合的方法,打造了非常有利於解決SWaP-C的緊密整合解決方案。

賽靈思(Xilinx)車規級Zynq UltraScale+ MPSoC異質單晶片系統,可用來運作這類高度整合解決方案,該元件提供四個高效能Arm Cortex-A53核心的可編程邏輯,來構成緊密整合的處理單元。此外,針對即時控制,異質單晶片系統還提供包含鎖步(Lockstep)雙Arm Cortex-5處理器的即時處理單元(RPU),不僅可執行高達ASIL C等級的安全功能,還可用於安全關鍵型應用。為了提供必要的功能安全性,RPU經過精心設計,具有減少、檢測和緩解單個隨機故障(包括由硬體和單個事件觸發)的能力,這些元件能有效地在處理器系統資源與可編程邏輯之間進行功能區分。

DAPD帶來的主要挑戰在於如何在採用不同介面標準的眾多類型感測器間建立連接。典型的解決方案是連接採用高速介面的多種感測器,如MIPI、JESD204B、LVDS和GigE,來達到攝影機、雷達和光達這樣的高頻寬介面。但除此之外,DAPD還需要連接較慢的介面,如CAN、SPI、I2C和UART。若使用異質單晶片系統的處理系統(PS)和可編程邏輯(PL),便可支援多種業界標準介面,包括SPI、I2C、UART和GigE;同時,PL IO的高靈活性能讓MIPI、LVDS和十億位元串列連結直接連接,允許在PL中(通常使用IP核心)運作更高階的協定。

此外,在 PL中執行協定還能帶來其他優勢,例如輕鬆引入標準修訂,以及能靈活設定解決方案所支援的具體感測器介面數量。而且,只要硬體設計提供正確的PHY,PL便可運作任意介面,真正落實任意到任意的介面功能。

車規級Zynq UltraScale+ MPSoC的PL還能加速神經網路。由於PL具有平行特性,因此相較於傳統採用CPU/GPU的方法,神經網路的執行更具回應性和確定性,因其消除了不同等級之間傳統的外部記憶體瓶頸。透過使用C、C++和OpenCL等這類高階語言,能在系統最佳化編譯器SDSoC中運作這些神經網路,進而將功能從處理器系統無縫遷移到可編程邏輯內。

另一大挑戰是如何運作安全處理器,其必須依照從DAPD和高效能連續處理所接收到的命令進行操作,這些命令能確保車輛在所處環境中安全行駛,因此,安全處理器需要與汽車控制系統(如轉向、加速和剎車)直接進行互動,這是自動駕駛功能的一大關鍵層面,因為任何錯誤將會導致生命的喪失和環境的破壞。異質單晶片系統在RPU中包含鎖步雙Arm Cortex-R5核心,可用於運作安全處理。

20181123TA31P2 圖2 即時處理單元架構。

RPU 核心不僅具有鎖步功能,還能執行多個附加的緩解功能。其中包括用於將 RPU 與記憶體和快取記憶體緊密耦合的糾錯碼(Error Correction Code),以及用於保護DDR記憶體的雙錯誤檢測單個錯誤校正代碼。在快取記憶體和記憶體中加入ECC功能,可確保執行自駕車控制所需的應用程式和資料的完整性。此外,為了確保運作前底層硬體沒有故障,還有提供啟動時的內建自檢測(BIST)功能,也可在運作過程中按照使用者的需求執行附加的BIST操作。此外,異質單晶片系統的架構還能在元件中隔離記憶體和周邊的功能。

異質單晶片系統導入的這些功能,讓同一晶片中能夠落實安全處理、DAPD、甚至神經網路加速。為了確保擁有業界領先的元件品質,賽靈思彙集了產業需求並將其融入到名為Beyond-AEC-Q100的內部品質控制計畫中。此外,這款異質單晶片框架中,將大部分的測試要求加倍,以確保達到汽車級元件的安全限度,不僅如此,更高整合度還能降低最終解決方案所需的PCB設計和互連的複雜性,同時達到更低功耗。

總結

提供自動駕駛功能需要運作中央處理模組,該模組面臨SWaP-C的挑戰,因此採用針對DAPD、神經網路加速器和安全處理器的車規級高整合度解決方案,能夠落實更小巧、更輕便、更低功耗的解決方案。