安卓系統是互聯網行業巨頭Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱,該平臺由Linux操作系統核心層、Android系統框架層、UI框架層和眾多Android應用程序組成,是首個為移動智能終端打造的真正開放和完整的移動互聯網操作系統,被廣泛的應用在智能手機和新近興起的平板電腦領域。
作為一個新興的移動互聯網操作系統,Android盡管最初是針對智能手機而設計的,但是由于其自身的移動互聯網屬性、強大的擴展性和開放性,以及Google從發布至今的不間斷版本升級賦予它的極其強大的生命力和無限的競爭潛力吸引了越來越多的終端電子設備采用開放的Android平臺作為其操作系統。
安卓系統的迅猛發展也引起了車載設備制造商的強烈興趣,為了拓展更多的市場和服務,越來越多有實力的車機廠商將要使用安卓系統作為車載設備的基本操作系統。但是正如上面提到的安卓系統到目前為止還主要是為了手機而設計的操作系統,并不適用于車機。要想既可以滿足車載設備的用戶體驗及操作習慣,又可以兼容安卓系統的特性,也即移動互聯、第三方軟件擴展、開放性和更“炫”、更“酷”、更時尚的用戶體驗,就必須進行深度的二次開發,作為基本開放源代碼的操作系統,安卓系統也給我們提供了這樣的可能。
采用安卓系統是為了發展車機技術,是Android來適應車機。我們只有先把傳統車機的功能在安卓系統上做好做完善了,接下來才是安卓系統激動人心的移動互聯服務,也就是說Android只是車載設備的功能拓展,而絕不能車機去削足適履變成一個大號的手機或者其他不倫不類的東西。
車載設備作為一個已經發展成熟的商品,有其自身嚴謹的用戶體驗和產品定義,把Android車載系統做成了不倫不類的大號手機;或者是投機取巧,為了規避把Android車載化改造的難度和辛苦,把傳統的車機功能采用MCU、MPEG或者WinCE去實現,美其名曰“雙系統Android”,但實際的用戶體驗很差、很低檔,這種行徑雖然能夠蒙蔽市場于一時,但終究會被市場所識破。
目前很多所謂的車載安卓開發還僅僅局限于應用層的開發,和“深度”二字還扯不上關系。上面提到過安卓系統由嵌入式Linux操作系統核心層、安卓系統框架層、UI框架層和應用程序組成,而安卓車機的深度開發正是針對這4大層次,下面我們簡單介紹一下基于安卓系統實現車載設備所面臨的技術挑戰:
在安卓上實現車載設備的MPU+MCU+MPEG的通信協議
智能車機設備架構的核心是MPU,MCU和MPEG,MPU在車機系統中負責顯示用戶操作界面,處理車機系統和用戶的交互以及需要MPU完成的功能如導航、上網等等;而MCU則是車機系統上重要的控制單元,MPEG則是處理碟片的解碼和播放。
在基于安卓的車機系統中,MPU(目前一般采用ARM的A8/A9內核芯片實現,ARM11跑Android會非常勉強)的操作系統是安卓系統,相對比較復雜,而MCU和MPEG的軟件一般是小型封閉系統,對比安卓會簡單得多。由于車機系統涉及到三個硬件內核的三個系統,就需要有一套從硬件到軟件的通信協議來保證這三個系統能夠協同工作。在傳統的車機系統中,由于MPU的功能有限(很多就僅僅是作為導航板來使用),操作系統的體系也相對比較簡單,這個通信協議的實現一般也無需考慮多個應用和進程同時訪問通信協議的情況。
因此如果要在安卓系統上實現該通信協議,第一步是要在Linux操作系統核心實現硬件接口驅動,第二步要在Android系統框架層實現協議棧的系統服務,第三步才是定義該系統服務和應用程序之間的接口,并在為車載設備定制的安卓應用中使用該接口完成與MCU和MPEG的通信。
對于上述通信協議的實現原理絕大多數安卓的開發者應該都會有一個初步的認識,挑戰就在于盡管Android作為一個強大的移動操作系統已經包含很多常用的系統服務(如電源管理服務,窗口管理服務,電話功能服務,輸入法服務等),但是它畢竟不是專門為了車載設備而設計的,它無法預料到一個正規的車載設備要有MPU,MCU和MPEG的通信協議。只有那些有能力對安卓的Linux核心層、系統框架層以及UI框架進行深入研發的團隊,才能完美實現這個車載設備的核心通信協議,目前國內有能力能夠做到這一點的團隊還是鳳毛麟角的。
聲明:
凡文章來源標明“中國智能交通網”的文章版權均為本站所有,請不要一聲不吭地來拿走,轉載請注明出處,違者本網保留追究相關法律責任的權利;所有未標明來源為“中國智能交通網”的轉載文章均不代表本網立場及觀點,“中國智能交通網”不對這些第三方內容或鏈接做出任何保證或承擔任何責任。
征稿:
為了更好的發揮中國智能交通網資訊平臺價值,促進諸位自身發展以及業務拓展,更好地為企業及個人提供服務,中國智能交通網誠征各類稿件,歡迎有實力的企業、機構、研究員、行業分析師投稿。投稿郵箱: zw.ding@cps.com.cn(查看征稿詳細)