小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

汽車ECU操作系統(tǒng)標(biāo)準(zhǔn)OSEK/VDX及AUTOSAR標(biāo)準(zhǔn)

 酒仙橋北路 2019-11-23

隨著社會的進步和汽車工業(yè)的飛速發(fā)展,汽車在降低能耗、提高安全性和舒適度以及環(huán)保等方面的要求越來越高。這些要求刺激了電子技術(shù)在汽車上的應(yīng)用,而且比重不斷增加,其結(jié)果是汽車在零部件控制技術(shù)、通信和網(wǎng)絡(luò)方面的復(fù)雜性大大增加。

    在這個強大的市場需求和激烈競爭的環(huán)境下,汽車電子的軟硬件產(chǎn)品不斷發(fā)展并出現(xiàn)多元化格局。 這時一些問題凸顯出來,比如,由于處理器( CPU)不斷升級導(dǎo)致不同的CPU間的軟件移植滯后,由于不同實時操作系統(tǒng)的應(yīng)用程序接口(API)不同,導(dǎo)致應(yīng)用程序的移植性差等。

為了改變這些狀況,汽車行業(yè)借鑒通信行業(yè)的做法,把汽車嵌入式系統(tǒng)、部件間通信、部件管理逐步規(guī)范化、標(biāo)準(zhǔn)化。從而出現(xiàn)了車規(guī)級操作系統(tǒng)及標(biāo)準(zhǔn)。當(dāng)前主要的汽車行業(yè)操作系統(tǒng)有:

ECU/TCU等底層控制單元:基于AUTOSAR OSEK/VDX的rtos;

儀表等需要簡單界面的人機交互單元:QNX,AGL

導(dǎo)航中控等強人機交互單元:Windows CE、Android

    當(dāng)然,還有其他一些大廠自行開發(fā)的操作系統(tǒng),而且上述的各類系統(tǒng)也是在相互滲透的,比如早期的導(dǎo)航不少也是用的QNX。本文只講述OSEK/VDX標(biāo)準(zhǔn)的實時操作系統(tǒng)。

OSEK/VDX標(biāo)準(zhǔn)

    1993年德國汽車工業(yè)界提出了OSEK(德文:Offene Systeme and deren Schnittstellen fur dieElektronik im Kraftfahr-zeug)體系,其含義是汽車電子開放式系統(tǒng)及其接口。這個體系的最早倡導(dǎo)者有:寶馬、博世、戴姆勒克萊斯勒、歐寶、西門子、大眾和卡爾斯魯厄大學(xué)的工業(yè)信息技術(shù)研究所。法國的汽車制造商標(biāo)致和雷諾于1994年加人了OSEK體系,并將法國汽車工業(yè)使用的汽車分布式運行系統(tǒng)(Vehicle Distributed eX-ecutivr, V DX)也納人這一體系,VDX的作用與OSEK相似。

    在1995年召開的研討會上,眾多的廠商對OSEK和VDX的認(rèn)識達(dá)成了共識,產(chǎn)生了OSEK/VDX規(guī)范(1997年發(fā)布)。它主要由四部分組成:操作系統(tǒng)規(guī)范(OSEK Operating System,OSEK OS)、通信規(guī)范(OSEK Communication,OSEK COM )、網(wǎng)絡(luò)管理規(guī)范( OSEK Net Management,OSEK NM)和OSEK實現(xiàn)語言(OSEK Implementation Language,OIL)。

    從此之后,各嵌入式OS廠商都相繼推出了符合OSEK規(guī)范的產(chǎn)品,比較典型的有WINDRIVER公司的OSEKWorks,ETAS公司的RTA-OSEK,MOTOROLA的OSEKturbo和美國密西根大學(xué)的EMERALDS-OSEK等。隨著該規(guī)范應(yīng)用的不斷深人,其結(jié)構(gòu)和功能不斷完善和優(yōu)化,版本也不斷升級和擴展。

OSEK/VDX操作系統(tǒng)的特點

實時性

    由于越來越多的微處理器被應(yīng)用到汽車控制領(lǐng)域,如汽車剎車的防抱死系統(tǒng)、動力設(shè)備的安全控制等這些系統(tǒng)直接關(guān)系著人的生命安全,即使出現(xiàn)絲毫的差錯也會導(dǎo)致危及生命安全的嚴(yán)重后果,因此要求操作系統(tǒng)具有嚴(yán)格的實時性。OSEK操作系統(tǒng)通過靜態(tài)的系統(tǒng)配置、占先式調(diào)度策略、提供警報機制和優(yōu)化系統(tǒng)運行機制以提高中斷響應(yīng)速度等手段來滿足用戶的實時需求。

