李 英
(河南商丘師范學院 計算機與信息技術學院,河南 商丘576100)
隨著整車控制單元電氣化、集成化和信息化的快速發展,大量遠程服務信息、車輛診斷信息、駕駛輔助信息、影音娛樂信息等都需要通過儀表平臺與駕駛員進行人機交互。通過該平臺,駕駛員不僅能輕易獲取所關注的車況信息,而且能設置相關參數,控制車輛運行模式,是車輛必不可少的輔助駕駛單元。目前車載儀表平臺主要有三種模式:(1)純機械式,完全采用傳統機械指針式組合儀表;(2)半機械式,傳統機械指針式和車載電腦組合;(3)全數字虛擬式,完全采用虛擬數字圖形(2D、3D)模擬傳統機械模式[1]。
傳統車載儀表通常以機械式為主,由于線路集成度太低、電磁干擾較大、顯示精度不高及顯示內容有限等因素,嚴重制約了儀表輔助駕駛系統的發展。半機械式儀表在傳統儀表盤之間嵌入一塊小型LCD,即車載電腦,雖增加了儀表平臺顯示的信息量,但整體沒有擺脫機械模式的缺陷,而且對儀表平臺整體布局也有一定影響[2]。隨著近年來圖形硬件技術的飛速發展和嵌入式實時系統的廣泛應用,車輛研究者提出了各種虛擬儀表組合平臺以解決上述問題。2011年,隨著Android系統風靡全球手機市場,蔡黎等提出了基于OBD協議的Android虛擬儀表組合平臺[3],炫麗的圖形界面效果給消費者帶來了巨大的視覺沖擊感,但由于系統本身要接收第三方廠商提供的代碼,一旦出現問題很容易導致系統崩潰,可謂在提升效率的同時犧牲了系統的可靠性。2012年王潤民等提出了Linux+QT+ARM虛擬儀表組合平臺[4],基本實現了儀表的圖形界面顯示,但由于內核構架上的問題,其實時性很難滿足高性能虛擬儀表的要求。可見,上述方案的共同缺點是:穩定性、實時性、安全性受系統本身架構制約,很難滿足苛刻的車規測試要求和客戶對于高性能的需求。
針對傳統機械組合式儀表的缺陷和當前虛擬儀表平臺的問題,本文提出一種新型的高性能車載全數字虛擬儀表方案,采用ARM處理器imx53為核心硬件平臺,嵌入式硬實時操作系統QNX為核心軟件平臺,并在此基礎上引入Altia快速原型界面設計和仿真測試工具,提出軟控分層顯示的邏輯界面控制方法,采用GPU硬加速圖形渲染技術,開發全虛擬儀表終端應用程序。
虛擬儀表作為輔助駕駛系統的核心組成部分,對系統的實時性、穩定性和安全性均提出了極高的要求。而QNX作為微內核硬實時多任務的嵌入式操作系統,已成功應用于軍工領域和汽車領域,是嵌入式系統市場上第一款達到穩定和安全雙重認證的實時操作系統。
系統實時性主要取決于中斷處理和任務調度。中斷處理中影響實時性的因素主要是中斷延遲和調度延遲,QNX的這兩種延遲指標如表1所示。

表1 QNX的延遲指標
任務調度過程中的上下文切換時間是衡量實時性的另一個關鍵指標,QNX默認采用高優先級搶占調度策略,保證任何時刻都是優先級最高的任務占用CPU。其上下文切換時間指標如表2所示。

