新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于嵌入式Linux與QT的汽車虛擬儀表設(shè)計

基于嵌入式Linux與QT的汽車虛擬儀表設(shè)計

作者: 時間:2012-04-25 來源:網(wǎng)絡(luò) 收藏


3 軟件
本系統(tǒng)采用作為操作系統(tǒng),在平臺下編寫的驅(qū)動程序和應(yīng)用程序,采用/embedded軟面板。應(yīng)用程序的主要功能有,當(dāng)接收到各個經(jīng)轉(zhuǎn)換處理的傳感器采集到的信號后,將其有用的數(shù)據(jù)提取并加以存儲,然后調(diào)用儀表顯示程序,將需要顯示的內(nèi)容顯示到不同的虛擬儀表盤中,同時并行判斷各項參數(shù)是否正常,若出現(xiàn)異常則調(diào)用語音報警程序和顯示程序提示報警。虛擬儀表軟件結(jié)構(gòu)圖如圖3所示。虛擬儀表軟件開發(fā)主要有2個內(nèi)容:開發(fā)環(huán)境的搭建、虛擬儀表應(yīng)用程序的。

本文引用地址:http://m.butianyuan.cn/article/149181.htm

c.JPG


3.1 開發(fā)環(huán)境的搭建
為了開發(fā)滿足功能的應(yīng)用程序,本文采用的軟件開發(fā)環(huán)境是Vmware WorkStation 7虛擬機(jī)和Fedora 13操作系統(tǒng),在此環(huán)境中安裝交叉編譯器AlRM-linux-gcc 4.5.1,用來完成包含相關(guān)驅(qū)動程序的虛擬儀表系統(tǒng)內(nèi)核、庫和應(yīng)用程序的編譯;編譯安裝/Embedded庫,用來支持虛擬儀表人機(jī)交互界面程序的開發(fā)并生成虛擬儀表系統(tǒng)中需要的QT庫文件;編譯Tslib觸摸屏庫,為虛擬儀表系統(tǒng)添加觸摸屏支持;在Fedora13系統(tǒng)中安裝QT Creator軟件,用于完成虛擬儀表系統(tǒng)應(yīng)用程序的開發(fā);移植設(shè)備的系統(tǒng)引導(dǎo)程序U-boot;編寫硬件平臺相關(guān)驅(qū)動,然后裁剪編譯2.6.10內(nèi)核并在其中加載已編譯的相關(guān)驅(qū)動;制作硬件平臺需要的根文件系統(tǒng),在其中移植已配置、編譯過的tslib庫和QT/Embedded庫。
3.2 應(yīng)用程序開發(fā)
本虛擬儀表系統(tǒng)的的應(yīng)用程序QT/Embedded平臺,使用QT的輕量級集成開發(fā)環(huán)境QT Creator完成開發(fā),最后在已搭建的開發(fā)環(huán)境中編譯生成可執(zhí)行二進(jìn)制文件,并將其移植到硬件平臺中的文件系統(tǒng)中進(jìn)行測試。

d.JPG


虛擬儀表系統(tǒng)應(yīng)用程序的主要工作流程如圖4所示,在系統(tǒng)上電后,應(yīng)用程序開始運行,要實現(xiàn)虛擬儀表系統(tǒng)的功能,應(yīng)用程序需要完成虛擬儀表面板和后臺處理程序的開發(fā):
3.2.1 虛擬儀表面板的繪制
虛擬儀表面板主要將的一些基本狀態(tài)在LCD上通過表盤和數(shù)字直觀、動態(tài)的顯示出來,本設(shè)計中采用速度、油量、電池電量、時間日期、安全帶、安全氣囊、行駛里程等狀態(tài)。
為了提高本虛擬儀表的可擴(kuò)展性和可維護(hù)性,在本設(shè)計中,為每種具體的虛擬儀表對象定義一個抽象類。下面即以儀表盤類(QMeter)為例介紹本系統(tǒng)中虛擬儀器面板的繪制。
在需要顯示的各種狀態(tài)中,速度和油量通常以儀表盤形式顯示,虛擬儀表模塊中的虛擬儀表盤采用QT的二維圖形引擎的基礎(chǔ)類QPainter開發(fā)。QPainter具有豐富的圖形圖像繪制函數(shù),并支持反走樣、漸變填充、像素混合、線性變換等特性,利用這些函數(shù)完成儀表盤的繪制。
e.JPG

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