<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 物聯(lián)網(wǎng)與傳感器 > 設(shè)計(jì)應(yīng)用 > 多核處理器下智能車(chē)載平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

          多核處理器下智能車(chē)載平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

          ——
          作者:盧朝洪 金曦 唐岳東 楊國(guó)青 時(shí)間:2013-06-26 來(lái)源:電子產(chǎn)品世界 收藏

            摘要:隨著汽車(chē)智能化程度的不斷加深,車(chē)載平臺(tái)既要提供良好人機(jī)交互服務(wù)[1],又要具備良好的實(shí)時(shí)控制的能力。傳統(tǒng)的車(chē)載平臺(tái)無(wú)法滿足消費(fèi)者對(duì)智能控制的要求,因此需要在車(chē)載環(huán)境中引入虛擬化的技術(shù),使面向控制的實(shí)時(shí)操作系統(tǒng)和支持復(fù)雜人機(jī)交互接口的非實(shí)時(shí)系統(tǒng)能夠同時(shí)運(yùn)行在同一硬件環(huán)境中。本文分析了目前市場(chǎng)上主流的虛擬化產(chǎn)品及相關(guān)的技術(shù),提出了一種基于分區(qū)機(jī)制的高效平臺(tái)的實(shí)現(xiàn)方法,在的硬件環(huán)境下,實(shí)現(xiàn)了汽車(chē)控制與信息系統(tǒng)的融合,并在OMAP4430硬件平臺(tái)上對(duì)其功能進(jìn)行了驗(yàn)證。

          本文引用地址:http://www.ex-cimer.com/article/146841.htm

            概述

            隨著計(jì)算機(jī)網(wǎng)絡(luò)、人工智能等技術(shù)在汽車(chē)電子領(lǐng)域中的廣泛應(yīng)用,人、車(chē)、網(wǎng)絡(luò)三者逐漸緊密地融合在了一起,同時(shí)車(chē)載系統(tǒng)逐漸向汽車(chē)控制系統(tǒng)滲透。高度集成化的智能控制和信息交互的需求給車(chē)載平臺(tái)的設(shè)計(jì)實(shí)現(xiàn)帶來(lái)了新的問(wèn)題和挑戰(zhàn)。傳統(tǒng)的車(chē)用嵌入式實(shí)時(shí)操作系統(tǒng)主要面向控制領(lǐng)域,對(duì)圖形界面、人機(jī)交互等的支持較差,而電子產(chǎn)品中使用的主流復(fù)雜嵌入式操作系統(tǒng)如WindowsCE、Android等不能夠滿足車(chē)用控制系統(tǒng)實(shí)時(shí)性、準(zhǔn)確性、穩(wěn)定性的性能要求。

            高性能的為大計(jì)算量的應(yīng)用提供了硬件基礎(chǔ),提高了資源的利用率[2]。嵌入式虛擬化技術(shù)[3]允許多個(gè)操作系統(tǒng)運(yùn)行在同一物理硬件平臺(tái)上,從而滿足了車(chē)載平臺(tái)實(shí)時(shí)控制與人機(jī)交互的需求。因此,本文在的硬件環(huán)境下,提出了了一種融合人機(jī)交互和實(shí)時(shí)控制的平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)方法。

            相關(guān)工作

            過(guò)去十年來(lái),虛擬化技術(shù)發(fā)展迅速,其應(yīng)用領(lǐng)域逐漸由桌面系統(tǒng)擴(kuò)展至嵌入式系統(tǒng)中。下面對(duì)兩款主流的嵌入式虛擬機(jī)系統(tǒng)及相關(guān)技術(shù)進(jìn)行分析。

            PikeOS

            PikeOS是一款基于微內(nèi)核核架構(gòu)、面向安全關(guān)鍵領(lǐng)域的商用非開(kāi)源嵌入式實(shí)時(shí)操作系統(tǒng)和虛擬化平臺(tái)[4]。近年來(lái),PikeOS逐漸地應(yīng)用于汽車(chē)電子等領(lǐng)域中。例如由德國(guó)OPENSYSNERGY公司針對(duì)車(chē)內(nèi)前部單元組、儀表板、連通性盒子和駕駛員輔助系統(tǒng)開(kāi)發(fā)的COQOS系統(tǒng),就是基于PikeOS實(shí)現(xiàn)的一個(gè)高度可伸縮軟件框架[5]

            在PikeOS架構(gòu)中實(shí)現(xiàn)了一種兼容MILS架構(gòu)[6]的分離式內(nèi)核,它為不同設(shè)計(jì)目標(biāo)和安全級(jí)別的操作系統(tǒng)提供了分區(qū)的環(huán)境。這種分區(qū)機(jī)制被廣泛應(yīng)用在航空電子等高安全性需求的嵌入式領(lǐng)域中[7]。它通過(guò)對(duì)各種資源進(jìn)行分區(qū),從而達(dá)到相互隔離的目的,有效地防止了一個(gè)系統(tǒng)的錯(cuò)誤向其他系統(tǒng)中傳播。

            OKL4

            OKL4是一個(gè)基于L4微內(nèi)核架構(gòu)的開(kāi)源虛擬機(jī)監(jiān)控器[8]。OKL4針對(duì)于嵌入式虛擬化領(lǐng)域的發(fā)展趨勢(shì)提出了具有虛擬化功能的微內(nèi)核Microvisor,主要應(yīng)用在智能手機(jī)系統(tǒng)中[9]。

            OKL4繼承了L4系列微內(nèi)核的特點(diǎn),對(duì)地址空間、線程、進(jìn)程間通信進(jìn)行了抽象,實(shí)現(xiàn)了安全單元的分區(qū),使得運(yùn)行其上的虛擬機(jī)及其他應(yīng)用、驅(qū)動(dòng)程序分別運(yùn)行在各自的隔離分區(qū)中,并通過(guò)一種相對(duì)高效的IPC(Inter-Processor Communication)進(jìn)行通信[10]。OKL4采用的這種半虛擬化的技術(shù)需要其客戶機(jī)操作系統(tǒng)能夠完全運(yùn)行在OKL4 Microvisor上,因此需要對(duì)操作系統(tǒng)內(nèi)核進(jìn)行修改,提供其對(duì)OKL4半虛擬化的支持,如OK:Linux、OK:Android、OK:Windows等[10]。

            上述兩款嵌入式虛擬化系統(tǒng)的實(shí)現(xiàn)都相對(duì)復(fù)雜,對(duì)硬件的性能要求較高。

            平臺(tái)設(shè)計(jì)

            系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

            本文綜合考慮了成本、性能需求以及系統(tǒng)實(shí)現(xiàn)的復(fù)雜程度,提出了一種基于分區(qū)機(jī)制的多操作系統(tǒng)并行處理方法。在多核處理器的硬件平臺(tái)上,基于嵌入式虛擬化技術(shù)中的分區(qū)機(jī)制將軟件平臺(tái)隔離為不同計(jì)算區(qū)域。在每個(gè)物理的處理器上部署一個(gè)嵌入式操作系統(tǒng),其結(jié)構(gòu)圖如圖1所示。其中,Android OS負(fù)責(zé)處理非實(shí)時(shí)的人機(jī)交互應(yīng)用,SmartOSEK OS[11]負(fù)責(zé)處理實(shí)時(shí)控制應(yīng)用。本文在系統(tǒng)設(shè)計(jì)上采用有效的分區(qū)機(jī)制使二者相互隔離?! ?/p>

          ?
          linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 3 4 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();