表2 QNX的上下文切換時間指標
由表1和表2可見,QNX對于影響系統實時性的兩個關鍵指標都在微秒級,是目前實時性最強的系統之一[5]。另外,系統的穩定性和安全性主要取決于內核架構,QNX采用模塊化的微內核系統架構,應用程序、設備驅動程序、文件系統和網絡協議棧都獨立運行在受內存保護的空間中,采用的安全技術主要包括:
(1)內存保護的安全內核:內核不能被繞過,強制執行存取權限;
(2)安全協議:包括 IPSec、IKE、SSL、NAT 等;
(3)硬件加速:網絡協議棧下加密和認證算法,包括DES、3DES、AES 等;
(4)自適應分區:防止惡意代碼和拒絕服務攻擊獨占CPU。
QNX系統對每個任務進行全面地址保護,使每個任務(進程)獨立運行于自己的虛擬地址空間,在任務中又可以創建無地址保護的任務(線程)。這樣做的優點是當一個進程崩潰時不會影響到另一進程的存儲空間[6]。
綜上,QNX不僅以微秒級的延遲提高了系統的實時性,而且充分采用新型技術來保證其穩定性和安全性。因此,以QNX為系統平臺開發全數字虛擬儀表,其性能足以滿足儀表輔助駕駛平臺對系統實時性和可靠性的苛刻要求。
為縮短全數字虛擬儀表圖形用戶界面開發周期,加快其產品化進程,引入快速HMI原型設計和邏輯仿真測試工具Altia。
Altia作為全數字虛擬儀表專業開發工具,主要包括3個模塊:圖形界面編輯器(Altia Design)、連接仿真接口(Altia Connection)和代碼生成工具(DeepScreen)。整個開發流程見圖1,其中包括以下關鍵步驟[7]:
(1)圖形界面原型開發:將美工處理后的靜態圖片通過圖層切換轉變為可操作的控件原型,用于實現逼真的動態效果。圖形界面的設計結果保存為計算機中的文件,可直接用于后續的仿真驗證和代碼實現、集成階段。
(2)效果仿真驗證:在控制邏輯開發環境中 (如C/C++、Simulink/Stateflow、Rhapsody)集成圖形界面原型,在項目開發初期和中期就能由仿真測試來驗證開發的圖形界面的合理性。
(3)代碼實現:通過自動代碼生成工具將圖形界面原型和控制邏輯直接轉變為適合于嵌入式目標平臺的程序,快速驗證嵌入式HMI的圖形效果及性能;判斷現有硬件資源是否足以支撐HMI設計;在最短時間內找到圖形界面顯示效果與硬件資源的最佳平衡。

可見,Altia圖形界面開發流程真正做到了所見即所得,可迅速將產品概念原型化,模擬真實工作場景,讓用戶能夠通過仿真驗證手段,在設計早期就充分論證設計方案的可行性,為快速開發高性能全數字虛擬儀表提供了先進的開發理念和有力的技術保障。
全數字虛擬儀表往往需要動態模擬顯示大量的車況信息,并實時響應外界的觸控指令。如何在有限區域內實時顯示駕駛員所關注的信息,成為制約車載虛擬儀表發展的最大瓶頸。為此,在前人的工作基礎上,設計了基于軟控模式下的圖形元素實時分層渲染模型,以緩解圖形界面顯示的壓力。
軟控圖層組織結構的設計核心思想為:利用多線程模式對圖形元素信息進行硬件圖層分層控制顯示,并根據駕駛員在不同時段的關注目標,動態綁定相關信息所在圖層ID。其整體架構設計如圖2所示。
(1)硬件支持顯示的圖層有限(≤3 layer),對虛擬儀表所有顯示信息進行動態分類,根據信息的迫切度分為靜態必顯信息、可選顯示信息及動態必顯信息。
(2)對不同迫切度的信息進行相應圖層和顯示區域的綁定,原則上動態必顯信息的優先級最高,靜態必顯信息的優先級最低,可選顯示信息的優先級處于中間,屬于駕駛員可控信息。信息所綁定的圖層ID越大,則被顯示的優先級也越高,高優先級的圖層可以覆蓋掉低優先級的圖層。
(3)根據客戶不同時間段的關注,動態調整軟控區域相關信息綁定的圖層ID,進行動態實時模擬顯示。
以上設計思想的偽代碼實現如下:



從軟控架構模型可見,該設計理念對龐大車況信息進行動態分類、分層顯示處理。靜態必顯信息處于虛擬儀表界面最底層,通常包括儀表盤背景、儀表logo及情景模式等靜態圖形元素;動態必顯信息處于虛擬儀表界面的最高層,通常包括儀表盤虛擬指針;可選顯示信息處于中間圖層,主要包括各類報警圖標、車輛狀態模擬圖標、遠程服務信息狀態及影音娛樂狀態等。
綜述,該設計模型在有限的顯示區域對不同類型的信息進行動態分塊顯示,并對可選信息進行動態實時綁定硬件圖層,有效解決了龐大信息動態實時顯示的瓶頸。
隨著硬件圖形加速處理能力的不斷發展,完全靠CPU進行圖形處理的時代將逐漸消逝。車載全數字虛擬儀表作為一個圖形界面高度集成、可實時顯示龐大信息,且3D動畫動態渲染的復雜系統,僅靠CPU完成其復雜圖形處理過程顯然很難滿足實時性要求。因此,引入基于OpenGLES2.0的GPU硬加速機制。
另外,由于該設計方案硬件上采用imx53處理器,提供了對 OpenGLES2.0、OpenVG的 2D、3D圖形硬加速功能的支持。同時,QNX也提供了針對imx5X系列處理器的GPU硬加速驅動模塊,使得軟硬件平臺圖形加速功能得到了很好的兼容。QNX加載GPU的模塊驅動配置如下:
(1)開啟QNX圖形驅動

