聊一下汽車電傳電控系統(tǒng)中的安全死穴:實時系統(tǒng)和分時系統(tǒng)

一、車規(guī)級芯片

制造手機芯片和汽車芯片,哪個難度更大?知乎上有過類似問題的回答,大概意思概括下:手機芯片,天下武功唯快不破;汽車芯片,穩(wěn)定壓倒一切。

汽車搭載的車規(guī)級芯片,與手機電腦搭載的消費級芯片,兩者差異不是在簡單的制程和核心數(shù)量上。

車規(guī)級芯片要過三道技術(shù)關(guān)

聊一下汽車電傳電控系統(tǒng)中的安全死穴:實時系統(tǒng)和分時系統(tǒng)的圖1

第一道關(guān)是環(huán)境關(guān)。

相比手機,汽車的工作環(huán)境要惡劣百倍。行駛時不僅會遭遇更多的振動和沖擊,還可能要面對各種液體或粉塵的侵蝕,甚至就連溫度條件也頗為極端。

聊一下汽車電傳電控系統(tǒng)中的安全死穴:實時系統(tǒng)和分時系統(tǒng)的圖2

比如車規(guī)級芯片要承受的溫度范圍一般在-40°C-150°C之間,而消費級芯片只需滿足0°C~70°C工作環(huán)境即可。

第二道關(guān)是壽命關(guān)。

手機作為消費品,生命周期一般不會超過5年,而汽車作為大宗商品,使用壽命往往在15年、或者駕駛20萬公里左右,這不僅要求車規(guī)級芯片要有足夠長的壽命,還要求它能在未來15年內(nèi)都能滿足汽車行駛的基本訴求。

聊一下汽車電傳電控系統(tǒng)中的安全死穴:實時系統(tǒng)和分時系統(tǒng)的圖3

第三道關(guān),也是最重要的一道關(guān),是安全關(guān)。

手機玩游戲時死機,頂多是被隊友罵兩句,但汽車如果開在路上,芯片崩了,那可能就要出人命了。

用更直觀的數(shù)據(jù)來說,手機芯片可接受的不良率是萬分之二,汽車芯片的不良率則不能高于百萬分之一。

聊一下汽車電傳電控系統(tǒng)中的安全死穴:實時系統(tǒng)和分時系統(tǒng)的圖4

二、系統(tǒng)區(qū)別

為了進一步能夠讓大家理解汽車上控制單元操作系統(tǒng)和消費電子產(chǎn)品操作系統(tǒng)區(qū)別,將一些公開的資料匯總整理如下:

