版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯一種基于CAN總線和MiniGUI的虛擬儀表的實現(xiàn)-設(shè)計應(yīng)用
汽車儀表是駕駛員與車輛進行信息交流的重要接口和界面,它是安全行駛和經(jīng)濟行駛不可缺少的裝置。早期,汽車上裝備的儀表均是通過機械結(jié)構(gòu)模擬顯示,它們存在精度低、響應(yīng)慢、顯示信息量少、信息顯示方式單一等缺點。隨著計算機技術(shù)的日漸成熟、汽車電子的發(fā)展、和嵌入式技術(shù)的廣泛應(yīng)用,對儀表的數(shù)字化和多信息綜合顯示已成一種重要的發(fā)展趨勢。本文將嵌入式計算機技術(shù),虛擬儀器技術(shù)和CAN總線數(shù)據(jù)傳輸技術(shù)引入到車載儀表中,設(shè)計、研制了嵌入式車載虛擬儀表。該儀表通過下位機各智能節(jié)點實時采集車況信息并通過CAN總線將各節(jié)點連接和進行數(shù)據(jù)傳輸。上位機將獲得的車況信息處理后,將常規(guī)信息顯示與異常信息顯示相結(jié)合,并充分發(fā)揮虛擬儀器功能與參數(shù)能自動定義、動態(tài)畫面可視性強的特點,采用模擬、數(shù)字等多種方式對工況信息進行綜合顯示,并對超限工況報警和自動記憶存儲,對汽車出現(xiàn)的各種異常情況給出緊急處理建議。
1系統(tǒng)軟硬件平臺的選擇
本文選取Intel公司的PXA270為微處理器,選配MiniARM270板;64MBSDRAM為系統(tǒng)運行隨機存儲器;256MBNANDFlash程序存儲器;MCP2515CAN控制器負(fù)責(zé)CAN報文的接收與發(fā)送;8英寸640×480真彩TFT液晶屏顯示GUI圖形界面;Linux為嵌入式操作系統(tǒng)[2].選用目前較為流行的嵌入式GUI系統(tǒng)MiniGUI進行應(yīng)用程序界面的編寫。運用ZLG/BOOT啟動Jflashmm、FlashFXP軟件進行內(nèi)核的燒寫與移植。軟件編制調(diào)試完畢后,進行操作系統(tǒng)內(nèi)核定制,裁減出操作系統(tǒng),并將應(yīng)用程序與系統(tǒng)在仿真環(huán)境下進行聯(lián)合調(diào)試。虛擬儀表系統(tǒng)結(jié)構(gòu)如圖1所示。
2MiniGUI的程序開發(fā)和移植
MiniGUI是由北京飛漫軟件技術(shù)有限公司創(chuàng)辦的開源Linux圖形用戶界面支持系統(tǒng),經(jīng)過近些年的發(fā)展,MiniGUI已經(jīng)發(fā)展成為比較成熟的性能優(yōu)良的、功能豐富的跨操作系統(tǒng)的嵌入式圖形界面支持系統(tǒng)。"小"是MiniGUI的特色,它目前已經(jīng)廣泛應(yīng)用于通訊、醫(yī)療、工控、電子、機頂盒、多媒體等領(lǐng)域。
將MiniGUI及應(yīng)用程序移植到目標(biāo)機上需要經(jīng)歷編寫相應(yīng)的驅(qū)動程序、交叉編譯MiniGUI及應(yīng)用程序、安裝MiniGUI到目標(biāo)系統(tǒng)、在目標(biāo)系統(tǒng)上運行MiniGUI應(yīng)用程序等幾個步驟。
MiniGUI程序是建立在MiniGUI和ANSIC庫之上,所以程序的編寫要按照MiniGUI的程序框架來定,并通過調(diào)用ANSIC庫以及MiniGUI自身提供的API函數(shù)來實現(xiàn)。MiniGUI程序的入口點:intMiniGUIMain(intargc,constchar*argv[]).其風(fēng)格類似于Win32,也是基于窗口、事件驅(qū)動編程。事件通過消息機制傳遞,當(dāng)事件發(fā)生時,MiniGUI將事件轉(zhuǎn)換為一個消息,并將消息發(fā)送到MiniGUI應(yīng)用程序的消息隊列之中。窗口過程函數(shù)是MiniGUI應(yīng)用程序必不可少的函數(shù),用于接收和處理消息,是一個回調(diào)函數(shù),由MiniGUI調(diào)用,在應(yīng)用程序中不能直接調(diào)用,其函數(shù)原型如下:staticintWindowProc(HWNDhWnd,intmessage,WPARAMwParam,LPARAMlParam)。每個MiniGUI應(yīng)用程序的初始界面一般都是MiniGUI主窗口,然后在主窗口的基礎(chǔ)上再建立子窗口或?qū)υ捒虻?。主窗口使用CreateMainWindow函數(shù)實現(xiàn),在這個函數(shù)里可以設(shè)置主窗口的風(fēng)格、大小、句柄、標(biāo)題以及窗口過程函數(shù)等[6,8-9].
本文有兩個顯示界面,分別對應(yīng)流程圖里面的子程序1和子程序2.應(yīng)用程序流程圖如圖2所示。
本文采用arm-linux-gcc-3.4.3交叉編譯器對驅(qū)動程序和應(yīng)用程序進行編譯。安裝交叉編譯器步驟:將交叉編譯器安裝包arm-linux-3.4.3.tar.bz2復(fù)制到當(dāng)前目錄下,進行解壓安裝并指定安裝路徑:#tarxjvfarm-linux-3.4.3.tar.bz2–C/usr/local/arm.為了便于使用,安裝完畢后,通常都將交叉編譯器的路徑添加到系統(tǒng)的搜索路徑中。這樣要編譯文件時就很簡單,不用每次都指定路徑,系統(tǒng)會自動搜索。在這里介紹的一種方法是修改/etc/profile文件:打開/etc/profile文件,在一行添加pathmunge/usr/local/arm/3.4.3/sbin,保存退出,在終端輸入執(zhí)行:#.Profile("點+空格+文件名")。可通過在終端輸入:arm-linux-gcc–v檢驗用戶編譯器版本。arm-linux-gcc編譯出來的程序,不能在PC機上運行,必須到ARM系統(tǒng)中才能運行。
MiniGUI在Linux系統(tǒng)中有兩種運行模式:fbcon(FrameBufferConsole)和qvfb(QtVirtualFrameBuffer)。fbcon在控制臺下運行,這種模式下不能開Linux的X圖形界面。qvfb則是帶幀緩沖的虛擬控制臺,MiniGUI程序在qvfb中運行就像圖形界面下的終端(Terminal)中運行命令一樣。通過對gal_engine賦值來設(shè)置運行模式。
3信號采集電路
CAN是ControllerAreaNetwork的縮寫(以下稱為CAN),是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議。在當(dāng)前的汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。
CAN總線的智能節(jié)點一般由主控制器、CAN總線控制器、CAN總線驅(qū)動器以及具體的功能單元組成。主控制器用來通過訪問CAN總線控制器來實現(xiàn)對CAN總線的訪問。CAN總線控制器實現(xiàn)CAN協(xié)議的數(shù)據(jù)鏈路層和物理層功能,對外具有與主控制器和總線驅(qū)動器的接口功能。CAN總線驅(qū)動器提供CAN總線控制器與物理總線之間的接口。
本文選用Microchip公司生產(chǎn)的MCP2515作為CAN總線控制器。MCP2515是一款獨立的CAN協(xié)議控制器,完全支持CAN2.0B技術(shù)規(guī)范。MCP2515與主控制器的連接是通過標(biāo)準(zhǔn)串行外設(shè)接口SPI(SearialPeripheralInterface)實現(xiàn)的。主控制器選擇了Microchip公司的PIC16F913,該單片機為高性能的RISCCPU,內(nèi)部具有4KB的可編程可擦除的Flash存儲器、256B的RAM、256B的EEPROM,帶有標(biāo)準(zhǔn)的SPI接口,也能夠方便地和CAN總線控制器MCP2515進行連接。CAN總線驅(qū)動器選擇Microchip公司的MCP2551,是一個可容錯的高速CAN器件[4,10].數(shù)據(jù)采集用的CAN總線接口電路如圖3所示。
4CAN總線驅(qū)動程序的方案設(shè)計與實現(xiàn)
設(shè)備驅(qū)動程序是介于硬件和Linux內(nèi)核之間的軟件接口,是一種低級的、專用于某一硬件的軟件組件。設(shè)備驅(qū)動也可以理解為操作系統(tǒng)的一部分,對于一個特定的硬件設(shè)備來說,其對應(yīng)的設(shè)備驅(qū)動程序是不同的,比如網(wǎng)卡、鍵盤、鼠標(biāo)、顯卡、電位器、電機等。操作系統(tǒng)本身沒有對各種硬件設(shè)備提供持久不變的"驅(qū)動設(shè)備",沒有驅(qū)動,操作系統(tǒng)就控制不了底層的設(shè)備,對于操作系統(tǒng)來說,掛接的設(shè)備越多,需要的設(shè)備驅(qū)動程序也越多。
在Linux操作系統(tǒng)中,把所有外設(shè)都當(dāng)成文件看待,使用操作文件的方法來操作設(shè)備,通過驅(qū)動程序,Linux操作系統(tǒng)才能以文件夾的方式來管理設(shè)備。因此驅(qū)動程序的編寫開發(fā)具有十分重要的地位。Linux設(shè)備驅(qū)動程序運行在Linux內(nèi)核空間,是Linux內(nèi)核中聯(lián)系硬件設(shè)備和應(yīng)用程序的橋梁。Linux系統(tǒng)硬件、設(shè)備驅(qū)動和應(yīng)用程序的關(guān)系如圖4所示[7].
MagicARM270實驗箱采用SJA1000CAN控制器擴展了1路CAN接口,SJA1000是PHILIPS公司經(jīng)典的CAN控制器,支持CAN2.0A、B協(xié)議。結(jié)合應(yīng)用程序、驅(qū)動程序、內(nèi)核程序,CAN驅(qū)動流程圖如圖5所示。
5測試結(jié)果與驗證
選取廣州致遠(yuǎn)電子有限公司生產(chǎn)的MagicARM270實驗箱進行仿真[2].通過CAN總線實現(xiàn)汽車上各種信息的采集和測量,并將采集的結(jié)果送到ARM進行處理,通過TFT顯示出來,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于情景再現(xiàn)的博物館文物展示動畫設(shè)計研究
- PDCoV核衣殼蛋白相分離的機制研究
- 二零二五年度快遞配送與代收貨款合作協(xié)議模板
- 加入價值鏈組織模式對農(nóng)戶借貸行為的影響研究
- 2025年度電子勞動合同模板與員工離職手續(xù)簡化合同
- 2025年度改簽用人單位跨區(qū)域勞務(wù)派遣服務(wù)合同
- 渣土運輸施工方案
- 2025年度二零二五年度校園食堂經(jīng)營權(quán)轉(zhuǎn)讓合同
- 2025年度門面租賃合同能源管理范本4篇
- 數(shù)據(jù)挖掘技術(shù)優(yōu)化-深度研究
- 2025-2030年中國陶瓷電容器行業(yè)運營狀況與發(fā)展前景分析報告
- 二零二五年倉儲配送中心物業(yè)管理與優(yōu)化升級合同3篇
- 2025屆廈門高三1月質(zhì)檢期末聯(lián)考數(shù)學(xué)答案
- 音樂作品錄制許可
- 江蘇省無錫市2023-2024學(xué)年高三上學(xué)期期終教學(xué)質(zhì)量調(diào)研測試語文試題(解析版)
- 拉薩市2025屆高三第一次聯(lián)考(一模)英語試卷(含答案解析)
- 開題報告:AIGC背景下大學(xué)英語教學(xué)設(shè)計重構(gòu)研究
- 師德標(biāo)兵先進事跡材料師德標(biāo)兵個人主要事跡
- 連鎖商務(wù)酒店述職報告
- 《實踐論》(原文)毛澤東
- 第三單元名著導(dǎo)讀《紅星照耀中國》(公開課一等獎創(chuàng)新教學(xué)設(shè)計+說課稿)
評論
0/150
提交評論