999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于硬件加速的多核三維汽車儀表系統設計

2018-03-03 19:48:43楊二闖張衛東楊輝華高春陽
現代電子技術 2018年5期

楊二闖+張衛東+楊輝華+高春陽

摘 要: 為滿足工業中儀表盤的應用和顯示要求,提出基于多核Cortex?A9硬件加速的三維汽車儀表系統設計方案。為了提升三維儀表的視覺效果,采用基于OpenGLES2.0的GPU硬件加速技術來提高儀表圖形的渲染幀率。同時,對Linux內核做了優化,保證了圖形運行時的流暢性。實驗結果表明,該設計方案不僅能實時處理系統模塊的信息,大幅降低CPU的使用率,且使三維汽車儀表更具真實感,達到了實際的測試要求。

關鍵詞: 三維全液晶儀表; GPU硬件加速; 嵌入式Linux; Cortex?A9; 汽車儀表系統; 渲染幀率

中圖分類號: TN99?34 文獻標識碼: A 文章編號: 1004?373X(2018)05?0124?05

Abstract: A design scheme of 3D automotive instrument system based on multi?core Cortex?A9 hardware acceleration is proposed to satisfy the application and display requirements of dashboard. In order to enhance the visual effect of 3D instrument, the GPU hardware acceleration technology based on OpenGLES2.0 is adopted to improve the rendering frame rate of instrument graphics. The Linux kernel is optimized to guarantee the fluency while graphics operating. The experimental results show that the scheme can not only process the information of system modules in real time, but also reduce the CPU usage greatly, and makes the 3D automotive instrument more realistic. The instrument satisfies the requirement of actual test.

Keywords: 3D full?LCD instrument; GPU hardware acceleration; embedded Linux; Cortex?A9; automotive instrument system; rendering frame rate

0 引 言

隨著“智慧汽車戰略”的提出,汽車趨于信息化、智能化方向發展。汽車儀表盤作為車內儀表的主要組成部分,是汽車內部信息傳遞的重要工具。此外,人們對汽車HMI(Human Machine Interface)的交互能力提出了更高的要求,全液晶儀表以其出色的顯示能力和多樣的顯示方式逐漸替代了傳統的指針式儀表[1]。目前,隨著新能源汽車的不斷發展,純電動汽車將是未來汽車行業發展的一個主要方向[2],與傳統的燃油類汽車相比,其需要顯示的內容也有很大差別;在信息展示方面,純電動汽車對全液晶儀表有更多的需求。在未來汽車儀表顯示系統中,全液晶儀表以其全面的信息展示方式、多樣化的顯示模式和良好的HMI交互能力等優勢將在行業里占領主導地位。

目前,國內電動汽車行業飛速發展,嵌入式芯片綜合性能不斷提高,人們對汽車儀表的顯示性能和駕駛視覺體驗的要求也隨之提高。因此,車載儀表的研究者為了擺脫儀表顯示加載速度慢、處理器性能差、圖形渲染效果差等問題,提出各種全液晶儀表組合平臺的解決方案用以解決這些問題。2011年,Android系統占領了移動電子領域,文獻[3]設計了基于OBD協議的Android平臺的二維虛擬儀表平臺,給消費者帶來了很好的視覺體驗,但是由于系統本身特性以及啟動時間過長等因素,在儀表盤領域很難得到推廣;文獻[4]設計了一款基于emWin圖形庫并采用Cortex?M3為主控芯片的二維電動汽車液晶儀表,且有良好的顯示效果,但是處理器性能很難滿足現今汽車復雜網絡和全方位信息展示上的設計要求;文獻[5]設計了雙總線電動汽車數字儀表系統,優化了數據傳輸實時性差的問題,但其使用的工業串口屏注定了在界面顯示上的劣勢,類似地,文獻[6?8]的方案同樣出現了上述問題??梢?,以上幾種解決方案的不足之處集中在處理器性能、系統穩定性、數據實時性和圖形處理等方面,很難滿足汽車行業軟件測試要求和用戶對炫麗界面的要求。

