400-821-6015
行(xíng)業(yè)資訊
您當前的(de)位置:首頁 » 行(xíng)業(yè)資訊 » 行(xíng)業(yè)資訊
內(nèi)部資訊行(xíng)業(yè)資訊

智能(néng)汽車(chē)系統診斷管理(lǐ)模塊設計(jì)

發布日(rì)期:2023-06-02
      整個(gè)診斷汽車(chē)管​≥•φ理(lǐ)包括診斷通(tōng)信管理(lǐ)(Diag$™Ω₩nostic Communication Manager, DCM)、診斷事(shì)件(jiàΩ↕ ♣n)管理(lǐ)DEM(Diagnostic Event αδ↔Manager)、功能(néng)抑制(zhì)管÷↓ 理(lǐ)FIM(Function Inhibitio¥σ‌n Manager)幾大(dà)模塊。診斷功能(néng)貫穿汽車(chē)的(de)開'™'✔(kāi)發生(shēng)産及售後等過程,如(rú)開(kāi)發過程中EMC ≤®≠、ESD等實驗均可(kě)使用(yòng)診斷©★服務實現(xiàn),生(shēng)産過程中的(de)軟件(jiàn)下(x₩γ₽λià)載更新、ECU産線EOL、汽車(chē)産線EOL等、售後過程中讀(dú)取DTC'✘、控制(zhì)輸出調試功能(néng)等。尤其是(shì)在智能(néng)汽車"∑(chē)上(shàng),診斷功能(néng)顯得(de)尤為(wèi)重要(yào),因為<©§♠(wèi)智能(néng)汽車(chē)的(de)很(hěn)多(duō)功能(nén™'↑g)模塊需要(yào)承載更多(duō)的(de)Sensor和(hé)C ∞βontroller,且其功能(néng)都(dōu)是(shì)自(z∑$∏ì)适應觸發。因此,對(duì)于其自(zì)身(shēn)系統及其關聯系統的(d©✘<®e)診斷要(yào)求比傳統汽車(chē •)要(yào)高(gāo)很(hěn)多(duō)。


       如(rú)下(xià)圖,表示←€×了(le)AUTOSAR架構中的(de)§™©∑所有(yǒu)診斷通(tōng)信模塊之的(de)關聯關系φ‌。在底層軟件(jiàn)中,包括模式管理(lǐ)Mode Manager、¥¥‍診斷Diagnosis、存儲Memory、通(tōng)信Communica♥ φ♠tion幾個(gè)模塊。


