新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 如何讓汽車設計更加安全

如何讓汽車設計更加安全

作者: 時間:2013-01-05 來源:網(wǎng)絡 收藏
嵌入式軟件設計的主要挑戰(zhàn)是如何讓嵌入式開發(fā)更快、更安全,以及讓軟件開發(fā)的文檔特別規(guī)范,這樣才可以讓設計更為順暢。這些都和開源系統(tǒng)的開發(fā)速度和進程控制密切相關。與此同時,汽車系統(tǒng)正在從傳統(tǒng)的嵌入式軟件轉向開源Linux開發(fā),其中最主要的問題在于通信。

針對嵌入式軟件應用,風河(Wind River)系統(tǒng)公司Mobile Linux產(chǎn)品資深總監(jiān)Chris Buerger指出,很多大公司雖然面向不同的市場(比如網(wǎng)絡設備商華為和汽車廠商BMW),但是它們都投入了很多資源去支持開放源代碼。這其中最大的挑戰(zhàn)是安全性問題,特別是Android,基本所有的開放源碼都存在這方面的隱患。在開源方面,風河主要面向三個與Linux相關的:Android、基于Yocto的Linux和Genivi Linux。

Android的優(yōu)勢在智能手機等移動領域,而Linux本身的起源則是服務器的。Linux早在十年前就在服務器中興起,現(xiàn)在才逐漸延伸到設備領域?,F(xiàn)在有個很新的趨勢是,Android原來只是應用在手機和平板領域,現(xiàn)在正逐漸走向其他領域,比如血液透析儀、停車咪表和ATM機等。將Android應用到與人類自身安全相關的領域時,就需要特別小心!

Genivi是一個面向車載的協(xié)會,從來看包括兩個部分,一個已經(jīng)在用,一個還在討論之中。目前已經(jīng)在用的是基于Yocto的Linux,正在討論的是從Meego沿襲而來的Tizen。Meego最開始的主要推動者是Intel和Nokia。Nokia轉向和微軟合作后,Intel得到了另外兩個合作伙伴:三星和華為。目前是Intel在領導Genivi Linux的版本發(fā)布。風河也有和其專門配合的Linux版本。

風河車載解決方案資深產(chǎn)品經(jīng)理Franz Walkembach表示,風河把Linux、Yocto和Genivi串聯(lián)起來,積極地參與Yocto、Genivi這些標準制定組織,同時,又把這些規(guī)范融入到自己的產(chǎn)品中。Genivi有很多的技術規(guī)范和要求,通過把它們?nèi)诤系結octo項目中,便可以很方便地形成車載信息娛樂(IVI)解決方案。

Genivi協(xié)會內(nèi)部經(jīng)常討論,如何把Genivi和Android連接起來開發(fā)IVI解決方案。目前,有一種解決方案是通過為它們創(chuàng)建符合性文件提供支持。第二種解決方案是將Genivi專有組件合并到Android中,這樣成本和維護都非常大。還有一種解決方案是保留Genivi的符合性文件,并將Android融入其中,然后采用Hypervisor虛擬化方案,將系統(tǒng)劃分成兩個區(qū)塊,分別運行兩者的功能。在汽車行業(yè),這是一個特別的情況。另外,用戶并不關心系統(tǒng)內(nèi)部是Android功能還是Genivi功能,因此,在同一個界面中提供所有功能是一個很大的挑戰(zhàn)。這個問題非常復雜,比如系統(tǒng)會用到Intel和Freescale等廠商的芯片,也會采用來自不同機構的軟件。

國內(nèi)外在操作系統(tǒng)的選擇上也有所不同。以BMW為例,其在中國的部門非常熱衷于Android開發(fā),而在德國則習慣用Genivi開發(fā)。Chris解釋道,BMW在中國有一個很大的研發(fā)中心,其中有很多的Android工程師,他們對Android更為熟悉。另外,中國的android工程師比德國要多得多。Genivi操作系統(tǒng)的兩個部分,從用戶角度來看,二者沒有太大區(qū)別,但其實現(xiàn)方法卻有差別,比如在開源的圖形界面Qt上。用Android設計更容易做到開發(fā)更快、成本更低。

手機和也存在很多差別。首先,人機界面(HMI)在汽車和手機上非常不同,汽車互聯(lián)的狀況和手機不同。手機進入汽車,藍牙和車載音響配合會有不同的情況;手機和IVI對接時的連通不一樣;iPad或iPod與IVI連接時的情況也不同。第二,軟件堆棧也不相同。第三個非常大的不同是安全性。汽車采用Android系統(tǒng)后,整個系統(tǒng)的安全要求就不同了。

