基于Android車載虛擬儀表人機界面設計

時間:2013-05-10

來源:網絡轉載

導語:Android是Google開發(fā)的一款基于開源操作系統(tǒng)Linux的開放、開源移動平臺,對于目前主流的嵌入式平臺支持良好,Android系統(tǒng)的優(yōu)越性能己在多款移動設備上得到驗證。

車載虛擬儀表人機界面,是駕駛員獲取汽車工況數據的主要界面,便于駕駛員實時全面地掌握汽車工作狀態(tài),有效地與汽車進行人機交互,對保障汽車安全穩(wěn)定的行駛有著重要意義,目前普遍使用的是WindowsCE和Linux操作系統(tǒng)。WindowsCE操作系統(tǒng)功能穩(wěn)定,有完善的技術支持,但價格昂貴、源代碼閉、網絡可利用資源較少;Linux操作系統(tǒng)的最大優(yōu)勢在于免費和開源,是車載信息顯示系統(tǒng)的主流操作系統(tǒng),但其并不是基于移動設備開發(fā)的,不能完全滿足移動設備的需求。

Android是Google開發(fā)的一款基于開源操作系統(tǒng)Linux的開放、開源移動平臺,對于目前主流的嵌入式平臺支持良好,Android系統(tǒng)的優(yōu)越性能己在多款移動設備上得到驗證。它包括操作系統(tǒng)用戶界面和應用程序而且不存在任何以往阻礙移動產業(yè)創(chuàng)新的專有權障礙。文中提出利用Android作為車載虛擬儀表軟件開發(fā)平臺,在Android提供的應用程序框架上來實現(xiàn)虛擬儀表的人機界面。

1系統(tǒng)硬件體系

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

2Android軟件系統(tǒng)的定制

由于Android最初是基于手機軟件開發(fā)平臺進行設計的,而且其中大部分模塊都是為手機通信所設計,為節(jié)約開發(fā)板資源,需要將Android系統(tǒng)中不必要的組件剪裁掉,保留必要的最小系統(tǒng)。因此必須對框架進行修改,將與電話、短信等相關的模塊移除。僅留下必需的Android的核心模塊,包括PackageManager、SystemService、InputService、HardwareSerVice和SystemServer等。通過修改SystemServer的加載過程可以去掉不需要的服務和模塊,另外還要實現(xiàn)底層硬件的驅動程序,重新交叉編譯Linux2.6內核,并在驅動程序實現(xiàn)的基礎上裝函數庫,以便Android的應用程序通過JNI的方式訪問底層驅動。經過定制和修改過的Android系統(tǒng)架構如圖2所示。

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

3應用程序的設計與實現(xiàn)

應用程序的系統(tǒng)架構。通過PackageManager提供的各個APK的信息以菜單方式對各個功能模塊進行調用。

3.1CAN模塊

CAN模塊用于數據的采集和處理,CAN模塊接到數據后,要對數據進行解析,判斷出接收到的數據類型。最終得到所需要的值。計算方法為根據參數所在數據域的字節(jié)位置提取其對應的原始數,再根據該參數對應的分辨率和偏移量得到參數值,其參數值的計算方法為:參數值=參數原始數×分辨率+偏移量。通過編程計算出數據代表的實際發(fā)動機狀態(tài)值,即可準確地在車輛實時功能模塊中顯示當前的車輛狀態(tài)。

3.2數據訪問模塊

程序的數據訪問模塊,采用Android系統(tǒng)內置的SQLite數據庫,對一些重要車況信息自動記憶存儲,便于分析和維修,起到汽車“黑匣子”的作用。存儲的車況信息可以通過點擊回放按鈕直接在儀表界面上回放,真實再現(xiàn)汽車行進過程中的狀況。

3.3功能模塊

功能模塊用于測控車輛的速度、發(fā)動機轉速、水溫和燃油、告警事件的顯示。系統(tǒng)設計的功能模塊界面顯示如圖3所示。

3.4告警模塊

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

4結束語

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

中傳動網版權與免責聲明:

凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.wangxinlc.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯(lián)網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯(lián)系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機器視覺
  • 機械傳動
  • 編碼器
  • 直驅系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機器人
  • 低壓電器
  • 機柜
回頂部
點贊 0
取消 0