實時操作系統(tǒng)  實時操作系統(tǒng)

  英文稱Real Time Operating System,簡稱RTOS。

  1.實時操作系統(tǒng)定義

  實時操作系統(tǒng)(RTOS)是指當外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實時任務(wù)協(xié)調(diào)一致運行的操作系統(tǒng)。因而,提供及時響應(yīng)和高可靠性是其主要特點。實時操作系統(tǒng)有硬實時和軟實時之分,硬實時要求在規(guī)定的時間內(nèi)必須完成操作,這是在操作系統(tǒng)設(shè)計時保證的;軟實時則只要按照任務(wù)的優(yōu)先級,盡可能快地完成操作即可。我們通常使用的操作系統(tǒng)在經(jīng)過一定改變之后就可以變成實時操作系統(tǒng)。

  實時操作系統(tǒng)是保證在一定時間限制內(nèi)完成特定功能的操作系統(tǒng)。例如,可以為確保生產(chǎn)線上的機器人能獲取某個物體而設(shè)計一個操作系統(tǒng)。在“硬”實時操作系統(tǒng)中,如果不能在允許時間內(nèi)完成使物體可達的計算,操作系統(tǒng)將因錯誤結(jié)束。在“軟”實時操作系統(tǒng)中,生產(chǎn)線仍然能繼續(xù)工作,但產(chǎn)品的輸出會因產(chǎn)品不能在允許時間內(nèi)到達而減慢,這使機器人有短暫的不生產(chǎn)現(xiàn)象。一些實時操作系統(tǒng)是為特定的應(yīng)用設(shè)計的,另一些是通用的。一些通用目的的操作系統(tǒng)稱自己為實時操作系統(tǒng)。但某種程度上,大部分通用目的的操作系統(tǒng),如微軟的Windows NT或IBM的OS/390有實時系統(tǒng)的特征。這就是說,即使一個操作系統(tǒng)不是嚴格的實時系統(tǒng),它們也能解決一部分實時應(yīng)用問題。

  2.實時操作系統(tǒng)的特征

  1)多任務(wù);

  2)有線程優(yōu)先級

  3)多種中斷級別

  小的嵌入式操作系統(tǒng)經(jīng)常需要實時操作系統(tǒng),內(nèi)核要滿足實時操作系統(tǒng)的要求。

  3.實時操作系統(tǒng)的相關(guān)概念

  (1)基本概念

  代碼臨界段:指處理時不可分割的代碼。一旦這部分代碼開始執(zhí)行則不允許中斷打入;

  資源:任何為任務(wù)所占用的實體;

  共享資源:可以被一個以上任務(wù)使用的資源;

  任務(wù):也稱作一個線程,是一個簡單的程序。每個任務(wù)被賦予一定的優(yōu)先級,有它自己的一套CPU寄存器和自己的棧空間。典型地,每個任務(wù)都是一個無限的循環(huán),每個任務(wù)都處在以下五個狀態(tài)下:休眠態(tài),就緒態(tài),運行態(tài),掛起態(tài),被中斷態(tài);

  任務(wù)切換:將正在運行任務(wù)的當前狀態(tài)(CPU寄存器中的全部內(nèi)容)保存在任務(wù)自己的棧區(qū),然后把下一個將要運行的任務(wù)的當前狀態(tài)從該任務(wù)的棧中重新裝入CPU的寄存器,并開始下一個任務(wù)的運行;

  內(nèi)核:負責(zé)管理各個任務(wù),為每個任務(wù)分配CPU時間,并負責(zé)任務(wù)之間通訊。分為不可剝奪型內(nèi)核于可剝奪型內(nèi)核;

  調(diào)度:內(nèi)核的主要職責(zé)之一,決定輪到哪個任務(wù)運行。一般基于優(yōu)先級調(diào)度法;

  (2)關(guān)于優(yōu)先級的問題

  任務(wù)優(yōu)先級:分為優(yōu)先級不可改變的靜態(tài)優(yōu)先級和優(yōu)先級可改變的動態(tài)優(yōu)先級;

  優(yōu)先級反轉(zhuǎn):優(yōu)先級反轉(zhuǎn)問題是實時系統(tǒng)中出現(xiàn)最多的問題。共享資源的分配可導(dǎo)致優(yōu)先級低的任務(wù)先運行,優(yōu)先級高的任務(wù)后運行。解決的辦法是使用“優(yōu)先級繼承”算法來臨時改變?nèi)蝿?wù)優(yōu)先級,以遏制優(yōu)先級反轉(zhuǎn)。

  (3)互斥

  雖然共享數(shù)據(jù)區(qū)簡化了任務(wù)之間的信息交換,但是必須保證每個任務(wù)在處理共享共享數(shù)據(jù)時的排他性。使之滿足互斥條件的一般方法有:關(guān)中斷,使用測試并置位指令(TAS),禁止做任務(wù)切換,利用信號量。

  因為采用實時操作系統(tǒng)的意義就在于能夠及時處理各種突發(fā)的事件,即處理各種中斷,因而衡量嵌入式實時操作系統(tǒng)的最主要、最具有代表性的性能指標參數(shù)無疑應(yīng)該是中斷響應(yīng)時間了。中斷響應(yīng)時間通常被定義為:

  中斷響應(yīng)時間=中斷延遲時間+保存CPU狀態(tài)的時間+該內(nèi)核的ISR進入函數(shù)的執(zhí)行時間[2]。

  中斷延遲時間=MAX(關(guān)中斷的最長時間,最長指令時間) + 開始執(zhí)行ISR的第一條指令的時間[2]。

