本發(fā)明涉及一種控制單元,具體是一種微控制器芯片中的時鐘多路控制單元。
背景技術(shù):
在某些微控制器芯片中,微控制器內(nèi)核的工作時鐘的選擇要在芯片的初始化配置時完成,在初始化配置后,不再允許時鐘切換,以避免芯片可能會因為時鐘切換時產(chǎn)生的毛刺而錯誤地工作。在另一些微控制器芯片中,為了避免時鐘切換時芯片錯誤地工作,在時鐘切換時,芯片內(nèi)部相關(guān)的寄存器需要保持復位狀態(tài)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種微控制器芯片中的時鐘多路控制單元,以解決上述背景技術(shù)中提出的問題。
為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種微控制器芯片中的時鐘多路控制單元,芯片內(nèi)部包括時鐘產(chǎn)生單元CLOCK、時鐘多路控制單元CKMUX以及微控制器內(nèi)核MCU_CORE,所述時鐘產(chǎn)生單元CLOCK負責產(chǎn)生微控制器的三種不同頻率的工作時鐘,時鐘多路控制單元CKMUX負責完成從微控制器某一工作時鐘切換為另一工作時鐘的切換過程,微控制器內(nèi)核MCU_CORE輸出的時鐘選擇信號ck0_sel、ck1_sel、ck2_sel用于控制時鐘的選擇,在某一時刻,這3個信號中只許有1個信號為高有效電平狀態(tài),時鐘多路控制單元CKMUX時時刻刻監(jiān)測著微控制器內(nèi)核MCU_CORE輸出的3個時鐘選擇信號ck0_sel、ck1_sel、ck2_sel,當時鐘多路控制單元CKMUX監(jiān)測到時鐘選擇信號的組合有變化時,將啟動內(nèi)部時鐘切換過程,完成從之前工作時鐘切換至當前的工作時鐘的過程,時鐘多路控制單元CKMUX輸出的內(nèi)核工作時鐘clk_mcu輸送至微控制器內(nèi)核,作為微控制器內(nèi)核的工作時鐘。
作為本發(fā)明進一步的方案:時鐘多路控制單元CKMUX內(nèi)部包括對3路輸入時鐘的門控。
作為本發(fā)明再進一步的方案:對輸入時鐘clk0、clk1、clk2的門控分別通過3個2輸入與門來完成。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明微控制器內(nèi)核可以在應(yīng)用場景中隨時從某一工作時鐘切換到另一工作時鐘,并且能夠保證時鐘信號在切換的過程中不出現(xiàn)毛刺,同時不存在競爭條件,以確保芯片內(nèi)所有的寄存器不會因為時鐘信號上出現(xiàn)毛刺或者競爭而出現(xiàn)時序上的違背,導致微控制器芯片出現(xiàn)錯誤響應(yīng)。本發(fā)明的優(yōu)點還在于微控制器芯片能夠根據(jù)應(yīng)用時的需要,在高頻工作時鐘與低頻工作時鐘之間隨時切換,從而使整個應(yīng)用系統(tǒng)可能獲得更低的功耗。
附圖說明
圖1為本發(fā)明內(nèi)部微控制器芯片方案框圖。
圖2為本發(fā)明內(nèi)部微控制器芯片中的時鐘多路控制單元的工作原理示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述。
請參閱圖1~2,本發(fā)明實施例中,一種微控制器芯片中的時鐘多路控制單元,芯片內(nèi)部包括時鐘產(chǎn)生單元CLOCK、時鐘多路控制單元CKMUX以及微控制器內(nèi)核MCU_CORE。
在微控制器芯片中有3種可選的時鐘頻率,分別是clk0、clk1、clk2。芯片的用戶可以根據(jù)需要選擇其中之一作為微控制器芯片的工作時鐘,或者在應(yīng)用場景中,根據(jù)需要實時地在三者之中切換。時鐘產(chǎn)生單元CLOCK負責產(chǎn)生微控制器的三種不同頻率的工作時鐘。時鐘多路控制單元CKMUX負責完成從微控制器某一工作時鐘切換為另一工作時鐘的切換過程。微控制器內(nèi)核MCU_CORE輸出的時鐘選擇信號ck0_sel、ck1_sel、ck2_sel用于控制時鐘的選擇,在某一時刻,這3個信號中只許有1個信號為高有效電平狀態(tài)。時鐘多路控制單元CKMUX時時刻刻監(jiān)測著微控制器內(nèi)核MCU_CORE輸出的3個時鐘選擇信號ck0_sel、ck1_sel、ck2_sel。當時鐘多路控制單元CKMUX監(jiān)測到時鐘選擇信號的組合有變化時,將啟動內(nèi)部時鐘切換過程,完成從之前工作時鐘切換至當前的工作時鐘的過程。時鐘多路控制單元CKMUX輸出的內(nèi)核工作時鐘clk_mcu輸送至微控制器內(nèi)核,作為微控制器內(nèi)核的工作時鐘。
時鐘多路控制單元CKMUX的工作原理如圖 2所示。時鐘多路控制單元CKMUX內(nèi)部包括對3路輸入時鐘的門控。對輸入時鐘clk0、clk1、clk2的門控分別通過3個2輸入與門來完成。如圖所示,輸入時鐘clk0的門控由2輸入與門AND02來完成,它的2個輸入端分別是時鐘0同步選擇控制信號ck0_sel_sync以及輸入時鐘clk0,它的輸出端即為門控后的時鐘clk0_gc。輸入時鐘clk1的門控由2輸入與門AND12來完成,它的2個輸入端分別是時鐘1同步選擇控制信號ck1_sel_sync以及輸入時鐘clk1,它的輸出端即為門控后的時鐘clk1_gc。輸入時鐘clk2的門控由2輸入與門AND22來完成,它的2個輸入端分別是時鐘2同步選擇控制信號ck2_sel_sync以及輸入時鐘clk2,它的輸出端即為門控后的時鐘clk2_gc。在時鐘多路控制單元CKMUX內(nèi)部,3路經(jīng)過門控后的時鐘clk0_gc、clk1_gc、clk2_gc輸入至3輸入或門(OR)的3個輸入端,經(jīng)過或運算后,輸出的時鐘即為內(nèi)核工作時鐘clk_mcu。時鐘多路控制單元CKMUX在完成時鐘從某一工作時鐘切換至另一工作時鐘時,必須要保證時鐘信號在不出現(xiàn)毛刺,同時不存在競爭條件,以確保芯片內(nèi)所有的寄存器沒有因此而出現(xiàn)時序上的違背,從而出現(xiàn)短暫的錯誤響應(yīng)或者不可恢復的錯誤響應(yīng)。為了保證時鐘信號在時鐘切換的過程中不出現(xiàn)毛刺和競爭,在本發(fā)明中采用同步控制信號反饋機制。如圖 2所示,時鐘0選擇控制信號ck0_sel與反饋的時鐘1同步選擇控制信號ck1_sel_sync取反后得到的信號、時鐘2同步選擇控制信號ck2_sel_sync取反后得到的信號一起作為輸入信號連接到3輸入與門AND01的3個輸入端,與門AND01的輸出信號通過2個工作于時鐘clk0的寄存器R01、R02同步至clk0的時鐘域,同步寄存器R02的輸入信號即為時鐘0同步選擇控制信號ck0_sel_sync。通過類似的邏輯原理得到時鐘1同步選擇控制信號ck1_sel_sync以及時鐘2同步選擇控制信號ck2_sel_sync。由于采用上述的同步控制信號反饋原理,可以保證時鐘信號在時鐘切換的過程中不出現(xiàn)毛刺和競爭,確保微控制器芯片不會在時鐘切換過程中出現(xiàn)錯誤響應(yīng)。
對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實施例的細節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本發(fā)明。因此,無論從哪一點來看,均應(yīng)將實施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標記視為限制所涉及的權(quán)利要求。
此外,應(yīng)當理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當將說明書作為一個整體,各實施例中的技術(shù)方案也可以經(jīng)適當組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實施方式。