電子設備在汽車中的廣泛應用被認為是汽車技術發(fā)展進程中的一次革命。隨著汽車電子技術的發(fā)展和汽車控制單元的增加,汽車電子技術正朝著集中化、智能化、網絡化和模塊化方向發(fā)展。車內CAN/LIN總線網絡的使用使得車內各個控制單元的數(shù)據(jù)可以共享,從而使在汽車嵌入式計算平臺上采用多變量多目標的綜合協(xié)調控制成為可能。另一方面,網絡化拓展了汽車的服務領域,為汽車的移動通信、移動辦公、娛樂、導航定位和遠程診斷與維修提供了技術基礎,逐步形成了汽車、家庭、社會一體化的互動體系。汽車嵌入式計算平臺在該一體化體系中擔當重要角色。
本文介紹了車載嵌入式計算平臺,它為完成汽車輔助駕駛和安全監(jiān)控、遠程診斷和維修、在線/離線導航定位、娛樂、與家庭互動等各項功能提供了很好的軟硬件平臺。下面將從汽車/家庭/社會一體化體系結構、計算平臺的硬件體系、軟件體系三個方面進行說明。
1 汽車/家庭/社會一體化體系結構
汽車嵌入式計算平臺為實現(xiàn)各種功能服務提供了良好的軟硬件平臺。車外網絡和車內網絡結合構成了汽車/家庭/社會一體化的互動體系結構。該體系結構示意圖見圖1,車內計算網絡示意圖見圖2。
在圖1中,交通管理中心、汽車服務中心、互聯(lián)網服務中心和娛樂服務中心等共同組成汽車遠程服務平臺,家庭/辦公室和汽車組成汽車/家庭互動平臺體系。其主要提供三類服務:
(1)汽車集成服務。主要指汽車遠程診斷服務和汽車最優(yōu)控制方案服務。汽車計算平臺通過CAN/LIN總線讀取電子控制模塊(ECM)診斷產生的故障代碼,然后通過汽車網關利用無線通信技術發(fā)送至最近的汽車服務中心。汽車服務中心分析故障代碼形成診斷方案并以服務的形式發(fā)送到汽車嵌入式網關,經過協(xié)議解析后再發(fā)送到汽車嵌入式計算平臺,最后通過人機接口顯示給駕駛員。汽車制造商同時向汽車提供下載最佳汽車控制方案的服務,以適合汽車在不同的行駛條件下運行。這些服務主要由汽車遠程服務平臺或汽車制造商提供。
(2)導航定位服務。運行在車載嵌入式平臺上的應用層軟件接收GPS接收儀發(fā)送的數(shù)據(jù),借助車載的地理信息系統(tǒng)(電子地圖)實現(xiàn)導航。此外應用層軟件還可以把GPS接收的數(shù)據(jù)發(fā)送到遠程汽車服務平臺或第三方服務提供商,再由他們把導航信息以服務的形式發(fā)送給汽車嵌入式平臺。這些服務對準確性和及時性要求比較高。如何準確高效地傳遞這些信息成為決定這類服務質量的關鍵。
(3) 個人/娛樂信息服務。汽車/家庭互動平臺體系使人們可以在駕駛汽車的過程中了解家中的情況,將汽車-家庭連為一體。車載信息處理(Telematics) 系統(tǒng)的地位日益突出。它通過無線通信技術將安全保密信息或娛樂信息以服務(Service)的方式傳遞至汽車。
2 汽車嵌入式計算平臺的硬件體系結構
硬件平臺的設計必須根據(jù)其要完成的功能來確定。本項目是將汽車嵌入式網關集成到計算平臺中,因此,計算平臺要完成的功能主要為:與遠程服務中心的無線通信功能;導航功能;音視頻播放的功能;通過CAN/LIN總線訪問車內電子控制模塊的功能等?;?2位ARM內核的EP9315處理器具有良好的計算能力和豐富的外圍接口,在對其做了適當?shù)耐鈬鷶U展后設計出如圖3所示的汽車嵌入式計算平臺。
EP9315是高度集成的片上系統(tǒng)處理器。它擁有200MHz ARM920T處理器及支持Linux、Windows CE和其他許多嵌入式操作系統(tǒng)的存儲器管理單元(MMU)。EP9315內置一個高性能1/10/100 Mbps以太網媒體存取控制器(MAC)及外部接口,可連接SPI、I2S音頻、Raster/LCD、IDE存儲外設、小鍵盤和觸摸屏等。該器件還集成了運行速度為12Mbps的三端口USB 2.0全速主機和3個UART。PCMCIA接口的無線網卡提供遠程網絡的訪問功能,可以實現(xiàn)對遠程服務中心網絡服務器的訪問。IDE接口的電子硬盤用來存放地理信息系統(tǒng),為導航軟件提供電子地圖。GPS接收儀通過串口與EP9315處理器相連,提供實時的車輛地理位置信息。觸摸屏是人機輸入界面,用來完成各種用戶信息的設置。LCD顯示屏和揚聲器是人機輸出界面,可以播放MPEG4視頻或提示語音報警信息。CAN/LIN總線接口可以掛接汽車內的 CAN/LIN總線,提供對車內CAN/LIN總線的訪問?;谏鲜鲇布脚_所設計的軟件能很好地完成計算平臺所要完成的各項功能。
3 汽車嵌入式計算平臺的軟件體系結構
軟件平臺采用嵌入式Linux設計。上文已對軟件部分要實現(xiàn)的功能進行了一定的描述。其中導航任務是一個實時任務,而Linux不具有實時功能,因此需要改進Linux,使其支持實時任務?;趯崟rLinux的軟件體系結構如圖4所示。
系統(tǒng)上電后,首先啟動LINux操作系統(tǒng),然后啟動QT引擎,再啟動 QT主程序。在LCD顯示屏上顯示各個應用程序的選擇按鈕,通過觸摸屏按下相應的按鈕,即會啟動相應的應用程序。下面介紹主要應用程序的執(zhí)行流程。
(1)導航應用程序。導航程序啟動后,用戶通過觸摸屏輸入旅程的起始地點和目的地點。導航軟件把該起始地點和目的地點發(fā)送到導航服務中心(本項目中為無線局域網中一臺計算機),并且每隔一定時間調用導航API從串口1接收GPS接收儀發(fā)送的當前車輛的實時地理位置數(shù)據(jù),再調用通信API,通過無線網卡把該地理位置數(shù)據(jù)發(fā)送到導航服務中心。導航服務中心根據(jù)接收到的旅程起始地點和目的地點計算出最優(yōu)行使路徑,并且每接收到車輛位置信息時,都計算出當前車輛所在的位置,把包含當前車輛位置和應該行使路徑的小范圍的位置圖像發(fā)送到車輛。車上的導航軟件把接收到的圖像在LCD上顯示出來,通過該圖像司機就可以了解車輛當前的位置和下一步要行使的路線。
(2)診斷應用軟件。診斷服務軟件啟動后,該軟件調用診斷API讀取連接在CAN/LIN總線上的各個ECU的故障代碼,然后再調用通信API把這些代碼發(fā)送到汽車服務中心(本項目中是與導航服務中心相同的計算機)。汽車服務中心分析故障代碼,確定出汽車的具體故障情況,把最終結果通過無線網發(fā)送到汽車嵌入式平臺。汽車嵌入式平臺通過無線網卡接收這些數(shù)據(jù),診斷服務軟件讀取該數(shù)據(jù),并在LCD上顯示。
(3)汽車/家庭互動應用軟件。當在汽車嵌入式平臺上運行家庭/汽車互動系統(tǒng)軟件時,該軟件在LCD上顯示家庭中的各個電器及其狀態(tài)。當用戶通過觸摸屏發(fā)出改變某個電器狀態(tài)的命令時,汽車/家庭互動軟件調用家庭API函數(shù)把該命令發(fā)送到家庭網關(由社會第三方服務公司提供)。在家庭網關上運行著實現(xiàn) OSGI協(xié)議的軟件,該軟件可以完成所接收到的命令,并把執(zhí)行的結果發(fā)送到汽車嵌入式平臺。
(4)安全監(jiān)控軟件。CCD攝像頭把汽車行駛車道的圖像輸入到DSP處理系統(tǒng),DSP處理系統(tǒng)對圖像數(shù)據(jù)進行分析,并把分析結果送到在汽車嵌入式平臺上運行的安全監(jiān)控軟件,監(jiān)控軟件分析該數(shù)據(jù)。如果汽車偏離行駛車道,監(jiān)控軟件則調用多媒體API通過揚聲器或者在LCD上顯示信息提醒駕駛員,從而實現(xiàn)安全監(jiān)控和報警功能。