分時操作系統(tǒng)  【詞語】:分時操作系統(tǒng)

  【注音】:fēn shí cāo zuò xì tǒng

  【英文】:Time-sharing Operating System

  【釋義】:使一臺計算機同時為幾個、幾十個甚至幾百個用戶服務(wù)的一種操作系統(tǒng)。把計算機與許多終端用戶連接起來,分時操作系統(tǒng)將系統(tǒng)處理機時間與內(nèi)存空間按一定的時間間隔,輪流地切換給各終端用戶的程序使用。由于時間間隔很短,每個用戶的感覺就像他獨占計算機一樣。分時操作系統(tǒng)的特點是可有效增加資源的使用率。例如UNIX系統(tǒng)就采用剝奪式動態(tài)優(yōu)先的CPU調(diào)度,有力地支持分時操作。

  產(chǎn)生分時系統(tǒng)是為了滿足用戶需求所形成的一種新型 OS 。它與多道批處理系統(tǒng)之間,有著截然不同的性能差別。用戶的需求具體表現(xiàn)在以下幾個方面: 人—機交互 共享主機 便于用戶上機

  分時系統(tǒng)的基本思想

  時間片 :是把計算機的系統(tǒng)資源(尤其是 CPU時間)進行時間上的分割,每個時間段稱為一個時間片,每個用戶依次輪流使用時間片。

  分時技術(shù):把處理機的運行時間分為很短的時間片,按時間片輪流把處理機分給各聯(lián)機作業(yè)使用。

  分時操作系統(tǒng):是一種聯(lián)機的多用戶交互式的操作系統(tǒng)。一般采用時間片輪轉(zhuǎn)的方式使一臺計算機為多個終端服務(wù)。對每個用戶能保證足夠快的響應(yīng)時間,并提供交互會話能力。

  設(shè)計目標:對用戶的請求及時響應(yīng),并在可能條件下盡量提高系統(tǒng)資源的利用率。

  適合辦公自動化、教學(xué)及事務(wù)處理等要求人機會話的場合。

  工作方式:

  一臺主機連接了若干個終端;每個終端有一個用戶在使用;交互式地向系統(tǒng)提出命令請求;系統(tǒng)接受每個用戶的命令;采用時間片輪轉(zhuǎn)方式處理服務(wù)請求;并通過交互方式在終端上向用戶顯示結(jié)果;用戶根據(jù)上步結(jié)果發(fā)出下道命令

  分時系統(tǒng)實現(xiàn)中的關(guān)鍵問題:及時接收。及時處理。

  特征:

  交互性:用戶與系統(tǒng)進行人機對話。

  多路性:多用戶同時在各自終端上使用同一CPU。

  獨立性:用戶可彼此獨立操作,互不干擾,互不混淆。

  及時性:用戶在短時間內(nèi)可得到系統(tǒng)的及時回答。

  影響響應(yīng)時間的因素:終端數(shù)目多少、時間片的大小、信息交換量、信息交換速度。

我們上面說了這么多,簡單總結(jié)下就是:

支持芯片工作的系統(tǒng)分為兩種:分時系統(tǒng)和實時系統(tǒng),在市面上絕大多數(shù)汽車都是采用的實時系統(tǒng),并且與各類專用芯片配套定制開發(fā)優(yōu)化。

我們用的蘋果手機,安卓手機,筆記本,平板電腦,PC電腦,這些統(tǒng)統(tǒng)采用的都是分時系統(tǒng)。

而我們用的這些消費級電子產(chǎn)品,有誰沒經(jīng)歷過死機?舉手報到一下。

三、汽車采用分時系統(tǒng)的弊病/死穴

套用業(yè)內(nèi)人士的話來說,就是拿消費級電子產(chǎn)品零件開發(fā)汽車控制系統(tǒng),不強調(diào)安全穩(wěn)定,只是一味的追求算力水平。

如果上面說的太繞了,可以再簡化一下就是,分時系統(tǒng)把CPU芯片的時間劃分成若干個時間片段,我們可以稱為“時間片”。操作系統(tǒng)可以以時間片為單位,輪流為每一個進程/指令進行運算處理,一個系統(tǒng)當中,可能會同時存在很多進程,每個進程都會有處理需求,芯片就是在分時系統(tǒng)的控制下,輪流為每一個進程/指令來輪流處理信息,當進程需要的算力多、優(yōu)先級高的時候,芯片分時系統(tǒng)分給這個進程的運算時間就多一點。這個分配規(guī)則就會導(dǎo)致一種情況,我們玩游戲玩著正嗨的時候卡主了,處理大型WORD文件的時候,鼠標轉(zhuǎn)圈圈,不聽使喚了,我們叫做死機,這個時候我們只能耐心等待,運氣好,電腦過一會會反應(yīng)過來,運氣不好,只能強行關(guān)機重啟。在出現(xiàn)這種情況的時候,如果是筆記本電腦,我們調(diào)用任務(wù)處理器查看進程,可能就會發(fā)現(xiàn)有的進程達到了100%,而且導(dǎo)致你的電腦風(fēng)扇狂轉(zhuǎn)散熱,因為這個時候你的CPU算力都被這個進程占用了,因此出現(xiàn)這一情況。

聊一下汽車電傳電控系統(tǒng)中的安全死穴:實時系統(tǒng)和分時系統(tǒng)的圖5

還是用通俗易懂的方式來和大家說下實時系統(tǒng),實時系統(tǒng)的操作管理控制邏輯和分時系統(tǒng)剛剛是相反的。

上面我們也說了,實時系統(tǒng)首先保證的是響應(yīng)效率,CPU芯片運算結(jié)果的正確性不僅僅是和程序邏輯性相關(guān),還和運算結(jié)果產(chǎn)生的時間有關(guān)。控制系統(tǒng)能不能及時響應(yīng)外部時間的請求,在規(guī)定時間內(nèi)完成對特定事件的處理,并且有效控制所有實時任務(wù)能夠協(xié)調(diào)一致的有序運行,這就是實時系統(tǒng)需要做的事情,再簡化一下就是,必須對進程/指令在一定時間內(nèi)完成,且保證運算結(jié)果的正確及時輸出,進而完成外部設(shè)備工作控制。高速行駛的汽車,對所有輸入/輸出反應(yīng)都有強制的時間需要,滿足不了這一個時間規(guī)定,你踩剎車了,他系統(tǒng)死機了和分時系統(tǒng)一樣卡主了鼠標在轉(zhuǎn)圈這樣的情況出現(xiàn)了,等系統(tǒng)反應(yīng)過來,汽車恐怕已經(jīng)在幾百米開外了。

