基于A(yíng)ndroid車(chē)載虛擬儀表人機界面設計
摘要 提出了利用Google的Android作為車(chē)載虛擬儀表人機界面的軟件開(kāi)發(fā)平臺。在Android系統框架上實(shí)現虛擬儀表的人機界面,闡述了如何對Android現有系統框架進(jìn)行裁剪和調整,使系統更加符合車(chē)載虛擬儀表人機界面的要求,利用Android提供的組件設計虛擬儀表人機界面的各個(gè)功能邏輯模塊,使得模塊設計更加合理.模塊之間的耦合性更小。設計了基于REAL210車(chē)載儀表人機界面,結果表明,基于A(yíng)ndroid的虛擬儀表人機界面功能更加豐富、操作更加友好、易于升級和維護,能較好地滿(mǎn)足用戶(hù)的需求。
關(guān)鍵詞 虛擬儀表;Android;人機界面;架構;APK
車(chē)載虛擬儀表人機界面,是駕駛員獲取汽車(chē)工況數據的主要界面,便于駕駛員實(shí)時(shí)全面地掌握汽車(chē)工作狀態(tài),有效地與汽車(chē)進(jìn)行人機交互,對保障汽車(chē)安全穩定的行駛有著(zhù)重要意義,目前普遍使用的是Windows CE和Linux操作系統。Windows CE操作系統功能穩定,有完善的技術(shù)支持,但價(jià)格昂貴、源代碼封閉、網(wǎng)絡(luò )可利用資源較少;Linux操作系統的最大優(yōu)勢在于免費和開(kāi)源,是車(chē)載信息顯示系統的主流操作系統,但其并不是基于移動(dòng)設備開(kāi)發(fā)的,不能完全滿(mǎn)足移動(dòng)設備的需求。
Android是Google開(kāi)發(fā)的一款基于開(kāi)源操作系統Linux的開(kāi)放、開(kāi)源移動(dòng)平臺,對于目前主流的嵌入式平臺支持良好,Android系統的優(yōu)越性能己在多款移動(dòng)設備上得到驗證。它包括操作系統用戶(hù)界面和應用程序而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng )新的專(zhuān)有權障礙。文中提出利用Android作為車(chē)載虛擬儀表軟件開(kāi)發(fā)平臺,在A(yíng)ndroid提供的應用程序框架上來(lái)實(shí)現虛擬儀表的人機界面。
1 系統硬件體系
雖然Android是作為一款手機軟件平臺進(jìn)行開(kāi)發(fā)的應用程序框架和應用程序但其本質(zhì)是一個(gè)嵌入式軟件開(kāi)發(fā)平臺。若將Android用于車(chē)載虛擬儀表系統的開(kāi)發(fā),需要對儀表系統應用的特點(diǎn)進(jìn)行調整,系統采用的硬件平臺是REAL210,CPU處理速度600 MHz~1 GHz,基于Cortex—A8架構。系統中主要的硬件模塊有音頻模塊、CAN模塊、液晶顯示模塊、串口和以太網(wǎng)通信模塊,如圖1所示。
2 Android軟件系統的定制
由于A(yíng)ndroid最初是基于手機軟件開(kāi)發(fā)平臺進(jìn)行設計的,而且其中大部分模塊都是為手機通信所設計,為節約開(kāi)發(fā)板資源,需要將Android系統中不必要的組件剪裁掉,保留必要的最小系統。因此必須對框架進(jìn)行修改,將與電話(huà)、短信等相關(guān)的模塊移除。僅留下必需的Android的核心模塊,包括Package Manager、System Service、Input Service、Hardware SerVice和System Server等。通過(guò)修改System Server的加載過(guò)程可以去掉不需要的服務(wù)和模塊,另外還要實(shí)現底層硬件的驅動(dòng)程序,重新交叉編譯Linux 2.6內核,并在驅動(dòng)程序實(shí)現的基礎上封裝函數庫,以便Android的應用程序通過(guò)JNI的方式訪(fǎng)問(wèn)底層驅動(dòng)。經(jīng)過(guò)定制和修改過(guò)的Android系統架構如圖2所示。
評論