當(dāng)前位置:首頁 > 汽車電子 > 汽車電子
[導(dǎo)讀]摘要 提出了利用Google的Android作為車載虛擬儀表人機界面的軟件開發(fā)平臺。在Android系統(tǒng)框架上實現(xiàn)虛擬儀表的人機界面,闡述了如何對Android現(xiàn)有系統(tǒng)框架進行裁剪和調(diào)整,使系統(tǒng)更加符合車載虛擬儀表人機界面的要求

摘要 提出了利用Google的Android作為車載虛擬儀表人機界面的軟件開發(fā)平臺。在Android系統(tǒng)框架上實現(xiàn)虛擬儀表的人機界面,闡述了如何對Android現(xiàn)有系統(tǒng)框架進行裁剪和調(diào)整,使系統(tǒng)更加符合車載虛擬儀表人機界面的要求,利用Android提供的組件設(shè)計虛擬儀表人機界面的各個功能邏輯模塊,使得模塊設(shè)計更加合理.模塊之間的耦合性更小。設(shè)計了基于REAL210車載儀表人機界面,結(jié)果表明,基于Android的虛擬儀表人機界面功能更加豐富、操作更加友好、易于升級和維護,能較好地滿足用戶的需求。
關(guān)鍵詞 虛擬儀表;Android;人機界面;架構(gòu);APK

    車載虛擬儀表人機界面,是駕駛員獲取汽車工況數(shù)據(jù)的主要界面,便于駕駛員實時全面地掌握汽車工作狀態(tài),有效地與汽車進行人機交互,對保障汽車安全穩(wěn)定的行駛有著重要意義,目前普遍使用的是Windows CE和Linux操作系統(tǒng)。Windows CE操作系統(tǒng)功能穩(wěn)定,有完善的技術(shù)支持,但價格昂貴、源代碼封閉、網(wǎng)絡(luò)可利用資源較少;Linux操作系統(tǒng)的最大優(yōu)勢在于免費和開源,是車載信息顯示系統(tǒng)的主流操作系統(tǒng),但其并不是基于移動設(shè)備開發(fā)的,不能完全滿足移動設(shè)備的需求。
    Android是Google開發(fā)的一款基于開源操作系統(tǒng)Linux的開放、開源移動平臺,對于目前主流的嵌入式平臺支持良好,Android系統(tǒng)的優(yōu)越性能己在多款移動設(shè)備上得到驗證。它包括操作系統(tǒng)用戶界面和應(yīng)用程序而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。文中提出利用Android作為車載虛擬儀表軟件開發(fā)平臺,在Android提供的應(yīng)用程序框架上來實現(xiàn)虛擬儀表的人機界面。

1 系統(tǒng)硬件體系
   
雖然Android是作為一款手機軟件平臺進行開發(fā)的應(yīng)用程序框架和應(yīng)用程序但其本質(zhì)是一個嵌入式軟件開發(fā)平臺。若將Android用于車載虛擬儀表系統(tǒng)的開發(fā),需要對儀表系統(tǒng)應(yīng)用的特點進行調(diào)整,系統(tǒng)采用的硬件平臺是REAL210,CPU處理速度600 MHz~1 GHz,基于Cortex—A8架構(gòu)。系統(tǒng)中主要的硬件模塊有音頻模塊、CAN模塊、液晶顯示模塊、串口和以太網(wǎng)通信模塊,如圖1所示。



2 Android軟件系統(tǒng)的定制
   
由于Android最初是基于手機軟件開發(fā)平臺進行設(shè)計的,而且其中大部分模塊都是為手機通信所設(shè)計,為節(jié)約開發(fā)板資源,需要將Android系統(tǒng)中不必要的組件剪裁掉,保留必要的最小系統(tǒng)。因此必須對框架進行修改,將與電話、短信等相關(guān)的模塊移除。僅留下必需的Android的核心模塊,包括Package Manager、System Service、Input Service、Hardware SerVice和System Server等。通過修改System Server的加載過程可以去掉不需要的服務(wù)和模塊,另外還要實現(xiàn)底層硬件的驅(qū)動程序,重新交叉編譯Linux 2.6內(nèi)核,并在驅(qū)動程序?qū)崿F(xiàn)的基礎(chǔ)上封裝函數(shù)庫,以便Android的應(yīng)用程序通過JNI的方式訪問底層驅(qū)動。經(jīng)過定制和修改過的Android系統(tǒng)架構(gòu)如圖2所示。


    車載虛擬儀表人機界面的應(yīng)用程序需要進行重新開發(fā),主要是界面模塊、CAN模塊、數(shù)據(jù)訪問模塊和告警模塊。其中CAN模塊設(shè)計成Service的方式。數(shù)據(jù)訪問模塊設(shè)計為Content Provider。告警模塊采用的通知方式為Broadcast Receiver和Notifica。系統(tǒng)通電后,在Android的System Server中首先啟動CAN模塊,然后啟動主界面的程序。

