章敏鳳
【摘 要】針對現有汽車儀表的不足和車聯(lián)網技術的快速發(fā)展趨勢,論文設計了一種以飛思卡爾公司推出的低功耗ARM芯片
i.MX6Q為硬件核心,基于QNX+KANZI的全數字式儀表,能實時顯示車輛數據,緊急情況時能顯示車聯(lián)網終端發(fā)送的信息。相對于傳統(tǒng)的汽車儀表,本設計接口更加豐富、人機交互方式更加友好。
【Abstract】Aiming at the shortage of existing automobile instruments and the rapid development trend of the technology of vehicle networking, In this paper, a full digital instrument based on QNX+KANZI is designed, which is with the hardware core of the low power ARM chip i.MX6Q launched by Freescale Company. The instrument can display the vehicle data in real time and can display the information sent by the network terminal in an emergency. Compared with the traditional automobile instrument, this design interface is more abundant and the human-computer interaction is more friendly.
【關鍵詞】車聯(lián)網;數字式儀表;QNX;KANZI
【Keywords】 internet of cars; digital instruments; QNX; KANZI
【中圖分類號】U260.5 【文獻標志碼】A 【文章編號】1673-1069(2018)04-0139-02
1 引言
隨著汽車產業(yè)向智能制造的轉型與升級,智能互聯(lián)必將成為現代汽車產業(yè)發(fā)展的趨勢之一?;ヂ?lián)網汽車將逐步向人機交互、多屏互聯(lián)以及智能安全方向發(fā)展,儀表在汽車智能化的進程中起到了極其重要的作用。本文設計了一種以飛思卡爾公司推出的低功耗ARM芯片i.MX6Q為硬件核心,基于QNX+KANZI的全數字式儀表,正常行駛時能實時顯示車輛數據,緊急情況時能顯示車聯(lián)網終端發(fā)送的信息。相對于傳統(tǒng)的汽車儀表,本設計接口更加豐富、人機交互方式更加友好,不僅實現了汽車儀表的實時美觀,更極大地保障駕駛人員的安全。
2 系統(tǒng)硬件電路方案設計
全數字式儀表采用兩塊12.3英寸彩屏(分辨率為1920*720)、一個揚聲器、導光支架、背光模組及前框和后殼等構成,以圖形化的顯示形式把車輛基本狀態(tài)數據及報警提示等綜合顯示出來[1]。主控制單元i.MX6Q基于NXP(Freescale) ARM Cortex-A9架構,最高運行頻率可達1.2GHz,處理器內部為64/32位總線結構,可實現12000DMIPS的高性能運算能力,自帶2D圖形加速,3D圖形加速引擎,最大可支持4096*4096 pixels分辨率,視頻解碼支持MPEG-4/H.263/H.264達到1080P@30fps,解碼MPEG2/VC1/Xvid視頻達到1080P@30fps,動畫運行流暢、圖片處理速度快。顯示屏采用10.1寸TFT屏,分辨率為1366*768,可清晰顯示以虛擬指針形式顯示的車輛主要運行數據,也能清晰顯示報警圖片、文字、視頻信號等。系統(tǒng)總體硬件框圖如圖1所示。
i.MX6Q具有2路CAN控制器,本設計采用MCP2551作為CAN協(xié)議控制器和物理總線接口,MCP2551是一個可容錯的高速CAN器件,基于MCP2551的CAN接口電路如圖2所示。用于采集CAN總線上的報文信息。
來自硬線的模擬信號如燃油信號通過ADC采集。車輛與車聯(lián)網指揮終端采用WIFI和GPRS兩種通信模式[2]。
3 QT虛擬儀表軟件設計
本設計采用QNX操作系統(tǒng),QNX 由于其支持多任務、多用戶、多線程被大多數嵌入式開發(fā)者所青睞,它可以高效的管理各任務的調度,組織分配資源,使得程序開發(fā)更加的方便快捷,更利于后期維護,擁有強大的穩(wěn)定性與安全性。GUI工具Qt一個跨平臺的用于創(chuàng)建精彩用戶界面和強大原生應用的框架。它包括一套平臺的類庫,一整套整合的開發(fā)工具和跨平臺的集成開發(fā)環(huán)境。Qt 具有優(yōu)良的跨平臺性、面向對象、豐富的 API、詳盡的輔助文檔以及多線程管理和網絡支持等功能。開發(fā)者使用 Qt 可以選擇適合自己的開發(fā)方式,即可選擇直觀的 C++編碼方式,也可以使用適用于初學者的 Qt 標記性語言 QML。當然更可以活用二者,后端應用邏輯和業(yè)務邏輯采用 Qt C++,界面動畫的開發(fā)使用QML。Qt 的代碼可重用資源是相當龐大的,開發(fā)者可以使用一個代碼庫就可以配置嵌入式和移動平臺,這對嵌入式開發(fā)工程師和移動設備開發(fā)者來講是相當的便利的。Qt 也提供企業(yè)版的工具、支持、服務確保實現開發(fā)目的[3]。所構建的開發(fā)平臺采用模塊化的設計方法,將虛擬儀表軟件分為通信初始化模塊、OBD 數據解析模塊、計算與顯示模塊。為充分利用 Qt 的已有功能,進行程序設計時,遵循如下原則:
①根據 Qt 已有的類庫找到合適的類,并利用其所提供的方法建立對象彼此間的聯(lián)系;
②當 Qt 庫中沒有合適的類可以調用時,則利用第三方的類庫或者根據項目的需要,自己定義相應的類。
圖形顯示模塊的設計關鍵在于虛擬儀表指針動態(tài)顯示效果的實現。在實際實現時,采用 Qt 第三方圖標庫 Qwt 中的 Qwt Dial 類構成儀表。Qwt 庫采用 LGPL 版權協(xié)議的開源項目,先通過源代碼本地編譯生成運行庫,再以動態(tài)鏈接庫( dll) 的方式使用。
系統(tǒng)整體效果圖如圖3所示。
4 總結
本設計能夠提高人機交互圖形界面的研發(fā)效率,降低研發(fā)成本。本文根據車載儀表顯示器的設計需求,提供了一種針對大屏幕、高分辨率顯示器的汽車儀表圖形解決方案。采用QT進行圖形界面的設計開發(fā),軟件對圖形進行反走樣等優(yōu)化處理,在
i.MX6Q的硬件平臺中獲得良好的顯示效果。
【參考文獻】
【1】李睿琦, 牛新環(huán), 王征宇,等.基于i.MX6Q和OpenGL ES的汽車虛擬儀表的設計[J].河北工業(yè)大學學報, 2017,46(2):1-5.
【2】屠雨, 張鳳登,單冰華.基于汽車OBD車聯(lián)網的設計與實現[J].電子測量技術,2016,39(8):32-36.
【3】王維斌.汽車虛擬儀表平臺的設計[J].電子技術與軟件工程,2017(15):249-249.