目前國內還沒有完整的文獻提出關于三維汽車全液晶儀表的解決方案。本文為某汽車公司設計了一款三維汽車全液晶儀表盤,提出基于GPU硬件加速的三維全液晶儀表整體設計方案。該方案以ARM處理器i.MX6Q為硬件平臺,嵌入式Linux操作系統為軟件平臺。采用高分辨率、高對比度的最新薄膜晶體管(TFT)技術和GPU硬件加速技術[9],實現了三維視像的關鍵駕駛信息展示,包括速度、檔位和駕駛輔助等重要信息,比傳統的二維液晶儀表顯示更加出色,更富有創新性和逼真的空間表現。

1 三維全液晶儀表平臺介紹

汽車全液晶儀表包含傳統儀表的所有功能,以TFT?LCD液晶屏為顯示終端,將全面的、復雜的信息以圖形和文字方式顯示在TFT?LCD上,可以準確清晰地顯示速度、轉速、里程、動力電池電量、指示類和報警類等信息。

三維全液晶儀表硬件結構圖如圖1所示。本文處理器采用汽車級ARM Cortex?A9四核i.MX6 Quad系列處理器。其最高運行頻率高達533 MHz,同時內部集成了三個硬件加速圖形處理單元(GPU),支持3D硬件加速、2D圖形渲染和矢量加速,是先進的消費電子、汽車和工業多媒體應用的理想平臺;外接1 GB DDR3和8 GB EMMC;外接高速Flex CAN構成車輛內部控制網絡,接收汽車各種狀態信號,并將采集到的數據傳輸到處理器;外接TFT?LCD液晶顯示屏,為三維全液晶儀表提供顯示平臺;外接語音芯片,為用戶提供必要的報警信號。endprint

1.1 18/24 bit LVDS液晶接口

本文液晶模塊采用Hannstar?XGA 7寸TFT?LCD,分辨率為1 024×600,40pin LVDS接口。i.MX6 Quad內置的LCD控制器包括用于傳輸圖像的數據總線VD[23:0]和LCD_DCLK,LCD_ENAB_M,LCD_FP,LCD_LE,LCD_LP等必要的控制信號。i.MX6 Quad LCD接口自帶DMA控制器,不依賴CPU和其他系統功能而獨立工作。

1.2 FlexCAN總線接口

FlexCAN是一種擴展CAN總線功能的嵌入式網絡架構。本文的CAN通信模塊采用新型CAN總線收發器TJA1040和獨立控制器,能發送和接收標準的和擴展的信息幀,并采用抗干擾措施確保CAN通信的穩定,最高支持1 Mb/s速度傳輸。

2 基于硬件加速軟件系統設計

2.1 嵌入式系統架構

從汽車實際應用的角度出發考慮三維全液晶儀表盤系統架構設計,將硬件開銷和CPU計算能力作為主要參考指標。其內部網絡設計考慮各個子系統的功能需求,靈活選擇各子系統數據的傳輸方式,從而組建經濟、高效、可靠的汽車內部網絡。

本系統基于Linux操作系統,系統架構分四層,如圖2所示,分別為系統微內核層、系統驅動層、數據接口層和人機交互層。其中,系統微內核層的主要工作是對Linux內核的優化和處理,裁剪不必要的啟動項,保證系統能夠快速啟動;系統驅動層提供系統完整運轉所需的各類lib庫和各種設備驅動;數據接口層主要是接收CAN總線傳輸進來的數據和車輛的相關信號,包含大量算法處理,如動力電池的電量計算、汽車時速計算、發動機轉速計算等,并將處理好的數據傳遞到人機交互層;人機交互層由Qt/E集成開發環境設計,融合了OpenGL ES三維渲染、QML與CPP交互設計的HMI,最后通過TFT?LCD展示給用戶,同時用戶也可以對儀表盤進行操作,選擇合適的駕駛模式。

2.2 配置開發環境

軟件設計基于內核Linux 3.0.35和Qt/E 5.5.0開發,采用Yocto Project軟件系統。Yocto Project架構中的用戶自定義層由用戶按需求定制,包括定制層、BSP層、特性層和核心數據層,并將應用軟件通過Poky生成系統交叉編譯鏈。本文選擇最新1.8版本編譯器交叉編譯調試。在內核管理上,使用Eclipse集成編譯器,并配置交叉編譯環境,完成對內核的優化工作[10]。

