《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于嵌入式Linux與QT的汽車虛擬儀表
基于嵌入式Linux與QT的汽車虛擬儀表
現代電子技術
王潤民 趙祥模 惠飛 楊瀾 史昕
摘要: 針對傳統儀表和現有儀表存在的不足,本文提出了一種新型的車載虛擬儀表設計方案,采用ARM處理器S3C6410為核心的硬件平臺和以嵌入式Linux系統為核心的軟件平臺,并在此基礎上采用開放源代碼的圖形界面庫QT開發儀表終端應用程序。該虛擬儀表可讀性好,讀數精度高,在可移植性、可維護性和成本方面都得到了良好的改善,具有較大的科研價值和商業使用價值。
Abstract:
Key words :

儀表作為汽車整個系統中十分重要的部分,是提高汽車綜合性能的重要方面之一。隨著計算機軟硬件技術、總線技術、電子技術等的快速發展,控制系統臃腫、接線布線復雜、占用空間大的傳統電磁機械儀表漸漸被淘汰,虛擬儀表正以傳統機械儀表無法比擬的速度迅猛發展。目前虛擬儀表通常包括純數字儀表和虛擬儀表盤儀表2種:純數字儀表成本較低,但功能和界面比較簡單,滿足不了一般駕駛員的需求;而現有的虛擬儀表盤儀表雖然功能和界面比較豐富,但又存在著開發成本高、可移植性和可重繪性差、可擴展性不足等缺點,不利于大范圍的推廣與應用。

針對傳統儀表和現有儀表存在的不足,本文提出了一種新型的車載虛擬儀表設計方案,采用ARM 處理器S3C6410為核心的硬件平臺和以嵌入式Linux系統為核心的軟件平臺,并在此基礎上采用開放源代碼的圖形界面庫QT開發儀表終端應用程序。該虛擬儀表可讀性好,讀數精度高,在可移植性、可維護性和成本方面都得到了良好的改善,具有較大的科研價值和商業使用價值。

1 系統總體設計

本文所介紹的車載虛擬儀表的基本設計思想是將汽車上安裝的各種傳感器采集到的數據進行智能化的處理,然后在運行于嵌入式Linux系統的使用QT設計的虛擬儀表盤上進行顯示,以便于監測汽車各系統的工作狀況,如剩余油量、當前車速、行駛里程等,并在某狀態出現異常或存在危險時向駕駛員提示報警。

如圖1所示,本車載虛擬儀表系統的設計總體由3個部分組成:

(1)信號采集:對汽車上安裝的的各種傳感器采集的速度、剩余油量等汽車狀態信息,經過處理轉換后,將其轉換為計算機可以識別的數字量;(2)數據處理:將"信號采集"過程傳輸來的數據進行必要的處理,將有用的數據保存,以便于顯示和報警,本過程主要由嵌入式處理器完成;(3)人機交互:將"數據處理"過程處理完成的數據,在使用QT設計的虛擬儀表盤上動態顯示,主要顯示內容有:當前速度、燃油箱的存油量、時間日期、行駛里程、報警燈等;在某項狀態出現異常時,通過報警模塊向駕駛員提示報警。

圖1 虛擬儀表系統結構框圖

2 虛擬儀表硬件設計

虛擬儀表的硬件結構圖如圖2所示。虛擬儀表的核心處理器采用ARM1176JZF-S核的S3C6410芯片,其主頻最高可達到667MHz,內部繼承了強大的多媒體處理單元,帶有3D圖形硬件加速器,并支持2D圖形圖像的平滑縮放等操作,有利于為用戶提供高靈敏度的汽車狀態動態顯示;外接256 MB SDRAM 和2GBNANDFLASH;串口連接信號轉換處理模塊,轉換處理模塊內部集成CAN-RS232轉換器及24位的A/D轉換器LTC2414,接收相關傳感器采集的各種汽車狀態信號,并經過處理后,將處理完成的數據上傳至處理器;外接LCD模塊采用8寸TFT液晶顯示屏,處理器內部集成的LCD控制器信號線經過驅動電路后即可連接LCD模塊,為虛擬儀表顯示提供了硬件平臺;外接由語音芯片組成的報警模塊,在必要的時候可以由處理器驅動報警模塊以語音的形式向駕駛員提示報警。