圖片


      在Aε≤☆★UTOSAR中,DCM和(hé)DEM是(shìφ→ ‍)兩個(gè)關鍵的(de)診斷模塊,它們之間(jiān)通(tōng₽•≈)過一(yī)些(xiē)通(tōng)信鏈路(♦"βlù)相(xiàng)互作(zuò)用(yòng)。DCM主要(yàoαφ✘)負責與外(wài)部診斷工(gōng)具(例如(rú)診斷掃描儀)進行(xíng)通(tō↔₽≈≈ng)信,以便讀(dú)取和(hé)清除故障碼,并執行(xíng)一(yī)些(xiē)$¥∏↑診斷任務。DEM則負責管理(lǐ)和(hé)記錄車(chē)輛(&÷♥$liàng)的(de)診斷事(shì)件(jε ∑≠iàn),例如(rú)故障碼、診斷狀态和(♣¶hé)診斷數(shù)據等。


診斷通(tōng)信管理(lǐ)模塊DCM


      作(zuò)為(©&​φwèi)AutoSar診斷模塊的(de)重要(yàβεo)組成部分(fēn),DCM主要(yào)負責診斷數(shù)據流和(hé)管理©φ★≈(lǐ)診斷狀态(即能(néng)檢查診斷服務的(d"​e)請(qǐng)求是(shì)否滿足條件(jiàn)),包括診斷會(h→♦uì)話(huà)、安全狀态及診斷服務分(fē± £n)配等。DCM模塊主要(yào)實現(xiàn)UDS↓₽♦和(hé)OBD診斷服務的(de)實現(x∞₽α•iàn),但(dàn)是(shì)DCM跟其他(tā)模∏$§'塊的(de)交互比較頻(pín)繁,需要(yà∑∞&☆o)了(le)解診斷服務的(de)機(jī)制ε§(zhì)需要(yào)其他(tā)模塊配置,比如✘←(rú)BswM、DEM、EcuM以及SWC等。


圖片


      DCM模塊可(kě)以分(fēn)為(wèi)四個(gè± >‌)子(zǐ)層,分(fēn)别是(shì)D§♣λ€SD(Diagnostic Session Dispatcher)、DSL(Diagnostλ∑$Ωic Service Layer)、DSPα→σ(Diagnostic Service Processo∞‌ r)和(hé)DCL(Diagnostic Communication Layer)。在這(z÷≥©hè)個(gè)上(shàng)下(xià)文(wén)中,DCM、DSD、DSL和(★¶hé)DSP之間(jiān)的(de)關系可ε<(kě)以描述如(rú)下(xià):


1、DSL :診斷服務層。


      該層處于DCM模塊的(de)最底← 層,用(yòng)于處理(lǐ)診斷數(shù)∑✔ σ據請(qǐng)求和(hé)響應的(de)¥<¶←數(shù)據流;監控和(hé)确保診斷請(qǐng)求和(hé)響✔✔∞≈應的(de)時(shí)序。它接收來(lái)自(zì®↓)DSD層的(de)診斷請(qǐng)求,并根據請(qǐng)求類型将其路(lù)由到(dà δ‍o)相(xiàng)應的(de)DSP子(zǐ)層服務。同時(shí)  ><,DSL也(yě)負責将來(lái)自(zì)DSP子(z ¥ǐ)層的(de)診斷響應傳輸回DSD層。


      整個(gè>©♥✘)處理(lǐ)診斷請(qǐng)求及響應的(de)過程如(rú)下(xià):


圖片


      DSL負責接收PduR模塊λ§'上(shàng)傳的(de)診斷請(qǐng)求及調用(yòng)PduR模塊發送診斷響應數♥£(shù)據,管理(lǐ)并确保診斷協議(y쮧↑)時(shí)序和(hé)診斷狀态(如(rú)當前安全級别保存和(h≥☆§é)複位,當前會(huì)話(huà)狀态,默認會(huì)話(huà)與非默認會(h∑¶uì)話(huà)之間(jiān)的(de)轉換,對(duì)不(bù)同診斷協議(yì)≤σ​優先級定義和(hé)搶占處理(lǐ))。


2、DSD:診斷會(huì)話(huà)調度器(q↕♦ì)。


      處于中間(jiān)層,這(zhè)個(g≠₹è)子(zǐ)層主要(yào)負責管理(lǐ)診斷會(huì)話(huà),如(™"rú)處理(lǐ)診斷會(huì)話(huà)切換、請(qǐng)求取消、會(↓®huì)話(huà)超時(shí)等功能(néng)δ¶。此外(wài),它還(hái)負責将來(lái)自(zì)DCL層的σ'(de)診斷請(qǐng)求轉發到(dào)相(xiàng)應的(de)DSL層服務。


      當接收到(dào)新的(de)診斷請(qǐng)求後♠≈∞轉發到(dào)診斷服務器(qì),完成診ו©π斷請(qǐng)求處理(lǐ)後轉發診斷響應。✘$"§


圖片

       ↔'★♣;  

3、DSP:診斷服務處理(lǐ)器(qì)。


      處于最上(shà≈₹↔φng)層,具體(tǐ)實施診斷服務處理(lǐ),當接受到(dào)DSD請(qǐng)求處理∑φβ∞(lǐ)診斷服務并轉發診斷請(qǐng)求後,将完成實際的(de)診斷服務功能(néng)響​‌應及處理(lǐ)。它包含了(le)處理(lǐ)不(bù)同診斷服務(如(rú®φ♦)讀(dú)取故障碼、控制(zhì)執行(xíng)、數(shù)據參ש數(shù)ID請(qǐng)求等)所需的(de)功能(nén♥₽λ♦g)。每個(gè)具體(tǐ)的(de)診斷服務都(dōu)可(kě♣ $€)以看(kàn)作(zuò)是(shì)一​♠ (yī)個(gè)獨立的(de)DSP子(zǐ∏≤)層。


      D£×±CM作(zuò)為(wèi)診斷通(tōng)信管理(lǐ)器(qì),通(tōng)過D∞π≥SD負責診斷會(huì)話(huà)管理(‌✘lǐ),DSL處理(lǐ)診斷服務請(qǐng)求和(hé)響應,而DSP負責實施具體(tǐλΩ )的(de)診斷服務,以上(shàng)各子(zǐ)層的(de)協同作(zuò)用(yò★♣♥∑ng)可(kě)以有(yǒu)效的(de)實現(xiàn)各種診斷服務的(de)處理(lǐ)和(h✘ε₹¶é)響應。


診斷事(shì)件(jiàn)管理(lǐ)(DEM)


      DE₽"€∑M負責處理(lǐ)車(chē)輛(liàng)的(de)故障診斷信息。DEM模₽×ε塊可(kě)以接收來(lái)自(zì)各種傳感器(qì £"γ)和(hé)控制(zhì)器(qì)的(de)診斷信息,然後¥β根據故障嚴重程度進行(xíng)分(fēn)類和(hé)記→₹錄,并提供診斷狀态和(hé)故障碼等信息。


      此外(wài),DEM還÷ε₽₹(hái)提供了(le)一(yī)些(xiē)API¶<÷±(應用(yòng)程序接口),用(yòng)于訪問(wèn)和(h←₽é)修改診斷數(shù)據。例如(rú),可(kě)以使用(yòng) απAPI來(lái)清除已診斷的(de)故障碼或設置故障碼的(de)優先級。DEM還(hφ<<ái)提供了(le)診斷通(tōng)信協議(yì)和(hé)診斷存儲庫,以便與其他(tā)系統進Ωσα行(xíng)通(tōng)信和(hé)記錄診斷數(shù)據。


      DCM和(hé)DEM之間(jiān)™↓☆的(de)通(tōng)信鏈路(lù)主要(yào)包括以下(xià)組件(j₹"iàn):


      ∏$1)DCM提供的(de)API:DCM提供了(le)一(yī)些(xiē)API,用(yòng)于從(cóng)DEM中讀(d‌λα±ú)取和(hé)更新診斷數(shù)據,例如(rú)讀(dú)取故障碼和(hé)↕≈清除故障碼等。


      2)DEM提供的(de)API:DEM也(yě)提供了(le)一(yī)些(xiē)API,用α✘¥(yòng)于向DCM提供診斷信息,例如(rú)故障碼、診δ♦¶♣斷狀态和(hé)診斷數(shù)據等。


      3)DCM-DEM通(tōng)信協議(yì):DCM和(hé)DEM之間(jiān)的(de)通(tōng)信需↑λγ¶要(yào)使用(yòng)一(yī)些(xiē)标準™"ε∞化(huà)的(de)通(tōng)信協議₹♦£±(yì),例如(rú)UDS(Unified D✘↑iagnostic Services)協議(yì)和(hé)ISO 14229标準。


      4)診斷存儲庫:DCM和(hé)DEM需要(yào)共享一(y&★∞★ī)些(xiē)診斷數(shù)據,例如(rú)故障碼和(hé)診斷狀态等,這(zhπ✘​↑è)些(xiē)數(shù)據通(tōng♠€)常存儲在診斷存儲庫中,DCM和(hé)DEM可(kě)以通(​¥tōng)過這(zhè)個(gè)存儲庫來(lái)交換數(shù)據。


      舉個(gè)例子(€‌zǐ),我們在對(duì)智能(néng)汽車(chē)生(shēng)産線過電(dβπ iàn)檢時(shí),通(tōng)常σ​↓>需要(yào)關閉智能(néng)駕駛的(de)¶ $環境目标檢測及後台自(zì)啓動功能(néng)(如(rú)AEB、MEB這(zhè)類後台自(z¶βδ♠ì)動運行(xíng)的(de)功能(nénσ★Ωg)),因為(wèi)這(zhè)些(xiē)功能(néng)±λ₩在産線上(shàng)自(zì)動運行(xíng)往往會(huì)導緻誤觸發,誤λ‍<報(bào)警等。