三維汽車全液晶儀表采用模塊化程序設計方案,具有良好的移植性和安全性。儀表軟件流程如圖3所示。系統軟件主要由CAN通信、上電自檢、三維顯示、數據存儲和故障診斷等功能模塊組成。系統上電后首先完成初始化工作,從存儲器中讀取公共數據完成初始化后,開始進行儀表自檢,從而保證系統正常工作。儀表上電自檢通過后,系統開始創建并運行任務,具體任務有數據存儲、采樣汽車信號、CAN總線收發和三維顯示。系統根據不同的優先級順序進行任務調度,保證高優先級的任務被優先執行。

2.3 內核快速啟動優化

針對系統的可靠性和圖形界面運行的流暢性,內核的優化顯得十分重要。一個完整的Linux系統啟動過程常常需要幾十秒的時間,這在汽車領域會降低客戶的體驗感,故對內核的優化用以保證系統的快速啟動是接受Linux系統的首要條件。

本文從以下三個方面減少內核的啟動時間:

1) 性能優化

使能MMU和L2_Cache、memset和memcpy;啟用SDMA,加快從NOR FLASH中讀取數據;采用uSDHC的ADMA提高SD卡的讀取性能;優化內核arch/arm/kernel/io.c中的_memcpy_fromio函數。

2) 系統啟動時移除不必要模塊

在U?BOOT階段,禁止UART向kernel傳遞參數和向u?boot進程輸出信息;刪除u?boot開機的延時時間;在u?boot中禁用I2C、NET等無關項。

3) 內核啟動后立即開始主程序

通常在系統正常開機后會優先處理sysinit腳本,為用戶進程做初始化準備,時間一般是1~5 s。如果在進入系統時直接選擇進入主應用程序,必要的進程則在主應用程序內部初始化,將會節省很多時間,減少不必要的等待時間。具體文件在/etc/rc.d/rcS中做修改。

2.4 圖形硬件加速機制

隨著嵌入式芯片圖形硬件加速性能的不斷提高,以往完全靠CPU處理圖形的方法逐漸被擁有優越性能的GPU代替[11]。三維汽車全液晶儀表平臺是一個高集成度、3D動態渲染和實時性較強的復雜系統,僅依靠CPU完成這一復雜的顯示任務和運算任務就顯得顧此失彼了。因此,采用基于OpenGL ES 2.0的圖形硬件加速機制就顯得游刃有余。

該三維實現方案設計采用i.MX6Q處理器,支持3D硬件加速、2D圖形渲染和矢量加速。同時,嵌入式Linux系統也對i.MX6Q處理器添加了GPU硬件加速驅動支持,使圖形硬件加速達到更優越的性能。嵌入式Linux系統加載GPU模塊驅動配置如下:

1) 使能Linux圖形驅動

操作流程(eclipse環境):

1.編譯內核,修改環境變量

$ ARCH arm CROSS_COMPILE arm?poky?linux?gnueabi?

$ PATH ~/fsl?release?bsp/build?x11/tmp/sysroots/x86_64?linux/usr/bin/arm?poky?linux?gnueabi

$ Build Project

2.選項Graphics supportendprint

$ Enable Direct Rendering Manager

2) 生成動態鏈接庫

使用圖形硬件加速必須要有相關的庫文件,這些庫文件從Yocto Project架構中編譯內核獲取,編譯后生成用于支持OpenGL ES的動態庫文件libEGL.so.1.0,libEGL.so.1,libEGL.so,vivante_drv.so,并把庫文件(/usr/lib路徑下)拷貝到應用所在路徑下,完成路徑索引。

3) 修改環境變量,使能GPU驅動

$ export PATH= yocto\lib\modules\iMX6Q

4) 測試GPU驅動是否安裝成功

$ startx &

5) 測試三維全液晶儀表應用

$ export DISPLAY=:0

$ chmod +x 3DInstrument

$ ./3DInstrument?platform eglfs

如果顯示“OpenGL renderer string: GC2000 Graphics Engine或“EGL_VENDOR = Vivante Corporation”,表明GPU硬件加速已經開啟。運用GPU硬件加速機制,不僅優化了圖形界面的顯示,更極大地節約了CPU的使用率,而且提高了系統信息的處理能力。

3 測試結果及評價

