具有調(diào)度單元的微控制器的制造方法
【專利摘要】一種微控制器具有中央處理單元CPU、多個外圍裝置及可編程調(diào)度器單元,所述可編程調(diào)度器單元具有:定時器,其由獨立時鐘信號定時;比較器,其與所述定時器的定時器寄存器耦合且具有產(chǎn)生輸出信號的輸出;事件寄存器,其與所述比較器耦合;差量時間寄存器;及算術(shù)邏輯單元,其受所述比較器的所述輸出信號控制且具有第一輸入及第二輸入以及輸出,其中所述第一輸入與所述定時器寄存器或所述事件寄存器耦合,且所述第二輸入與所述差量時間寄存器耦合,且所述輸出與所述事件寄存器耦合。
【專利說明】具有調(diào)度單元的微控制器【技術(shù)領(lǐng)域】
[0001]本申請案的【技術(shù)領(lǐng)域】涉及微控制器,特定來說,涉及一種在微控制器內(nèi)的事件產(chǎn)生系統(tǒng)。
【背景技術(shù)】
[0002]微控制器通常包括用于形成可應(yīng)用于多種應(yīng)用中的芯片上系統(tǒng)的微處理器、存儲器及多個外圍裝置。最常見的外圍裝置中的一者為可用于產(chǎn)生中斷信號(例如)以形成實時操作系統(tǒng)(RTOS)中的調(diào)度器的定時器單元。然而,這些定時器及其可產(chǎn)生的信號的功能性受到限制。
[0003]因此,需要一種改進型微控制器。
【發(fā)明內(nèi)容】
[0004]根據(jù)一實施例,一種微控制器可包括中央處理單元(CPU);多個外圍裝置;及可編程調(diào)度器單元,所述可編程調(diào)度器單元包括:定時器,其由獨立時鐘信號定時;比較器,其與所述定時器的定時器寄存器耦合且具有產(chǎn)生輸出信號的輸出;事件寄存器,其與所述比較器耦合;差量時間寄存器;及算術(shù)邏輯單元,其受所述比較器的所述輸出信號控制且包括第一輸入及第二輸入以及輸出,其中所述第一輸入與所述定時器寄存器或所述事件寄存器耦合,且所述第二輸入與所述差量時間寄存器耦合,且所述輸出與所述事件寄存器耦合。
[0005]根據(jù)另一實施例,所述微控制器可進一步包括事件邏輯單元,所述事件邏輯單元接收所述比較器的所述 輸出信號且控制所述算術(shù)邏輯單元及所述事件寄存器。根據(jù)另一實施例,所述微控制器可進一步包括多個差量時間寄存器。根據(jù)另一實施例,所述多個差量時間寄存器可布置為序列緩沖器。根據(jù)另一實施例,所述序列緩沖器可為循環(huán)序列緩沖器,其可經(jīng)控制以按循環(huán)方式、在單個序列中或以預(yù)定次數(shù)輸出所述差量時間寄存器的內(nèi)容。根據(jù)另一實施例,所述微控制器可進一步包括數(shù)據(jù)格式化單元,所述數(shù)據(jù)格式化單元與所述定時器寄存器及所述差量時間寄存器中的至少一者耦合,其中所述數(shù)據(jù)格式化單元可操作以將絕對時間值轉(zhuǎn)換成相對時間值。根據(jù)另一實施例,所述微控制器可進一步包括校準(zhǔn)單元,所述校準(zhǔn)單元與所述定時器寄存器的預(yù)定義數(shù)目個位耦合且可操作以蓋寫所述定時器寄存器中的所述預(yù)定義數(shù)目個位。根據(jù)另一實施例,所述校準(zhǔn)單元可周期性地蓋寫所述定時器寄存器位。根據(jù)另一實施例,所述時鐘選擇單元可操作以在由至少一個外圍定時器單元產(chǎn)生的多個時鐘信號之間選擇。根據(jù)另一實施例,所述微控制器可進一步包括時鐘選擇單元,所述時鐘選擇單元可操作以在內(nèi)部時鐘信號與外部時鐘信號之間選擇。根據(jù)另一實施例,所述事件邏輯單元可進一步接收所述序列緩沖器的輸出信號,其中所述事件邏輯單元產(chǎn)生多個輸出信號。根據(jù)另一實施例,所述序列緩沖器的所述輸出信號可指示序列位置。根據(jù)另一實施例,來自所述事件邏輯單元的輸出信號可為中斷信號。根據(jù)另一實施例,來自所述事件邏輯單元的輸出信號可為具有預(yù)定義脈沖寬度的脈沖信號。根據(jù)另一實施例,來自所述事件邏輯單元的輸出信號可饋送到時鐘控制單元以啟用預(yù)定時鐘源。根據(jù)另一實施例,所述微控制器可進一步包括事件分發(fā)單元,所述事件分發(fā)單元從所述事件邏輯單元接收所述多個輸出信號且產(chǎn)生饋送到所述CPU及至少一個外圍裝置中的至少一者的輸出信號。根據(jù)另一實施例,所述微控制器可進一步包括與所述事件分發(fā)單元耦合的系統(tǒng)電力控制單元。根據(jù)另一實施例,所述微控制器可為電池操作的。根據(jù)另一實施例,所述微控制器可進一步包括用于對所述可編程調(diào)度器單元進行編程的多個特殊功能寄存器。根據(jù)另一實施例,所述定時器寄存器及所述事件寄存器可經(jīng)配置以存儲UNIX時間格式。根據(jù)另一實施例,所述算術(shù)邏輯單元可為加法器。
[0006]根據(jù)另一實施例,一種操作包括中央處理器單元(CPU)、多個外圍裝置及可編程調(diào)度器單元的微控制器的方法可包括:將時間值編程到定時器的定時器寄存器中;定時所述定時器;比較事件寄存器與所述定時器寄存器;其中如果所述事件寄存器匹配所述定時器寄存器,那么所述調(diào)度器單元自動產(chǎn)生事件且將所述時間值或新時間值添加到所述事件寄存器。
[0007]根據(jù)所述方法的另一實施例,編程所述時間值的步驟可通過接收相對時間或絕對時間且格式化所述時間以形成所述時間值而執(zhí)行。根據(jù)所述方法的另一實施例,一事件可將所述CPU從睡眠模式喚醒。根據(jù)所述方法的另一實施例,事件可將外圍裝置從睡眠模式喚醒達預(yù)定時間,同時CPU保持處于睡眠模式。根據(jù)所述方法的另一實施例,在所述預(yù)定時間期間,外圍裝置可產(chǎn)生用于喚醒所述CPU的信號。根據(jù)所述方法的另一實施例,可在循序緩沖器內(nèi)編程多個時間值。根據(jù)所述方法的另一實施例,序列緩沖器可為循環(huán)序列緩沖器。根據(jù)所述方法的另一實施例,所述循序緩沖器可操作以受到控制以按循環(huán)方式、在單個序列中或以預(yù)定次數(shù)輸出所述時間值。根據(jù)所述方法的另一實施例,所述定時器寄存器及所述事件寄存器可存儲呈UNIX時間格式的值。根據(jù)所述方法的另一實施例,所述方法可進一步包括通過校準(zhǔn)單元而周期性地校準(zhǔn)所述定時器寄存器。根據(jù)所述方法的另一實施例,可在內(nèi)部時鐘信號與外部時鐘信號之間選擇對所述定時器寄存器的定時。根據(jù)所述方法的另一實施例,所述方法可進一步包括處理所述事件以產(chǎn)生多個輸出信號。根據(jù)所述方法的另一實施例,為了處理所述事件,可考慮所述序列緩沖器的序列位置。根據(jù)所述方法的另一實施例,來自所述多個輸出信號的輸出信號可為中斷信號。根據(jù)所述方法的另一實施例,來自所述多個輸出信號的輸出信號可為具有預(yù)定義脈沖寬度的脈沖信號。根據(jù)所述方法的另一實施例,產(chǎn)生所述事件可包括將多個輸出信號分發(fā)到所述CPU及所述至少一個外圍裝置中的至少一者。根據(jù)所述方法的另一實施例,所述多個輸出信號中的至少一個信號可饋送到系統(tǒng)電力控制單元。根據(jù)所述方法的另一實施例,所述多個輸出信號中的至少一個信號可饋送到時鐘控制單元以啟用預(yù)定時鐘源。
[0008]所屬領(lǐng)域的技術(shù)人員將從下文圖式、描述及權(quán)利要求書容易明白本揭示內(nèi)容的其它技術(shù)優(yōu)點。本申請案的各種實施例僅可獲得所陳述的優(yōu)點的子集。且無一優(yōu)點對所述實施例而言是至關(guān)重要的。
【專利附圖】
【附圖說明】
[0009]可通過參考結(jié)合隨附圖式閱讀的下文描述而獲得對本揭示內(nèi)容及其優(yōu)點的更完全了解,其中相同參考數(shù)字指示相同特征,且其中:
[0010]圖1為展示根據(jù)一實施例的微控制器的框圖;[0011]圖2展示實時時鐘及調(diào)度器單元的實施例;
[0012]圖3展示實時時鐘及調(diào)度器單元的另一更詳細(xì)實施例;以及
[0013]圖4展示事件/中斷分發(fā)單元的實施例。
【具體實施方式】
[0014]特定來說,電池操作的微控制器(MCU)應(yīng)用可能需要最小化軟件中的計算時間偏移所花的時間。具有備用電源模式的AC干線電力應(yīng)用可具有相似要求。多數(shù)電池操作或備用功能應(yīng)用將MCU及(任選的)其它組件置于斷電(睡眠)模式以最小化電力消耗。在此睡眠模式中,MCU必須以周期性間隔喚醒以執(zhí)行特定任務(wù)。這些任務(wù)可能包含讀取傳感器,檢查通信端口以發(fā)現(xiàn)活動,接通外圍裝置以為未來操作做準(zhǔn)備等。這些事件可依不同間隔發(fā)生。在常規(guī)裝置處于睡眠模式中時,所述裝置使用根據(jù)其自身的振蕩器操作的定時器電路。應(yīng)用軟件必須花時間計算時間偏移以調(diào)度下一所要喚醒時間。計算時間偏移所花的時間增加了 MCU覺醒的時間,從而增大總電力消耗且縮短電池壽命。
[0015]為此,常規(guī)MCU具有經(jīng)設(shè)計以在芯片的其余部分處于斷電狀態(tài)時操作的一般定時器及振蕩器電路。這些電路允許MCU維持計時功能性且周期性地喚醒MCU使得其可執(zhí)行軟件任務(wù)。根據(jù)各種實施例,可避免此額外電力消耗,以及提供其它益處。
[0016]圖1展示根據(jù)一實施例的微控制器100的框圖。為了更好地概述,圖1僅展示組件之間的特定連接。取決于相應(yīng)功能性,每一連接可代表單個或多個連接線。所屬領(lǐng)域的技術(shù)人員將明白,一些連接可為替代物且可能并不需要。
[0017]集成芯片100嵌入具有多個外部引腳140的外殼105中。對于微控制器來說典型的,集成芯片100包括中央處理單元110、多個外圍裝置120及存儲器130。此外,根據(jù)實施例,所述微控制器包括可具有時鐘選擇單元152的可編程實時時鐘及調(diào)度器單元150 (RTCS),時鐘選擇單元152可與一個或一個以上外部或內(nèi)部輸入源耦合。此外,RTCS150可直接及/或經(jīng)由特殊功能寄存器160而與CPU耦合。為此,所述微控制器可包括內(nèi)部系統(tǒng)總線及/或外圍總線。RTCS可進一步包括與事件/中斷分發(fā)單元180耦合的事件邏輯單元154。然而,在其它實施例中,事件/中斷分發(fā)單元180可為RTCS的集成部分,或在不需要由此單元提供的特定功能性的情況下可完全省略。事件邏輯單元154可產(chǎn)生如下文更詳細(xì)解釋的可由外部事件/中斷分發(fā)單元180處理及分發(fā)的多個信號。事件邏輯單元154可例如產(chǎn)生直接饋送到CPU或外圍裝置120的中斷或控制信號。然而,根據(jù)其它實施例,事件/中斷分發(fā)單元180可耦合到產(chǎn)生饋送到CPUllO的中斷信號及/或向量的中斷單元190。中斷單元190可包括如在微控制器系統(tǒng)中常見的仲裁器及屏蔽單元。此外,事件/中斷分發(fā)單元180還可直接連接到系統(tǒng)電力管理單元175、系統(tǒng)時鐘管理單元及/或一個或一個以上外圍單元120。系統(tǒng)電力管理單元175可控制芯片上的各種系統(tǒng)組件的電力分配,這在如在圖1中概念地展示為具有電池50的電池操作的系統(tǒng)中可為有利的。因此,系統(tǒng)電力管理單元175可產(chǎn)生用于系統(tǒng)100的不同組件的啟用信號或選擇性地對此類組件供電。根據(jù)其它實施例,系統(tǒng)電力管理單元175可經(jīng)由專用電力總線而與所有組件耦合??山?jīng)由專用控制線或經(jīng)由相關(guān)聯(lián)的特殊功能寄存器來控制系統(tǒng)電力管理單元175。例如,根據(jù)一個實施例,系統(tǒng)電力管理單元175可與事件/中斷分發(fā)單元耦合以將電力供應(yīng)給選定系統(tǒng)組件(例如,模/數(shù)轉(zhuǎn)換器單元)達預(yù)定義時間周期。所述模/數(shù)轉(zhuǎn)換器單元可經(jīng)編程以轉(zhuǎn)換模擬值,且如果所述值超過預(yù)定義閾值,那么產(chǎn)生中斷。當(dāng)接收到所述中斷時,CPUllO及/或其它系統(tǒng)組件可被喚醒且CPUllO可接著進一步處理相應(yīng)數(shù)據(jù)。此實施方案可對電容式觸控辨識或具有最小電力消耗的其它應(yīng)用非常有用,如下文將更詳細(xì)解釋。
[0018]此外,可經(jīng)由可包含在存儲器映射的特殊功能寄存器區(qū)塊中的特殊功能寄存器160而對可編程RTCS編程。替代或額外的,0?仍10可直接耦合到1?1^5150??山?jīng)由來自時鐘單元170的內(nèi)部時鐘信號線或經(jīng)由通過一個或一個以上引腳140連接的外部時鐘源而將多種時鐘信號提供給RTSC150。如果提供多個時鐘信號,那么RTSC150可包括可編程時鐘選擇單元152。然而,可在RTCS150外部提供此時鐘選擇單元152以及RTCS150的其它組件。
[0019]圖2展示根據(jù)一實施例的一般概念的框圖。在圖2中所示的單元150經(jīng)配置使得其可被編程且用作為低功率中斷管理單元。此單元150的用途是為了最大化MCU在睡眠模式中度過的時間。單元150如硬件RTOS —樣起作用以在適當(dāng)時間調(diào)度觸發(fā)器或CPU喚醒事件,如下文將更詳細(xì)解釋。[0020]單元150的中央元件為與48位定時器寄存器240及48位事件寄存器260耦合的48位比較器250。然而,根據(jù)其它實施例,比較器250及寄存器240、260可具有更多或更少位。定時器寄存器240及事件寄存器260可各自分成如在圖2中所示的可在16位系統(tǒng)中有利的三段式16位寄存器。然而,可根據(jù)相應(yīng)MCU的位大小而使用其它分段。定時器寄存器240由專用時鐘源定時,所述專用時鐘源如在圖2中所示可為與相關(guān)聯(lián)晶體(例如,32.768KHZ晶體)耦合的睡眠模式振蕩器210。然而,如下文參考其它實施例將解釋,可使用其它振蕩器。比較器250不斷比較寄存器240中的值與寄存器260中的值,且如果事件寄存器260中的值等于或超過定時器寄存器240中的值,就產(chǎn)生信號。此信號用于觸發(fā)可用于產(chǎn)生中斷信號的輸出信號。如在此項技術(shù)中所知,所述中斷信號可為優(yōu)先化的中斷或中斷向量或兩者的組合。此外,提供也可由比較器250的輸出信號觸發(fā)的算術(shù)邏輯單元(ALU) 270。ALU270可直接受如在圖2中所示的比較器250控制。然而,可能更切實際的是,通過從比較器250接收輸出信號的一般事件隊列控制或管理單元(舉例來說,例如在圖1中所示的事件邏輯單元154或如圖3所示且下文更詳細(xì)解釋的事件邏輯單元或狀態(tài)機380)而控制ALU270。根據(jù)一個實施例,ALU270可為如在圖2中所示的加法器。然而,可使用其它算術(shù)邏輯單元。此加法器270在由比較器250產(chǎn)生輸出信號時接收存儲在定時器寄存器240中的值。然而,根據(jù)替代實施例,由于在比較器250產(chǎn)生輸出信號時定時器寄存器240的內(nèi)容與事件寄存器260的內(nèi)容相同,所以事件寄存器260可與加法器270的第一輸入耦合。如果定時器寄存器240在ALU270處理輸出值之前已前進,那么此連接也可為有利的。加法器270的第二輸入接收存儲在差量時間寄存器230中的值。此寄存器230可為可經(jīng)存儲器映射的特殊功能寄存器。根據(jù)另一實施例,可提供多個差量時間寄存器230。由加法器270執(zhí)行的加法的結(jié)果被饋送回到現(xiàn)自動含有下一事件的事件寄存器260??筛鶕?jù)內(nèi)部信號或狀態(tài)而動態(tài)地改變存儲在差量時間寄存器230中的值,如在下文更詳細(xì)解釋。定時器寄存器240及/或事件寄存器260也可為經(jīng)存儲器映射的特殊功能寄存器?;蛘撸珻PUllO可直接存取這些寄存器中的任何一者以用于對單個事件進行編程。
[0021]因此,如在圖2中所示的單元150可操作以自動產(chǎn)生一次性或周期性軟件事件。不像通用定時器,此外圍裝置經(jīng)優(yōu)化用于追蹤長時間周期。低功率中斷管理單元150通常由低功率源(例如表晶220或低頻RC振蕩器)定時,使得其可在睡眠模式中獨立操作。[0022]根據(jù)一實施例,單元150可經(jīng)配置以使用Unix時間格式。Unix時間格式追蹤從UTC1970年I月I日午夜起已經(jīng)歷的秒數(shù)。秒數(shù)以32位整數(shù)值存儲,從而允許唯一地追蹤時間及日期直到2038年為止。當(dāng)模塊通過32.768KHz晶體時鐘操作時,需要48位寄存器來追蹤Unix時間。當(dāng)使用32.768KHz時鐘參考時,最低有效的15位寄存器將允許追蹤小于I秒的時間增量。
[0023]如果需要,可用小于48位實施差量時間寄存器230以減小邏輯大小。所述模塊的觸發(fā)器輸出280可用于這些功能:
[0024].觸發(fā)另一外圍裝置或?qū)α硪煌鈬b置供電-外圍事件可形成鏈條使得可在喚醒所述裝置前起始事件序列
[0025]-產(chǎn)生CPU中斷
[0026]-產(chǎn)生CPU喚醒事件
[0027]-調(diào)度多個周期性時間事件
[0028]在一些應(yīng)用中,可能需要具有多個事件循環(huán)。例如,所述應(yīng)用可每4毫秒喚醒及檢查ADC且每50毫秒檢查用戶輸入按鈕。如下文將更詳細(xì)解釋,所述模塊可經(jīng)配置以具有處理一列不同的周期或差量時間的能力。例如,在一個實施例中,所述模塊可處理列表且正確地計算將產(chǎn)生事件的絕對時間。這些事件可具有單獨的中斷向量使得事件類型可被CPUllO快速辨別。
[0029]對于調(diào)度絕對時間事件,如果僅需要一個觸發(fā)事件,那么差量時間寄存器230可被寫入為O。接著,用戶可直接操控事件寄存器位EVT[47:0]以調(diào)度具體觸發(fā)時間。如果時間偏移被寫入到所述差量時間寄存器,那么所述事件將變成周期性的。
[0030]根據(jù)各種應(yīng)用實例,所述單元可作為通用調(diào)度器操作以用于
[0031]-每I毫秒進行高頻任務(wù):
[0032]-取樣ADC
[0033]-載入通信緩沖器
[0034]-每100毫秒進行中等頻率任務(wù):
[0035]-檢查按鈕鍵入或用戶活動
[0036]-使LED 閃爍
[0037]-更新顯示器
[0038]-每10秒進行低頻任務(wù):
[0039]-檢查電池電壓電平
[0040]及/或作為低功率調(diào)度器操作以用于
[0041]-接通ADC、CTMU或啟用外部外圍裝置
[0042]-等待穩(wěn)定周期
[0043]-觸發(fā)測量
[0044]-如果所述測量在窗內(nèi),那么喚醒CPU。
[0045]圖3展示可具有如上文所述的進一步功能性的增強型RTCS單元150的更詳細(xì)實施例??稍赗TCS150內(nèi)提供這些額外單元的任何組合。此外,所述單元可包括與定時器寄存器240耦合的數(shù)據(jù)格式化單元310及序列緩沖器單元320。序列緩沖器單元320可包括多個寄存器325。此外,提供校準(zhǔn)單元350以蓋寫定時器寄存器240中的最低16個位的內(nèi)容。然而,根據(jù)其它實施例,可由校準(zhǔn)單元350蓋寫更多或更少位。此單元可為經(jīng)觸發(fā)以按規(guī)定時間間隔或通過用戶指令手動地蓋寫定時器寄存器240的偏移寄存器。
[0046]多路復(fù)用器330被提供為時鐘選擇單元且可從引腳140接收一個或一個以上外部時鐘信號及/或內(nèi)部時鐘信號。特定內(nèi)部時鐘信號可使用如在圖2中所示的外部組件。
[0047]此外,提供與比較器250的輸出耦合且還與序列緩沖器320的輸出耦合的事件邏輯單元380。此外,如由虛線所指示,ALU270可受事件邏輯單元380而非比較器250控制。此外,替代或額外的,狀態(tài)機390可經(jīng)實施以例如使用多個寄存器325而產(chǎn)生更復(fù)雜的信號序列及/或控制序列緩沖器320的操作。如所屬領(lǐng)域的技術(shù)人員將明白,狀態(tài)機390可與圖3中所示的任何組件耦合。因此,如下文將更詳細(xì)解釋,狀態(tài)機390還可取代事件邏輯單元380或事件邏輯單元380可實現(xiàn)為狀態(tài)機,且接收比較器250及/或序列緩沖器320的輸出信號,且控制所述輸出信號及ALU270,及/或控制序列緩沖器320的操作。
[0048]又,圖3展示RTCS150的核心為又具有例如至少48個位的定時器寄存器240 (TIME)。這允許定時器保持具有至少I秒分辨率的Unix時間格式且還測量較短的時間間隔。定時器240可由任何時鐘信號(優(yōu)選為可在睡眠模式期間運行的獨立時鐘源)定時。
[0049]對于需要準(zhǔn)確計時功能的應(yīng)用,此源又通常為如在圖2中所示的32.768KHZ表晶振蕩器。校準(zhǔn)電路350附接到提供周期性調(diào)整以校正時鐘頻率誤差的定時器240。數(shù)字比較器250比較定時器值與存儲在EVT寄存器260中的事件時間。
[0050]根據(jù)一實施例,提供多個數(shù)據(jù)寄存器325以產(chǎn)生序列緩沖器320。所述序列緩沖器可保存一事件時間列表。所述事件時間可作為絕對時間或相對時間偏移輸入緩沖器320中,此取決于用戶如何配置RTCS150。序列緩沖器320中的數(shù)據(jù)無需與--ΜΕ寄存器240大小相同。所述系統(tǒng)可經(jīng)配置以例如使用數(shù)據(jù)格式化單元310而轉(zhuǎn)換寄存器325的內(nèi)容。例如,數(shù)據(jù)格式化單元310可用于將絕對時間值轉(zhuǎn)換成相對時間值。
[0051]序列緩沖器320可經(jīng)配置及/或控制以作為循環(huán)緩沖器將寄存器值輸出到ALU270,其中每當(dāng)輸出緩沖器值時,RTCS150可計算所述寄存器的新值,所述新值接著將被設(shè)定在所述循環(huán)緩沖器的末端處。狀態(tài)機390可用于完成此行為。此外,所述循環(huán)緩沖器可經(jīng)配置或可受控制(例如受狀態(tài)機或通過配置寄存器配置或控制)而操作使得始終將選定寄存器325用于提供輸出值。因此,可產(chǎn)生恒定定時器周期。此外,所述序列緩沖器可經(jīng)配置以根據(jù)相應(yīng)配置寄存器設(shè)定而依循序次序(連續(xù)作為循環(huán)緩沖器、或單次性的、或是在預(yù)定時間中)輸出寄存器325中的值。因此,序列緩沖器320可提供RTCS150的靈活及可編程操作。
[0052]ALU電路270用于將序列緩沖器320中的數(shù)據(jù)添加到存儲在--ΜΕ寄存器240中的目前時間。將來自ALU電路270的結(jié)果加載到EVT寄存器260中以供與TIME寄存器240作比較。事件邏輯區(qū)塊380從--ΜΕ寄存器240與EVT寄存器260的比較而接收匹配信號。事件邏輯區(qū)塊380還從序列緩沖器325接收例如目前位置,使得可確認(rèn)正確事件信號。用戶可編程將由事件邏輯380例如通過相關(guān)聯(lián)特殊功能寄存器產(chǎn)生的事件信號的類型。例如,所述事件邏輯可取決于事件類型而產(chǎn)生不同長度的脈沖。可根據(jù)由外圍裝置120或CPUllO處理所述事件所需的時間而預(yù)定義所述長度。額外或替代的,輸出信號可用于控制另一定時器或時鐘控制單元以啟用預(yù)定時鐘單元或定時器。配置寄存器可用于定義可啟用哪個定時器或時鐘單元。接著,用戶可預(yù)設(shè)此時鐘單元或定時器的功能性以輸出預(yù)定時鐘信號??筛鶕?jù)其它信號而進一步調(diào)制或控制此類時鐘信號。
[0053]根據(jù)一實施例,RTCS150外的電路180可例如決定將如何利用每一事件信號。根據(jù)另一實施例,RTCS單元150可具有如上文提及的用于將Unix時間轉(zhuǎn)換成日歷時間的數(shù)據(jù)格式化邏輯310。根據(jù)各種實施例,此格式化邏輯310還可具有到MCU總線的接口,使得可讀取或修改時間。
[0054]單元150可例如經(jīng)配置以執(zhí)行以下功能:
[0055]-保存呈YY/MM/DD/HH/MM/SS或Unix時間格式的日期/時間
[0056]-校正因晶體頻率不準(zhǔn)確所致的時間誤差;
[0057]-調(diào)度絕對時間事件(例如,在23:05:59時中斷CPU110)
[0058]-調(diào)度偏移時間事件(例如,從現(xiàn)在起十分鐘后中斷CPU110)
[0059]-調(diào)度周期性時間事件(例如,每十分鐘中斷CPU110)
[0060]-用作其它時基及外圍裝置的觸發(fā)器源
[0061]-定序?qū)?nèi)部及/或外部外圍裝置的供電
[0062]-起始可能或可能不將CPUllO從睡眠模式喚醒的動作或事件的特定序列
[0063]-對每一事件提供唯一的中斷向量。
[0064]圖4更詳細(xì)展示事件/中斷分發(fā)單元180的實例以解釋其各種功能。所述單元可具有多個特殊功能寄存器450以允許用戶定義當(dāng)從RTSC150接收特定類型的事件時應(yīng)執(zhí)行何種功能。為此,例如,可提供從事件邏輯單元154接收多個信號的簡單狀態(tài)機410。可提供中斷信號產(chǎn)生單元420、電力選擇單元430及脈沖寬度產(chǎn)生單元440。輸出信號還可用于控制如上文所解釋的時鐘單元或定時器??筛鶕?jù)相應(yīng)實施例而提供這些單元的任何組合。因此,特定實施例可無需這些單元中的一者或可需要這些單元中的多者。提供中斷信號產(chǎn)生單元420以產(chǎn)生用于CPUllO的中斷信號。此信號可直接或通過中斷控制器190前往CPU110。所述單元可經(jīng)配置以產(chǎn)生具有優(yōu)先權(quán)的中斷或中斷向量。優(yōu)先權(quán)或向量可取決于事件,且因此此單元可使用配置寄存器450以產(chǎn)生相應(yīng)信號。
[0065]此外,電力選擇單元430可根據(jù)事件而將電力提供給選定單元。因此,事件可經(jīng)配置以不僅產(chǎn)生中斷信號,此外還產(chǎn)生使特定預(yù)定義外圍單元或包含外部外圍裝置的系統(tǒng)的組件通電的選擇性電力啟用信號。也可產(chǎn)生不具中斷信號的相應(yīng)信號。為此,提供脈沖寬度產(chǎn)生單元440以產(chǎn)生特定長度的脈沖。此單元可將這些脈沖直接發(fā)送到外圍裝置以在脈沖長度時間中啟用所述外圍裝置或用于其它功能性。然而,所述信號還可用于控制電力選擇單元430以將電力直接提供給相應(yīng)系統(tǒng)組件。因此,DMA控制器可在預(yù)定義長度的時間中被激活以根據(jù)預(yù)定義傳送程序而發(fā)射數(shù)據(jù)。在另一實施例中,ADC單元可在脈沖寬度時間中執(zhí)行傳感器信號的模擬轉(zhuǎn)數(shù)字轉(zhuǎn)換,且如果已超過特定預(yù)定義閾值,那么造成用于CPUllO的中斷或喚醒信號。在替代實施例中,脈沖寬度單元440還可為RTCS150的部分,例如,在事件邏輯單元154中。也如上文所提及,整個單元180可嵌入RTCS單元150中。如上文所述,如在圖1、圖3及圖4的各種實施例中所示的單個或多個狀態(tài)機可用于提供上文功能性。
[0066]因此,本發(fā)明完全適于實行本發(fā)明的目的且獲得所提及的目標(biāo)及優(yōu)點及其固有的其它目標(biāo)及優(yōu)點。雖然已描繪、描述本發(fā)明,且參考本發(fā)明的特定優(yōu)選實施例而定義本發(fā)明,但是此類參考并非暗指限制本發(fā)明且不應(yīng)推斷出此限制。如所屬領(lǐng)域的一般技術(shù)人員將想到,本發(fā)明能夠具有形式及功能上的大量修改、變更及等效物。本發(fā)明的所描繪及所描述的優(yōu)選實施例僅為示范性的,且并非詳盡說明本發(fā)明的范圍。因此,在充分認(rèn)知所附權(quán)利要求書的所有方面中的等效物的情況下,本發(fā)明旨在僅受所附權(quán)利要求書的精神及范圍限制。
【權(quán)利要求】
1.一種微控制器,其包括: 中央處理單元CPU ; 多個外圍裝置;以及 可編程調(diào)度器單元,其包括: 定時器,其由獨立時鐘信號定時; 比較器,其與所述定時器的定時器寄存器I禹合且具有產(chǎn)生輸出信號的輸出; 事件寄存器,其與所述比較器耦合; 差量時間寄存器;以及 算術(shù)邏輯單元,其受所述比較器的所述輸出信號控制且包括第一輸入及第二輸入以及輸出,其中所述第一輸入與所述定時器寄存器或所述事件寄存器耦合,且所述第二輸入與所述差量時間寄存器耦合,且所述輸出與所述事件寄存器耦合。
2.根據(jù)權(quán)利要求1所述的微控制器,其進一步包括事件邏輯單元,所述事件邏輯單元接收所述比較器的所述輸出信號且控制所述算術(shù)邏輯單元及所述事件寄存器。
3.根據(jù)權(quán)利要求1所述的微控制器,其進一步包括多個差量時間寄存器。
4.根據(jù)權(quán)利要求3所述的微控制器,其中所述多個差量時間寄存器被布置為序列緩沖器。
5.根據(jù)權(quán)利要求4所述的微控制器,其中所述序列緩沖器為循環(huán)序列緩沖器,所述循環(huán)序列緩沖器可經(jīng)控制以按循環(huán)方式、在單個序列中或以預(yù)定次數(shù)輸出所述差量時間寄存器的內(nèi)容。
6.根據(jù)權(quán)利要求1所述的微控制器,其進一步包括數(shù)據(jù)格式化單元,所述數(shù)據(jù)格式化單元與所述定時器寄存器及所述差量時間寄存器中的至少一者耦合,其中所述數(shù)據(jù)格式化單元可操作以將絕對時間值轉(zhuǎn)換成相對時間值。
7.根據(jù)權(quán)利要求1所述的微控制器,其進一步包括校準(zhǔn)單元,所述校準(zhǔn)單元與所述定時器寄存器的預(yù)定義數(shù)目個位耦合且可操作以蓋寫所述定時器寄存器中的所述預(yù)定義數(shù)目個位。
8.根據(jù)權(quán)利要求7所述的微控制器,其中所述校準(zhǔn)單元周期性地蓋寫所述定時器寄存器位。
9.根據(jù)權(quán)利要求1所述的微控制器,其中所述時鐘選擇單元可操作以在由至少一個外圍定時器單元產(chǎn)生的多個時鐘信號之間選擇。
10.根據(jù)權(quán)利要求1所述的微控制器,其進一步包括時鐘選擇單元,所述時鐘選擇單元可操作以在內(nèi)部時鐘信號與外部時鐘信號之間選擇。
11.根據(jù)權(quán)利要求2所述的微控制器,其中所述事件邏輯單元進一步接收所述序列緩沖器的輸出信號,其中所述事件邏輯單元產(chǎn)生多個輸出信號。
12.根據(jù)權(quán)利要求11所述的微控制器,其中所述序列緩沖器的所述輸出信號指示序列位置。
13.根據(jù)權(quán)利要求11所述的微控制器,其中來自所述事件邏輯單元的輸出信號為中斷信號。
14.根據(jù)權(quán)利要求11所述的微控制器,其中來自所述事件邏輯單元的輸出信號為具有預(yù)定義脈沖寬度的脈沖信號。
15.根據(jù)權(quán)利要求11所述的微控制器,其中來自所述事件邏輯單元的輸出信號被饋送到時鐘控制單元以啟用預(yù)定時鐘源。
16.根據(jù)權(quán)利要求11所述的微控制器,其進一步包括事件分發(fā)單元,所述事件分發(fā)單元從所述事件邏輯單元接收所述多個輸出信號且產(chǎn)生饋送到所述CPU及至少一個外圍裝置中的至少一者的輸出信號。
17.根據(jù)權(quán)利要求16所述的微控制器,其進一步包括與所述事件分發(fā)單元耦合的系統(tǒng)電力控制單元。
18.根據(jù)權(quán)利要求1所述的微控制器,其中所述微控制器是電池操作的。
19.根據(jù)權(quán)利要求1所述的微控制器,其包括用于編程所述可編程調(diào)度器單元的多個特殊功能寄存器。
20.根據(jù)權(quán)利要求1所述的微控制器,其中所述定時器寄存器及所述事件寄存器經(jīng)配置以存儲UNIX時間格式。
21.根據(jù)權(quán)利要求1所述的微控制器,其中所述算術(shù)邏輯單元為加法器。
22.—種操作微控制器的方法,所述微控制器包括中央處理器單元CPU、多個外圍裝置及可編程調(diào)度器單元; 所述方法包括: 將時間值編程到定時器的定時器寄存器中; 定時所述定時器; 比較事件寄存器與所述定時器寄存器; 其中如果所述事件寄存器匹配所述定時器寄存器,那么所述調(diào)度器單元自動產(chǎn)生事件且將所述時間值或新時間值添加到所述事件寄存器。
23.根據(jù)權(quán)利要求22所述的方法,其中編程所述時間值的所述步驟是通過接收相對時間或絕對時間且格式化所述時間以形成所述時間值而執(zhí)行。
24.根據(jù)權(quán)利要求22所述的方法,其中事件將所述CPU從睡眠模式喚醒。
25.根據(jù)權(quán)利要求22所述的方法,其中事件將外圍裝置從睡眠模式喚醒達預(yù)定時間,同時所述CPU保持處于睡眠模式。
26.根據(jù)權(quán)利要求25所述的方法,其中在所述預(yù)定時間期間,所述外圍裝置產(chǎn)生用于喚醒所述CPU的信號。
27.根據(jù)權(quán)利要求22所述的方法,其中多個時間值被編程在循序緩沖器內(nèi)。
28.根據(jù)權(quán)利要求27所述的方法,其中序列緩沖器為循環(huán)序列緩沖器。
29.根據(jù)權(quán)利要求27所述的方法,其中所述循序緩沖器可操作以受到控制而按循環(huán)方式、在單個序列中或以預(yù)定次數(shù)輸出所述時間值。
30.根據(jù)權(quán)利要求22所述的方法,所述定時器寄存器及所述事件寄存器進一步存儲呈UNIX時間格式的值。
31.根據(jù)權(quán)利要求22所述的方法,其進一步包括通過校準(zhǔn)單元而周期性地校準(zhǔn)所述定時器寄存器。
32.根據(jù)權(quán)利要求22所述的方法,其中在內(nèi)部時鐘信號與外部時鐘信號之間選擇定時所述定時器寄存器。
33.根據(jù)權(quán)利要求27所述的方法,其進一步包括處理所述事件以產(chǎn)生多個輸出信號。
34.根據(jù)權(quán)利要求33所述的方法,其中為了處理所述事件,考慮所述序列緩沖器的序列位置。
35.根據(jù)權(quán)利要求33所述的方法,其中來自所述多個輸出信號的輸出信號為中斷信號。
36.根據(jù)權(quán)利要求33所述的方法,其中來自所述多個輸出信號的輸出信號為具有預(yù)定義脈沖寬度的脈沖信號。
37.根據(jù)權(quán)利要求33所述的方法,其中產(chǎn)生所述事件包括:將多個輸出信號分發(fā)到所述CPU及所述至少一個外圍裝置中的至少一者。
38.根據(jù)權(quán)利要求37所述的方法,其中所述多個輸出信號中的至少一個信號被饋送到系統(tǒng)電力控制單元。
39.根據(jù)權(quán)利要求37所述的方法,其中所述多個輸出信號中的至少一個信號被饋送到時鐘控制單元以啟用預(yù)定時鐘源。
【文檔編號】G06F1/14GK103842930SQ201280047761
【公開日】2014年6月4日 申請日期:2012年9月12日 優(yōu)先權(quán)日:2011年9月28日
【發(fā)明者】斯蒂芬·鮑林, 伊戈爾·沃耶沃達 申請人:密克羅奇普技術(shù)公司