可移植性

    OSEK規(guī)范詳細(xì)規(guī)定了操作系統(tǒng)運行的各種機制,并在這些機制基礎(chǔ)上制定了標(biāo)準(zhǔn)的應(yīng)用程序編程接口,使那些獨立編寫的代碼能夠很容易地整合起來,增強了應(yīng)用程序的可移植性。OSEK還制定了標(biāo)準(zhǔn)的OIL,用戶只需更改OIL配置文件中與硬件相關(guān)部分,便可實現(xiàn)不同微處理器之間的應(yīng)用程序移植。通過這些手段,減少了用于維護應(yīng)用程序軟件和提高它的可移植性的花費,降低了應(yīng)用程序的開發(fā)成本。

可擴展性

    為了適用于廣泛的目標(biāo)處理器,支持運行在廣泛硬件基礎(chǔ)上的實時程序,OSEK操作系統(tǒng)具備高度模塊化和可靈活配置的特性。它定義了不同的符合級別( Conformance Classes),并采用對不同應(yīng)用程序有可靠接收能力的體系結(jié)構(gòu),從而增強了系統(tǒng)的可擴展性。OSEK操作系統(tǒng)可以在很少的硬件資源(RAM,ROM,CPC時間)環(huán)境下運行,即便在8位微處理器上也是如此。

OSEK/VDX操作系統(tǒng)的運行機制

進程(TASK)管理和調(diào)度

    在OSEK操作系統(tǒng)中,進程管理能力相對有限,這是因為系統(tǒng)的進程設(shè)置在系統(tǒng)生成時已經(jīng)定義好了,并目,系統(tǒng)中進程的數(shù)量保持不變,不允許動態(tài)創(chuàng)建和刪除進程。OSEK規(guī)范把進程分為基礎(chǔ)進程和擴展進程?;A(chǔ)進程狀態(tài)包括:就緒態(tài)、運行態(tài)和掛起態(tài),進程切換只發(fā)生在這三種狀態(tài)之間;擴展進程除了具有基礎(chǔ)進程的三種狀態(tài)外,還有等待態(tài),并支持事件機制。

    基礎(chǔ)進程通常在開始運行后,只有當(dāng)它被高優(yōu)先級進程占先或者是被中斷時,它才會停止,否則一直運行到進程結(jié)束。而擴展進程除了能被高優(yōu)先級的進程占先和被中斷外,還會因等待事件而停止運行,進人等待態(tài)。處于等待態(tài)的擴展進程只有當(dāng)它所等待的事件中至少有一個發(fā)生才會被激活繼續(xù)運行。

    處于就緒態(tài)的進程由調(diào)度程序調(diào)度運行,OSEK規(guī)范采用靜態(tài)優(yōu)先級調(diào)度策略。進程的優(yōu)先級在系統(tǒng)生成的時候進行靜態(tài)分配,高優(yōu)先級的進程先處理,低優(yōu)先級的進程后處理,具有相同優(yōu)先級的進程則進入一個先來先服務(wù)的隊列。此外進程可分為可被占先進程和不可被占先進程:對不可被占先的進程而言,一旦進程開始運行,就不會被占先,只有到達(dá)其調(diào)度點時才發(fā)生調(diào)度,程序設(shè)計員可以預(yù)知調(diào)度點;而對可被占先的進程而言,由于中斷可能激活更高優(yōu)先級的進程,所以任何時候都有可能進行調(diào)度,使用這兩種進程可使程序設(shè)計具有更高的靈活性。

    OSEK操作系統(tǒng)不允許同一進程的多個并行調(diào)用,因為這需要動態(tài)改變進程的數(shù)量。當(dāng)請求調(diào)用一個已經(jīng)激活的進程時,該請求進人一個請求隊列,直到前一個激活進程運行終止(轉(zhuǎn)換為掛起態(tài)),第二個激活請求才執(zhí)行。

進程間通信及同步機制

    OSEK提供了兩種同步機制,即對共享資源的互斥訪問機制和事件機制。