另外,消費電子需要提供不同的功能,以滿足個性化需求,而車載設備則不可能把各種不同的應用都整合到汽車當中。消費電子客戶的需求是快,每個人都有自己習慣的應用軟件。手機中有多個應用,用戶可能每周進行一次更新。然而,汽車中包含導航、收音和播放等多個系統(tǒng),如果同時更新的話,數(shù)據(jù)量將非常驚人。因此,對于汽車OEM來講,一方面要滿足消費者對性能的要求,一方面又要滿足車載對安全性的要求。

在安全性上,德國曾做過一個模擬試驗:一個人在亞洲通過互聯(lián)網(wǎng)去攻擊在德國的一輛與Internet互聯(lián)的汽車。這種攻擊情況在測試時就需要考慮。又比如一個人在東歐,通過互聯(lián)網(wǎng)去控制一輛中國車的剎車系統(tǒng)。這種情況就可以采用風河的Hypervisor進行隔離,將多核分開。另外,風河設計了符合美國國家安全局(NSA)規(guī)范的安全加強(SE)的Android,此外還有SE Linux。同樣是Android,用來設計手機和設計與人安全相關的設備,要求是完全不同的。Android產(chǎn)品不只適用于手機平臺,還可以用來支持很多其他的智能終端應用。

在物聯(lián)網(wǎng)(M2M)方面的應用,Android可能并不是應該選擇的系統(tǒng)。因為物聯(lián)網(wǎng)中往往不存在移動設備的應用環(huán)境(顯示、按鍵或觸摸等),所以比較好的選擇可能選擇Linux或VxWorks系統(tǒng)。手機中包含很多圖形處理的代碼,在物聯(lián)網(wǎng)應用上并不需要這些功能。關于汽車物聯(lián)網(wǎng)的應用,非常有趣的事是車與車之間的溝通。比如汽車相互靠近時,它們都記錄了一些信息(堵車等交通信息),這時不需要人為介入,它們之間就可以進行直接交流。這樣就可以達到交通便利的目的。還有車與云端的溝通等都無需人去介入。利用手機的藍牙或NFC功能,人與人見面可以直接交換信息;又比如男女朋友約會,不用帶名片,直接將手機一碰,就可以獲取信息?,F(xiàn)在,汽車之間也可以約會了!

汽車信息傳遞可以是通過WiFi與云端建立通信,將限速提醒等數(shù)據(jù)用于先進駕駛員輔助系統(tǒng)(ADAS)。車內(nèi)重要數(shù)據(jù)(比如引擎數(shù)據(jù)等)通常不會和IVI互連。通常有個誤解,既然手機中的功能(比如藍牙)都很強了,汽車中為何還需要這些功能?然而,從汽車的角度來看,是汽車通過藍牙和手機溝通,手機再與外網(wǎng)通信。這樣,通過許多車把信息(堵車、運行等)傳送到云端,服務提供商再把這些信息傳回,這樣就可以知道哪里堵車了等等。這樣問題就來了。汽車中有WiFi,手機開某個應用可能會和汽車相關聯(lián)。這樣,把這么復雜的系統(tǒng)快速啟動將非常困難。這樣就要看情況了。不同的應用需要分先后順序啟動,比如主屏幕、藍牙互聯(lián)等立即啟動,而有些不重要的應用則可以稍緩。這些是可以規(guī)劃的。具體到哪些應用需要快速啟動,不同的廠商可能有不同的需求。

很多人認為手機采用的就是Android操作系統(tǒng),組織一個團隊把軟件設計到汽車設備并不困難。這樣太低估了其中的挑戰(zhàn)。給汽車開發(fā)解決方案和給手機開發(fā)解決方案完全不同,一旦合同簽下后,這便是一條不歸路。這個過程從演示到開發(fā),時間將越來越緊。只有充分了解這個行業(yè),站在整車的角度幫助車廠審查,然后將各部件整合到系統(tǒng)中,才能加快設計速度。

最后,對于剛入手嵌入式系統(tǒng)設計的工程師,Chris給出了自己的建議。嵌入式系統(tǒng)設計對的要求非常高。對于應用軟件開發(fā),競爭對手比較多;而對于嵌入式系統(tǒng)開發(fā),則競爭對手要少得多。如果進入到這個領域,那么就祝賀您做出了一個非常好的選擇。這個圈子不像游戲軟件的開發(fā),它非常穩(wěn)定,競爭不是那么頻繁,并且大家在一起就像好朋友和家人一樣。另外,在嵌入式軟件領域,操作系統(tǒng)都是各公司所專有的。如果換一家公司,則相當于學習一種新的語言。因此,對于初學者來說,應該選一種用得較多的語言。對于初學者來說,VxWorks是一個非常好的學習起點。而對于Linux來說,就非常建議多去了解基于Yocto的Linux,因為Yocto是目前集中了最廣泛Linux資源的機構。(end)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