本發(fā)明涉及車載ECU低功耗管理技術(shù)領(lǐng)域,特別涉及一種汽車ECU休眠管理策略方法及系統(tǒng)。
背景技術(shù):
汽車的大多數(shù)ECU需要長期供電,為了在不使用汽車時降低功耗,ECU需要進入休眠狀態(tài),以降低耗電。
當(dāng)某些特定的事件發(fā)生時,如門被打開,有遙控信號等,需要ECU立即從休眠狀態(tài)喚醒,以做出響應(yīng)。
功能比較簡單的ECU可以設(shè)計成深度休眠,使喚醒事件產(chǎn)生中斷來喚醒ECU;功能比較復(fù)雜的ECU,如BCM,可能需要工作在間歇休眠模式。CPU定時喚醒,檢測是否發(fā)生喚醒事件。如果沒有則繼續(xù)休眠。
技術(shù)實現(xiàn)要素:
因此,有必要提供一種能夠?qū)崿F(xiàn)需要工作在間歇休眠模式的汽車ECU休眠管理策略方法及系統(tǒng)。
一種汽車ECU休眠管理策略方法,其包括:
休眠管理包括:
系統(tǒng)在進入休眠之前,確保應(yīng)用層所有的應(yīng)用都處理完各自的業(yè)務(wù)邏輯后報告系統(tǒng)允許休眠并穩(wěn)定保持一定時間;之后系統(tǒng)通知應(yīng)用初始化以完成各自休眠前的最后準備工作,各應(yīng)用在開始初始化時向系統(tǒng)注冊各自關(guān)心的喚醒源;之后,系統(tǒng)進入休眠狀態(tài);
喚醒管理包括:
系統(tǒng)在進入休眠之后,依靠定時器間歇喚醒自身工作,檢測是否發(fā)生了注冊過的喚醒事件;如果發(fā)生了任一喚醒事件,則記錄喚醒源,然后通知應(yīng)用層喚醒初始化;待應(yīng)用層初始化完成之后,再通知喚醒事件和喚醒源。
在本發(fā)明所述的汽車ECU休眠管理策略方法中,所述休眠管理具體包括:
系統(tǒng)在初始化或運行狀態(tài)下,如果檢測到不能滿足系統(tǒng)持續(xù)運行的條件,則遷移到預(yù)睡眠狀態(tài);持續(xù)運行的條件為當(dāng)某一條件或幾個條件滿足時,系統(tǒng)一定處于喚醒并且連續(xù)工作的條件;
系統(tǒng)在預(yù)睡眠狀態(tài)下,檢測休眠的條件;如果休眠條件滿足并穩(wěn)定一定時間,則通知應(yīng)用層去初始化后遷移到睡眠狀態(tài);休眠條件為所有應(yīng)用都報告其允許休眠;
應(yīng)用層中應(yīng)用在滿足其運行的條件時告知系統(tǒng)本應(yīng)用不允許休眠,反之則告知系統(tǒng)本應(yīng)用允許休眠;
當(dāng)系統(tǒng)通知應(yīng)用層去初始化時,各應(yīng)用向系統(tǒng)注冊各自的喚醒源。
在本發(fā)明所述的汽車ECU休眠管理策略方法中,
喚醒管理具體包括:
系統(tǒng)在睡眠狀態(tài)下,間歇性喚醒自身,監(jiān)測注冊的喚醒事件;當(dāng)檢測到注冊的任一喚醒事件時,系統(tǒng)會先記錄喚醒源,然后通知應(yīng)用層喚醒初始化并將汽車ECU轉(zhuǎn)到完全喚醒的全速工作模式,系統(tǒng)進入初始化狀態(tài);系統(tǒng)在初始化狀態(tài)下如果檢測到有喚醒源記錄,則通知應(yīng)用層記錄的喚醒源;如果應(yīng)用層初始化時間低于預(yù)設(shè)值,則等待應(yīng)用層初始化完成之后,立即通知應(yīng)用層喚醒事件,然后系統(tǒng)直接遷移到運行狀態(tài);
初始化分為上電初始化和喚醒初始化;在系統(tǒng)上電時,系統(tǒng)會通知應(yīng)用層上電初始化;當(dāng)系統(tǒng)每次睡眠之后又被喚醒,則會通知應(yīng)用層喚醒初始化;各應(yīng)用根據(jù)初始化類型的不同,選擇初始化自身不同的資源。
本發(fā)明還提供一種汽車ECU休眠管理策略系統(tǒng),其包括:
休眠管理單元:
系統(tǒng)在進入休眠之前,確保應(yīng)用層所有的應(yīng)用都處理完各自的業(yè)務(wù)邏輯后報告系統(tǒng)允許休眠并穩(wěn)定保持一定時間;之后系統(tǒng)通知應(yīng)用初始化以完成各自休眠前的最后準備工作,各應(yīng)用在開始初始化時向系統(tǒng)注冊各自關(guān)心的喚醒源;之后,系統(tǒng)進入休眠狀態(tài);
喚醒管理單元:
系統(tǒng)在進入休眠之后,依靠定時器間歇喚醒自身工作,檢測是否發(fā)生了注冊過的喚醒事件;如果發(fā)生了任一喚醒事件,則記錄喚醒源,然后通知應(yīng)用層喚醒初始化;待應(yīng)用層初始化完成之后,再通知喚醒事件和喚醒源。
在本發(fā)明所述的汽車ECU休眠管理策略系統(tǒng)中,所述休眠管理單元具體包括:
系統(tǒng)在初始化或運行狀態(tài)下,如果檢測到不能滿足系統(tǒng)持續(xù)運行的條件,則遷移到預(yù)睡眠狀態(tài);持續(xù)運行的條件為當(dāng)某一條件或幾個條件滿足時,系統(tǒng)一定處于喚醒并且連續(xù)工作的條件;
系統(tǒng)在預(yù)睡眠狀態(tài)下,檢測休眠的條件;如果休眠條件滿足并穩(wěn)定一定時間,則通知應(yīng)用層去初始化后遷移到睡眠狀態(tài);休眠條件為所有應(yīng)用都報告其允許休眠;
應(yīng)用層中應(yīng)用在滿足其運行的條件時告知系統(tǒng)本應(yīng)用不允許休眠,反之則告知系統(tǒng)本應(yīng)用允許休眠;
當(dāng)系統(tǒng)通知應(yīng)用層去初始化時,各應(yīng)用向系統(tǒng)注冊各自的喚醒源。
在本發(fā)明所述的汽車ECU休眠管理策略系統(tǒng)中,
喚醒管理單元具體包括:
系統(tǒng)在睡眠狀態(tài)下,間歇性喚醒自身,監(jiān)測注冊的喚醒事件;當(dāng)檢測到注冊的任一喚醒事件時,系統(tǒng)會先記錄喚醒源,然后通知應(yīng)用層喚醒初始化并將汽車ECU轉(zhuǎn)到完全喚醒的全速工作模式,系統(tǒng)進入初始化狀態(tài);系統(tǒng)在初始化狀態(tài)下如果檢測到有喚醒源記錄,則通知應(yīng)用層記錄的喚醒源;如果應(yīng)用層初始化時間低于預(yù)設(shè)值,則等待應(yīng)用層初始化完成之后,立即通知應(yīng)用層喚醒事件,然后系統(tǒng)直接遷移到運行狀態(tài);
初始化分為上電初始化和喚醒初始化;在系統(tǒng)上電時,系統(tǒng)會通知應(yīng)用層上電初始化;當(dāng)系統(tǒng)每次睡眠之后又被喚醒,則會通知應(yīng)用層喚醒初始化;各應(yīng)用根據(jù)初始化類型的不同,選擇初始化自身不同的資源。
實施本發(fā)明提供的汽車ECU休眠管理策略方法及系統(tǒng)與現(xiàn)有技術(shù)相比具有以下有益效果:本發(fā)明能夠?qū)崿F(xiàn)從系統(tǒng)和應(yīng)用層2個層面分別對休眠和喚醒的策略進行管理。其中,系統(tǒng)主要負責(zé)任務(wù)調(diào)度,事件檢測與分發(fā),休眠條件檢測等,為應(yīng)用層提供服務(wù);應(yīng)用層主要負責(zé)處理業(yè)務(wù)邏輯、給系統(tǒng)反饋一些狀態(tài)信息等。實現(xiàn)了需要工作在間歇休眠模式。ECU定時喚醒,檢測是否發(fā)生喚醒事件;如果沒有則繼續(xù)休眠,能夠有效降低汽車電池消耗。
附圖說明
圖1是本發(fā)明實施例的系統(tǒng)狀態(tài)機圖1;
圖2是本發(fā)明實施例的系統(tǒng)狀態(tài)機圖2;
圖3是本發(fā)明實施例的應(yīng)用狀態(tài)機圖。
具體實施方式
一種汽車ECU休眠管理策略方法,其包括:
休眠管理包括:
系統(tǒng)在進入休眠之前,確保應(yīng)用層所有的應(yīng)用都處理完各自的業(yè)務(wù)邏輯后報告系統(tǒng)允許休眠并穩(wěn)定保持一定時間;之后系統(tǒng)通知應(yīng)用初始化以完成各自休眠前的最后準備工作,各應(yīng)用在開始初始化時向系統(tǒng)注冊各自關(guān)心的喚醒源;之后,系統(tǒng)進入休眠狀態(tài);
喚醒管理包括:
系統(tǒng)在進入休眠之后,依靠定時器間歇喚醒自身工作,檢測是否發(fā)生了注冊過的喚醒事件;如果發(fā)生了任一喚醒事件,則記錄喚醒源,然后通知應(yīng)用層喚醒初始化;待應(yīng)用層初始化完成之后,再通知喚醒事件和喚醒源。
在本發(fā)明所述的汽車ECU休眠管理策略方法中,所述休眠管理具體包括:
圖1、2中SYS_STS_INIT為系統(tǒng)初始化狀態(tài),SYS_STS_RUN為系統(tǒng)運行狀態(tài),SYS_STS_PRESLEEP為系統(tǒng)預(yù)睡眠狀態(tài),SYS_STS_SLEEP為系統(tǒng)睡眠狀態(tài)。圖3中APP_STS_INIT為應(yīng)用初始化狀態(tài),APP_STS_RUN為應(yīng)用運行狀態(tài),APP_STS_STOP為應(yīng)用停止?fàn)顟B(tài)。如圖1中的遷移線③,系統(tǒng)在初始化或運行狀態(tài)下,如果檢測到不能滿足系統(tǒng)持續(xù)運行的條件,則遷移到預(yù)睡眠狀態(tài);持續(xù)運行的條件為當(dāng)某一條件或幾個條件滿足時,系統(tǒng)一定處于喚醒并且連續(xù)工作的條件;如BCM,當(dāng)點火開關(guān)為ON狀態(tài)時,其一定喚醒且連續(xù)工作,則點火開關(guān)為ON是BCM持續(xù)運行的條件。反之,點火開關(guān)為OFF是BCM趨向于休眠直至休眠的必要條件;
如圖1中的遷移線④和⑤,系統(tǒng)在預(yù)睡眠狀態(tài)下,檢測休眠的條件;如果休眠條件滿足并穩(wěn)定一定時間,則通知應(yīng)用層去初始化后遷移到睡眠狀態(tài);休眠條件為所有應(yīng)用都報告其允許休眠;如網(wǎng)絡(luò)管理已經(jīng)同其他節(jié)點協(xié)商好網(wǎng)絡(luò)休眠時、雨刮功能在點火開關(guān)為OFF狀態(tài)且已經(jīng)回位時,都應(yīng)報告系統(tǒng)其允許休眠。
如圖3中的遷移線④和⑤,應(yīng)用層中應(yīng)用在滿足其運行的條件時告知系統(tǒng)本應(yīng)用不允許休眠,反之則告知系統(tǒng)本應(yīng)用允許休眠;如雨刮功能在點火開關(guān)為ON時,其需要持續(xù)檢測雨刮開關(guān)的狀態(tài)以決定是否要開啟雨刮電機,則其應(yīng)進入運行狀態(tài)并告知系統(tǒng)其不允許休眠;當(dāng)點火開關(guān)為OFF狀態(tài)且雨刮已經(jīng)回位時,其不需要再持續(xù)檢測雨刮開關(guān)的狀態(tài),則其應(yīng)退出運行狀態(tài),并告知系統(tǒng)其允許休眠。
如圖3中的遷移線⑥,當(dāng)系統(tǒng)通知應(yīng)用層去初始化時,各應(yīng)用向系統(tǒng)注冊各自的喚醒源。如中控開閉鎖按鈕是中控功能的喚醒源,則其去初始化的時候需要向系統(tǒng)注冊中控開閉鎖按鈕為喚醒源。
在本發(fā)明所述的汽車ECU休眠管理策略方法中,
喚醒管理具體包括:
如圖1中的遷移線②系統(tǒng)在睡眠狀態(tài)下,間歇性喚醒自身,監(jiān)測注冊的喚醒事件;當(dāng)檢測到注冊的任一喚醒事件時,系統(tǒng)會先記錄喚醒源,然后通知應(yīng)用層喚醒初始化并將汽車ECU轉(zhuǎn)到完全喚醒的全速工作模式,系統(tǒng)進入初始化狀態(tài);系統(tǒng)在初始化狀態(tài)下如果檢測到有喚醒源記錄,則會執(zhí)行遷移線⑤則通知應(yīng)用層記錄的喚醒源;如果應(yīng)用層初始化時間低于預(yù)設(shè)值,則也可以如圖2,將遷移線②和⑤合并,則等待應(yīng)用層初始化完成之后,立即通知應(yīng)用層喚醒事件,然后系統(tǒng)直接遷移到運行狀態(tài);
初始化分為上電初始化和喚醒初始化;在系統(tǒng)上電時,系統(tǒng)會通知應(yīng)用層上電初始化;當(dāng)系統(tǒng)每次睡眠之后又被喚醒,則會通知應(yīng)用層喚醒初始化;各應(yīng)用根據(jù)初始化類型的不同,選擇初始化自身不同的資源。
本發(fā)明還提供一種汽車ECU休眠管理策略系統(tǒng),其包括:
休眠管理單元:
系統(tǒng)在進入休眠之前,確保應(yīng)用層所有的應(yīng)用都處理完各自的業(yè)務(wù)邏輯后報告系統(tǒng)允許休眠并穩(wěn)定保持一定時間;之后系統(tǒng)通知應(yīng)用初始化以完成各自休眠前的最后準備工作,各應(yīng)用在開始初始化時向系統(tǒng)注冊各自關(guān)心的喚醒源;之后,系統(tǒng)進入休眠狀態(tài);
喚醒管理單元:
系統(tǒng)在進入休眠之后,依靠定時器間歇喚醒自身工作,檢測是否發(fā)生了注冊過的喚醒事件;如果發(fā)生了任一喚醒事件,則記錄喚醒源,然后通知應(yīng)用層喚醒初始化;待應(yīng)用層初始化完成之后,再通知喚醒事件和喚醒源。
在本發(fā)明所述的汽車ECU休眠管理策略系統(tǒng)中,所述休眠管理單元具體包括:
系統(tǒng)在初始化或運行狀態(tài)下,如果檢測到不能滿足系統(tǒng)持續(xù)運行的條件,則遷移到預(yù)睡眠狀態(tài);持續(xù)運行的條件為當(dāng)某一條件或幾個條件滿足時,系統(tǒng)一定處于喚醒并且連續(xù)工作的條件;
系統(tǒng)在預(yù)睡眠狀態(tài)下,檢測休眠的條件;如果休眠條件滿足并穩(wěn)定一定時間,則通知應(yīng)用層去初始化后遷移到睡眠狀態(tài);休眠條件為所有應(yīng)用都報告其允許休眠;
應(yīng)用層中應(yīng)用在滿足其運行的條件時告知系統(tǒng)本應(yīng)用不允許休眠,反之則告知系統(tǒng)本應(yīng)用允許休眠;
當(dāng)系統(tǒng)通知應(yīng)用層去初始化時,各應(yīng)用向系統(tǒng)注冊各自的喚醒源。
在本發(fā)明所述的汽車ECU休眠管理策略系統(tǒng)中,
喚醒管理單元具體包括:
系統(tǒng)在睡眠狀態(tài)下,間歇性喚醒自身,監(jiān)測注冊的喚醒事件;當(dāng)檢測到注冊的任一喚醒事件時,系統(tǒng)會先記錄喚醒源,然后通知應(yīng)用層喚醒初始化并將汽車ECU轉(zhuǎn)到完全喚醒的全速工作模式,系統(tǒng)進入初始化狀態(tài);系統(tǒng)在初始化狀態(tài)下如果檢測到有喚醒源記錄,則通知應(yīng)用層記錄的喚醒源;如果應(yīng)用層初始化時間低于預(yù)設(shè)值,則等待應(yīng)用層初始化完成之后,立即通知應(yīng)用層喚醒事件,然后系統(tǒng)直接遷移到運行狀態(tài);
初始化分為上電初始化和喚醒初始化;在系統(tǒng)上電時,系統(tǒng)會通知應(yīng)用層上電初始化;當(dāng)系統(tǒng)每次睡眠之后又被喚醒,則會通知應(yīng)用層喚醒初始化;各應(yīng)用根據(jù)初始化類型的不同,選擇初始化自身不同的資源。
實施本發(fā)明提供的汽車ECU休眠管理策略方法及系統(tǒng)與現(xiàn)有技術(shù)相比具有以下有益效果:本發(fā)明能夠?qū)崿F(xiàn)從系統(tǒng)和應(yīng)用層2個層面分別對休眠和喚醒的策略進行管理。其中,系統(tǒng)主要負責(zé)任務(wù)調(diào)度,事件檢測與分發(fā),休眠條件檢測等,為應(yīng)用層提供服務(wù);應(yīng)用層主要負責(zé)處理業(yè)務(wù)邏輯、給系統(tǒng)反饋一些狀態(tài)信息等。實現(xiàn)了需要工作在間歇休眠模式。ECU定時喚醒,檢測是否發(fā)生喚醒事件;如果沒有則繼續(xù)休眠,能夠有效降低汽車電池消耗。
可以理解的是,對于本領(lǐng)域的普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)構(gòu)思做出其它各種相應(yīng)的改變與變形,而所有這些改變與變形都應(yīng)屬于本發(fā)明權(quán)利要求的保護范圍。