新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Android平臺的車載信息娛樂系統架構研究

        基于Android平臺的車載信息娛樂系統架構研究

        作者: 時間:2014-03-19 來源:網絡 收藏


        每個程序運行在自身的進程里,但開發者能夠寫一個服務運行在不同的進程中,一些對象在進程間傳遞也是允許的。在上,一個進程通常不能進入其他進程內存。因此,兩個進程間如果相互通信,需要把他們的對象分解成操作系統可以識別的基礎類型,并且通過進程的邊界來控制對象。附帶SDK的AIDL工具自動生成控制代碼段,AIDL是用來生成在兩個進程之間通信代碼的一種接口描述語言。AIDL IPC機制就是使用代理類在客戶端和實現端傳遞參數。

        3 Android應用在車載電子的一種架構

        Android擴展了汽車的總體結構,基本架構如圖1所示,自定義的應用在汽車功能模塊和支持組件的一邊。這種擴展的目的是提供一種允許可信任的應用程序訪問汽車功能模塊(車輛制動、轉向或電力傳動分配)的安全機制,而不可信任的程序被隔離并且不可以訪問。應用程序之間的這種強制性的安全策略是源于可靠性要求的IVI系統。通過汽車管理類可信任應用程序有機會訪問一些特性(CAN總線),但處理不當也可能危及車輛安全(例如通過連續發送無效的數據幀使得CAN總線帶寬飽和)。這種方案的主要特點是使上層邏輯去耦合,那樣就可以方便上層應用獲取并處理來自底層數據。

        3.1 汽車管理模塊

        從上圖可知,汽車管理模塊可以看成是負責車載應用程序與Android底層交互的一個中間類庫,只有通過它,車載應用程序才可以獲取相應底層數據。

        它有兩個接口:一個是對應于應用程序而另一個是對應平臺的組件,它是在Android SDK上面開發的并且擁有平臺認證的一款應用程序。因為這個管理類不屬于平臺本身,所以用戶在沒有專業人員幫助時不能自行更新。

        3.2 與應用程序之間的交互

        Android是基于不透明的IPC之間的通信模型。應用程序將其功能交給操作系統,在運行時,其他的應用程序可以獲得他們的功能。基本上,平臺提供了后期管理和維護代碼的能力,這種模型也可以用于在第三方應用程序和汽車管理類之間的交互。

        汽車管理類處理汽車功能模塊通過屬性android.permission.car.speed.read和android.permission.car.speed.write。對于每一個屬性(例如汽車總線發送實時速度),Android提供兩種權限,創建并且指派給管理類。

        利用預先定義的安全級別,它可以指定不同安全級別擁有以下的權限:
        ①所有的。任何人可以訪問應用程序
        ②通常情況。訪問是有權限決定的,但是一些應用程序的權限沒有具體指出權限人;在程序安裝后,權限會被手動設置。
        ③危險。訪問時有權限限制的,用戶在安裝時必須有詳盡的安全許可。
        ④簽名。訪問是有權限限制的,只要應用程序獲得平臺的認證,那么權限就會自動同意。
        平臺認證就是車載設計商在開發設計過程中使用的簽署平臺。它也用于簽署汽車管理類。如果一個第三方申請了此證書,它就具有完整的控制汽車擴展(事實上汽車管理類只是一個簽署應用平臺證書的應用程序)。通過以下屬性定義的汽車功能,能夠通過高級別的AIDL接口去訪問:

        這種讀/寫的方式允許通過輸入/輸出來訪問屬性的值。通過增加或者刪除監聽器的方法來允許注冊或者取消相關的回調函數,該通知的屬性值是可以改變的。汽車管理類繼承了此接口。個人的電話是要被Android權限相關的屬性核實的,如果來電者是被允許執行的,那么汽車管理類進程會自動處理,否則就會拋出一個異常。

        在開發應用時,開發者需要知道其屬性名稱以及數據的類型才能夠開發第三方應用程序。而且所有的交互發生在先前的AIDL接口。這就意味著,多虧Android系統的架構,開發者并不需要了解整個SDK而是只要知道AIDL文件定義的電話屬性和AIDL文件描述的回調函數。而且,如果不同的IVI來自不同的生產商,但有著相同的屬性功能,那么第三方應用程序使用這樣的屬性能夠無縫隙地運行在IVI上。

        為了證實以上架構的實用性,開發了一塊實現完整功能的工作模塊,由自定義的Android發布版的概念驗證組成。該模塊已經通過Andr-oid模擬器的測試,基于ARM處理器,自定制模式的典型功能和IVI上面的用戶界面,并在有英特爾Atom處理器的上網本上運行。

        結語

        本文概述了車載電子系統的相關知識,并介紹了Google Android系統背景知識;設計了一個基于Android架構的車載電子可擴展平臺,以適應個性化汽車發展的需要。下一步的工作是引導該系統運行在自定義硬件上,并獲取實時的汽車數據。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 颍上县| 泊头市| 凌海市| 霍林郭勒市| 淳安县| 额尔古纳市| 宜州市| 凌云县| 思南县| 台山市| 娄烦县| 彭水| 河池市| 马鞍山市| 临海市| 嘉定区| 长顺县| 肥西县| 瓮安县| 阿城市| 咸丰县| 石家庄市| 江北区| 吉木萨尔县| 长阳| 宁都县| 泸水县| 东乡族自治县| 山阳县| 吉木萨尔县| 兴国县| 莒南县| 博罗县| 潍坊市| 颍上县| 明水县| 特克斯县| 买车| 青海省| 荥经县| 秭归县|