圖片


      那(nà)麽如(rú)何通(tōn÷πε↑g)過診斷管理(lǐ)鏈路(lù)關閉這(zhè)類功能(néng)呢(ne)?


      這(zhΩ>è)就(jiù)需要(yào)用(yòng←§→∞)到(dào)AutoSar中非常重要(yào)的(de)兩個(gè)軟件(jiàn)組 ♦‌件(jiàn)模塊診斷事(shì)件(jiàn)•φ✔管理(lǐ)DEM和(hé)實時(shí)調度系統RTE。他(tā)們之間(jβ£♠iān)的(de)通(tōng)信鏈路(lù)可(kě)™​以通(tōng)過AUTOSAR的(de)标準化(hu¶×∏↓à)軟件(jiàn)接口RTE APIs來(lái)實現(xiàn)。首先,DEM模塊可(k€←≠•ě)以向RTE模塊發送事(shì)件(jiàn)(例如'♣(rú)功能(néng)抑制(zhì)信息或故障碼、診斷狀态信息)。RTE模塊接收♦$δ>到(dào)這(zhè)些(xiē)事(shì)件(jiàn)後,通(tōnδ​↕€g)過其自(zì)身(shēn)提供的(de)一(yī)些(xiē)δ♠API,RTE事(shì)件(jiàn)總線通(tōng)過管理(l£←↔©ǐ)和(hé)分(fēn)發來(lái)自(zì)DEM和(hé)其他(tā)₽§©模塊的(de)事(shì)件(jiàn),并将它們路(lù)由到(dào)↕₩₽相(xiàng)應的(de)處理(lǐ)程序中。此外(wài),RTE操作(z ≠<uò)系統作(zuò)為(wèi)一(yī)種特殊的(de)軟件(jiàn)層,它負責管 $ 理(lǐ)和(hé)控制(zhì)運行(xíng)時(shí)環境,并提供一(y♣∞ī)些(xiē)基礎設施服務,例如(rú)任務調度、內(nèi)存管理φ≥(lǐ)和(hé)錯(cuò)誤處理(lǐ)等。從(cóng)而有(yǒu)效的(α≠‌de)訪問(wèn)汽車(chē)電(diàn)子(zǐ)系統的(de)各種↓✘資源,例如(rú)讀(dú)取傳感器(qì)數(shù)據、控制(zhì)執<∑'✔行(xíng)器(qì)等。也(yě)可(kě)以觸發相©✘​☆(xiàng)應的(de)操作(zuò),例如(rú)關閉AEB或MEB功能(§‍×néng),亦或者打開(kāi)某個(gè)告警燈等。


      為(wèi)了(l✔↑Ωe)更加詳細的(de)說(shuō)明(míng)整個(gè)DEM的(de)診斷鏈♥<β¶路(lù),我們将以實際的(de)DEM相(x€₹★iàng)關函數(shù)調用(yòng)為(wèi)例進行(xíng)有(yǒu)效的(de‍↓)說(shuō)明(míng)。


      首先,DEM的(de)AΩ₽£∏PI主要(yào)包括DEM監視(shì)器(qì)DemComponent♦∑(又(yòu)名MonitorComponent) σ​<,主要(yào)用(yòng)于有(yǒu)關聯到(dào)的(de)故障事(shì)件(jiàn‌γ),比如(rú)傳感器(qì)本身(shēn)∑≥♥‌發生(shēng)的(de)故障,這(zhè)時(shí)控制(zhì)器(qì)讀(dú)取δ÷✔的(de)數(shù)據應該被視(shì)為(wèi)無效。一(yī)個(gè)DemComponπ✘α<ent是(shì)若幹個(gè)事(shì)件(ji¶ ♠àn)的(de)集合,在DemCompon♣‍ent內(nèi)部,故障事(shì)件(jiàn)有(yǒ®✘♠u)優先級,當最高(gāo)優先級的(de)故障事★≈←®(shì)件(jiàn)狀态為(wèi)Failed從(c"↓"óng)而導緻其他(tā)故障事(shì)件(jiàn)↕ >也(yě)為(wèi)Failed時(shí),亦或者父節點De∞&δ←mComponent的(de)狀态為(wèi)¶π₽Failed從(cóng)而導緻子(zǐ)節點DemComponent內(♠₽±Ωnèi)的(de)故障事(shì)件(jiàn)狀态變為(wèi)Fa&★‌‌iled,這(zhè)種叫連續錯(cuò)誤的(de)故障。其他(tā)則ε±≤•被認為(wèi)是(shì)偶發錯(cuò)誤故障。另外(wài),如(rú)÷ε 果DemComponent內(nèi)部故障事(shì)件(jiàn)優先級被忽略,那(nà)麽∞✘•僅有(yǒu)當父節點DemComponent狀态為(wèi)Failed₩€πα導緻子(zǐ)節點DemComponent的(de)故障事(shì)件(jiàn)狀® →±态變成Failed時(shí),也(yě ™®↑)可(kě)被當做(zuò)連續錯(cuò)誤。


       其次¶→¥≥,DemDTCAttributes可(kě)以用(yòngπ÷♦σ)于配置DTC的(de)屬性,包括老(lǎo)化(huà)周期、故障優先級、存儲方式(立即存¥™™≈儲還(hái)是(shì)下(xià)電(diàn)存儲)、快(kuài)照(zhào)數(sh✘♣>ù)據需記錄的(de)最大(dà)組數(shù)以及參考的∞ (de)凍結幀快(kuài)照(zhào)數(shù)據、故障數(s∑®φhù)據存儲的(de)Memory等,其中快(kuài)照(zhào)數(shù)據、擴展數(s∑ ₽hù)據等需要(yào)在DemGneral中進行(xπ≈íng)配置。


       DemDTC用(yòng)于配置故障得(d™₽e)DTC值(即診斷故障碼)、DTC的(de)嚴重弄程度以及參考的(de)DTC屬性↔Ω"、Obd屬性等。


      &nb"£sp;DemDebunceCounterBaseClass、DemDebounceTimeBas¥λ€πeClass兩項主要(yào)用(yòng)于為(wèi)不(bù)£§同的(de)故障事(shì)件(jiàn)配置不(bù)同的(de)Debounce策略,₩™可(kě)以是(shì)基于計(jì)數(shù)器(qì)的(de)Deboun׶♦§ce策略,也(yě)可(kě)以是(sh φπγì)基于事(shì)件(jiàn)的(de)Debounce策略,或者由SWC自(zì)≈÷↕定義。


       DemOBDDT‍∑C用(yòng)于配置OBD類故障事(shì)件(jiàn)是(shì)否支持PTO以及故障事≠↕(shì)件(jiàn)的(de)DTC值等。

       DemPidClass用(♥∑×"yòng)于配置PID以及相(xiàng)關的(de)應用(yòng)層••信号。


      &nb¥¶↑≈sp;DemEventParameter用(yòng)于配置故障的(de)類型(BSW或SWC)、♦φγ故障需要(yào)多(duō)少(shǎo)個(gè)運行(xíng)循環才能(néng)确>δ•認、是(shì)否支持預存儲功能(néng)、故障事(shì)件(jiàn)的(de)De♥•bounce策略以及參考的(de)DTC屬性、DemComponent、使能(nΩ$éng)條件(jiàn)、運行(xíng)循環等。


功能(néng)抑制(zhì)管理(lǐ)FIM


      FIM實際是(↕‍≈shì)一(yī)種軟件(jiàn)組件(jiàn),用(α↔yòng)于實現(xiàn)對(duì)應功能(néng)的(de)抑制(z®♠₽‌hì)管理(lǐ)。功能(néng)抑制(zhì)是(shì)指在車(chē)輛(liàng×♥<≥)故障或安全問(wèn)題出現(xiàn)時(shí),對(duì)某✔↔♥ 些(xiē)汽車(chē)功能(néngφ")進行(xíng)限制(zhì)或禁用(₽ yòng)的(de)操作(zuò),以保證車(chē)輛(liàng)和(hα¥₽←é)乘客的(de)安全。FIM組件(jiàn)通(tōng)過AUTOSAR的(de§$δ)标準化(huà)軟件(jiàn)接口(FIM AP✘λ←I)與其他(tā)軟件(jiàn)組件(jiàn)(例如(rú)φ↕δECU、Sensor和(hé)Actuator)進行(xíng)通(tōng)→≤®‍信,以檢測和(hé)響應車(chē)輛(liàng)故障或安全∞Ωπ≤問(wèn)題,并執行(xíng)相(xiàng)&&©應的(de)功能(néng)抑制(zhì)措施。


      FIM的(de)主要(¶∑∑☆yào)功能(néng)邏輯就(jiù)是(shì)基于DEM模塊上(shàng)報®≥ (bào)Event狀态,來(lái)觸發相(xiàng)應的(de)FID,÷γ÷♥然後BSW層或者SWC層相(xiàng)關的φ‌(de)子(zǐ)模塊根據這(zhè)些(xiē)FIM功≥∏×能(néng)抑制(zhì)場(chǎng)景(也(yě)就(jiù)是(shì)功能(néng£ ε←)降級)。


      這(zhè)裡(lǐ)舉個(gè)自(zì)★∏'動窗(chuāng)戶升降與防夾功能(néng)的(dδ÷¶Ωe)例子(zǐ)來(lái)說(shuō)明(míng)如(rú)何通(t•€εβōng)過FIM相(xiàng)關的(de)函數(shù)模塊來(lái)調用(☆ ​©yòng)Sensor SWC層中的(de)Event anti♥®♥_Pinch,并通(tōng)過下(xià✘δ)面幾個(gè)階段來(lái)完成系統降級過程。


      S1:Front>σ✔★-left Window-lifter SWC上(shàng)報(bào)故障給到(dà©φ¶o)Error Management模塊;


      S2:Error Management模塊會(huì‍→☆↓)識别出為(wèi)Event anti_Pinch故障,并調用(yòn↕'≥€g)Dem模塊接口通(tōng)知(zhī)該Event Status®™β↕發生(shēng)變化(huà);


      S3:Dem模♥∏塊會(huì)調用(yòng)FIM模塊相(xiàng)♠Ω應的(de)函數(shù)接口來(lái)通(tōng)知(zhī)FIM該Event≥¶ Status對(duì)相(xiàng)應FID的(de)影(✘β‍φyǐng)響;


      S4¥★♠:SWC模塊接收到(dào)輪詢的(de)FID,然後α€♠完成相(xiàng)應的(de)系統降級響應;


圖片


      FIM模塊提供了(le)一(yī)些(₩↓✘xiē)API(應用(yòng)程序接口),用(yòng)于訪問®♥$♦(wèn)和(hé)修改功能(néng)抑制(zhì)狀态、讀(dú)取和(hé)更新δ¶★®診斷數(shù)據等。這(zhè)些(xiē)API通(tōng σ‌)常是(shì)标準化(huà)的(de),符合AUTOSA∞☆•R軟件(jiàn)架構的(de)規範。


      FIM模塊主要(y←→★♦ào)調用(yòng)的(de)API接口包括如(rú)下(xεε>÷ià):


      FIM_>§φ←Init():此API用(yòng)于初始化(h€ ‌αuà)FIM模塊,包括初始化(huà)內(nèi)部數(shù)據結構、變量和(h₩‌φ©é)狀态等。


      該函數(shε>β£ù)是(shì)用(yòng)于完成FIM相(xiàng)關結構體(tǐ)的(de)初始化(£‌§€huà)工(gōng)作(zuò)。如(rú)果DET模塊使能÷↑(néng),可(kě)以判斷FIM是(shì)否初始化(huà)₽β成功,或者可(kě)以通(tōng)過一(yī)個(gè) &靜(jìng)态變量判斷是(shì)否發生(shēng)變化(huà)來(lái★ )判斷初始化(huà)是(shì)否完成∑☆↕'。因為(wèi)如(rú)果FIM模塊沒有(yǒu)₽σ$λ完成初始化(huà),則會(huì)被其他(tā)模塊調用(yòng)其內(nèi)部的(de)λ≠ ☆函數(shù),且會(huì)返回E_NOT_OK,所以調用(yòng)FIM其他(tā)函數 ¥♣(shù)接口之前必須完成FIM模塊的(de)初始化(huà)。


      FIM_Inhibit↓ ↕Function():此API用(yòng)于抑制(zhì)特定的(de)汽車(chē₽×↕)功能(néng)。它需要(yào)輸入功能(néng)ID和(hé)抑制(zhì)γ ↑級别等參數(shù),并返回抑制(zhì)狀态和(hé)↓ ↑&抑制(zhì)結果等信息。


      FIM_ReleaseFunction()​δσ:此API用(yòng)于釋放(fàng)被抑制(zhì)的(de)汽車(chē)功£♣↔能(néng)。它需要(yào)輸入功能(≈‌±néng)ID等參數(shù),并返回釋↑÷放(fàng)狀态和(hé)釋放(fàng)結果等信息。


      FIM_GetS'₽tatus():此API用(yòng)于獲取FIM模塊的(de)當前狀态,例如(rú‍↑←∏)抑制(zhì)狀态、抑制(zhì)等級和(h♥λé)抑制(zhì)時(shí)間(jiān)等。


      FIM♠♣∏"_GetDiagnosticData():此©€§βAPI用(yòng)于讀(dú)取和(hé)更新FIM模塊的♠≤∏¶(de)診斷數(shù)據,例如(rú)故障碼≈₽和(hé)診斷狀态等。


     ≠γδ£ 如(rú)下(xià)将以具體(tǐ)的(de)實例參數(shù)調用→β↕‍(yòng)來(lái)說(shuō)明(↕✔míng)如(rú)何進行(xíng)功能(néng)抑制(zhì)。


圖片


       ♥'←FIM_DemTriggerOnMonitorStatε↔"≤us:

       該函數(shù)是(shì)為(wè™γ®i)了(le)提供給Dem模塊Event Status發生(shēng)變化(huà)時(sh®$í)通(tōng)知(zhī)到(dào)FIM模塊接口。一≥→≤(yī)旦Event Status發生(←✘€shēng)變化(huà),Dem就(jiù)會(huì)主動調用(yòng)該函數(shù)​",通(tōng)知(zhī)FIM,其本質上(shàng)就(jiù)是(shì)一(yī)種Tε₩←rigger Action行(xíng)為(wèi)。其實FIM獲取E'‌>∞vent Status狀态變化(huà),還(hái)有(yǒu)一(yī)種Pol∞≥ling的(de)方式,但(dàn)是(shì)當Event數(shù)目比較大(dà)時(sh∏δí),有(yǒu)時(shí)候就(jiù)無法察覺到(dào)某些( ±×©xiē)Event Status的(de)快(kuài¶ε)速變化(huà),因此一(yī)般而言,都(dōu)優先選擇Trigger方式來✔←₽(lái)完成對(duì)FIM模塊的(de)Ev€≤ent Status的(de)通(tōng)知(zhī)。


      FIM_GetFunctionP​>≈ermission:

      該函數(shù)提供給SWC或BSW模塊來®"♠'(lái)獲取FID狀态。如(rú)果請(qǐng)求FIγ•γD超出範圍或FIM模塊還(hái)沒有(yǒu)初始化(huà)完成,則FID就(jiù)會(hu$£ì)直接退回FALSE。


      FIM_GetFunctionAvailabl∑₽e:

      該函數£ →γ(shù)用(yòng)來(lái)給BSW ↑或SWC層設置某功能(néng)是(shì)否可₹€≠¶(kě)用(yòng),如(rú)果輸入參數(↔‌€✔shù)為(wèi)True,則該功能(néng)可(‌& kě)以正常使用(yòng)


      FIM_SetF♣÷'unctionAvailable:

      該函數(shù)用(yòng)來(γφ€€lái)給BSW或SWC層來(lái)設置某功能(n≥≥←éng)是(shì)否可(kě)用(yòn♦✘©αg),如(rú)果輸入參數(shù)為(wèi)TRUE,那(nà)™¥‍∏麽該功能(néng)可(kě)以正常使用(yòng)。若輸入參數(shù)為(wèi)FALS←≥♣ΩE,則該功能(néng)就(jiù)會(huì)被Disable。


      FIM_MainFunction:

      該函數(shù)是(shì)為(wèi♦β≥±)了(le)實現(xiàn)對(duì)Event St€'♥atus與Inhibition Mask的(de)計(jì)φ ' 算(suàn),此處有(yǒu)兩種方式,一(yī)種φ≠是(shì)Polling方式,另一(yī)種是(shì)Event T"$£σrigger方式,這(zhè)兩種方式的(de)使能(néng)通(tōng)過工(gōng)λ‍≈✔具選項FIMEventUpdate TriggeredByDem是(shì)否為(wèi) ♣‍¥True決定。


轉自(zì)焉知(zhī)汽車(chē)

北京德智尚車聯科技有限公司版權所有(yǒ•""•u) 京ICP證000000号   技(jì)術(shù)支持:網站(zhàn)建設