版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、摘 要車載虛擬儀表人機界面,是駕駛員獲取汽車工況數(shù)據(jù)的主要界面,便于駕駛員實時全面地掌握汽車工作狀態(tài),有效地與汽車進行人機交互,對保障汽車安全穩(wěn)定的行駛有著重要意義,目前普遍使用的是windows ce和linux操作系統(tǒng)。windows ce操作系統(tǒng)功能穩(wěn)定,有完善的技術(shù)支持,但價格昂貴、源代碼封閉、網(wǎng)絡可利用資源較少;linux操作系統(tǒng)的最大優(yōu)勢在于免費和開源,是車載信息顯示系統(tǒng)的主流操作系統(tǒng),但其并不是基于移動設備開發(fā)的,不能完全滿足移動設備的需求。android是google開發(fā)的一款基于開源操作系統(tǒng)linux的開放、開源移動平臺,對于目前主流的嵌入式平臺支持良好,android系統(tǒng)的
2、優(yōu)越性能己在多款移動設備上得到驗證。它包括操作系統(tǒng)用戶界面和應用程序而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。文中提出利用android作為車載虛擬儀表軟件開發(fā)平臺,在android提供的應用程序框架上來實現(xiàn)虛擬儀表的人機界面。關(guān)鍵詞:虛擬儀表 操作系統(tǒng) 人機界面 androidabstractvehicle virtual instrument interface, is the main interface driver gets condition data of automobile, it is convenient for the driver to real-time to
3、 grasp the working conditions of automotive, effective human-computer interaction and the automobile, has the vital significance to guarantee safe and stable running of the car, at present the widespread use of windows ce and the linux operating system. function of windows ce operating system stabil
4、ity, a sound technical support, but the price is expensive, the source code, can use fewer resources closed network; maximum advantage of linux operating system is free and open source, is a vehicle information display system of mainstream operating system, but it is not based on the mobile device d
5、evelopment, cannot meet the demands of mobile equipment demand.android is the development of a google based on open source mobile platform, open source operating system linux, for the current mainstream embedded platform support, superior performance of the android system has been validated in a var
6、iety of mobile devices. it includes the operating system user interface and application program and there is no past hinder the mobile industry innovation proprietary obstacles. in this paper using android as the virtual instrument software development platform,application framework provided by andr
7、oid to realize virtual instrument interface.key word:virtual instrument operating system interface android目錄第一章 緒言1第一節(jié) 系統(tǒng)硬件體系1第二章 android軟件系統(tǒng)的定制4第一節(jié) android系統(tǒng)架構(gòu)4第二節(jié) 程序重新開發(fā)5第三章 應用程序的設計與實現(xiàn)8第一節(jié) 模塊的分類8第四章 結(jié)束語10結(jié) 論11致 謝12參考文獻13第一章 緒言第一節(jié) 系統(tǒng)硬件體系雖然android是作為一款手機軟件平臺進行開發(fā)的應用程序框架和應用程序但其本質(zhì)是一個嵌入式軟件開發(fā)平臺。若將android
8、用于車載虛擬儀表系統(tǒng)的開發(fā),需要對儀表系統(tǒng)應用的特點進行調(diào)整,系統(tǒng)采用的硬件平臺是real210,cpu處理速度600 mhz1 ghz,基于cortexa8架構(gòu)。系統(tǒng)中主要的硬件模塊有音頻模塊、can模塊、液晶顯示模塊、串口和以太網(wǎng)通信模塊,如圖1.1所示。圖1.1 硬件系統(tǒng)架構(gòu)以嵌入式系統(tǒng)的硬件為背景,對主要部件給予客觀的分類和評價。硬件是軟件的基石,固然它硬件是有多么的重要。嵌入式系統(tǒng)開發(fā)與軟件開發(fā)有巨大的差別!只有充分了解硬件,軟件才能更大限度的挖掘硬件的能力。所謂硬件系統(tǒng),是指構(gòu)成計算機的物理設備,即由機械、光、電、磁器件構(gòu)成的具有計算、控制、存儲、輸入和輸出功能的實體部件。如cpu
9、、存儲器、軟盤驅(qū)動器、硬盤驅(qū)動器、光盤驅(qū)動器、主機板、各種卡及整機中的主機、顯示器、打印機、繪圖儀、調(diào)制解調(diào)器等等,整機硬件也稱“硬設備”。 隨著電子系統(tǒng)的復雜化,系統(tǒng)設計已經(jīng)成為一門重要的學科,傳統(tǒng)的反復試驗法已經(jīng)越來越不適應時代的發(fā)展。發(fā)展迅速的軟硬件協(xié)同設計技術(shù)越來越受到人們的重視。它是在系統(tǒng)目標要求的指導下,通過綜合分析系統(tǒng)軟硬件功能及現(xiàn)有資源,最大限度地挖掘系統(tǒng)軟硬件之間的并發(fā)性,協(xié)調(diào)設計軟硬件體系結(jié)構(gòu),以使系統(tǒng)工作在最佳工作狀態(tài)。硬件系統(tǒng)分為三種典型結(jié)構(gòu)一、單總線結(jié)構(gòu)即用一組系統(tǒng)總線將計算機系統(tǒng)的各部分連接起來,各部分之間可以通過總線交換信息。這種結(jié)構(gòu)的優(yōu)點是易于擴充新的i/o設備
10、,并且各種i/o設備的寄存器和主存器的存儲單元可以統(tǒng)一編址,使cpu訪問i/o設備更方便靈活;其缺點是同一時刻只能允許掛在總線上的一對設置之間互相傳送信息,也即分時使用總線,這就限制了信息傳送的吞吐量,這種結(jié)構(gòu)一般用在微型計算機和小型計算機中。二、雙總線結(jié)構(gòu)為了消除信息傳送的瓶頸,常設置多組總線,最常見的是在主存和cpu之間設置一組專用的高速存儲總線。這種結(jié)構(gòu)的優(yōu)點是控制線路簡單,對io總線的傳送速率要求低;其缺點是cpu的工作效率較低,因為i/o設備與主存之間的信息交換要經(jīng)過cpu進行。以存儲器為中心的雙總線結(jié)構(gòu)中,主存儲器可通過存儲總線與cpu交換信息,同時還可以通過系統(tǒng)總線與i/o設備交
11、換信息,這種結(jié)構(gòu)的優(yōu)點是信息傳送速率高;其缺定是需要增加硬件的投資。三、采用通道的大型系統(tǒng)結(jié)構(gòu)為了擴大系統(tǒng)的功能和提高系統(tǒng)的效率,在大、中型計算機系統(tǒng)中采用通道結(jié)構(gòu),在這種結(jié)構(gòu)中,一臺主機可以連接多個通道,一個通道可以連接一臺或多臺i/o控制器,一臺i/o控制器又可以連接一臺或者多臺i/o設備,所以它具有較大的擴展余地,另外由通道來管理和控制i/o設備,減輕了cpu負擔,提高了整個系統(tǒng)的效率。最小硬件系統(tǒng)嵌入式系統(tǒng)的硬件設計與其應用場合和應用系統(tǒng)的不同而有所差別。一般情況下,用戶可以根據(jù)自己的要求,選用合適的微處理器類型,根據(jù)相應的接口電路搭配不同類型外設,構(gòu)成不同用途、不同不同規(guī)模的應用系統(tǒng)
12、。這些系統(tǒng),無論其規(guī)模多大,從硬件上看,都可以分為由核心電路構(gòu)成的最小系統(tǒng)以及各種各樣外部設備所需的外圍接口電路。通常最小硬件系統(tǒng)指的是,由處理器以及sdram和flash構(gòu)成的存儲電路,再加上一些必要的輔助電路構(gòu)成的核心系統(tǒng)。最小硬件系統(tǒng)不僅是整個硬件系統(tǒng)的核心部分,它的構(gòu)成對軟件系統(tǒng)也有重要的影響,其構(gòu)成決定了處于軟件系統(tǒng)最底層的bootloder的設計,同時它也是嵌入式操作系統(tǒng)正常運行的基礎。換而言之,最小硬件系統(tǒng)及其之上的最底層的最小軟件系統(tǒng)構(gòu)成了嵌入式系統(tǒng)最基本最核心的部分第二章 android軟件系統(tǒng)的定制第一節(jié) android系統(tǒng)架構(gòu)由于android最初是基于手機軟件開發(fā)平臺進
13、行設計的,而且其中大部分模塊都是為手機通信所設計,為節(jié)約開發(fā)板資源,需要將android系統(tǒng)中不必要的組件剪裁掉,保留必要的最小系統(tǒng)。因此必須對框架進行修改,將與電話、短信等相關(guān)的模塊移除。僅留下必需的android的核心模塊,包括package manager、system service、input service、hardware service和system server等。通過修改system server的加載過程可以去掉不需要的服務和模塊,另外還要實現(xiàn)底層硬件的驅(qū)動程序,重新交叉編譯linux 26內(nèi)核,并在驅(qū)動程序?qū)崿F(xiàn)的基礎上封裝函數(shù)庫,以便android的應用程序通過jni的
14、方式訪問底層驅(qū)動。經(jīng)過定制和修改過的android系統(tǒng)架構(gòu)如圖2所示。圖2.1 定制的android系統(tǒng)架構(gòu)車載虛擬儀表人機界面的應用程序需要進行重新開發(fā),主要是界面模塊、can模塊、數(shù)據(jù)訪問模塊和告警模塊。其中can模塊設計成service的方式。數(shù)據(jù)訪問模塊設計為content provider。告警模塊采用的通知方式為broadcast receiver和notifica。系統(tǒng)通電后,在android的system server中首先啟動can模塊,然后啟動主界面的程序第二節(jié) 程序重新開發(fā)應用程序的設計與實現(xiàn)應用程序的系統(tǒng)架構(gòu)。通過packagemanager提供的各個apk的信息以菜單
15、方式對各個功能模塊進行調(diào)用。51cto為大家介紹過android snk初探,android開發(fā)必須要了解構(gòu)造塊,android應用程序是由四個重要組成部分組成的,這四種構(gòu)造塊如下:activityintent receiverservicecontent provider51cto推薦專題:android開發(fā)應用詳解但是,并不是每一個android應用程序都需要這四種構(gòu)造塊,這不是必須的,某些時候,我們只需要這四種中的幾種組合成我們的應用。當我們明確了我們的應用需要哪些構(gòu)造塊后,我們就需要在androidmanifest.xml中登記這些構(gòu)造塊的清單。這是一個xml配置文件,這個配置文件用于
16、定義我們的應用程序的組件、組件的功能及必要條件等。這個配置文件是每個android應用必需的。對于androidmainfest.xml的schema,參考sdk包附帶的文檔。以下,我們對四種構(gòu)造塊做一些說明:一、activityactivity是android構(gòu)造塊中最基本的一種,在應用中,一個activity通常就是一個單獨的屏幕。每一個activity都被實現(xiàn)為一個獨立的類,并且繼承于activity這個基類。這個activity類將會顯示由幾個views控件組成的用戶接口,并對事件做出響應。大部份的應用都會包含多個的屏幕。例如,一個短消息應用程序?qū)幸粋€屏幕用于顯示聯(lián)系人列表,第二個
17、屏幕用于寫短消息,同時還會有用于瀏覽舊短消息及進行系統(tǒng)設置的屏幕。每一個這樣的屏幕,就是一個activity。從一個屏幕導航到另一個屏幕是很簡單的。在一些應用中,一個屏幕甚至會返回值給前一個屏幕。當一個新的屏幕打開后,前一個屏幕將會暫停,并保存在歷史堆棧中。用戶可以返回到歷史堆棧中的前一個屏幕。當屏幕不再使用時,還可以從歷史堆棧中刪除。默認情況下,android將會保留從主屏幕到每一個應用的運行屏幕。android使用了intent這個特殊類,實現(xiàn)在屏幕與屏幕之間移動。intent類用于描述一個應用將會做什么事。在intent的描述結(jié)構(gòu)中,有兩個最重要的部分:動作和動作對應的數(shù)據(jù)。典型的動作類
18、型有:main(activity的門戶)、view、pick、edit等。而動作對應的數(shù)據(jù)則以uri的形式進行表示。例如:要查看一個人的聯(lián)系方式,你需要創(chuàng)建一個動作類型為view的intent,以及一個表示這個人的uri。與之有關(guān)系的一個類叫intentfilter。相對于intent是一個有效的做某事的請求,一個intent filter則用于描述一個activity(或者intent receiver)能夠操作哪些intent。一個activity如果要顯示一個人的聯(lián)系方式時,需要聲明一個intentfilter,這個intentfilter要知道怎么去處理view動作和表示一個人的uri
19、。intentfilter需要在androidmanifest.xml中定義。通過解析各種intent,從一個屏幕導航到另一個屏幕是很簡單的。當向前導航時,activity將會調(diào)用startactivity(intent myintent)方法。然后,系統(tǒng)會在所有安裝的應用程序中定義的intentfilter中查找,找到最匹配myintent的intent對應的activity。新的activity接收到myintent的通知后,開始運行。當startactivity方法被調(diào)用將觸發(fā)解析myintent的動作,這個機制提供了兩個關(guān)鍵好處:a、activities能夠重復利用從其它組件中以int
20、ent的形式產(chǎn)生的一個請求;b、activities可以在任何時候被一個具有相同intentfilter的新的activity取代。二、intent receiver當你希望你的應用能夠?qū)σ粋€外部的事件(如當電話呼入時,或者數(shù)據(jù)網(wǎng)絡可用時,或者到了晚上時)做出響應,你可以使用一個intent receiver。雖然intent receiver在感興趣的事件發(fā)生時,會使用notificationmanager通知用戶,但它并不能生成一個ui。intent receiver在androidmanifest.xml中注冊,但也可以在代碼中使用context.registerreceiver()進行
21、注冊。當一個intent receiver被觸發(fā)時,你的應用不必對請求調(diào)用intent receiver,系統(tǒng)會在需要的時候啟動你的應用。各種應用還可以通過使用context.broadcastintent()將它們自己的intent receiver廣播給其它應用程序。三、service一個service是一段長生命周期的,沒有用戶界面的程序。比較好的一個例子就是一個正在從播放列表中播放歌曲的媒體播放器。在一個媒體播放器的應用中,應該會有多個activity,讓使用者可以選擇歌曲并播放歌曲。然而,音樂重放這個功能并沒有對應的activity,因為使用者當然會認為在導航到其它屏幕時音樂應該還在
22、播放的。在這個例子中,媒體播放器這個activity會使用context.startservice()來啟動一個service,從而可以在后臺保持音樂的播放。同時,系統(tǒng)也將保持這個service一直執(zhí)行,直到這個service運行結(jié)束。另外,我們還可以通過使用context.bindservice()方法,連接到一個service上(如果這個service還沒有運行將啟動它)。當連接到一個service之后,我們還可以service提供的接口與它進行通訊。拿媒體播放器這個例子來說,我們還可以進行暫停、重播等操作。四、content provider應用程序能夠?qū)⑺鼈兊臄?shù)據(jù)保存到文件中、sql數(shù)
23、據(jù)庫中,甚至是任何有效的設備中。當你想將你的應用數(shù)據(jù)與其它的應用共享時,content provider將會很有用。一個content provider類實現(xiàn)了一組標準的方法,從而能夠讓其它的應用保存或讀取此content provider處理的各種數(shù)據(jù)類型。第三章 應用程序的設計與實現(xiàn)第一節(jié) 模塊的分類模塊可以分為四大類,can模塊、數(shù)據(jù)訪問模塊、功能模塊和告警模塊。can模塊can模塊用于數(shù)據(jù)的采集和處理,can模塊接到數(shù)據(jù)后,要對數(shù)據(jù)進行解析,判斷出接收到的數(shù)據(jù)類型。最終得到所需要的值。計算方法為根據(jù)參數(shù)所在數(shù)據(jù)域的字節(jié)位置提取其對應的原始數(shù),再根據(jù)該參數(shù)對應的分辨率和偏移量得到參數(shù)值,
24、其參數(shù)值的計算方法為:參數(shù)值=參數(shù)原始數(shù)分辨率+偏移量。通過編程計算出數(shù)據(jù)代表的實際發(fā)動機狀態(tài)值,即可準確地在車輛實時功能模塊中顯示當前的車輛狀態(tài)。數(shù)據(jù)訪問模塊程序的數(shù)據(jù)訪問模塊,采用android系統(tǒng)內(nèi)置的sqlite數(shù)據(jù)庫,對一些重要車況信息自動記憶存儲,便于分析和維修,起到汽車“黑匣子”的作用。存儲的車況信息可以通過點擊回放按鈕直接在儀表界面上回放,真實再現(xiàn)汽車行進過程中的狀況。首先調(diào)用openorcreatedatabase()創(chuàng)建vehicle_databasedb數(shù)據(jù)庫,然后配置sqlite數(shù)據(jù)庫屬性通過。創(chuàng)建一個數(shù)據(jù)表分別定義:行駛?cè)掌?、出廠信息、車速、轉(zhuǎn)速信號、啟動、停止時刻、行使里程、報警信息等。將黑匣子接收到的數(shù)據(jù)對應數(shù)據(jù)表定義的格式通過insert()向數(shù)據(jù)表中插入數(shù)據(jù),通過delete()指定日期來刪除過期的數(shù)據(jù)。顯示歷史數(shù)據(jù)需要先通過datepicker獲取用戶輸入的年、月、日,并將具體日期數(shù)值提取出來,將條件放入sql查詢語句query()中來查詢,定義一個cursor返回結(jié)果,然后創(chuàng)建一個數(shù)據(jù)適配器將cursor的結(jié)果直接映射到listview中的對應的textview上。功能模塊功能模塊用于測控車輛的速度、發(fā)動機轉(zhuǎn)速、水溫和燃油、告警事件的顯示。系統(tǒng)設計的功能模塊界面顯示如圖3所示。 如圖3 功能模塊界面顯示告警模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學數(shù)學基礎知識體系的構(gòu)建與教學方法
- 2025年度個人教育貸款延期支付合同3篇
- 教育領域中工業(yè)互聯(lián)網(wǎng)的安全培訓與推廣
- 2025年度個人住房貸款利率調(diào)整協(xié)議合同范本4篇
- 二零二五年度車輛借用及道路救援服務合同3篇
- 二零二五年度餐飲企業(yè)員工培訓與職業(yè)發(fā)展合同6篇
- 江蘇2025年江蘇衛(wèi)生健康職業(yè)學院博士專項招聘13人筆試歷年參考題庫附帶答案詳解
- 永州2025年湖南永州市零陵區(qū)引進急需緊缺專業(yè)人才66人筆試歷年參考題庫附帶答案詳解
- 楚雄2025年第一批云南楚雄南華縣緊密型縣域醫(yī)共體招聘編制外工作人員筆試歷年參考題庫附帶答案詳解
- 探究式課堂中的教師角色與教學策略
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 蘇教版五年級上冊數(shù)學簡便計算300題及答案
- 澳洲牛肉行業(yè)分析
- 老客戶的開發(fā)與技巧課件
- 計算機江蘇對口單招文化綜合理論試卷
- 成人學士學位英語單詞(史上全面)
- 26個英文字母書寫(手寫體)Word版
- KAPPA-實施方法課件
- GB/T 13813-2023煤礦用金屬材料摩擦火花安全性試驗方法和判定規(guī)則
- GB/T 33084-2016大型合金結(jié)構(gòu)鋼鍛件技術(shù)條件
- 航道整治課程設計
評論
0/150
提交評論