日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于ARM 和Qt/E的車載HMI終端的設計方案

摘要:車載HMI是人與車輛之間的關鍵設備,使人能夠對車輛的運行實現(xiàn)控制;設計了一種觸摸控制與數(shù)字顯示合理結合的車載HMI終端,采用ARM作為處理器,通過移植Qt/E對系統(tǒng)加以實現(xiàn);該終端通過在Polo車CAN總線試驗臺測試,實現(xiàn)了對基本設備的觸摸控制和車輛狀態(tài)信息的實時顯示,表明所設計的終端能夠滿足車載HMI的基本要求。

0引言

改善HMI(HumanMachineInterface)終端性能可降低車輛控制系統(tǒng)操作的復雜性,也可提高駕駛員對自己車輛的控制力。車載HMI通過單一結構中控臺,可以減少零部件數(shù)量,提高性價比。傳統(tǒng)機械式的控制終端正在逐步向直觀、便捷的HMI終端發(fā)展。2009年6月29日,美國汽車多媒體與通信研究服務公司StrategyAnalytics發(fā)布最新研究報告,認為"車載人機界面市場領先者保持強勢地位".報告預測,2015年,車載語音和觸摸屏市場規(guī)模將達到29億美元。目前,HMI設備,尤其是語音、觸覺控制和觸摸屏,在汽車市場上被大量應用。

本文報告了一種基于觸摸控制與數(shù)字顯示理念的車載HMI終端,通過在ARM上移植Qt/E接TFT-LCD觸摸面板加以實現(xiàn)。

1系統(tǒng)結構介紹

基于ARM和Qt/E的車載HMI終端主要由兩個模塊組成,分別是ARM處理器與觸摸顯示屏組成的HMI觸控平臺和CAN/RS232協(xié)議轉換器模塊。該終端可接入車載CAN網(wǎng)絡中實現(xiàn)車載設備的觸摸控制與狀態(tài)信息顯示。其結構框圖如圖1所示。

圖1車載HMI終端結構

HMI觸控平臺主要是將Qt/E交叉編譯后移植到ARM平臺,調用GUI在觸摸面板顯示。通過點擊觸控界面發(fā)送控制字,經CAN/RS232網(wǎng)關發(fā)送到CAN網(wǎng)絡中對各設備進行控制,同時實時采集各設備運行狀態(tài)參數(shù)并顯示,便于駕駛員及時了解車輛運行狀態(tài)。該平臺還預留了UART和USB端口分別可外接GPS模塊,無線上網(wǎng)卡或U盤設備,實現(xiàn)導航、無線上網(wǎng)和多媒體播放功能。

CAN/RS232協(xié)議轉換模塊主要由MCU、CAN接口與UART接口組成,其中CAN接口采用CAN控制器SJA1000和CAN收發(fā)器PCA82C250設計,RS232接口采用MAX232設計,以此實現(xiàn)兩種不同總線協(xié)議數(shù)據(jù)幀的透明轉換,是HMI終端與CAN網(wǎng)絡中各設備交互的紐帶。

車載CAN網(wǎng)絡模塊主要以Polo車CAN試驗臺為平臺,試驗臺集成了車燈、電動車窗、雨刷和后視鏡CAN節(jié)點模塊。

2Qt/E在ARM上的移植

Qt/E是Trolltech公司專為嵌入式Linux系統(tǒng)開發(fā)的圖像用戶界面(GUI)工具包。提供了窗口操作系統(tǒng)、開發(fā)環(huán)境、工作輔助應用程序和個性選項等,是基于C++可跨平臺的GUI應用程序框架;還提供給開發(fā)者建立藝術級GUI所需的功能,開發(fā)者可根據(jù)需求定制整個軟件解決方案。目前,眾多手機、PDA、機頂盒都采用Qt作為圖形引擎。因此,選擇了Qt/E作為HMI終端的開發(fā)工具。

2.1交叉編譯環(huán)境的搭建

采用宿主機Fedora9.0作為開發(fā)平臺,移植ARM版Qt/E4.7進行設計。因編譯Linux內核和Qt/E都需要交叉編譯工具鏈,交叉編譯器版本過高過低都會與Qt/E4.7不兼容,最終導致安裝失敗,所以一定要根據(jù)Qt的版本來選擇對應的編譯器。本系統(tǒng)采用arm-linux-gcc-4.5.1.安裝過程如下:

首先,解壓arm-linux-gcc-4.5.1安裝包,運行#tarxvzfarm-linux-gcc-4.5.1.tgz命令;然后將編譯器所在路徑加入系統(tǒng)環(huán)境變量,運行#gedit/root/.bashrc編輯該文件,修改最后一行為exportPATH=PATH:/usrt/local/arm/4.5.1/binPATH,此時交叉編譯器已經安裝好;最后執(zhí)行#arm-linux-gcc-v顯示編譯器版本信息,驗證是否安裝成功。

2.2Qt/E4.7的編譯與移植