圖2 虛擬儀表的硬件結構圖

3 虛擬儀表軟件設計

本系統采用嵌入式Linux作為操作系統,在Linux平臺下編寫虛擬儀表的驅動程序和應用程序,采用QT/embedded設計虛擬儀表軟面板。應用程序的主要功能有,當接收到各個經轉換處理的傳感器采集到的信號后,將其有用的數據提取并加以存儲,然后調用儀表顯示程序,將需要顯示的內容顯示到不同的虛擬儀表盤中,同時并行判斷各項參數是否正常,若出現異常則調用語音報警程序和顯示程序提示報警。虛擬儀表軟件結構圖如圖3所示。虛擬儀表軟件開發主要有2個內容:開發環境的搭建、虛擬儀表應用程序的設計。

圖3 虛擬儀表的軟件結構圖

3.1 開發環境的搭建

為了開發滿足功能的應用程序,本文采用的軟件開發環境是Vmware WorkStation 7虛擬機和Fedora 13操作系統,在此環境中安裝交叉編譯器ARM-linux-gcc 4.5.1,用來完成包含相關驅動程序的虛擬儀表系統內核、QT庫和應用程序的編譯;編譯安裝QT/Embedded庫,用來支持虛擬儀表人機交互界面程序的開發并生成虛擬儀表系統中需要的QT庫文件;編譯Tslib觸摸屏庫,為虛擬儀表系統添加觸摸屏支持;在Fedora13系統中安裝QT Creator軟件,用于完成虛擬儀表系統應用程序的開發;移植嵌入式設備的系統引導程序U-boot;編寫硬件平臺相關驅動,然后裁剪編譯Linux2.6.10內核并在其中加載已編譯的相關驅動;制作硬件平臺需要的根文件系統,在其中移植已配置、編譯過的tslib庫和QT/Embedded庫。

3.2 應用程序開發

本虛擬儀表系統的的應用程序基于QT/Embedded平臺,使用QT的輕量級集成開發環境QT Creator完成開發,最后在已搭建的開發環境中編譯生成可執行二進制文件,并將其移植到硬件平臺中的文件系統中進行測試。

虛擬儀表系統應用程序的主要工作流程如圖4所示,在系統上電后,應用程序開始運行,要實現汽車虛擬儀表系統的功能,應用程序需要完成虛擬儀表面板和后臺處理程序的開發:

圖4 系統軟件工作流程圖

3.2.1 虛擬儀表面板的繪制

虛擬儀表面板主要將汽車的一些基本狀態在LCD上通過表盤和數字直觀、動態的顯示出來,本設計中采用速度、油量、電池電量、時間日期、安全帶、安全氣囊、行駛里程等狀態。

為了提高本虛擬儀表的可擴展性和可維護性,在本設計中,為每種具體的虛擬儀表對象定義一個抽象類。

下面即以儀表盤類(QMeter)為例介紹本系統中虛擬儀器面板的繪制。

在需要顯示的各種狀態中,速度和油量通常以儀表盤形式顯示,虛擬儀表模塊中的虛擬儀表盤采用QT的二維圖形引擎的基礎類QPainter開發。QPainter具有豐富的圖形圖像繪制函數,并支持反走樣、漸變填充、像素混合、線性變換等特性,利用這些函數完成儀表盤的繪制。

QMeter類的定義如下:

3.2.2 后臺處理程序

后臺處理程序主要將系統下層采集的數據進行分析處理,將有用的數據傳送至虛擬儀表面板顯示,實現虛擬儀表的動態顯示,同時以多線程的方式不斷檢測汽車各項狀態,當某項狀態出現異常或存在危險時驅動LCD和語音芯片向駕駛員報警,其中異常狀態有超速、存油量過低、電池電量過低等。下面以報警子程序為例講解后臺處理子程序。

報警子程序在后臺處理程序中新建一個線程,通過多線程的方式以輪詢的方式查詢各個傳感器的狀態,當發現某個狀態存在危險時,驅動語音芯片發出相應的報警信息。其定義如下:

