的車輛的簡化示意圖;
圖2是ECU的示例性實施例的框圖;
圖3是圖示了喚醒控制和診斷操作的示例性實施例的框圖;
圖4是喚醒計時器設(shè)定過程的示例性實施例的流程圖;
圖5是喚醒記入日志過程的示例性實施例的流程圖;
圖6是用于檢測意外喚醒事件的過程的示例性實施例的流程圖;以及圖7是用于檢測錯過喚醒的過程的示例性實施例的流程圖。
【具體實施方式】
[0031]以下【具體實施方式】本質(zhì)上僅為圖示性的并且不旨在限制主題的實施例或者這類實施例的應(yīng)用和使用。如本文所使用的,詞“示例性”意味著“用作示例、例子或者圖示”。在本文中描述的任何實施方案均不必理解為比其他實施方案優(yōu)選或有利。此外,本發(fā)明無意于受在前述技術(shù)領(lǐng)域、【背景技術(shù)】、
【發(fā)明內(nèi)容】
或以下的【具體實施方式】中提出的任何明示或暗示的理論的限制。
[0032]技藝和技術(shù)在本文中可以依據(jù)功能和/或邏輯塊部件,以及參照可以通過各種計算部件或者設(shè)備執(zhí)行的操作、處理任務(wù)以及功能的符號表示進行描述。這類操作、任務(wù)和功能有時被稱為被計算機執(zhí)行、計算機化、軟件實施或者計算機實施。應(yīng)該了解,附圖所示的各種快部件可以由配置為執(zhí)行具體功能的任何數(shù)量的硬件、軟件和/或固件部件實現(xiàn)。例如,系統(tǒng)或部件的實施例可以采用可以在一個或多個微處理器或其他控制設(shè)備的控制下實行多種功能的各種集成電路部件,例如,存儲器元件、數(shù)字信號處理元件、邏輯元件、查詢表等。
[0033]當在軟件或者固件中實施時,本文所描述的系統(tǒng)的各種元件基本上為執(zhí)行各種任務(wù)的代碼段或者指令。程序或者代碼段可以存儲在處理器可讀介質(zhì)(例如,非暫時性介質(zhì))中,從而使當指令執(zhí)行時,存儲的指令能夠執(zhí)行所描述的功能。處理器可讀介質(zhì)的示例包括:電子電路、半導(dǎo)體存儲器設(shè)備、R0M、閃速存儲器、可擦ROM (ER0M)、軟盤、CD-ROM、光盤、
硬盤等。
[0034]圖1是包括至少一個車載電子控制單元(E⑶)102的車輛100的簡化示意圖。雖然車輛100描繪為具有三個ECU102,但可以部署任何數(shù)量以適應(yīng)特殊實施例的需要。在某些實施例中,ECU 102可以適當?shù)嘏渲脼橛米鬈嚿砜刂颇K、發(fā)動機控制模塊、動力系統(tǒng)控制模塊等。以下說明涉及與發(fā)動機控制模塊相關(guān)聯(lián)的某些控制和診斷操作。然而,實際上,本文所描述的控制和診斷操作能夠由車輛100的任何車載ECU執(zhí)行。
[0035]圖2是E⑶200的示例性實施例的框圖。在圖1中示出的每一個E⑶102可以根據(jù)圖2所示進行配置。E⑶200的圖示的實施例一般包括但不限于:處理器202 ;喚醒計時器204 ;存儲器206 個或多個輸入/輸出接口 208 ;—個或多個通信模塊210 ;以及電源212。E⑶200的元件可以經(jīng)由任何適當?shù)恼{(diào)節(jié)信號和數(shù)據(jù)通信的互連架構(gòu)214聯(lián)接在一起。
[0036]處理器202可以視特殊實施例的情況以各種不同的方式實施或者執(zhí)行。例如,處理器202可以使用通用微處理器、內(nèi)容可尋址存儲器、數(shù)字信號處理器、專用集成電路、現(xiàn)場可編程門陣列、任何適當?shù)目删幊踢壿嬙O(shè)備、分立柵極或者晶體管邏輯、分立硬件部件或者設(shè)計為執(zhí)行本文所描述的功能的任何組合。另外,處理器202也可以實施為計算設(shè)備的組合,例如,數(shù)字信號處理器和微處理器的組合、多個微處理器、結(jié)合數(shù)字信號處理器內(nèi)核的一個或多個微處理器、或任何其他這類配置。針對該特殊示例,處理器202實現(xiàn)為電子設(shè)備包或者集成電路芯片,集成電路芯片可以通過移除其操作電壓而被放置到非活動、休眠或者斷電狀態(tài)中。再次維持操作電壓使處理器202轉(zhuǎn)換回到其活動的、喚醒以及通電狀態(tài)。
[0037]處理器202代表E⑶200的主要邏輯和處理部件。因此,處理器202適當?shù)嘏渲脼閳?zhí)行支持主車輛的操作可能所需的各種特征、功能和過程。例如,如果ECU 200部署為車輛的發(fā)動機控制模塊,則處理器202可以對于與各種發(fā)動機、點火和燃料系統(tǒng)相關(guān)聯(lián)的電子控制和診斷操作負責。當喚醒時,處理器202可以對一個或多個其他車輛子系統(tǒng)執(zhí)行診斷檢查,不論車輛的發(fā)動機打開還是關(guān)閉。例如,處理器202可以設(shè)計為在停車時檢查電池子系統(tǒng)或者燃料子系統(tǒng)的狀態(tài)。如下面更詳細地描述的,喚醒計時器204根據(jù)需要喚醒處理器202,從而使處理器202可以在關(guān)閉其自身(回到休眠模式)時執(zhí)行這類診斷檢查。
[0038]喚醒計時器204可以實現(xiàn)為:操作性地與處理器202相關(guān)聯(lián)的單獨部件或者集成電路芯片。在某些實施例中,在車輛處于發(fā)動機關(guān)閉狀態(tài)時,喚醒計時器204實現(xiàn)為:追蹤運行計數(shù)的硬件計時器。另外,喚醒計時器204可以被編程或者以其他方式設(shè)置為追蹤處理器202的喚醒次數(shù)。為此,喚醒計時器204可以被視為保持操作的“永遠開啟”部件,而不論車輛處于發(fā)動機打開還是發(fā)動機關(guān)閉狀態(tài),也不論處理器202處于通電還是斷電狀態(tài)。如下面更詳細地描述的,如果編程有喚醒時間設(shè)置,則喚醒計時器204在編程時間發(fā)起喚醒事件以喚醒處理器202。在某些實施例中,喚醒事件通過將操作功率(電壓)應(yīng)用于處理器202而發(fā)起,從而使處理器202可以執(zhí)行所需的任務(wù)和過程。
[0039]存儲器206可以使用任何數(shù)量的部件以及使用任何類型的存儲器技術(shù)實現(xiàn)(視特殊實施例的情況)。由此,存儲器206可以包括但不限于:RAM存儲器、閃速存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動磁盤、⑶-ROM或者本領(lǐng)域已知的任何其他形式的存儲介質(zhì)。就此,存儲器206可以聯(lián)接至處理器202,從而使處理器202可以從存儲器206讀取信息以及將信息寫入存儲器206。在替代實施方式中,一些存儲器206可以整合到處理器202。作為示例,處理器202和存儲器206可以常駐在ASIC中。
[0040]針對E⑶200的該實施例,存儲器206包括非易失性存儲器元件,非易失性存儲器元件用于存儲與由處理器202管理的喚醒請求相關(guān)聯(lián)的喚醒請求信息。非易失性存儲器元件在無操作功率/電壓的情況下保持其存儲的數(shù)據(jù),從而使喚醒請求信息被保存,而不管處理器202的操作狀態(tài)(通電或者斷電)如何。如下面更詳細地闡釋地,存儲的喚醒請求信息用于填入用作喚醒事件的日志的喚醒歷史陣列。
[0041]輸入/輸出接口 208可以用于操作電壓、傳感器信號等。同樣地,通信模塊210可以用于數(shù)據(jù)通信、網(wǎng)絡(luò)化等。實際上,輸入/輸出接口 208和通信模塊210可以與其他車載ECU協(xié)作和/或與其他車載子系統(tǒng)通信。
[0042]電源212可以包括:穩(wěn)壓器、功率調(diào)節(jié)部件和/或向E⑶200的設(shè)備和電子部件提供一個或多個操作電壓的其他元件。例如,電源212為處理器202和喚醒計時器204提供操作電壓。喚醒計時器204可以根據(jù)需要適當?shù)嘏渲脼榭刂频诫娫?12的訪問,以對處理器202進行通電和斷電(S卩,以下面更詳細地描述的方式喚醒和關(guān)閉處理器202)。
[0043]本文所提出的主題涉及用于嵌入式控制器的喚醒特征的控制和診斷的方法,諸如E⑶200的處理器202。喚醒特征可以用于發(fā)起車載診斷檢查。因此,監(jiān)測喚醒計時器以確保處理器202按預(yù)期喚醒。本文所描述的系統(tǒng)對來自眾多請求程序的所需喚醒時間進行裁定,并且對發(fā)生以確保它們正確發(fā)生的喚醒事件進行監(jiān)測。本文所描述的方法收集來自其他子系統(tǒng)的喚醒請求,并且在控制器完全關(guān)閉之前設(shè)置下一個喚醒時間。診斷法運行以監(jiān)測每一個喚醒事件的正確性;診斷法可以在下一個車輛通電狀態(tài)發(fā)起。另外,可以通過獨立的診斷檢查監(jiān)測喚醒計時器本身的準確度。喚醒診斷特征允許控制器在事件的持續(xù)期間不保持通電的情況下監(jiān)測長期事件,這將導(dǎo)致過度電池耗竭。顯而易見地,該特征是獨立的,因此,它消除了使一個模塊喚醒另一模塊的模塊間通信的復(fù)雜性。
[0044]本文所描述的方法從車載子系統(tǒng)、ECU和/或處理任務(wù)收集喚醒請求,并且在控制器關(guān)閉程序期間處理請求以為控制器設(shè)置下一個喚醒時間。在控制器關(guān)閉程序期間,給予最近(時間上)請求的喚醒時間以優(yōu)先權(quán),而其他喚醒請求在事件中排隊,最高優(yōu)先權(quán)喚醒請求在關(guān)閉發(fā)生之前取消。在控制器醒著時,分析計時器信息以確定是否已經(jīng)經(jīng)過了程序化的喚醒時間。如果經(jīng)過,則下一個請求喚醒時間將變成當前請求喚醒時間。如果請求喚醒時間在預(yù)定的、短期時間(例如,10秒)內(nèi),則將不允許控制器關(guān)閉直到在喚醒請求已經(jīng)被服務(wù)之后。這確保由于喚醒時間導(dǎo)致的在關(guān)閉與喚醒之間的競爭條件不發(fā)生。如果請求喚醒時間超出喚醒計時器的硬件能力,則將設(shè)置硬件可以管理的最長的可能的喚醒時間,從而使請求更長喚醒時間的過程可以運行并且請求包括最初請求時間的剩余部分的新的喚醒時間。這使控制器能夠在正確時間喚醒,但是它將經(jīng)歷一個或多個介入喚醒以復(fù)位喚醒計時器。
[0045]每次控制器由于喚醒計時器喚醒,所要求的喚醒計時器值、實際喚醒計時器值及其錯誤狀態(tài)的日志均被記錄到非易失性存儲器中。當控制器由于外部事件(例如,打開點火設(shè)備,或者當另一模塊喚醒控制器時)喚醒時,日志條目被解析。檢查每一個條目以確定實際喚醒時間是否在所請求的喚醒時間的指定窗口內(nèi)。如果不在,則設(shè)置指示“意外喚醒”發(fā)生的診斷故障碼。另外,在外部喚醒事件時,診斷檢查以確定喚醒時間是否被請求,喚醒時間是否經(jīng)過,以及喚醒事件是否未記入喚醒歷史日志。如果滿足該標準,則設(shè)置指示“未檢測到喚醒”的診斷故障碼。如果所有的記入日志的喚醒均在規(guī)定窗口內(nèi),則對于“意外喚醒”代碼記錄“合格”。如果不存在未服務(wù)的喚醒事件并且計時器喚醒正確服務(wù)(如由意外喚醒診斷確定的那樣),則對于“未檢測到喚醒”代碼記錄“合格”。
[0046]圖3是圖示了可以由