OSEK的資源可以是一段臨界區(qū)代碼、調(diào)度程序、共享內(nèi)存或數(shù)據(jù)結(jié)構(gòu),也可以是共享硬件設(shè)備。系統(tǒng)在處理多個進程對共享資源的互斥訪問時,采用信號量對臨界區(qū)數(shù)據(jù)或資源加鎖。在某一時刻只能有一個進程訪問資源,但是用信號量機制可能會導(dǎo)致優(yōu)先級反轉(zhuǎn),即當(dāng)一個高優(yōu)先級的進程試圖訪問一個已經(jīng)被較低優(yōu)先級的進程占用的資源時,則該高優(yōu)先級的進程必須等待,直到低優(yōu)先級的進程釋放該資源。這時如果有大量的介于前兩個進程優(yōu)先級之間的進程被激活,而且它們根本不使用該資源,那么,占據(jù)資源的低優(yōu)先級進程就會被占先,等待資源的高優(yōu)先級進程也不能執(zhí)行,而中間優(yōu)先級的進程要先于高優(yōu)先級的進程運行,這就是優(yōu)先級反轉(zhuǎn)。為了避免這種情況發(fā)生,OSEK操作系統(tǒng)采用了優(yōu)先級最高限度協(xié)議(Priority Ceiling Protocol ),即當(dāng)一個進程占用了一個資源后,該進程的優(yōu)先級會臨時升高為該資源優(yōu)先級。其優(yōu)先級為可能使用該資源的所有進程優(yōu)先級的最高值。這樣,該進程只會被不使用該資源并且比該資源的優(yōu)先級高的進程占先,直到它釋放該資源為止。因此,當(dāng)一個進程試圖占用一個資源的時候,不可能有任何其他進程正占用著該資源,也就不會有因試圖占用資源而進人等待態(tài)的進程。使用該協(xié)議同時解決了死鎖的問題,當(dāng)兩個進程都已占用了一個資源,而且又試圖訪問對方所占有的資源時,它們無限期地相互等待下去就會發(fā)生死鎖。該協(xié)議中不存在等待進程,自然也就避免了死鎖。

此外,OSEK還提供了另一種同步機制,即事件機制。該機制的含義是,一個處于等待狀態(tài)的擴展進程,只有當(dāng)它所等待的事件至少有一個發(fā)生,才能進入就緒態(tài),并且事件的發(fā)生會以信號的方式傳給該進程。事件機制既可用于多個進程的同步,同時也是進程內(nèi)部通信的方法之一。雖然只有擴展進程才可以等待事件,但設(shè)置這些事件的卻可以是任何進程或中斷服務(wù)程序。有一點要注意,為了遵循占用子資源就不被阻斷的原則,必須避免一個占用了資源的進程因等待事件而進人等待狀態(tài)。

告警機制

    汽車電子控制最典型的特性就是實時性,因此系統(tǒng)必須有基于時間或其他計數(shù)器的處理機制,來處理定時和循環(huán)進程。為此,OSEK提供了警報機制。警報或者基于系統(tǒng)時鐘,或者基于其他的某種計數(shù)器,當(dāng)計數(shù)器到達(dá)警報設(shè)定值時被觸發(fā)。警報觸發(fā)后可以激活進程也可以為某一進程設(shè)置事件,或者干脆執(zhí)行一個警報回調(diào)程序,具體怎樣由用戶在系統(tǒng)生成時靜態(tài)定義,但警報值是動態(tài)設(shè)置的,可以是相對值或者是絕對值,也可以設(shè)為循環(huán)警報來激活周期性進程。

中斷

    汽車控制系統(tǒng)要求對實時輸人作出快速反應(yīng)。在OSEK操作系統(tǒng)中,由應(yīng)用程序開發(fā)者編寫的中斷服務(wù)程序(ISR)與系統(tǒng)封裝在一起,這樣有利于保護進程和系統(tǒng)狀態(tài)。OSEK操作系統(tǒng)把中斷處理程序分為兩類:(1)中斷服務(wù)程序不會調(diào)用系統(tǒng)服務(wù);(2)中斷服務(wù)程序可以調(diào)用部分系統(tǒng)功能,如激活進程、設(shè)置事件、設(shè)置警報等,因此,它可以激活更高優(yōu)先級的進程。OSEK操作系統(tǒng)的中斷管理提供了開/關(guān)全部中斷和開/關(guān)全部第三類中斷的系統(tǒng)調(diào)用。OSEK操作系統(tǒng)內(nèi)核是一個可重入內(nèi)核,因此,那些正在執(zhí)行內(nèi)核代碼的進程(如正在執(zhí)行系統(tǒng)調(diào)用)可能被中斷,交出CPU的使用權(quán),必要時都不允許等到內(nèi)核代碼運行完,這有利于縮短由中斷啟動的更高優(yōu)先級進程的平均延時。OSEK操作系統(tǒng)還支持中斷的嵌套。