QT特有的信號與槽(signal/slots)機制實現方式如下:

通過調用QObject對象的connect函數,將報警線程的sendData信號與主線程的槽函數Deal()關聯,當報警偵聽線程發射信號時,主線程槽函數及時被調用,驅動報警。

4 應用程序示例

將裁剪、編譯過的內核與制作的帶QT庫的文件系統燒寫到開發板。在開發環境內交叉編譯編寫的應用程序,得到可執行二進制文件,將此文件移植到開發板,即可實現應用程序的發布。重新開機,運行應用程序即顯示虛擬儀表界面,如圖5所示。

圖5 基于嵌入式Linux與QT的汽車虛擬儀表主界面

通過汽車上的各種傳感器采集數據,通過控制器和高速CAN總線傳送到S3C6410硬件平臺解析,應用程序得到解析后的數據后,即可動態的顯示當前車輛的各種狀態及報警情況。

5 結 語

本文設計的汽車虛擬儀表,具有優良的跨平臺性能;該設計方案使得儀表信息量增大,操作簡單,易于維護,界面友好;采用開放源碼設計,使得本系統開發成本降低;使用雙緩沖技術消除了儀表顯示頁面的閃爍;采用多線程技術,使處理、顯示與報警同時進行,提高了系統的實時性與靈敏度;將具體的虛擬儀表對象定義為抽象類,增強了虛擬儀表的擴展性。經實驗測試,本虛擬儀表系統的所有功能模塊均能正常運行,該系統的應用將對降低汽車的成本,縮短汽車儀表系統的研發周期,提供高友好度的人機界面具有重要的意義。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久热精品视频在线观看| 欧美午夜不卡| 亚洲女女女同性video| 亚洲精品综合久久中文字幕| 久久激情中文| 欧美一区二区精品| 欧美一区二区三区成人| 欧美在线视频日韩| 亚洲欧美日韩区| 亚洲欧美成aⅴ人在线观看| 一本色道久久综合亚洲二区三区| 亚洲日韩中文字幕在线播放| 亚洲精品1区2区| 亚洲欧洲日韩综合二区| 亚洲欧洲日本国产| 亚洲精品一区二区三区av| 亚洲欧洲精品一区二区精品久久久| 亚洲国产高清在线| 亚洲欧洲日产国码二区| 亚洲六月丁香色婷婷综合久久| 亚洲免费福利视频| 一区二区久久久久| 亚洲一区免费观看| 欧美一级在线播放| 久久精品女人天堂| 亚洲精品美女在线观看| 亚洲美女免费视频| 亚洲一二三四久久| 欧美有码在线观看视频| 久久成人资源| 美日韩精品免费观看视频| 欧美激情视频免费观看| 欧美日韩一区二区欧美激情| 国产精品久久久一区麻豆最新章节| 国产精品亚洲第一区在线暖暖韩国| 国产精品va在线播放| 国产欧美一区二区三区在线看蜜臀| 国产三区精品| 亚洲国产精品久久| 一区二区欧美日韩| 欧美呦呦网站| 亚洲免费av电影| 亚洲综合第一| 久久视频免费观看| 欧美精品一区二区视频| 国产精品久久久久久久久久尿 | 久久躁日日躁aaaaxxxx| 免费视频一区| 国产精品成人国产乱一区| 国产亚洲欧美一区二区三区| 亚洲国产精品久久久久婷婷老年| 99亚洲精品| 欧美一区二区视频免费观看| 亚洲精品乱码久久久久久日本蜜臀 | 欧美福利一区二区| 欧美日韩一区二区三区在线看| 国产精品视频大全| 亚洲第一中文字幕| 亚洲视频免费观看| 亚洲第一搞黄网站| 亚洲自拍电影| 免费成人高清| 国产精品久久久久免费a∨| 好吊日精品视频| 夜夜嗨av色一区二区不卡| 久久成人久久爱| 亚洲午夜精品一区二区| 久久久www成人免费毛片麻豆| 欧美精品入口| 国产亚洲成av人片在线观看桃 | 欧美日韩一卡二卡| 狠狠色狠色综合曰曰| 一区二区三区 在线观看视| 久久精品欧美日韩| 午夜精品视频| 欧美精品在线视频| 国内在线观看一区二区三区 | 午夜一级久久| 欧美欧美午夜aⅴ在线观看| 国产日本欧美在线观看| 日韩午夜激情av| 久久精品首页| 欧美尤物巨大精品爽| 欧美日韩在线免费| 亚洲高清一二三区| 欧美一区二区三区视频| 亚洲一区二区视频在线观看| 免费观看日韩av| 国产亚洲欧美日韩一区二区| 在线视频精品一| 亚洲精品美女91| 久久亚洲美女| 国产日韩欧美一区二区| 一区二区三区日韩欧美| 亚洲另类在线视频| 免费成人在线视频网站| 国际精品欧美精品| 午夜一区二区三视频在线观看| 亚洲一区日韩在线| 欧美理论电影在线播放| 影视先锋久久| 久久精品国产精品亚洲综合| 欧美在线视频a| 国产精品影片在线观看| 亚洲视频一区二区免费在线观看| 一二三区精品| 欧美精品一区二区三| 亚洲国产三级网| 亚洲区一区二区三区| 免费欧美视频| 一区免费观看视频| 亚洲第一黄色网| 美国成人毛片| 在线不卡中文字幕| 亚洲高清成人| 亚洲精品中文字幕在线观看| 日韩午夜激情av| 国产三级精品在线不卡| 在线亚洲高清视频| 亚洲天堂成人在线观看| 欧美体内she精视频在线观看| 亚洲精品一品区二品区三品区| 亚洲毛片av| 欧美日韩1080p| 99精品视频免费全部在线| 中文国产亚洲喷潮| 国产精品电影网站| 亚洲欧美国产不卡| 久久精品亚洲热| 激情综合亚洲| 亚洲黄色影院| 欧美激情在线有限公司| 亚洲人久久久| 亚洲午夜激情网页| 国产精品日日摸夜夜添夜夜av | 一区二区三区日韩| 亚洲欧美日韩中文播放| 国产美女在线精品免费观看| 午夜精品福利在线观看| 久久黄色影院| 伊人久久亚洲美女图片| 99国产精品久久久久老师| 欧美日韩视频在线一区二区| 亚洲特黄一级片| 欧美专区中文字幕| 激情伊人五月天久久综合| 亚洲人成在线播放| 欧美日韩的一区二区| 亚洲天堂av在线免费| 性欧美大战久久久久久久久| 黄色欧美日韩| 亚洲久久一区| 国产精品麻豆成人av电影艾秋 | 久久久久久网| 亚洲国产精品t66y| 亚洲午夜精品久久久久久浪潮 | 国产精品国码视频| 欧美亚洲三级| 欧美成人伊人久久综合网| 日韩视频―中文字幕| 欧美一区二区三区视频免费| 激情久久综艺| 国产精品99久久不卡二区| 国产欧美va欧美不卡在线| 亚洲国产欧美在线| 国产精品mv在线观看| 亚洲第一精品在线| 欧美色综合天天久久综合精品| 午夜精品久久久久久久99热浪潮| 久久视频国产精品免费视频在线 | 亚洲高清在线视频| 欧美日韩亚洲综合一区| 午夜在线成人av| 欧美黑人国产人伦爽爽爽| 亚洲视频一区二区免费在线观看| 久久久亚洲欧洲日产国码αv| 亚洲激情二区| 久久精品国产精品| 亚洲久久视频| 久久久久成人精品| 亚洲免费不卡| 久久综合亚洲社区| 亚洲五月婷婷| 欧美—级在线免费片| 亚洲一区www| 欧美国产激情| 亚洲欧美日韩成人| 欧美精品国产一区| 欧美一区二区三区在线| 欧美日韩日本国产亚洲在线| 久久国产一区二区| 国产精品福利片| 亚洲茄子视频| 国产一区二区三区最好精华液| 中国亚洲黄色| 亚洲第一天堂av| 久久久国产精品一区| 一区二区三区高清视频在线观看| 欧美阿v一级看视频| 欧美一区二区日韩|