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