減壓ARM版Qt/E安裝包到指定目錄,然后進入該目錄執(zhí)行編譯配置源碼命令#echoyes|./configure-opensource-embeddedarm–xplatformqws/linux-arm-g++-no-webkit-qt-libtiff-qt-libmng-qt-mouse-tslib-qt-mouse-pc-no-mouse-linuxtp-no-neon.其中編譯ARM平臺的embedded版本配置參數(shù)為embeddedarm,使用arm-linux交叉編譯器進行編譯為xplatformqws/linuxarm-g++,qt-mouse-tslib是使用tslib來驅動觸摸屏。然后執(zhí)行make命令進行編譯,當編譯完成之后執(zhí)行安裝命令makeinstall.最后把安裝文件打包#tarcvzfqt4.7.tgz,下載到ARM開發(fā)板,并解壓到指定目錄。至此Qt/E在ARM開發(fā)板上移植完成。

安裝Linux環(huán)境下X86版QtSDK軟件-QtCreator2.0進行Qt程序開發(fā),設置為支持Qt4.7ARM的交叉編譯。最后將設計好的程序通過編譯,生產二進制文件下載到ARM開發(fā)板運行,以此實現(xiàn)HMI界面顯示功能。

3車載HMI終端的硬件設計

3.1CAN/RS232協(xié)議轉換器的硬件設計

CAN/RS232協(xié)議轉換器主要有主控制器、CAN接口模塊與RS232接口模塊組成,其中主控制器采用STC89C52單片機負責處理CAN總線與RS232總線的數(shù)據(jù)接收與發(fā)送,實現(xiàn)兩種不同協(xié)議數(shù)據(jù)幀的透明轉換與傳輸。

CAN接口模塊采用Philips公司的CAN控制器SJA1000和CAN收發(fā)器PCA82C250芯片組成,主要實現(xiàn)CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能。其中CAN控制器完成數(shù)據(jù)鏈路層功能,實現(xiàn)與主控制器的信息讀寫操作,物理層通過CAN收發(fā)器實現(xiàn)電平轉換和傳輸。SJA1000的AD0~AD7與單片機P0口連接,實現(xiàn)地址/數(shù)據(jù)復用;片選/CS與P2.7相連,則基地址為0x7F00;/RD、/WD、ALE引腳依次與單片機各引腳相連;中斷/INT接單片機/INT0,因此可通過中斷方式對SJA1000進行實時訪問。SJA1000的MODE引腳用于選擇CAN控制器在Intel模式還是在Motorola模式工作。由于STC89C52屬于Intel系列微控制器,故MODE引腳接+5V高電平設置為Intel模式,以滿足89C52的讀寫時序要求。為了增強節(jié)點的抗干擾能力,以及避免當CAN收發(fā)器失效時出現(xiàn)過流導致CAN控制器擊穿,SJA1000的TX0和RX0引腳通過光耦N6137后與PCA82C250的TXD和RXD連接,以此實現(xiàn)總線上節(jié)點間電器隔離;收發(fā)器CAN_H和CAN_L引腳通過5Ω電阻與CAN總線端口連接起到限流作用;同時兩端接120Ω終端匹配電阻。

RS232接口電路采用MAX232芯片,實現(xiàn)單片機串口TTL電平與RS232電平相互轉換,完成HMI終端UART口的信息傳輸。STC89C52串口端(P3.0和P3.1)與MAX232的T1IN和R1OUT連接,T1OUT與R1IN接九針串口,然后通過交叉線與HMI終端連接實現(xiàn)數(shù)據(jù)通信。[!--empirenews.page--]

3.2車載HMI觸控平臺的設計

HMI觸控平臺以ARM為處理器,接7.0寸LCD觸摸屏來實現(xiàn),可取代傳統(tǒng)的(如圖2A)機械按鍵與表盤顯示的中控平臺。HMI觸控平臺如圖2B所示,由車燈、車窗、后視鏡、多媒體、空調、導航以及狀態(tài)參數(shù)顯示菜單組成。將該終端嵌入到方向盤,駕駛員可點擊觸控菜單進入車燈、車窗等控制界面(如圖2C和D)實現(xiàn)車燈、車窗等設備的觸摸控制,也可實時采集與顯示設備狀態(tài)參數(shù)如:車速、故障碼等。其中,觸控與顯示數(shù)據(jù)需調用ARM底層串口驅動來實現(xiàn)讀寫操作,觸控界面通過Button控件的信號與槽機制來實現(xiàn)數(shù)據(jù)的發(fā)送,狀態(tài)參數(shù)的采集與顯示通過事件驅動方式實現(xiàn)。終端可外接GPS模塊實現(xiàn)導航功能,設計了Qt媒體媒體播放器實現(xiàn)娛樂功能,也可接入無線網(wǎng)卡來實現(xiàn)無線上網(wǎng)功能。

圖2車載HMI終端

4車載HMI終端的軟件設計