3 應(yīng)用程序的設(shè)計與實現(xiàn)
   
應(yīng)用程序的系統(tǒng)架構(gòu)。通過PackageManager提供的各個APK的信息以菜單方式對各個功能模塊進行調(diào)用。
3.1 CAN模塊
   
CAN模塊用于數(shù)據(jù)的采集和處理,CAN模塊接到數(shù)據(jù)后,要對數(shù)據(jù)進行解析,判斷出接收到的數(shù)據(jù)類型。最終得到所需要的值。計算方法為根據(jù)參數(shù)所在數(shù)據(jù)域的字節(jié)位置提取其對應(yīng)的原始數(shù),再根據(jù)該參數(shù)對應(yīng)的分辨率和偏移量得到參數(shù)值,其參數(shù)值的計算方法為:參數(shù)值=參數(shù)原始數(shù)×分辨率+偏移量。通過編程計算出數(shù)據(jù)代表的實際發(fā)動機狀態(tài)值,即可準(zhǔn)確地在車輛實時功能模塊中顯示當(dāng)前的車輛狀態(tài)。
3.2 數(shù)據(jù)訪問模塊
   
程序的數(shù)據(jù)訪問模塊,采用Android系統(tǒng)內(nèi)置的SQLite數(shù)據(jù)庫,對一些重要車況信息自動記憶存儲,便于分析和維修,起到汽車“黑匣子”的作用。存儲的車況信息可以通過點擊回放按鈕直接在儀表界面上回放,真實再現(xiàn)汽車行進過程中的狀況。
    首先調(diào)用.openOrCreateDatabase()創(chuàng)建vehicle_database.db數(shù)據(jù)庫,然后配置SQLite數(shù)據(jù)庫屬性通過。創(chuàng)建一個數(shù)據(jù)表分別定義:行駛?cè)掌?、出廠信息、車速、轉(zhuǎn)速信號、啟動、停止時刻、行使里程、報警信息等。將黑匣子接收到的數(shù)據(jù)對應(yīng)數(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中的對應(yīng)的TextView上。
3.3 功能模塊
   
功能模塊用于測控車輛的速度、發(fā)動機轉(zhuǎn)速、水溫和燃油、告警事件的顯示。系統(tǒng)設(shè)計的功能模塊界面顯示如圖3所示。


3.4 告警模塊
   
告警模塊本身是一個Broadcast Receiver,它負(fù)責(zé)接收其他模塊的告警事件,超速、油量、水溫、油壓等,并將這些信息寫入數(shù)據(jù)庫,同時調(diào)用告警顯示界面顯示對應(yīng)的信息或以Notification的方式在狀態(tài)欄進行提示。在Android系統(tǒng)中,所有的應(yīng)用程序之間都通過Binder進行通信,這種IPC機制是基于Linux底層驅(qū)動實現(xiàn)的,與傳統(tǒng)的進程間通信機制相比,它的執(zhí)行具有更高的效率和更好的擴展性。

4 結(jié)束語
   
利用Android作為人機界面所開發(fā)的框架通過對各個功能模塊的細(xì)化,可以使系統(tǒng)設(shè)計更合理,模塊結(jié)構(gòu)更獨立,容易進行軟件維護和代碼二次開發(fā),基于Android應(yīng)用程序框架設(shè)計的各個模塊,可以進行自由修改和替換,提高了系統(tǒng)的可定制性,雖然Android是手機軟件開發(fā)平臺,但憑借其優(yōu)秀的系統(tǒng)架構(gòu)設(shè)計和理念,會有越來越多的車載虛擬儀表采用Android作為開發(fā)平臺。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