新聞中心

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

        如何讓汽車設計更加安全

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

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

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

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

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

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

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

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

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

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

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

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

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

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 卓尼县| 天长市| 南丹县| 密山市| 青河县| 重庆市| 溆浦县| 阆中市| 临桂县| 布拖县| 奎屯市| 邳州市| 绍兴市| 耒阳市| 邵东县| 内黄县| 池州市| 健康| 葵青区| 六盘水市| 霍城县| 吴川市| 茶陵县| 廊坊市| 绥阳县| 甘孜县| 淳安县| 潞西市| 丽水市| 河北省| 西昌市| 绥化市| 红原县| 偏关县| 新干县| 香格里拉县| 保山市| 沧源| 伊吾县| 潞城市| 抚顺县|