4.1CAN/RS232網(wǎng)關軟件設計

主程序中首先要完成初始化操作,包括單片機、SJA1000、RS232通信以及中斷源的初始化。其中SJA1000的初始化是整個設計最重要的部分,也是保證CAN通信的前提??紤]車輛內部網(wǎng)絡的兼容性,SJA1000配置為Peli模式,支持CAN2.0A和B規(guī)范,實現(xiàn)標準幀和擴展幀兩種報文傳輸。SJA1000初始化寄存器配置流程如圖3所示。

圖3SJA1000初始化寄存器配置流程

為保證數(shù)據(jù)實時傳輸,采用中斷方式進行數(shù)據(jù)收發(fā)。

當CAN總線有數(shù)據(jù)接收時SJA1000會跳入接收中斷函數(shù)將數(shù)據(jù)接收并存儲到接收緩存,根據(jù)數(shù)據(jù)幀頭來判別數(shù)據(jù)類型和所帶數(shù)據(jù)長度,最后提取CAN數(shù)據(jù)拆分為單字節(jié)通過串口發(fā)送,并在HMI終端顯示;當HMI終端有控制字發(fā)送,串口接收中斷函數(shù)將所發(fā)送的控制字依次接收存入接收緩存,并根據(jù)首字節(jié)來判別所發(fā)數(shù)據(jù)類型和長度,組裝成CAN數(shù)據(jù)幀格式發(fā)送到網(wǎng)絡中去,以此實現(xiàn)各節(jié)點的控制。具體流程如圖4所示。

圖4數(shù)據(jù)接收與發(fā)送流程圖

4.2車載HMI界面的設計

HMI界面采用QtCreator2.0來設計,因為HMI終端是通過UART接口接入CAN網(wǎng)絡中,所以通信時需接上面所介紹的CAN/RS232協(xié)議轉換器來實現(xiàn)。同時,還需在Linux下編寫Qt串口通信程序。

首先,在Linux下利用open函數(shù)打開串口設備,用tcsetattr函數(shù)來設置串口屬性。打開驅動設備UART0進行讀寫操作:constchar*devName="/dev/ttySAC0";fd=::

open(devName,O_RDWR|O_NONBLOCK);設置波特率等參數(shù):serialAttr.c_cflag=B115200|HUPCL|CS8|CREAD|CLOCAL;serialAttr.c_cc[VMIN]=1;其中串口設備可使用Linux下I/O函數(shù)進行Read和Write操作。但是,在數(shù)據(jù)接收時當數(shù)據(jù)量過大會導致界面被阻塞(造成界面假死),于是創(chuàng)建了一個線程通過事件驅動實現(xiàn)數(shù)據(jù)接收。

Qt中可采用QSocketNotifier類來實現(xiàn)設備事件驅動的設計要求。QSocketNotifier類關聯(lián)Signal/Slot機制,當有數(shù)據(jù)可讀時會觸發(fā)Ativated信號,LCDNumber控件Slot會被調用來連接到該信號并顯示,從而實現(xiàn)數(shù)據(jù)采集與顯示功能。在數(shù)據(jù)發(fā)送時,可通過Button控件Signal/Slot調用QObject對象的connect()函數(shù)來實現(xiàn)[3].當按鍵被按下時觸發(fā)Signal信號,Slot會調用pressed()函數(shù)將定義好的數(shù)據(jù)通過串口Write函數(shù)發(fā)送到總線上。函數(shù)實現(xiàn)如下:

voidGlass::on_lu_pressed(){charmsg[]={160,34,16,0};//定義所發(fā)送數(shù)據(jù)myserial->myCom->write(msg,4);//寫發(fā)送數(shù)據(jù)}

通過QPainter類進行對窗體界面和按鍵圖像界面進行設計,達到美觀的人機界面。最后將設計好的程序通過交叉編譯,生產二進制文件移植到ARM中,然后在文件系統(tǒng)中調用執(zhí)行,最終在LCD觸摸屏上顯示,如圖2所示。

5系統(tǒng)集成與測試

首先將設計好的HMI終端通過交叉串口線與PC機連接,進行相互通信,測試是否能夠進行數(shù)據(jù)收發(fā),測試成功后通過CAN/RS232網(wǎng)關接入Polo車CAN試驗臺進行綜合測試。試驗臺設備節(jié)點可通過觸摸方式控制,同時可實時采集與顯示運行狀態(tài)信息,經過多次實驗測試,運行穩(wěn)定可靠,達到了設計要求。

6結束語

本文所設計的車載HMI終端集車身控制、儀表顯示、導航、多媒體和無線上網(wǎng)為一體,簡化了車載中控平臺,降低了車輛控制系統(tǒng)操作的復雜性。經實驗測試實現(xiàn)了車身設備的觸摸控制,能夠對各設備運行狀態(tài)信息進行采集與顯示。為車載HMI開發(fā)提供了一種可行的設計思路與性價比更合理的解決方案。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