專利名稱:微型計(jì)算機(jī)、程序和車載電子控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及微型計(jì)算機(jī)的運(yùn)行。更具體地說(shuō),本發(fā)明涉及將微型計(jì)算 機(jī)置于睡眠模式。
背景技術(shù):
通常,在車載電子控制器中使用的微型計(jì)算機(jī)利用操作系統(tǒng)(OS)所提供的多任務(wù)特點(diǎn),以便執(zhí)行用于控制目標(biāo)的多應(yīng)用任務(wù)。當(dāng)不需要處理時(shí),這種微型計(jì)算機(jī)能夠進(jìn)入比正常運(yùn)行消耗更少功率的睡眠模式(例如曰本專利申請(qǐng)^Hf號(hào)JP-2005-182223A)。例如,睡眠 模式降低CPU時(shí)鐘頻率或電源電壓,或停止供應(yīng)到CPU的時(shí)鐘或功率。參考圖7,下面描述了將微型計(jì)算機(jī)置于睡眠模式的一個(gè)示例技術(shù)。 為方<^見(jiàn),本說(shuō)明書偶爾涉及例如執(zhí)^ff表示例如4吏用計(jì)算M序的動(dòng)作 的任務(wù),其中,所述計(jì)算;^序在諸如這里描述的控制器或計(jì)算機(jī)之類的硬件設(shè)備上運(yùn)行或執(zhí)行。這種表達(dá)的使用可以表示計(jì)算機(jī)例如從計(jì)算機(jī)可 讀介質(zhì)讀取指令,并執(zhí)行所述指令或程序,以便實(shí)現(xiàn)操作內(nèi)容(其中,所 述計(jì)算機(jī)可讀介質(zhì)例如是存^i殳備、數(shù)據(jù)傳輸通道、通信信道等),在這 里可以將其描述為普通技術(shù)人員可以理解的程序函數(shù)、任務(wù)、模塊等的功 能手段或內(nèi)容。圖7中的示例涉及應(yīng)用任務(wù)1和2。該示例也涉及一個(gè)系統(tǒng)任務(wù),該 系統(tǒng)任務(wù)周期地喚醒應(yīng)用任務(wù)1和2 。該系統(tǒng)任務(wù)爭(zhēng)毫秒醒來(lái)并請(qǐng)求喚醒 應(yīng)用任務(wù)l。在每另一次該系統(tǒng)任務(wù)醒來(lái)時(shí),該系統(tǒng)任務(wù)就請(qǐng)求喚醒應(yīng)用 任務(wù)2。所以,應(yīng)用任務(wù)l每亳秒醒來(lái)。應(yīng)用任務(wù)2每?jī)珊撩胄褋?lái)。例如, 上述任務(wù)被按以下順序安排優(yōu)先級(jí):"系統(tǒng)任務(wù)>應(yīng)用任務(wù)1>應(yīng)用任務(wù)2"。應(yīng)用任務(wù)1和2的每一個(gè)確定是否需#行,如果確定不需要執(zhí)行, 就iiA睡眠就緒狀態(tài)。當(dāng)確定要iiX睡B民狀態(tài)時(shí),該應(yīng)用任務(wù)執(zhí)行用于i殳 置為該任務(wù)提供的睡眠標(biāo)志的過(guò)程。系統(tǒng)任務(wù)醒來(lái)以檢查所有的應(yīng)用任務(wù) 的睡眠標(biāo)志設(shè)置。當(dāng)所有睡眠都被設(shè)置時(shí),系統(tǒng)任務(wù)就執(zhí)行將微型計(jì)算機(jī)置于睡眠模式的過(guò)程,例如,不再請(qǐng)求喚醒應(yīng)用任務(wù)。根據(jù)圖7中的示例,系統(tǒng)任務(wù)確定應(yīng)用任務(wù)1在t3時(shí)刻進(jìn)入睡眠就 緒狀態(tài),而應(yīng)用任務(wù)2在t4時(shí)刻進(jìn)入睡眠就緒狀態(tài)。只有當(dāng)系統(tǒng)任務(wù)在 t5時(shí)刻醒來(lái)時(shí),它才可以將微型計(jì)算機(jī)置于睡眠模式。如圖7中所示,系 統(tǒng)任務(wù)以相應(yīng)于例如tl、 t2和t5時(shí)刻的一毫秒間隔醒來(lái)。在tl時(shí)刻,系 統(tǒng)任務(wù)喚醒并請(qǐng)求應(yīng)用任務(wù)1和2醒來(lái)。應(yīng)用任務(wù)1醒來(lái)并執(zhí)行任何必要 的處理。由于應(yīng)用任務(wù)2被指定了低于系統(tǒng)任務(wù)和應(yīng)用任務(wù)1的優(yōu)先級(jí),所以, 用于執(zhí)行應(yīng)用任務(wù)2的時(shí)間段就是在任務(wù)1的執(zhí)行完成與系統(tǒng)任務(wù)在t2 時(shí)刻醒來(lái)的時(shí)間之間的時(shí)間段。在t3,應(yīng)用li^A睡眠就緒狀態(tài),在t4, 應(yīng)用2 ii^睡眠就緒狀態(tài)。然而,由于系統(tǒng)任務(wù)仍在睡眠,所以直到t5 時(shí)刻它才檢查上述標(biāo)志,并在檢查過(guò)程的終點(diǎn)將微型計(jì)算機(jī)置于睡眠模 式。如結(jié)合上述技術(shù)所表明的,在系統(tǒng)任務(wù)被用于控制向睡BR^式的轉(zhuǎn)變 的情況下,直到系統(tǒng)任務(wù)醒來(lái)后微型計(jì)算機(jī)才能被置于睡眠模式,即使在 所有的應(yīng)用任務(wù)都處于睡眠就緒狀態(tài)時(shí)也是如此。這樣,如圖7中所示的, t5的終點(diǎn)和t4之間的時(shí)間代表了浪費(fèi)的運(yùn)行,并J4目應(yīng)地浪費(fèi)了電功率。空閑任務(wù)可以被用作另 一種用于將微型計(jì)算機(jī)置于睡眠模式的技術(shù)。 然而,使用空閑任務(wù)控制向睡B喊式轉(zhuǎn)變也會(huì)產(chǎn)生與系統(tǒng)任務(wù)的使用相關(guān) 聯(lián)的那些問(wèn)題類似的問(wèn)題,其原因如下所述??臻e任務(wù)被給予最低優(yōu)先級(jí) 并在沒(méi)有其他任務(wù)執(zhí)行時(shí)才被執(zhí)行??臻e任務(wù)代替系統(tǒng)任務(wù)檢查所有的應(yīng) 用任務(wù)的睡眠標(biāo)志。當(dāng)所有睡眠標(biāo)志都被設(shè)置時(shí),空閑任務(wù)就執(zhí)行將微型 計(jì)算機(jī)置于睡眠模式的過(guò)程。執(zhí)行空閑任務(wù)的狀態(tài)可以等同于將微型計(jì)算 機(jī)置于睡眠模式的狀態(tài)。在這種情況中,即M在有任務(wù)請(qǐng)求執(zhí)行時(shí),空 閑任務(wù)也可能無(wú)條件地將微型計(jì)算機(jī)置于睡眠模式(例如見(jiàn) JP-2005-182223A )。例如,假設(shè)在tl時(shí)刻之前應(yīng)用任務(wù)2已經(jīng)處于睡眠就緒狀態(tài)。當(dāng)系 統(tǒng)任務(wù)在tl時(shí)刻醒來(lái)時(shí),它請(qǐng)求應(yīng)用任務(wù)1和2醒來(lái)。這樣,即佳j1^ 用任務(wù)1醒來(lái)并進(jìn)入睡眠就緒狀態(tài),應(yīng)用任務(wù)2也已經(jīng)被請(qǐng)求從睡眠就緒 狀態(tài)醒來(lái)。當(dāng)應(yīng)用任務(wù)l終止時(shí),就執(zhí)行應(yīng)用任務(wù)2。當(dāng)應(yīng)用任務(wù)2終止 時(shí),空閑任務(wù)就將微型計(jì)算置于睡眠模式。然而,在本示例中,在應(yīng)用任務(wù)1終止的時(shí)刻與應(yīng)用任務(wù)2終止的時(shí)
刻之間的運(yùn)行是浪費(fèi)的,相應(yīng)地又浪費(fèi)了電功率。這樣,當(dāng)空閑任務(wù)被用 于控制向睡眠模式的轉(zhuǎn)變時(shí),從睡H緣式轉(zhuǎn)變出來(lái)比較困難,并且,將其 他功能構(gòu)建到空閑任務(wù)中更加困難。發(fā)明內(nèi)容考慮到上述問(wèn)題做出了本發(fā)明。所以,本發(fā)明的目的是在可能快時(shí)快 速地將微型計(jì)算機(jī)置于睡眠狀態(tài),因而阻止電功率的浪費(fèi)。為實(shí)現(xiàn)上述目的, 一種微型計(jì)算機(jī)執(zhí)行一個(gè)應(yīng)用任務(wù)并包括一個(gè)睡眠 轉(zhuǎn)變管理裝置。當(dāng)一個(gè)應(yīng)用任務(wù)通知了其睡眠就緒狀態(tài)時(shí),所述睡眠轉(zhuǎn)變管理裝置就 啟動(dòng),其中,所述睡眠就緒狀態(tài)例如是能夠使所述應(yīng)用任務(wù)停止活動(dòng)的狀 態(tài)。狀態(tài)管理部分存儲(chǔ)有被分配給發(fā)布通知的應(yīng)用任務(wù)的睡眠就緒狀態(tài)的 歷史。所述狀態(tài)管理部分檢查關(guān)于所有的應(yīng)用任務(wù)的歷史,以便確定是否 所有的應(yīng)用任務(wù)i^了睡眠就緒狀態(tài)。當(dāng)該確定得到肯定的結(jié)果時(shí),所述 狀態(tài)管理部分就將微型計(jì)算機(jī)置于比正常運(yùn)行需要更少功率消耗的睡眠 模式。當(dāng)應(yīng)用任務(wù)自身l了睡眠就緒狀態(tài)時(shí),所述應(yīng)用任務(wù)就執(zhí)行用于發(fā)布通知的通知過(guò)程o當(dāng)所有的應(yīng)用任務(wù)進(jìn)入睡眠就緒狀態(tài)并且微型計(jì)算機(jī)準(zhǔn)備好睡眠模 式時(shí),微型計(jì)算機(jī)就可以立即1睡阮漠式。這可以解決現(xiàn)有技術(shù)中功率 浪費(fèi)的問(wèn)題。最好是在應(yīng)用任務(wù)的終點(diǎn)執(zhí)行通知過(guò)程,這是由于例如當(dāng)發(fā)布通知的應(yīng)用任務(wù)終止時(shí),睡眠轉(zhuǎn)變管理裝置確定是否所有的應(yīng)用任務(wù)n睡眠就緒狀態(tài)。這樣就可以在應(yīng)用任務(wù)的執(zhí)行期間可靠地阻止睡BR^式的發(fā) 生。應(yīng)當(dāng)注意到,還提供了一種示例性方法,例如,可以通過(guò)計(jì)算M序 的執(zhí)行而在計(jì)算機(jī)上實(shí)現(xiàn)該方法。示例性計(jì)算;^序(如體現(xiàn)為從包括計(jì)算機(jī)可讀介質(zhì)的制品讀取的指令)允許計(jì)算機(jī)作為睡眠轉(zhuǎn)變管理裝置執(zhí)行 與示例性方法或功能相關(guān)聯(lián)的過(guò)程,并且可以被包含在微型計(jì)算機(jī)中而不使用另外的硬件。示例性微型計(jì)算機(jī)可適用于各種實(shí)施例,包括特別要求減少功率消耗的車載電子控制器。當(dāng)該車載電子控制器能夠停止活動(dòng)時(shí),微型計(jì)算機(jī)就 可以進(jìn)一步地節(jié)省功率。
根據(jù)參考附圖所進(jìn)行的下列詳細(xì)描述,本發(fā)明的上述的和其他的目的、特點(diǎn)和優(yōu)點(diǎn)將變得更加明顯。在附圖中圖1是說(shuō)明祁^據(jù)一個(gè)示例性實(shí)施例的車載電子控制器(ECU)的配 置的圖;圖2是說(shuō)明在一個(gè)示例性微型計(jì)算機(jī)上執(zhí)行的軟件的配置的圖;圖3是說(shuō)明每個(gè)應(yīng)用任務(wù)的過(guò)程的$錄圖;圖4是說(shuō)明狀態(tài)管理部分SM的過(guò)程的流程圖;圖5是說(shuō)明根據(jù)圖3和圖4中所示的示例性過(guò)程的操作的功能性流程圖;圖6是說(shuō)明與各種示例性實(shí)施例相關(guān)聯(lián)的效果的時(shí)序圖;以及 圖7是說(shuō)明與現(xiàn)有技^M目關(guān)聯(lián)的缺點(diǎn)的時(shí)序圖。
具體實(shí)施方式
下面提供根據(jù)本發(fā)明的 一個(gè)或多個(gè)示例性實(shí)施例的車載電子控制器 的描述。4艮據(jù)所描述的一個(gè)或多個(gè)實(shí)施例的電子控制器用于控制與諸如電 動(dòng)窗和門鎖之類的車體單元相關(guān)聯(lián)的功能。在下列描述中,應(yīng)當(dāng)注意到,縮寫"ECU,,在這里可以指如本領(lǐng)域技術(shù)人員絲理解的電子控制器、電子控制單元、發(fā)動(dòng)機(jī)控制單元、發(fā)動(dòng)機(jī)管理單元等。如圖1中所示,根據(jù)本實(shí)施例的ECU 11包括微型計(jì)算機(jī)13;輸 入電路15,例如,其允許微型計(jì)算機(jī)13接收從電#供的傳感器信號(hào)或 開關(guān)信號(hào);輸出電路17,例如,其根據(jù)來(lái)自微型計(jì)算13的信號(hào),將驅(qū)動(dòng) 信號(hào)輸出給與例如車體組件相關(guān)聯(lián)的各種致動(dòng)器,其中,所述車體組件例 如是電動(dòng)窗電動(dòng)機(jī)和門鎖等、或其他組件;以及通信電路19,其允許微 型計(jì)算機(jī)13通過(guò)通信線路18而與另一個(gè)車載ECU進(jìn)行通信。微型計(jì)算機(jī)13包括眾所周知的元件,例如CPU21、 ROM 23、 RAM 25、和I/O端口 27。 ROM23存儲(chǔ)有程序,例如軟件程序,其具有由CPU21執(zhí)行的指令。RAM 25臨時(shí)存儲(chǔ)來(lái)自程序執(zhí)行的運(yùn)行結(jié)果,如數(shù)據(jù)或 標(biāo)志。還應(yīng)當(dāng)理解,指令可以被承載在諸如外部存儲(chǔ)設(shè)備之類的其他計(jì)算 機(jī)可讀介質(zhì)上,其中,所述外部存儲(chǔ)設(shè)備包括但不限于軟盤、光盤、通用 串口總線(USB)存^i更備、網(wǎng)緒口等。微型計(jì)算機(jī)13使用OS提供的多任務(wù)特點(diǎn)來(lái)執(zhí)行多個(gè)應(yīng)用任務(wù),用 于與要被控制的車輛組件進(jìn)行交互。ROM25存儲(chǔ)有軟件,所述軟件不但 包括OS和應(yīng)用任務(wù),還包括系統(tǒng)任務(wù)ST和狀態(tài)管理部分SM。如圖2中所示,應(yīng)用任務(wù)API到APx包括被周期地執(zhí)行的應(yīng)用或與 應(yīng)用相關(guān)聯(lián)的任務(wù)、或應(yīng)用任務(wù),其中,x是大于或等于2的整數(shù)。在典 型的執(zhí)行示例中,系統(tǒng)任務(wù)ST請(qǐng)求OS以相應(yīng)于應(yīng)用任務(wù)的執(zhí)行間隔的 時(shí)間來(lái)喚醒所述應(yīng)用任務(wù)。系統(tǒng)任務(wù)ST按一定的時(shí)間間隔醒來(lái),其中, 所述時(shí)間間隔等于所有的周期應(yīng)用任務(wù)的執(zhí)行時(shí)間間隔的最小爿^約數(shù),例 如,根據(jù)本實(shí)施例為一亳秒。狀態(tài)管理部分SM是一段程序,用于檢測(cè)是否所有的應(yīng)用任務(wù)API 到APx已經(jīng)準(zhǔn)備好變?yōu)槭峭V够顒?dòng)的,如果是,那么就將微型計(jì)算機(jī)13 置于睡BR^式。可以理解, 一旦出現(xiàn)一個(gè)事先未安排的事件, 一些應(yīng)用任務(wù)就會(huì)立即 醒來(lái),其中,所述事先未安排事件的出現(xiàn)例如通過(guò)導(dǎo)通特定開關(guān)、從另外 的ECU接收到特定信號(hào)等來(lái)產(chǎn)生。如圖2中所示,應(yīng)用任務(wù)API到Apx的每一個(gè)包括一個(gè)或多個(gè)模塊, 在下面被稱為應(yīng)用模塊。例如,應(yīng)用任務(wù)AP1包括y個(gè)應(yīng)用模塊AP1-1 到APl-y,其中,y是大于或等于l的整數(shù)。應(yīng)用任務(wù)APx包括z個(gè)應(yīng)用 模塊APx-l到APx-z,其中,z是大于或等于1的整數(shù)。各應(yīng)用模塊對(duì)例 如單元、組件等提供各種等級(jí)的控制以及與它們進(jìn)行交互,其中,所述單 元、組件是例如門鎖單元、箱蓋控制單元、車箱照明單元、操作燈、電動(dòng) 窗等。例如,參考圖3中所示的流程圖,下面描述可以與每個(gè)應(yīng)用任務(wù)關(guān)聯(lián) 的過(guò)程,其中,所述過(guò)程是例如由應(yīng)用任務(wù)實(shí)現(xiàn)的功能。盡管根據(jù)一個(gè)應(yīng) 用任務(wù)APn描述了示例性的過(guò)程,其中n是1到x, ^目同的描述可以 被應(yīng)用到其他應(yīng)用任務(wù)。參考該流程圖,在示例性過(guò)程的開始,在SllO,應(yīng)用任務(wù)APn開始 并執(zhí)行與例如包括在應(yīng)用任務(wù)APn中的每個(gè)應(yīng)用模塊相關(guān)聯(lián)的過(guò)程。 當(dāng)所有的應(yīng)用模塊的過(guò)程都終止時(shí),例如在S120的YES,應(yīng)用任務(wù) APn確定是否所有的應(yīng)用模塊的每一個(gè)都進(jìn)入睡眠就緒狀態(tài),即,在S130 中準(zhǔn)備好了變成停止活動(dòng)的狀多。應(yīng)當(dāng)注意到,如下面所進(jìn)一步描述的,當(dāng)應(yīng)用模塊已經(jīng)完成了任何關(guān)聯(lián)的控制并且不需要提供進(jìn)一步的控制操 作時(shí),該應(yīng)用模塊將會(huì)進(jìn)入睡眠就緒狀態(tài)。例如,當(dāng)應(yīng)用模塊控制一個(gè)電動(dòng)窗時(shí),在給定的時(shí)間間隔期間,該應(yīng) 用模塊被執(zhí)行超過(guò)一次,以便實(shí)現(xiàn)對(duì)電動(dòng)窗的序列控制操作。當(dāng)該一序列 控制完成了并且沒(méi)有進(jìn)一步的控制請(qǐng)求出現(xiàn)時(shí),那么可以認(rèn)為,例如直到 下一個(gè)請(qǐng)求或請(qǐng)求序列產(chǎn)生,才需要進(jìn)一步的控制^Mt。也應(yīng)當(dāng)注意到, 一些應(yīng)用模塊在任何時(shí)候終止時(shí)就^X睡眠就緒狀態(tài),例如,當(dāng)沒(méi)有進(jìn)一 步的涉及控制操作的請(qǐng)求或請(qǐng)求序列產(chǎn)生時(shí)。該示例性過(guò)程確定是否每個(gè)應(yīng)用模塊進(jìn)入睡眠就緒狀態(tài)?;诖_定的 結(jié)果,該過(guò)程確定是否應(yīng)用任務(wù)APn進(jìn)入了睡眠就緒狀態(tài)(S140)。具體 地說(shuō),該過(guò)程確定是否所有的應(yīng)用模塊l了睡眠就緒狀態(tài)。當(dāng)所有的應(yīng) 用模塊iiX了睡眠就緒狀態(tài)時(shí),該過(guò)程確定應(yīng)用任務(wù)APn l了睡眠就 緒狀態(tài)。當(dāng)確定應(yīng)用任務(wù)APn不處于睡眠就緒狀態(tài)時(shí),例如在S140的結(jié)果是 NO時(shí),應(yīng)用任務(wù)APn就終止。當(dāng)確定應(yīng)用任務(wù)APn處于睡眠就緒狀態(tài)時(shí),例如在S140的結(jié)果是 YES時(shí),可以在S150執(zhí)行通知過(guò)程,以1更通知狀態(tài)管理部分SM應(yīng)用任 務(wù)APn處于睡眠就緒狀態(tài)。根據(jù)本實(shí)施例,示例性過(guò)程調(diào)用(calls)可 以調(diào)用睡眠就緒函數(shù),如SleepOK(n),以l更執(zhí)行通知。應(yīng)當(dāng)注意到, 在睡眠就緒函數(shù)中括號(hào)里的n是該函數(shù)的自變量或M,可以代表例如調(diào) 用該函數(shù)的應(yīng)用任務(wù)的識(shí)別符。然后,應(yīng)用任務(wù)APn就終止。當(dāng)應(yīng)用任務(wù)一旦執(zhí)行完成而i^睡眠就緒狀態(tài)時(shí),最好在一些示例性 實(shí)施例中省略例如在S130和S140的確定,并且總;l在應(yīng)用任務(wù)的終點(diǎn)調(diào) 用睡眠就緒函數(shù)?,F(xiàn)在參考圖4中所示的示例性過(guò)程的流程,在下面描述與示例性的狀 態(tài)管理部分SM相關(guān)聯(lián)的功能和過(guò)程,例如由狀態(tài)管理部分SM實(shí)現(xiàn)的示 例性功能。例如,當(dāng)使用結(jié)合微型計(jì)算機(jī)13執(zhí)行時(shí),應(yīng)用任務(wù)API到APx中 的一個(gè)就使用自變量n來(lái)調(diào)用睡眠就緒函數(shù)SleepOK (n),其中,所述
自變量n具有從1到x的值。與狀態(tài)管理部分SM相對(duì)應(yīng)的程序被立即執(zhí) 行。當(dāng)與狀態(tài)管理部分SM相對(duì)應(yīng)的程序被執(zhí)行時(shí),睡眠就緒標(biāo)志設(shè)置函 數(shù),例如Flag (n)可以被用于在S120設(shè)置睡眠就緒標(biāo)志為1 。應(yīng)當(dāng)理 解,括號(hào)里的與睡眠就緒標(biāo)志設(shè)置函數(shù)相關(guān)聯(lián)的自變量n可以代表例如調(diào) 用睡眠就緒函數(shù)的應(yīng)用任務(wù)的識(shí)別符。準(zhǔn)備睡眠標(biāo)志可以在S210被用于 存儲(chǔ)分配給該應(yīng)用任務(wù)的睡眠就緒狀態(tài)的歷史,以及存儲(chǔ)由該應(yīng)用任務(wù)提 供的通知'在步S220,可以確定與睡眠就緒標(biāo)志設(shè)置函數(shù)相關(guān)聯(lián)的所有睡眠就 緒標(biāo)志是否為所有的應(yīng)用任務(wù)AP1到APx進(jìn)行了設(shè)置,其中,所述睡眠 就緒標(biāo)志設(shè)置函ltA例如Flag (1)到Flag (x )。當(dāng)為所有的應(yīng)用任務(wù)API到APx設(shè)置了與睡眠就緒標(biāo)志設(shè)置函數(shù) Flag (1)到Flag (x)相關(guān)聯(lián)的所有睡眠就緒標(biāo)志時(shí),例如在SM0的結(jié) 果是YES時(shí),微型計(jì)算機(jī)13可以在S230被立即置于睡眠模式中,使得 比正常操作需要更少的功率。例如,用于給CPU21提供時(shí)鐘的振蕩電路 的運(yùn)行可以停止,或用于給微型計(jì)算機(jī)13提供功率的電源電路的運(yùn)行可 以停止。這樣,在S230,微型計(jì)算機(jī)13可以停止,或者可替換地,該過(guò) 程在S230可以降低CPU 21的時(shí)鐘頻率或電源電壓。與現(xiàn)有技術(shù)不同, 在將微型計(jì)算機(jī)13或控制器等置于睡BR^式時(shí)不會(huì)出現(xiàn)延遲,這是因?yàn)?不用等待時(shí)間間隔期滿,其中,在所述時(shí)間間隔,例如空閑模塊等檢查關(guān) 于睡眠的執(zhí)行的狀態(tài)。當(dāng)在S220的確定產(chǎn)生負(fù)的結(jié)果時(shí),例如至少一個(gè)睡眠就緒標(biāo)志沒(méi)有 被設(shè)置時(shí),與狀態(tài)管理部分SM相關(guān)聯(lián)的過(guò)程就終止??商鎿Q地,與狀態(tài) 管理部分SM相關(guān)聯(lián)的執(zhí)行終止時(shí),可以執(zhí)行或啟動(dòng)另外的過(guò)程?,F(xiàn)在將針對(duì)圖5和圖6來(lái)描述上述過(guò)程。根據(jù)圖7中的示例,可以假 定兩個(gè)應(yīng)用任務(wù),API和AP2被使用。系統(tǒng)任務(wù)ST請(qǐng)求每一毫秒喚醒 應(yīng)用任務(wù)AP1,而每?jī)珊撩雴拘褢?yīng)用任務(wù)APx。上述任務(wù)被分配優(yōu)先級(jí) 以l更遵循如下的次序。系統(tǒng)任務(wù)ST的優(yōu)先級(jí)高于應(yīng)用任務(wù)AP1的優(yōu)先級(jí), 而應(yīng)用任務(wù)AP1的優(yōu)先級(jí)高于應(yīng)用任務(wù)AP2的優(yōu)先級(jí)(優(yōu)先級(jí)ST〉優(yōu)先 級(jí)AP^優(yōu)先級(jí)AP2 )。還應(yīng)當(dāng)注意到,在圖5中,以S開頭的數(shù)字與圖3 和圖4中顯示和描述的各種示例性過(guò)程相對(duì)應(yīng)。圖5示出了作為時(shí)間的函 數(shù)根據(jù)各種實(shí)施例在應(yīng)用任務(wù)與狀態(tài)管理部分SM之間的操作的各種功 能絲。如圖5的上部所示,例如在S150,應(yīng)用任務(wù)API調(diào)用睡眠就緒函數(shù) SleepOK(l)。例如在Sl加, 一旦接收到睡眠就緒^Ht的結(jié)果,狀態(tài)管 理部分SM就開始設(shè)置Flag (1 )。例如在S220,狀態(tài)管理部分SM還確 定是否為應(yīng)用任務(wù)API和AP2都設(shè)置了睡眠就緒標(biāo)志Flag (1)和Flag (2)。根據(jù)圖5的本示例,不為應(yīng)用任務(wù)AP2設(shè)置睡眠就緒標(biāo)志Flag(2)。 所以,微型計(jì)算機(jī)13不進(jìn)入睡眠模式,而是繼續(xù)正常運(yùn)行。然后,應(yīng)用任務(wù)AP2調(diào)用睡眠就緒函數(shù)SleepOK (2 ),其指示AP2 應(yīng)用任務(wù)已經(jīng)準(zhǔn)備好睡眠。狀態(tài)管理部分SM重新啟動(dòng)以設(shè)置Flag (2)。 例如根據(jù)S220,狀態(tài)管理部分SM再次確定是否為應(yīng)用任務(wù)AP1和AP2 都設(shè)置了與Flag (1)和Flag (2)相關(guān)聯(lián)的睡眠就緒標(biāo)志。在確定了為應(yīng)用任務(wù)API和AP2都"^殳置了睡眠就緒標(biāo)志之后,狀態(tài) 管理部分SM例如可以執(zhí)行用于將微型計(jì)算機(jī)13置于睡BR^式的過(guò)程, 在此時(shí),微型計(jì)算機(jī)13停止運(yùn)行。如上所述,向睡眠模式的轉(zhuǎn)變可以包 括用于CPU21的時(shí)鐘頻率的降低或電源電壓的降低,在此時(shí),CPU21 以比正常情形低的功率水平按比正常情形慢的速度運(yùn)行,導(dǎo)致整體上的功 率節(jié)省。如圖6中所示,當(dāng)所有的應(yīng)用ii^了睡眠就緒狀態(tài)時(shí),微型計(jì)算機(jī) 13可以立即iiX睡B^式。在本示例中,可以注意到,應(yīng)用任務(wù)AP2進(jìn) 入睡眠就緒狀態(tài),并且,微型計(jì)算機(jī)13準(zhǔn)^^好了睡眠模式。所以,可以 解決現(xiàn)有技術(shù)中普遍的浪費(fèi)功率的問(wèn)題。應(yīng)當(dāng)注意到,本實(shí)施例可以使用計(jì)算機(jī)程序來(lái)實(shí)現(xiàn)作為狀態(tài)管理部分 SM的功能??梢圆皇褂昧硗獾挠布?lái)提供上述效果。當(dāng)空閑任務(wù)被用作 最低優(yōu)先級(jí)的任務(wù)時(shí),可以容易地為空閑任務(wù)提供例如檢查存儲(chǔ)器異常的 功能。使用這種微型計(jì)算機(jī)13的ECU 11可以比現(xiàn)有技術(shù)更有效地為停止 活動(dòng)狀態(tài)節(jié)省功率消耗。在本實(shí)施例中,狀態(tài)管理部分SM相當(dāng)于睡眠轉(zhuǎn)變管理裝置或允許計(jì) 算機(jī)用作為睡眠轉(zhuǎn)變管理裝置的程序。盡管已經(jīng)描述了本發(fā)明的特定的優(yōu)選實(shí)施例,應(yīng)當(dāng)清楚地理解,本發(fā) 明不限于此,而是可以在本發(fā)明的精神和范圍之內(nèi)的通過(guò)各種方式實(shí)施。 例如,OS可以包括作為系統(tǒng)任務(wù)ST和狀態(tài)管理部分SM的功能。與管 理部分SM相關(guān)聯(lián)的示例性過(guò)程或示例性程序可以在系統(tǒng)任務(wù)ST或任何 應(yīng)用任務(wù)中執(zhí)行。應(yīng)用任務(wù)或應(yīng)用模塊可在系統(tǒng)任務(wù)ST中執(zhí)行。也就是 說(shuō),給定應(yīng)用任務(wù)可以代替系統(tǒng)任務(wù)ST提供諸如喚醒任務(wù)之類的控制。 盡管圖2定義了應(yīng)用任務(wù)的數(shù)目(x)為兩個(gè)或多個(gè),然而,也可以只使 用一個(gè)應(yīng)用任務(wù)。也應(yīng)當(dāng)注意到,本發(fā)明不但可適用于用來(lái)控制與車體相關(guān)聯(lián)的上述功 能的ECU,還可適用于用來(lái)控制包括發(fā)動(dòng)機(jī)和變速箱的傳動(dòng)系統(tǒng)的ECU。 本發(fā)明也可適用于為車輛之夕卜的其他目的所使用的ECU。
權(quán)利要求
1.一種在與車輛相關(guān)聯(lián)的控制器中控制睡眠狀態(tài)的方法,所述控制器執(zhí)行睡眠轉(zhuǎn)變管理模塊和n個(gè)應(yīng)用任務(wù),其中n是大于或等于2的整數(shù),所述n個(gè)應(yīng)用任務(wù)的每一個(gè)都具有y個(gè)應(yīng)用模塊,其中y是大于或等于1的整數(shù),所述方法包括(a)與所述n個(gè)應(yīng)用任務(wù)的第一個(gè)相關(guān)地,確定與所述n個(gè)應(yīng)用任務(wù)的該第一個(gè)相關(guān)聯(lián)的所有的y個(gè)應(yīng)用模塊關(guān)聯(lián)的處理是否終止;(b)如果與所述n個(gè)應(yīng)用任務(wù)的該第一個(gè)相關(guān)聯(lián)的所有y個(gè)應(yīng)用模塊終止,則向所述睡眠轉(zhuǎn)變管理模塊提供與所述n個(gè)應(yīng)用任務(wù)的該第一個(gè)相關(guān)聯(lián)的第一睡眠就緒狀態(tài)的通知;(c)與所述n個(gè)應(yīng)用任務(wù)的下一個(gè)相關(guān)地,確定與所述應(yīng)用任務(wù)的該下一個(gè)相關(guān)聯(lián)的所有的y個(gè)應(yīng)用模塊關(guān)聯(lián)的處理是否終止;(d)如果與所述n個(gè)應(yīng)用任務(wù)的該下一個(gè)相關(guān)聯(lián)的所有的y個(gè)應(yīng)用模塊終止,則向所述睡眠轉(zhuǎn)變管理模塊提供與該下一個(gè)應(yīng)用任務(wù)相關(guān)聯(lián)的下一個(gè)睡眠就緒狀態(tài)的通知;(e)與所述n個(gè)應(yīng)用任務(wù)中任何剩余的應(yīng)用任務(wù)相關(guān)地,確定與所述n個(gè)應(yīng)用任務(wù)中任何剩余的應(yīng)用任務(wù)相關(guān)聯(lián)的各自的所有y個(gè)應(yīng)用模塊相關(guān)聯(lián)的處理是否終止;(f)在存在所述n個(gè)應(yīng)用任務(wù)中任何剩余的應(yīng)用任務(wù)的情況下,如果與所述n個(gè)應(yīng)用任務(wù)中任何剩余的應(yīng)用任務(wù)相關(guān)聯(lián)的各自的所有y個(gè)應(yīng)用模塊終止,則向所述睡眠轉(zhuǎn)變管理模塊提供與所述n個(gè)應(yīng)用任務(wù)中任何剩余的應(yīng)用任務(wù)相關(guān)聯(lián)的各剩余的睡眠就緒狀態(tài)的通知;以及(g)基于在(b)、(d)中,以及如果存在所述n個(gè)應(yīng)用任務(wù)中任何剩余的應(yīng)用任務(wù)的情況下在(f)中提供給所述睡眠轉(zhuǎn)變管理模塊的通知,立即使能所述控制器的睡眠模式。
2. —種制品,包括 計(jì)算機(jī)可讀介質(zhì);以及在所述計(jì)算機(jī)可讀介質(zhì)上承載的指令,所述指令可由控制器讀取,當(dāng) 所述指令由所述控制器讀取并執(zhí)行時(shí),用于使所述控制器執(zhí)行根據(jù)權(quán)利要 求l中所述的方法。
3. 如權(quán)利要求2中所述的制品,其中,所述控制器包括處理器、微型 計(jì)算機(jī)和車栽電子控制器中的一個(gè)。
4. 如權(quán)利要求1中所述的方法,其中,所述睡眠轉(zhuǎn)變模塊被配置成根據(jù)與所述n個(gè)應(yīng)用任務(wù)的第一個(gè)相關(guān)聯(lián)的第一睡眠就緒狀態(tài)的通 知而啟動(dòng);存^分配到所述n個(gè)應(yīng)用任務(wù)的第 一個(gè)、被分配到所述n個(gè)應(yīng)用任 務(wù)的第二個(gè)以及所述n個(gè)應(yīng)用任務(wù)中任何剩余的應(yīng)用任務(wù)的睡眠就緒狀 態(tài)的歷史,以^f更確定是否所有的n個(gè)應(yīng)用任務(wù)都處于睡眠就緒狀態(tài);以及當(dāng)所有的所述n個(gè)應(yīng)用任務(wù)都處于睡眠就緒狀態(tài)時(shí),基于所述的4吏能 而立即將所述控制器置于所述睡眠模式,該睡BR^漠式比正常運(yùn)行需要更少 的功率消耗。
5. —種用于執(zhí)行n個(gè)應(yīng)用任務(wù)的控制器,其中n是大于或等于2的 整數(shù),所述n個(gè)應(yīng)用任務(wù)的每一個(gè)都具有y個(gè)應(yīng)用模塊,其中y是大于或 等于1的整數(shù),所述控制器包括處理器;以及耦合到所述處理器的存儲(chǔ)器,所述存儲(chǔ)器能夠存儲(chǔ)可由所述處理器讀 取的指令,所述指令在被讀取并被執(zhí)行時(shí)用于使所述處理器執(zhí)行睡眠轉(zhuǎn)變模塊,所述睡眠轉(zhuǎn)變模塊被配置成根據(jù)來(lái)自所述n個(gè)應(yīng)用任務(wù)中的一個(gè)的表示該一個(gè)應(yīng)用任務(wù)處于睡眠就緒狀態(tài)的通知而執(zhí)行 以下操作確定是否所有的所述n個(gè)應(yīng)用任務(wù)都處于睡眠就緒狀態(tài);以及如果所有的所述n個(gè)應(yīng)用任務(wù)都處于睡眠就緒狀態(tài),則立即將所 述微型計(jì)算機(jī)置于睡B喊式,所述睡眠模式比正常運(yùn)行需要更少的功率消耗,其中,當(dāng)所述n個(gè)應(yīng)用任務(wù)的一個(gè)進(jìn)入睡眠就緒狀態(tài)時(shí),產(chǎn)生來(lái)自所 述n個(gè)應(yīng)用任務(wù)的該一個(gè)的通知。
6. 如權(quán)利要求5中所述的控制器,其中,所述睡眠轉(zhuǎn)變模塊還被配置 成:基于包括與所述n個(gè)應(yīng)用任務(wù)的 一個(gè)或多個(gè)相關(guān)聯(lián)的先前的睡眠就緒 狀態(tài)的歷史的信息,確定是否所有的n個(gè)應(yīng)用任務(wù)都處于睡眠就緒狀態(tài)。
7. 如權(quán)利要求5中所述的控制器,其中,在所述n個(gè)應(yīng)用任務(wù)的一個(gè) 執(zhí)行結(jié)束時(shí),產(chǎn)生來(lái)自所述n個(gè)應(yīng)用任務(wù)的該一個(gè)的通知。
8. —種制品,包括 計(jì)算機(jī)可讀介質(zhì);以及在所述計(jì)算機(jī)可讀介質(zhì)上承載的指令,所述指令可由處理器讀取,當(dāng) 所述指令存儲(chǔ)在存儲(chǔ)器中并由所述處理器讀取和執(zhí)行時(shí),用于使所述處理 器執(zhí)行根據(jù)權(quán)利要求5中所述的睡眠轉(zhuǎn)變模塊的功能。
9. 一種制品,包括 計(jì)算機(jī)可讀介質(zhì);以及在所述計(jì)算機(jī)可讀介質(zhì)上承載的指令,所述指令可由微型計(jì)算機(jī)讀 取,當(dāng)所述指令由所述微型計(jì)算機(jī)讀取并執(zhí)行時(shí),用于使處理器執(zhí)行根據(jù) 權(quán)利要求6中所述的睡眠轉(zhuǎn)變模塊的功能。
10. 如權(quán)利要求8中所述的制品,其中,所述微型計(jì)算機(jī)包括處理器、 控制器和車載電子控制器中的一個(gè)。
11. 如權(quán)利要求9中所述的制品,其中,所述微型計(jì)算機(jī)包括處理器、 控制器和車載電子控制器中的一個(gè)。
12. —種微型計(jì)算機(jī),用于執(zhí)行多個(gè)應(yīng)用任務(wù)中的一個(gè),所述多個(gè)應(yīng) 用任務(wù)中的每一個(gè)都執(zhí)行至少一個(gè)應(yīng)用模塊,所述微型計(jì)算機(jī)包括睡眠轉(zhuǎn)變管理裝置,該睡眠轉(zhuǎn)變管理單元被配置成基于來(lái)自應(yīng)用任務(wù) 的關(guān)于該應(yīng)用任務(wù)ii^睡眠就緒狀態(tài)的通知而執(zhí)行以下操作確定是否所有的多個(gè)應(yīng)用任務(wù)都已經(jīng)進(jìn)入睡眠就緒狀態(tài),以及使得所述微型計(jì)算機(jī)故置于睡眠模式,所述睡眠模式比正常運(yùn)行 需要更少的功率消耗,其中,當(dāng)應(yīng)用任務(wù)進(jìn)入了睡眠就緒狀態(tài)時(shí),該應(yīng)用任務(wù)執(zhí)行用于發(fā)布 通知的通知過(guò)程。
13. 如權(quán)利要求12中所述的微型計(jì)算機(jī),其中,所述睡眠轉(zhuǎn)變管理模 塊還被配置成:基于包括與所述n個(gè)應(yīng)用任務(wù)的一個(gè)或多個(gè)相關(guān)聯(lián)的先前 的睡眠就緒狀態(tài)的歷史的信息,確定是否所有的所述n個(gè)應(yīng)用任務(wù)都處于 睡眠就緒狀態(tài)。
14. 如權(quán)利要求12中所述的微型計(jì)算機(jī),其中,在應(yīng)用任務(wù)結(jié)束時(shí)執(zhí) 行通知過(guò)程。
15. —種制品,包括計(jì)算機(jī)可讀介質(zhì);以及在所述計(jì)算機(jī)可讀介質(zhì)上承載的指令,所述指令可由微型計(jì)算機(jī)讀 取,當(dāng)所述指令存儲(chǔ)在存儲(chǔ)器中并由所述微型計(jì)算機(jī)讀取和執(zhí)行時(shí),用于使得所述微型計(jì)算機(jī)作為根據(jù)權(quán)利要求12中所述的睡眠轉(zhuǎn)變管理單元來(lái) 運(yùn)行。
16. —種制品,包括 計(jì)算機(jī)可讀介質(zhì);以及在所述計(jì)算機(jī)可讀介質(zhì)上承載的指令,所述指令可由微型計(jì)算機(jī)讀 取,當(dāng)所述指令存儲(chǔ)在存儲(chǔ)器中并由所述微型計(jì)算機(jī)讀取和執(zhí)行時(shí),用于 使得所述微型計(jì)算機(jī)作為根據(jù)權(quán)利要求13中所述的睡眠轉(zhuǎn)變管理單元來(lái) 運(yùn)行0
17. 如權(quán)利要求15中所述的制品,其中,所述微型計(jì)算機(jī)包括處理器、 控制器和車載電子控制器中的一個(gè)。
18. 如權(quán)利要求16中所述的制品,其中,所述微型計(jì)算機(jī)包括處理器、 控制器和車載電子控制器中的一個(gè)。
全文摘要
當(dāng)各任務(wù)已經(jīng)準(zhǔn)備好睡眠模式時(shí),微型計(jì)算機(jī)就立即進(jìn)入睡眠模式,以便消除功率浪費(fèi)。多個(gè)應(yīng)用任務(wù)被執(zhí)行。每個(gè)應(yīng)用任務(wù)都提供關(guān)于進(jìn)入睡眠就緒狀態(tài)的通知。當(dāng)任何應(yīng)用任務(wù)提供了通知時(shí),狀態(tài)管理部分程序就設(shè)置一個(gè)指示所述應(yīng)用任務(wù)進(jìn)入了睡眠就緒狀態(tài)的標(biāo)志。所述狀態(tài)管理部分檢查所有的應(yīng)用任務(wù)的標(biāo)志,以便確定是否所有的應(yīng)用任務(wù)都進(jìn)入了睡眠就緒狀態(tài),據(jù)此將所述微型計(jì)算機(jī)置于睡眠模式。
文檔編號(hào)G06F1/32GK101165636SQ20071018151
公開日2008年4月23日 申請(qǐng)日期2007年10月18日 優(yōu)先權(quán)日2006年10月20日
發(fā)明者佐佐木明博, 妹尾伸一, 廣田雅也, 新田修一, 橫山耕一郎 申請(qǐng)人:株式會(huì)社電裝