汽車A類安全系統(tǒng),在設(shè)計之初就有強制要求,必須滿足規(guī)定的時間相應(yīng)限制要求,不能滿足相應(yīng)時間,就無法保證安全和可靠。

四、車輛核心系統(tǒng)和分布式系統(tǒng)

傳統(tǒng)汽車通常都是多個系統(tǒng)通過總線進行連接通訊,組成的一個分布式系統(tǒng),例如ABS系統(tǒng)負責(zé)剎車和ESP等相關(guān)功能;空氣懸掛電腦只是負責(zé)底盤懸架穩(wěn)定性主要功能,并通過數(shù)據(jù)交換和動力總線上的控制單元分享信息,也接收指令,進而實現(xiàn)行車穩(wěn)定性和舒適性控制;發(fā)動機控制單元負責(zé)發(fā)動機運行;部分數(shù)據(jù)共享給動力總線其他用戶,用于驅(qū)動防滑,驅(qū)動扭矩控制,變速器匹配等動力控制;變速器負責(zé)驅(qū)動車輛行駛,通過總線和發(fā)動機系統(tǒng)協(xié)同工作......

每一個控制單元都有一個自己的系統(tǒng),他們各司其職,只是通過網(wǎng)關(guān)和總線系統(tǒng)相互交換數(shù)據(jù),進行協(xié)同工作,這種就是分布式系統(tǒng),分布式系統(tǒng)具有自愈功能,什么意思呢?就是識別到總線系統(tǒng)其他控制單元提供的錯誤的數(shù)據(jù)給自己后,自己可以進行判斷,不再采納錯誤的第三方信息,直接通過信息控制輸出報警,然后用自己內(nèi)部邏輯程序控制系統(tǒng)進入應(yīng)急工作模式,保證了基本功能的可靠穩(wěn)定運行。

新能源車出來之后,有了另外的一種玩法,叫核心系統(tǒng),這個系統(tǒng)管理車輛的所有控制系統(tǒng),也就是說,車上系統(tǒng)有一個大腦,是領(lǐng)導(dǎo)核心,其他系統(tǒng)都要聽他分配,這種設(shè)計是希望通過一臺擁有強大算力的核心運算操作系統(tǒng)來支持整車所有系統(tǒng)工作,提升整車以往分布式系統(tǒng)的高成本的研發(fā)制造性價比,同時也簡化其他系統(tǒng)開發(fā)制造成本。

五、汽車系統(tǒng)之戰(zhàn)

目前奔馳、寶馬、奧迪、保時捷、賓利、法拉利等歐系車、別克、雪佛蘭等美系車、豐田等日系車、小鵬P7國產(chǎn)電動車等等大部分乘用車,還有很多商用卡車比如斯堪尼亞等,用的都是實時系統(tǒng),在實時系統(tǒng)領(lǐng)域,做的厲害的有黑莓的QNX系統(tǒng),這是一個專為汽車控制單元開發(fā)的底層操作系統(tǒng),與車規(guī)級芯片在設(shè)計研發(fā)初始階段就進行了完美適配,最大限度的提高了可靠性,單凡是采用實時系統(tǒng)的都一定是專業(yè)技術(shù)領(lǐng)域。

傳統(tǒng)汽車電傳線控換擋技術(shù)應(yīng)用多年,除了機械/物理故障,極少發(fā)生過控制失靈的情況,因為這些車用的都是實時系統(tǒng)。

飛機上也是最早采用電傳電控系統(tǒng)的交通工具,飛機用的控制系統(tǒng)也是實時系統(tǒng),沒聽說過飛機控制失靈吧?當然,硬件機械故障和物理損壞除外。

六、敲一下黑板-特斯拉

聊一下汽車電傳電控系統(tǒng)中的安全死穴:實時系統(tǒng)和分時系統(tǒng)的圖6

很少有人研究過特斯拉的控制芯片和應(yīng)用程序乃至操作系統(tǒng),特斯拉芯片部分是自研芯片,車規(guī)級芯片有幾顆?

特斯拉中控車載核心系統(tǒng)是Linux作為內(nèi)核的系統(tǒng),怎么改,都無法改變他是分時系統(tǒng)的事實。

既然他是分時系統(tǒng),那么他就無法完全避免和繞開上面提到的問題。

這一切,留給國家專業(yè)權(quán)威部門來鑒定,留給時間來驗證吧。

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

1