符合級別

    由于汽車嵌入式領(lǐng)域的應(yīng)用范圍很廣,所以不同的應(yīng)用程序軟件可能對操作系統(tǒng)的要求有所不同,而且系統(tǒng)實現(xiàn)的硬件環(huán)境也存在很大的差異(如在處理器類型、存儲容量等方面的不同),這就要求操作系統(tǒng)具有靈活的配置能力。

OSEK規(guī)范把這些配置上的不同特點組織成四個級別,即四個符合級別:BCC1,BCC2,ECC1和ECC2。各符合級別在其提供的系統(tǒng)服務(wù)、進程類型和對硬件適應(yīng)能力方面均有所不同,而且在它們之間存在著一定的兼容性。BCC1和BCC2只支持基礎(chǔ)進程,不支持事件機制;ECC1和ECC2支持基礎(chǔ)進程和擴展進程,并且支持事件機制;BCC1和ECC1支持每個優(yōu)先級只有一個進程,BCC2和ECC2支持每個優(yōu)先級可以有多個進程,每個進程可以有多個激活請求。開發(fā)人員可以根據(jù)需要選擇合適的符合級別來實現(xiàn)一個完全符合OSEK規(guī)范的操作系統(tǒng),也可以開發(fā)支持全部符合級別的系統(tǒng)并提供配置選項,供用戶選擇使用。

AUTOSAR標(biāo)準(zhǔn)

    2003年行業(yè)內(nèi)的幾大巨頭(包括BMW, Bosch, Continental, DaimlerChrysler, Volkswagen, Siemens VDO)聯(lián)合建立了AUTOSAR聯(lián)盟,目的是一起開發(fā)并建立一套真正的開放的汽車電子電器架構(gòu)(也就是我們現(xiàn)在所說的AUTOSAR標(biāo)準(zhǔn)或者AUTOSAR架構(gòu),AUTOSAR的全稱是AUTomotive Open System ARchitecture),隨著多年的發(fā)展,越來越多的行業(yè)內(nèi)的公司加入到了AUTOSAR聯(lián)盟中,這其中有OEM(汽車整車廠),Tier1(汽車零部件供應(yīng)商),芯片制造商以及工具制造商,AUTOSAR構(gòu)架/標(biāo)準(zhǔn)也成為了汽車E/E設(shè)計的發(fā)展方向。

    AUTOSAR架構(gòu)和標(biāo)準(zhǔn)的目標(biāo)是:

滿足未來汽車的需求,例如可用性和安全性、軟件升級更新需求、可維護性等

增加軟件的靈活性和可擴展性來實現(xiàn)軟件的集成和整合

實現(xiàn)商用現(xiàn)成的跨產(chǎn)品線的軟件硬件

控制產(chǎn)品和流程的復(fù)雜度和風(fēng)險

優(yōu)化成本

AUTOSAR架構(gòu)的特點

模塊化和可配置性

    定義了一套汽車ECU軟件構(gòu)架,將不依賴硬件的軟件模塊和依賴硬件的軟件模塊分別封裝起來,從而可以讓ECU可以集成由不同供應(yīng)商提供的軟件模塊,增加了功能的重用性,提高了軟件質(zhì)量。軟件可以根據(jù)不同的ECU功能需求和資源情況進行靈活配置。

接口標(biāo)準(zhǔn)化 

    定義了一系列的標(biāo)準(zhǔn)API來實現(xiàn)軟件的分層化。

提出了RTE的概念

    RTE全稱是Runtime Environment,采用RTE實現(xiàn)了ECU內(nèi)部和ECU之間的節(jié)點通訊,RTE處于功能軟件模塊和基礎(chǔ)軟件模塊之間,使得軟件集成更加容易。

具有標(biāo)準(zhǔn)的測試規(guī)范 

    針對功能和通訊總線制定了標(biāo)準(zhǔn)的測試規(guī)范,測是規(guī)范涵蓋的范圍包括對于AUTOSAR的應(yīng)用兼容性(例如RTE的需求,軟件服務(wù)行為需求和庫等)和總線兼容性(總線處理行為和總線協(xié)議等),它的目標(biāo)是建立標(biāo)準(zhǔn)的測試規(guī)范從而減少測試工作量和成本。

AUTOSAR標(biāo)準(zhǔn)核心內(nèi)容

ECU軟件構(gòu)架;

軟件組件(software components);

虛擬功能總線(Virtual Functional Bus);

AUTOSAR設(shè)計方法(Methodology)。

