新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM 和Qt/E的車載HMI終端的設計方案

        基于ARM 和Qt/E的車載HMI終端的設計方案

        作者: 時間:2012-04-27 來源:網絡 收藏

        摘要:是人與車輛之間的關鍵設備,使人能夠對車輛的運行實現控制;了一種觸摸控制與數字顯示合理結合的,采用作為處理器,通過移植對系統加以實現;該通過在Polo車CAN總線試驗臺測試,實現了對基本設備的觸摸控制和車輛狀態信息的實時顯示,表明所能夠滿足的基本要求。

        本文引用地址:http://www.104case.com/article/149173.htm

        0引言

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

        本文報告了一種觸摸控制與數字顯示理念的車載HMI終端,通過在上移植接TFT-LCD觸摸面板加以實現。

        1系統結構介紹

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

        圖1 車載HMI終端結構

        圖1車載HMI終端結構

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

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

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

        2Qt/E在ARM上的移植

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

        2.1交叉編譯環境的搭建

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

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

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

        減壓ARM版Qt/E安裝包到指定目錄,然后進入該目錄執行編譯配置源碼命令#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版本配置參數為embeddedarm,使用arm-linux交叉編譯器進行編譯為xplatformqws/linuxarm-g++,qt-mouse-tslib是使用tslib來驅動觸摸屏。然后執行make命令進行編譯,當編譯完成之后執行安裝命令makeinstall.最后把安裝文件打包#tarcvzfqt4.7.tgz,下載到ARM開發板,并解壓到指定目錄。至此Qt/E在ARM開發板上移植完成。

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

        3車載HMI終端的硬件設計

        3.1CAN/RS232協議轉換器的硬件設計

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

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

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

        c++相關文章:c++教程



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 青海省| 大埔县| 佛冈县| 台东县| 张北县| 邵东县| 贵溪市| 含山县| 陵水| 湖北省| 武安市| 齐齐哈尔市| 阿巴嘎旗| 奉贤区| 太仓市| 长春市| 葫芦岛市| 乌海市| 铅山县| 泰兴市| 景德镇市| 襄樊市| 新巴尔虎右旗| 黎平县| 临夏市| 海城市| 城固县| 双桥区| 洮南市| 稻城县| 天峨县| 临汾市| 曲松县| 河曲县| 阿克| 西盟| 扶余县| 如皋市| 泰宁县| 仪陇县| 楚雄市|