本文采用上述系統硬件平臺架構、數據處理的結構,為某汽車公司設計了一套三維汽車全液晶儀表系統。系統數據信息均通過FlexCAN節點獲取,經過多核Cortex?A9處理器i.MX6進行數據的處理和圖形的渲染,軟件部分采用Linux操作系統和Qt/E集成開發環境,融合QML和OpenGL ES出色界面渲染設計方案,并使用高分辨率TFT?LCD實時顯示HMI界面。

全液晶儀表盤顯示的元素過多,介于篇幅不再一一列出。本文實現的三維實時(Real?time)渲染是基于三角形組成的三維模型,并把紋理(Texture)映射到三角形上的結果,可以通過分割三角形定義模型的細節來保證渲染質量,測試也是根據其渲染的三角形個數來呈現渲染的復雜度,最后通過圖形渲染幀率、CPU使用率和虛擬內存使用率反應圖形硬件加速結果,測試結果均值見表1。

由表1可知,硬件加速運算時,CPU的使用率均值不超過15%;在軟件加速時,CPU占有率升至30%。實驗結果表明,在硬件加速條件下,VSZ(虛擬內存)使用率顯著降低,且圖形繪制時占用的CPU比例較小,這是因為圖形硬件加速運算時,使用GPU進行圖形繪制。可見,硬件圖形加速能夠有效地緩解CPU的壓力,節約系統虛擬內存,提高其運算效率,得到了很好的加速比,并使圖形顯示能力成倍的提高。

在嵌入式平臺上進行測試時,基于完全加載三維模型的情況,儀表盤的穩定刷新頻率達到50 f/s,得到較為理想的顯示效果。三維儀表測試局部效果圖如圖4所示,三維儀表在嵌入式平臺下整機測試,實際運行測試分辨率為1 024×384,測試的車輛信息有發動機轉速、車速、電池電量、車門狀態等,顯示效果如圖5所示。

4 結 語

本文設計了硬件加速的多核三維汽車儀表,滿足工業中儀表盤的應用和顯示要求。通過軟硬件加速的結合,保證了三維全液晶儀表的實時性、快速流暢性的顯示效果。隨著嵌入式設備和液晶技術的不斷發展,全液晶儀表將會達到更好的顯示效果和視覺交互體驗。

參考文獻

[1] FU Zhigang, DING Xiaodong. Research on development trend of automobile electronic technology [J]. International journal of technology management, 2013(2): 20?22.

[2] 張文亮,武斌,李武峰,等.我國純電動汽車的發展方向及能源供給模式的探討[J].電網技術,2009,33(4):1?5.

ZHANG Wenliang, WU Bin, LI Wufeng, et al. Discussion on development trend of battery electric vehicles in china and its energy supply mode [J]. Power system technology, 2009, 33(4): 1?5.

[3] 蔡黎,代妮娜,鄧明.基于OBD協議的Android平臺汽車虛擬儀表設計[J].電子技術應用,2011(12):83?86.

CAI Li, DAI Nina, DENG Ming. Design of car virtual instrument based on OBD for Android [J]. Application of electronic technique, 2011(12): 83?86.

[4] 陳新,蒲慶文.基于emWin圖形庫的電動汽車液晶儀表設計[J].儀表技術與傳感器,2013(7):105?107.

CHEN Xin, PU Qingwen. Electric vehicles LCD instrumentation design based on emWin [J]. Instrument technique & sensor, 2013(7): 105?107.

[5] 江學煥,張金亮,樊紅莉,等.基于CAN/LIN雙總線電動汽車數字儀表系統的設計[J].計算機工程與科學,2015,37(11):2182?2187.endprint

JIANG Xuehuan, ZHANG Jinliang, FAN Hongli, et al. A design of electric vehicle digital instrument system based on CAN/LIN dual bus [J]. Computer engineering and science, 2015, 37(11): 2182?2187.

[6] 安亞君,皮國瑞,楊玉逢,等.基于IV+SEP4020微處理器的汽車虛擬儀表的研究[J].儀表技術與傳感器,2011(1):33?35.

AN Yajun, PI Guorui, YANG Yufeng, et al. Research of virtual instrument based on IV+SEP4020 microprocessor [J]. Instrument technique & sensor, 2011(1): 33?35.