OSEK/VDX和AUTOSAR關(guān)系

    AUTOSAR與OSEK二者都是汽車電子軟件的標(biāo)準(zhǔn)。OSEK/VDX是基于ECU開發(fā)的操作系統(tǒng)標(biāo)準(zhǔn),AUTOSAR基于整體汽車電子開發(fā)的功能標(biāo)準(zhǔn)。AUTOSAR中規(guī)定的操作系統(tǒng)標(biāo)準(zhǔn)就是基于OSEK/VDX,通信和網(wǎng)絡(luò)管理雖然和OSEK有區(qū)別,但是是有繼承性的??梢哉J(rèn)為,AUTOSAR是基于OSEK/VDX發(fā)展出來的,OSEK/VDX被AUTOSAR標(biāo)準(zhǔn)軟件架構(gòu)所包含。

市場上符合OSEK/VDX規(guī)范的OS產(chǎn)品

FreeOSEK(https://github.com/ciaa/Firmware)和OpenOSEK(https://github.com/parai/OpenOSEK)是兩個開源的OSEK/VDX操作系統(tǒng),目前都在github上。

ProOSEK是德國的3soft公司推出的全世界最早的OSEK/VDX操作系統(tǒng)(1997),為BMW、VM/Audi、DaimlerChrysler提供了基于OSEK的軟件開發(fā)平臺。

Freescale公司開發(fā)的OSEKTurbo是目前市場上實現(xiàn)OSEK/VDX標(biāo)準(zhǔn)中,使用最為廣泛的實時操作系統(tǒng)之一,在業(yè)界居領(lǐng)先地位,完全滿足最新的OSEK/VDX開放系統(tǒng)的標(biāo)準(zhǔn),支持8、16、32位微處理器,在穩(wěn)定性和軟件質(zhì)量方面表現(xiàn)出色,當(dāng)然現(xiàn)在屬于NXP。

Nucleus OSEK是Accelerated Technology Embedded System公司基于開源的Nucleus PLUS操作系統(tǒng)的基礎(chǔ)之上實現(xiàn)的,它實現(xiàn)了OSEK/VDX標(biāo)準(zhǔn)的V2.2R1版本,提供了完全的OSEK/VDX認(rèn)證。

Embedded Office開發(fā)的OSEK Extension for uC/OS II基于開源的uC/OS II操作系統(tǒng),通過了BCC1、ECC1、CCCA、CCCB的官方認(rèn)證。

OSEKWorks是Wind River公司在其VxWorks的基礎(chǔ)之上根據(jù)OSEK/VDX標(biāo)準(zhǔn)擴展開發(fā)的,具有VxWorks的優(yōu)良特性。

osCAN是德國的Vector公司開發(fā)的具有CANopen協(xié)議棧的OSEK操作系統(tǒng),可以結(jié)合Vector公司任意通信協(xié)議,支持多版本的CAN協(xié)議,具有多種特殊功能,例如運行過程中的堆棧管理,多種堆棧優(yōu)化方法,內(nèi)部跟蹤、模板生成器、組件管理器等。

RTA-OSEK是LiveDevices公司開發(fā)的,是全球第一個完整實現(xiàn)OSEK所有一致類的RTOS。ERCOSEK是BOSCH公司在其發(fā)動機管理系統(tǒng)中使用的實時操作系統(tǒng),由ETAS公司開發(fā)。LiveDevices與ETAS在2007年合并。

R-OSEK是由韓國電子與電信研究院(ETRI)開發(fā)的OSEK/VDX標(biāo)準(zhǔn)的RTOS,ETRI從2006年投資了367萬美元用于開發(fā)ROSEK,并于2009年5月份通過了OSEK/VDX的認(rèn)證。

DeltaOSEK是中國北京科銀京成技術(shù)有限公司為汽車電子的控制類應(yīng)用所開發(fā)的、符合OSEK/VDX標(biāo)準(zhǔn)的嵌入式操作系統(tǒng),提供標(biāo)準(zhǔn)的OS及COM功能部件的應(yīng)用編程接口。它的最新版本在MPC555/MPC5554的平臺上通過了OSEK/VDX測試集的全面測試,符合OSEK/VDX標(biāo)準(zhǔn),于2009年3月獲得了OSEK/VDX認(rèn)證機構(gòu)的認(rèn)可。

SmartOSEK OS是由浙江大學(xué)ESE工程中心開發(fā)的符合OSEK/VDX標(biāo)準(zhǔn)的嵌入式實時操作系統(tǒng),在2005年通過了國際OSEK/VDX組織的官方認(rèn)證。SmartOSEK OS支持多種國際主流處理器,滿足不同的硬件需求,具有靜態(tài)配置、微內(nèi)核和實時性等優(yōu)點,實現(xiàn)可搶占式內(nèi)核以及多種實時調(diào)度機制,適用于實時性要求較高的汽車電子產(chǎn)品。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多