(2)將相關GLES和GPU的動態庫文件拷貝到目標系統路徑下,默認路徑。

(3)設置環境變量,開啟GPU驅動

GPU硬加速處理的主要流程如圖3所示。在加入GPU圖形硬加速處理機制后,不僅能增強圖形界面的顯示效果,有效降低CPU的使用率,而且能夠更好地處理大量的車況信息。
全數字虛擬儀表硬件平臺選用飛思卡爾提供的車規標準處理器imx536,其主要技術指標:1 GHz CPU主頻 ,1 GB×32 DDR3(400 MHz),32 MB 16 bit并 行 NOR Flash,可擴充的NAND Flash接口,LVDS數字圖形輸出接口,并集成了基于OpenGL ES2.0和OpenVG1.1的 GPU圖形硬加速處理單元。軟件平臺采用加拿大哈曼公司開發的硬實時操作系統QNX,并引入美國Altia公司HMI快速原型設計和仿真測試工具套件。
采用奇瑞某車型的CAN網絡系統和全數字虛擬儀表系統搭建整車測試平臺。將全數字虛擬儀表系統作為汽車CAN總線上的一個節點,通過CAN控制器和收發器采集車況信息,經imx536處理器過濾、解碼和組包等處理后,送到軟控分層渲染模型中進行動態實時模擬顯示,以此完成基于整車系統的全數字虛擬儀表單元測試[8]。測試的車況信息主要包括:發動機轉速、車速、車燈轉向、車門狀態、遠程監控狀態及車內溫度等,其界面顯示效果如圖4所示。


表3 QNX的上下文切換時間指標

針對GPU對圖形渲染的貢獻度進行單元測試,其實驗結果如表3所示。當圖形界面復雜度相同,GPU模塊開啟時,整個圖形界面的渲染幀率迅速提高約2倍,而CPU消耗率只有微小的提高。當其他測試環境相同,只改變圖形界面的復雜度時,圖形渲染的幀率會隨著圖形復雜度的增加呈比例提高。因此,GPU模塊的開啟與否、圖形界面的復雜度高低是影響圖形實時渲染幀率的兩個關鍵因素。而本文方案不僅有效解決了鋸齒和閃爍等影響圖形界面穩定性的問題,而且增強了圖像顯示的平滑度和復雜度,并支持3D圖形和特效動畫的顯示,為HMI動態實時模擬車況信息和人性化界面設計提供了強有力的平臺支持。
以汽車輔助駕駛系統快速向數字化,集成化及智能化轉型為背景,以探索虛擬儀表輔助駕駛系統的實時性、可靠性和人性化界面設計為研究目標,設計了一套高性能的全數字虛擬儀表系統。采用以實時性、穩定性和安全性著稱的QNX為軟件運行系統平臺,引入的快速圖形界面原型設計和仿真測試Altia技術開發HMI,提出一種基于軟控模式分層顯示的圖形界面邏輯控制方法,最后引入了基于OpenGLES2.0的GPU硬加速技術。最終有效解決了在有限資源下實時處理和大量信息的瓶頸,研究成果已用于國內某型號概念車,成為國內車載全數字虛擬儀表前裝領域的先行者。進一步的工作將提高界面創意設計,融入GPS、OnStar等信息模塊。
[1]劉鵬.汽車虛擬儀表平臺的設計和研究[D].大連:大連理工大學,2010.
[2]黃光亮,秦樹人,王見,等.基于車載診斷系統的汽車虛擬儀表[J].中國測試,2009,35(5):81-84.
[3]蔡 黎,代妮娜,鄧明.基于OBD協議的 Android平臺汽車虛擬儀表設計[J].電子技術應用,2011,37(12):83-85.
[4]王潤民,趙祥模,惠飛,等.基于嵌入式 Linux與 QT的汽車虛擬儀表設計[J].現代電子技術,2012,35(6):2-4.
[5]王斑.基于QNX實時系統的測試系統的開發[D].西安:西北工業大學,2006.
[6]趙偉慶,周群彪,游志勝,等.基于 QNX的實時嵌入式計算機系統設計與實現[J].中國民航飛行學院學報,2003,14(2):46-48.
[7]張建偉,王永康,南立軍,等.基于 Altia軟件的車輛電子信息系統顯示界面的仿真[J].車輛與動力技術,2009(3):49-52.
[8]孟磊.基于CAN總線技術的汽車數字儀表的研究[D].西安:西安電子科技大學,2011.