• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于i.MX6Q和OpenGL ES的汽車虛擬儀表的設計

      2017-06-24 13:25:48李睿琦牛新環(huán)王征宇姚堯
      河北工業(yè)大學學報 2017年2期
      關鍵詞:著色器儀表投影

      李睿琦,牛新環(huán),王征宇,姚堯

      (1.河北工業(yè)大學天津市電子材料與器件重點實驗室,天津300130;2.天津大學電氣與自動化工程學院,天津300072;3.天津市計量監(jiān)督檢測研究院,天津300192)

      基于i.MX6Q和OpenGL ES的汽車虛擬儀表的設計

      李睿琦1,牛新環(huán)1,王征宇2,姚堯3

      (1.河北工業(yè)大學天津市電子材料與器件重點實驗室,天津300130;2.天津大學電氣與自動化工程學院,天津300072;3.天津市計量監(jiān)督檢測研究院,天津300192)

      該新型汽車虛擬儀表,以恩智浦開發(fā)的i.MX6Q為核心處理器搭建硬件開發(fā)平臺,降低了汽車儀表的開發(fā)成本,提升了GPU利用率,創(chuàng)建多線程程序,減小了物理空間.同時,以Linux系統(tǒng)構建軟件開發(fā)環(huán)境,利用OpenGL ES對儀表系統(tǒng)進行設定VBO操作,3DS模型轉換等圖形界面開發(fā),提高了人機交互界面的友好性.本文設計的新型虛擬儀表系統(tǒng)針對嵌入式系統(tǒng)相對較低的計算和圖形處理能力、相對較小的存儲空間、相對較低的顯示分辨率等特點進行適應性改造,具有跨平臺性、低成本,界面顯示精美、可擴展性良好等優(yōu)點.

      虛擬儀表;i.MX6Q;OpenGL ES;3DS;圖形界面開發(fā)

      0 引言

      汽車儀表作為提供汽車行駛過程中各項重要參數(shù)的人機交互界面[1],駕駛員能夠通過儀表準確實時的獲取汽車各系統(tǒng)部件的運行狀態(tài),通過有效的人機信息交互,保證了汽車的安全平穩(wěn)運行,因此汽車儀表在汽車的整個系統(tǒng)中占據了重要的地位[2].傳統(tǒng)機械儀表通過指針和刻度來實現(xiàn)必要的表盤顯示信息,但其占用空間較大、儀表功能可靠性差,已經遠遠不能滿足現(xiàn)代汽車高速發(fā)展的要求[3].汽車儀表經歷了第1代機械式儀表,第2代電氣式儀表,第3代模擬電路電子式儀表,現(xiàn)在正在向第四代全數(shù)字汽車儀表邁進[4].隨著嵌入式系統(tǒng)及計算機軟件系統(tǒng)的高速發(fā)展,具備指示精度高、界面數(shù)字化和智能化的虛擬儀表正在迅猛發(fā)展[5].但同時,現(xiàn)有的虛擬儀表也存在著可移植性較差、開發(fā)生產成本高、二次開發(fā)性較低以及顯示界面功能單一等缺點,這些在一定程度上限制了其技術創(chuàng)新,阻礙了虛擬儀表的應用推廣[6].

      針對以上提出的儀表功能的不足之處,本文設計了一種基于Linux系統(tǒng)下以i.MX6Q為硬件運行平臺,并采用OpenGL ES圖形開發(fā)應用程序對虛擬儀表進行3D虛擬界面的繪制開發(fā).此虛擬儀表具備可移植性高、表盤顯示功能完善、儀表界面精美等優(yōu)點.同時其對顯卡的GPU利用率較高,運行流暢,具有很高的商業(yè)和應用價值.

      1 i.MX6Q硬件運行平臺

      i.MX6Q是基于Cortex-A9內核架構的可擴展多核處理器[7],Cortex-A9架構的高效處理能力與尖端的3D和2D圖形處理器相結合,帶有四個著色器,其出色的3D圖形引擎,能夠高效的提供每秒2億個三角形的生成能力[8].i.MX6Q有3個GPU,GC2000可以支持OpenGL ES3.0和OpenVG1.1,GC335可以實現(xiàn)Open-VG1.1,GC320完成2D拼接.多個GPU,使得顯卡減少了對CPU的依賴,增加了工作效率,而且這款處理器可以支持2D、3D矢量圖形加速,解決了滑動卡、動畫不流暢、圖片處理速度慢的問題,具有強大的運算能力和視頻處理能力.同時開發(fā)板上擴出的各種調試串口能夠為片上定制Linux系統(tǒng)提供有效的硬件支持[9].

      2 Linux開發(fā)環(huán)境平臺搭建

      本文采用VMware虛擬機和Ubuntu操作系統(tǒng),同時在此開發(fā)環(huán)境下安裝交叉編譯器ARM-linux-gcc 4.5.1,用來完成相關驅動程序的儀表應用程序以及圖形庫和系統(tǒng)內核的編譯.移植嵌入式設備的系統(tǒng)引導程序U-boot,進行硬件平臺相關驅動的編寫[10];裁剪編譯Linux內核,并在其中加載已編譯好的相關驅動[11].

      3 基于OpenGL ES的汽車虛擬儀表界面開發(fā)

      OpenGL ES作為一種跨平臺、跨編程語言的軟件接口,其可為軟件與圖形加速器之間提供功能強大且靈活的底層交互途徑.良好的可移植性也使得OpenGL ES廣泛應用于3D圖形界面的開發(fā)[12].本文設計的汽車虛擬儀表就是以OpenGL ES進行圖形界面開發(fā),其流程主要包括著色器綁定,設定VBO、VAO,深度測試,面剔除,3DS模型處理以及多線程程序.虛擬儀表界面開發(fā)流程圖如圖1所示.

      圖1 虛擬儀表界面開發(fā)流程圖Fig.1 The flow chart of virtual instrument interface development

      3.1 OpenGL ES處理提升GPU性能

      著色器是運行在GPU上的程序,頂點著色器的輸出經過圖元裝配和光柵化后進入片段著色器,成為片段著色器的輸入,通過綁定著色器進行后期的圖形渲染;在導入3D汽車模型時,通過深度測試使OpenGL ES決定覆蓋像素與否;通過面剔除處理,忽略被物體前部遮擋的部分,不進行渲染.以上流程在未使用緩沖區(qū)渲染時,每一個頂點數(shù)據都需從CPU給GPU發(fā)送一次,數(shù)據量巨大且循環(huán)次數(shù)過多,導致渲染效率降低,GPU占用帶寬大,直接造成了程序運行的卡頓.通過設定VAO、VBO,利用緩沖區(qū)對象管理其在GPU中對應的內存,以此儲存大批的頂點屬性.在圖形繪制時可以直接從GPU的內存中讀取出大批頂點信息和繪制順序,大大加快了圖形的繪制速度,使得GPU性能得到極大的提升.

      3.2 3DS模型處理

      3.2.1 建模流程

      利用OpenGL ES繪制復雜的三維模型,工作量和難度較大.隨著3D圖形技術的發(fā)展,越來越多的3D建模軟件應運而生,這些建模軟件雖然操作簡便,但卻對模型難以進行交互控制.因此,本文使用的3D模型數(shù)據需要利用Deep Exploration軟件將3DS模型文件轉化為OpenGL ES可以理解的cpp數(shù)據文件,再對其進行交互和控制操作.OpenGL ES繪圖流程如圖2所示.

      圖2 簡化的OpenGL ES繪圖流水線Fig.2 The simple drawing pipeline of OpenGL ES

      3.2.2 模型的幾何變換及透視投影

      在顯示屏上的某個位置繪制出基本圖元,往往不能滿足用戶對于界面顯示的需求,所以,本文在繪制出基本圖元的基礎上,通過對圖形的平移、旋轉等幾何變換,顯著提高了界面顯示的多樣性,也提高了圖形程序的開發(fā)率.在OpenGL ES圖形學中,用esTranslate、esRotate兩個函數(shù)對建立起來的模型進行平移、旋轉操作,這實際上是矩陣變換的過程,之后通過調用OpenGL ES中矩陣函數(shù)esMatrixMultiply來調用這兩個函數(shù),進而實現(xiàn)對模型的平移、旋轉.

      透視投影與人眼觀看現(xiàn)實世界所得到的景象很相近,因此透視投影更具有立體感和真實感.整個投影過程分為兩個部分,第1部分是投影到近剪裁平面的過程,第2部分是由近剪裁平面縮放的過程.假設立椎體內1點在近剪裁平面上的投影是經過縮放后的最終坐標設為設所求的投影矩陣為M,根據矩陣乘法可知,如下等式成立:透視投影示意圖如圖3所示.圖3中遠裁剪平面距離原點距離為f,近裁剪平面距離原點距離為n.

      圖3 透視投影示意圖Fig.3 The schematic diagram of perspective projection

      圖4 xoz平面示意圖Fig.4 The schematic diagram of xoz

      3.3 多線程程序

      為了模擬實際車載系統(tǒng),本文設計了包括攝像頭線程、按鍵線程、串口線程等多個同步運行的子程序.提升了虛擬儀表的功能多樣性,減小了實際的物理空間.如圖5所示,攝像頭線程在汽車拐彎時,通過前后視鏡之間攝像頭的切換,對圖像視頻進行采集處理,然后將處理結果反饋到顯示屏上以供駕駛員實時了解車體周邊路況;按鍵線程作為一種消息中斷模式,在行車過程中可以用來控制如視頻窗口切換、方向燈亮滅以及其他車載娛樂信息機制;串口線程中,輸入包括儀表盤的兩個指針,即車輛速度與轉速,在輸入數(shù)據時,在相應的數(shù)據后加“L”即代表傳入數(shù)據為左側指針數(shù)據,flag_rs_data置0,左側指針進行旋轉(速度0~265 km/h).在相應的數(shù)據后加“R”即代表傳入數(shù)據為右側指針數(shù)據flag_rs_data置1,此時右側指針進行旋轉(轉速0~7.5 1 000 r/min).超出范圍時,輸入儀表將會把數(shù)據視為錯誤信息不予顯示.

      圖5 攝像頭采集圖像視頻流程圖Fig.5 The flow chart of camera capture video image

      4 試驗結果及數(shù)據分析

      本文設計的虛擬儀表系統(tǒng)在基于i.MX6Q處理器的開發(fā)板上運行效果如圖6所示.該虛擬儀表盤界面顯示精美,儀表功能完善,同時在開發(fā)板上運行流暢.在控制板子的終端中,以root的身份輸入export VIV_PROFILE=1即可在程序目錄下生成VPD文件格式的性能數(shù)據文件.用Vivante VAnalyzer軟件對數(shù)據文件進行讀取即可得到性能分析曲線如圖7所示.同時本文運行一個OpenGL ES3.0的范例作為對比,對比程序為一球型的玻璃體對環(huán)境貼圖的反射效果程序,利用了3D紋理,屬于比較復雜的范例程序.導出它的運行數(shù)據性能曲線如圖8所示.

      圖6 基于i.MX6Q虛擬儀表界面Fig.6 The automobile virtual instrument interface on i.MX6Q

      Chart1中,紅線為Frame time(幀周期),綠線為Driver time(驅動器周期).

      Chart2中,藍線為GPU cycle(GPU周期),灰線為GPU idle cycle(GPU空閑周期).

      由于數(shù)據量較大,可根據性能曲線總結各參數(shù)的主要變化范圍如表1所示.

      表1 性能曲線各參數(shù)變化范圍Tab.1 Variation range of parameters of performance curve

      對比程序的主要參數(shù)變化范圍如表2所示.

      表2 對比程序各參數(shù)主要變化范圍Tab.2 Variation range of parameters of contrast system

      通過以上系統(tǒng)設計界面的展示以及與較復雜范例程序的運行數(shù)據對比,使用OpenGL ES進行汽車虛擬儀表的設計優(yōu)勢較多,本程序的平均幀率為40幀左右,基本符合人眼對于流暢運行的最低要求,不會有卡頓感和跳幀感.本設計中對著色器的利用率為90%左右,利用率較高,在3DMAX汽車模型運行階段,GPU的利用率較高,達到了60%~80%,運行流暢,說明程序中對于復雜操作簡化的優(yōu)化效果較好.

      圖7 本系統(tǒng)程序運行的性能曲線Fig.7 Performance curve of the system program

      圖8 對比程序的運行性能曲線Fig.8 Performance curve of the contrast program

      5 結論

      本汽車虛擬儀表系統(tǒng)以i.MX6Q核心處理器開發(fā)板為硬件平臺,包括了串口程序,按鍵程序和視頻程序,對于底層驅動的調用較多,驅動利用率較高.設計中包含有較為復雜的3DMAX汽車模型以及數(shù)據量較大的視頻窗口顯示,利用OpenGL ES對圖形界面進行開發(fā),同時通過VBO、VAO,將眾多的操作簡化為GPU中著色器的簡單重復運算,減少了對CPU的占用,提高了GPU的利用率,程序運行較為流暢.本設計開發(fā)的汽車虛擬儀表對于減少儀表開發(fā)成本,降低儀表研發(fā)復雜度,提高儀表界面人性化顯示等方面具有重要的意義.

      [1]鄭孟.電動汽車的發(fā)展趨勢分析[J].科技資訊,2013,27:74-75.

      [2]Kang J T,Gan YD,QuaIl Q Q.The method of developing viaual instrument platform[J].Automous Decentralized Systems,2010:64-67.

      [3]金有娟.基于虛擬儀器技術的汽車儀表盤設計[J].機械研究與應用,2012,122(6):135-137.

      [4]王興,秦齊.車載平視顯示技術[J].電光與控制,2014,21(1):55-58.

      [5]劉寶義.淺談自動化儀表與控制系統(tǒng)[J].科技論壇,2014,32:125.

      [6]Zhao X J,Su H X.Remote monitor and control system based on ARM9 and CAN bus[J].Computer Engineer,2013,36(5):231-233.

      [7]Koppanalil J,Yeung G,O’Driscoll D,et al.A 1.6GHZ dual-core ARM Cortex A9 implementat-ion on a low power high metal gate 32nm process[C]// International Symposium on VLSI Desig-n,Automation and Test.IEEE,2011:1-4.

      [8]Freescale Semiconductor.i.MX6 Dual/6Quad Applications Processor Reference Manual[Z].2014.

      [9]Freescale Semiconductor.i.MX6 Dual/6Quad Applications Processor Reference for Industrial Products[Z].2014.

      [10]溫尚書,陳剛,馮利美.在實踐中學嵌入式Linux應用程序開發(fā)[M].北京:電子工業(yè)出版社,2012.

      [11]聶和平.基于ARM9的嵌入式Linux系統(tǒng)移植與驅動開發(fā)[D].南京:南京郵電大學,2013:6-33.

      [12]徐青松.智能車載設備嵌入式操作系統(tǒng)裁剪研究[D].長沙:長沙理工大學,2013:17-37.

      [責任編輯 代俊秋]

      Design of automobile virtual instrument based on i.MX6Q and OpenGL ES

      LI Ruiqi1,NIU Xinhuan1,WANG Zhengyu2,YAO Yao3
      (1.Tianjin Key Laboratory of Electronic Materials and Devices,Hebei University of Technology,Tianjin 300130,China;2.School of Electrical and Automation Engineering,Tianjin University,Tianjin 300072,China;3.Tianjin Metrology Supervision and Testing Research Institute,Tianjin 300192,China)

      A new type of virtual instrument was designed in this paper.The board was developed by NXP,using i.MX6Q as the core processor of hardware platform.It can reduce the development cost of the automobile instrument and improve the GPU utilization,create a multi-threaded program can reduce physical space.At the same time,basing on Linux system as a software development platform,OpenGL ES was used for virtual instrument graphic interface development which involved set the VBO and the 3DS model conversion.It can enhance the friendliness of user interface.This kind of new virtual instrument system has the advantages of cross-platform,low cost,elegant interface,good scalability,etc.In view of the embedded system has a low computing and graphics processing power,smaller storage space,lower display resolution.

      virtual instrument;i.MX6Q;OpenGL ES;3DS;graphical interface development

      TP391

      A

      1007-2373(2017)02-0001-05

      10.14081/j.cnki.hgdxb.2017.02.001

      2016-12-13

      國家02重大專項(2016ZX02301003-004-007);天津市自然科學基金(16JCYBJC16100);天津市科技計劃項目(10ZCKFGX01300)

      李睿琦(1989-),女,碩士研究生.通訊作者:牛新環(huán)(1973-),女,教授.

      猜你喜歡
      著色器儀表投影
      ◆ 儀表
      建筑與預算(2023年2期)2023-03-10 13:13:36
      ◆ 儀表
      建筑與預算(2022年5期)2022-06-09 00:55:10
      儀表
      建筑與預算(2022年2期)2022-03-08 08:40:56
      解變分不等式的一種二次投影算法
      基于UE4 實時射線追蹤技術的研究與探討
      基于最大相關熵的簇稀疏仿射投影算法
      基于Unity Shader石油泄漏現(xiàn)象模擬的研究
      基于IMx6的opengl圖形著色器開發(fā)研究
      中國新通信(2020年2期)2020-06-24 03:06:44
      找投影
      找投影
      學生天地(2019年15期)2019-05-05 06:28:28
      乌鲁木齐县| 武山县| 霍林郭勒市| 梁河县| 天津市| 云安县| 汉阴县| 莆田市| 新和县| 宜君县| 文昌市| 白玉县| 印江| 屏东市| 文安县| 宣城市| 嘉鱼县| 佛坪县| 祥云县| 名山县| 肥西县| 胶州市| 博客| 灵武市| 肃宁县| 鸡泽县| 克拉玛依市| 巴中市| 长春市| 沙洋县| 荔浦县| 平遥县| 石嘴山市| 白朗县| 华蓥市| 和静县| 水富县| 华容县| 长顺县| 临夏市| 天镇县|