[7] 吳森,張恒平,毛雅風.混合動力公交車儀表系統的開發[J].武漢理工大學學報(信息與管理工程版),2012,34(3):293?296.

WU Sen, ZHANG Hengping, MAO Yafeng. Development on instrument system for the hybrid bus [J]. Journal of Wuhan University of Technology, 2012, 34(3): 293?296..

[8] 李英.基于QNX硬加速的軟控車載全虛擬儀表平臺[J].電子技術應用,2012(10):129?132.

LI Ying. Software control auto fully virtual instrument cluster platform based on QNX hardware acceleration [J]. Application of electronic technique, 2012(10): 129?132.

[9] 王海清.嵌入式GPU硬件加速渲染的紋理傳輸優化及預取策略研究[D].長沙:湖南大學,2013.

WANG Haiqing. Embedded GPU hardware accelerated rende?ring textures transport optimization and prefetching strategy research [D]. Changsha: Hunan University, 2013.

[10] 田丹,李運喜,胡寧,等.基于Eclipse的嵌入式軟件交叉調試[J].現代電子技術,2015,38(6):86?89.

TIAN Dan, LI Yunxi, HU Ning, et al. Cross?debugging of Eclipse?based embedded software [J]. Modern electronics technique, 2015, 38(6): 86?89.

[11] 郭云,康濤.基于嵌入式GPU虛擬儀表圖形軟件的實現[J].計算機系統應用,2012(10):47?52.

GUO Yun, KANG Tao. Virtual instrument software system of cross platform based on GPU [J]. Computer systems & applications, 2012(10): 47?52.endprint

主站蜘蛛池模板: 二级毛片免费观看全程| 老司机精品一区在线视频| 亚洲AV人人澡人人双人| 亚洲国产精品日韩专区AV| 99人妻碰碰碰久久久久禁片| 免费在线看黄网址| 中文字幕在线观| 视频一区视频二区中文精品| 熟妇无码人妻| 高清国产va日韩亚洲免费午夜电影| 亚洲精品中文字幕午夜| 欧美午夜小视频| 免费a级毛片18以上观看精品| 五月婷婷丁香综合| 欧美日韩激情在线| 国产精品尤物在线| 免费国产不卡午夜福在线观看| 色综合激情网| 中文字幕一区二区视频| 久久91精品牛牛| 国产又粗又猛又爽| 亚洲男人的天堂在线观看| 国内精品免费| 一本综合久久| 天天综合网站| 久久久久亚洲Av片无码观看| 在线观看精品自拍视频| 成人福利视频网| 欧美日韩在线国产| 亚洲国产天堂在线观看| 国产成人精品日本亚洲77美色| 中文一级毛片| 亚洲色大成网站www国产| 又大又硬又爽免费视频| 国产激情无码一区二区三区免费| 成人伊人色一区二区三区| 久久夜色精品| 久久99热66这里只有精品一| 亚洲国产成人久久77| 中文无码日韩精品| 2022国产无码在线| 欧美精品一区二区三区中文字幕| 中文字幕av一区二区三区欲色| 免费毛片网站在线观看| 亚洲黄色激情网站| аⅴ资源中文在线天堂| 爱做久久久久久| 亚洲日韩国产精品无码专区| 中文字幕va| 国产美女自慰在线观看| 日韩免费毛片视频| 日韩精品欧美国产在线| 国产91高清视频| 国产毛片基地| 国产十八禁在线观看免费| 精品国产乱码久久久久久一区二区| 久久综合一个色综合网| 在线日本国产成人免费的| 日韩在线视频网| AV无码国产在线看岛国岛| 另类专区亚洲| 欧美亚洲国产视频| 伊在人亚洲香蕉精品播放| 尤物午夜福利视频| 亚洲欧美极品| 五月天香蕉视频国产亚| 亚洲第一黄片大全| 免费人成视网站在线不卡| 日本在线亚洲| 成年看免费观看视频拍拍| 亚洲无线视频| 9999在线视频| 国产精品人成在线播放| 国产亚洲欧美另类一区二区| 亚洲欧美精品在线| 91无码国产视频| 婷婷久久综合九色综合88| 毛片网站在线播放| 自偷自拍三级全三级视频 | 成人va亚洲va欧美天堂| 美女免费精品高清毛片在线视| 国产成人做受免费视频|