<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM 和Qt/E的車(chē)載HMI終端設計

基于A(yíng)RM 和Qt/E的車(chē)載HMI終端設計

作者: 時(shí)間:2012-06-18 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引言

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

本文報告了一種基于與數字顯示理念的,通過(guò)在A(yíng)RM 上移植Qt/E接TFT-LCD觸摸面板加以實(shí)現。

1 系統結構介紹

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

圖1 結構

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

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

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

2 Qt/E在A(yíng)RM 上的移植

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

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

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

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

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

減壓ARM 版Qt/E安裝包到指定目錄,然后進(jìn)入該目錄執行編譯配置源碼命令#echo yes | ./configure -opensource-embedded arm –xplatform qws/linux-arm-g++-no-webkit-qt-libtiff-qt-libmng-qt-mouse-tslib-qt-mouse-pc-no-mouse-linuxtp-no-neon.其中編譯ARM 平臺的embedded版本配置參數為embedded arm,使用arm-linux交叉編譯器進(jìn)行編譯為xplatform qws/linuxarm-g++,qt-mouse-tslib是使用tslib來(lái)驅動(dòng)觸摸屏。然后執行make命令進(jìn)行編譯,當編譯完成之后執行安裝命令make install.最后把安裝文件打包#tar cvzf qt4.7.tgz,下載到ARM 開(kāi)發(fā)板,并解壓到指定目錄。至此Qt/E在A(yíng)RM 開(kāi)發(fā)板上移植完成。

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

3 車(chē)載HMI終端的硬件設計

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

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

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

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

3.2 車(chē)載HMI觸控平臺的設計

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


上一頁(yè) 1 2 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>