由于微控制器激增到越來越多的權力受限的設計,加工效率成為越來越多的關注,以系統設計。該驅動器來獲得額外的處理能力以更低的功率是由電池不僅是重要的操作的產品,但是,越來越多的功率也制約了許多“插件”模塊,其中功率由模塊規格的限制。在這些情況下,一個有效的設計將能夠提供更多的功能,并創建一個競爭優勢一個效率較低的實施。 MCU設計的一個被忽視的方面是在時鐘控制區。設計人員往往可以通過使用時鐘控制模塊的高級特性來調整時鐘為CPU,外設和其他耗電的資源打造更高效的設計。本文將探討先進的時鐘控制模塊一些常用功能的能力,并展示它們的使用如何能改善大多數MCU為基礎的設計處理效率。
時鐘源
MCU的總體操作由一個時鐘控制塊和許多時鐘控制塊管理具有的功能,可用于選擇,控制和管理的時鐘源的CPU,內存,外圍設備,和模擬模塊。通過控制時鐘這些塊,甚至關閉的時鐘不被在某些處理程序使用的功能,功率可以被應用到需要它和MCU的只是部分只是在需要時,使得對于一個非常有效的實現。的起點的時鐘管理和控制是可使用的不同的時鐘源的各種子模塊。了解每一個時鐘源的優點和缺點是起點的高效的MCU執行。許多共同的時鐘源和控制功能中提供了意法半導體ST32F37xx MCU的時鐘控制塊。例如,高速外部(HSE)時鐘,如圖1所示的左中,使用任一外部晶體/陶瓷諧振器或現有的用戶提供的時鐘。外部晶體/陶瓷諧振器可以操作4至32兆赫,并產生一個非常精確的主時鐘速率。如果現有的外部時鐘已經可用,或如果用戶希望實行額外控制的時鐘源(可能停止或更細的低功率操作控制減慢時鐘),外部時鐘輸入都可以使用。這也釋放了一個附加的GPIO引腳,因為少了一個引腳,需要在諧振器實現。
(意法半導體公司提供)的高速內部從內部的8 MHz的RC振蕩器產生(HIS)的時鐘信號,并且可以直接用作系統時鐘或由兩個分割所使用由PLL之前。所述HIS RC振蕩器具有以低成本提供一個時鐘源,因為它不使用外部元件的優點。它還具有比HSE晶體振蕩器更快的啟動時間;然而,即使使用校準的頻率比外部晶體振蕩器或陶瓷振蕩器不太準確。注意,CPU時鐘只能通過的高速時鐘的一個或從PLL的輸出來驅動。該STM32F37xx也有兩個低速時鐘源。的低速外部(LSE)晶體/陶瓷振蕩器示出在圖1的頂部,并使用高精度32.768kHz的諧振器來創建精確時鐘源的實時時鐘(RTC)的外圍。低速內部RC振蕩器提供用于自動喚醒從低功耗停止/睡眠模式時,它驅動獨立看門狗定時器和可選的RTC 40kHz的信號。低功耗時鐘從高速時鐘獨立運作,以便他們外設可以當主系統時鐘被關閉,從而節省顯著電源也能工作。這些時鐘源均顯示出典型的來源,你會發現在大多數微控制器。時鐘源,如在圖1中所見只是的起點,在大多數的MCU的時鐘架構。一般的時鐘可被進一步選擇,加工(通常與一個或多個鎖相環,或PLL,塊),或啟用的所有下控制MCU。我們將繼續我們的時鐘控制的探索通過查看下一節一個PLL模塊的典型功能。
鎖相環操作
不同的時鐘操作的模塊,例如在鎖相環(PLL)和鎖頻環(FLL)塊,是最重要的,但典型地小于理解在一個時鐘控制模塊元件。飛思卡爾的Kinetis K10子系列MCU具有多用途時鐘發生器(MCG)模塊,其中包括一個FLL和PLL,所以它是一個很好的例子來審查。該的Kinetis K10 MCG FLL是可控通過任何一個內部或外部參考時鐘。該PLL是可控的外部基準時鐘。該模塊可以選擇的FLL-或PLL輸出時鐘的內部 - 或外部參考時鐘或任一作為MCU系統時鐘源。 MCG的操作與一個晶體振蕩器,其允許外部晶體,陶瓷諧振器,或其他外部時鐘源,以產生所述外部參考時鐘一起使用。
(飛思卡爾提供)的FLL塊,在圖2的中間所示,它選擇的時鐘源,且運行在它創建所需的時鐘頻率。輸入時鐘可以通過十六個不同的值進行劃分,從1至1536,以創建之間31.25kHz到39.0625千赫的基頻。基頻,然后通過數字控制的振蕩器(DCO)相乘來創建從20兆赫和96兆赫之間的所需輸出頻率。從多種頻率,通過使用FLL進行選擇的能力,可輕松調整時鐘速率為只是操作所需的特定模式的正確的頻率,提高了處理效率。該PLL操作以類似的方式,但采用的是電壓控制振蕩器(VCO)來調整時鐘輸出頻率。的輸入時鐘的PLL能夠由一個預定標器被除以2至25.一種相位檢測器的因子結合了PLL的輸入時鐘與VCO輸出時鐘由一個因子乘以輸入信號從24至55 。所有這除法和乘法的結果是一個時鐘信號,它是所需要的應用的精確值。通常有由PLL在FLL需要額外的電源,但PLL有更精細的調整,提高精度。注意,無論是在PLL或FLL可被禁用,以降低功耗,如果他們不要求產生所需的應用,例如頻率,在外部時鐘信號提供所需的精確頻率的情況。
外設時鐘控制
后的源時鐘進行了調整(如果需要)通過使用有PLL它是由時鐘分配網絡提供單獨的時鐘為每個鍵的MCU塊。該CPU及其相關存儲系統將需要自己的時鐘,但通常各種外設都會有自己的時鐘,以及。更細碎的外設時鐘網絡是,越容易分別選擇和控制的時鐘,以及調節操作頻率,以該應用程序所需。時鐘網絡被控制的通常的方法是添加時鐘分頻器電路(因為它是通常用于將外圍的運行速度比在CPU慢)和偶數時鐘禁止電路中,如果外圍不需要在所有。更控制可用的更多的功率和性能可以進行調整,但在某些方面的附加模腔(及其相關的成本),并需要額外的功率必須考慮。通常,制造商限制從提供完全靈活性的時鐘網絡,而是試圖提供足夠的能力,對于大多數應用程序來獲得顯著能力和處理效率。 NXP,其LPC15xx MCU,已分割的時鐘分頻器每個鍵外圍功能,如圖3中,沿著非常實用線,因此很容易確定的設置要使用的每個子塊。例如,該時鐘信號到USART塊,在圖3的中部右側所示,從主時鐘源,但是使用USART外設時鐘分頻器可以預先分割(通過從1到255或完全禁用) 。這個時鐘信號可以被用于個人分數波特率發生器(含16位時鐘除數可用),每個USART模塊中,可以很容易單獨設置波特率每個USART的。其它外設時鐘分頻器上提供一個共同的功能的基礎上可以很容易地配置和控制的性能,并且因此所有的關鍵周邊塊的功耗。
(恩智浦提供)分組外設時鐘按照職能是一個簡單的概念,而是一個變得更加復雜,當外圍設備能協同工作。例如,注意,ADC時鐘分頻可以從SC定時器PLL進行采購。這似乎是不必要的連接,直到你認識到ADC可結合工作與SC定時器以周期性的轉換,而無需CPU干預。護理在創造所需的所需操作的靈活性,而不會加重與外部復雜的時鐘控制模塊的其他級別,是一個經過深思熟慮的實施標志。
動態時鐘控制
一旦你選擇的時鐘在大多數電源和加工效率的方式不同外設,你可能會認為你完成。為了獲得更大的性能和功耗控制,你可能也想動態調整的視功能或模式MCU在某些加工或周邊塊的速度。靈活的時鐘選擇網絡是利用動態時鐘所需的關鍵功能。于Silicon Labs MCU壁虎時鐘控制模塊,如圖4所示的部分,說明了這一點。在圖的左上側的高頻時鐘交換機可以從任一高頻時鐘(HFXO或HFRCO)或低頻時鐘(LFXO或LFRCO)選擇。這樣就可以很容易地“混搭”低頻源或高頻源取決于模式的設備在操作類型
(Silicon Labs公司提供)動態時鐘選擇可進入和走出了一條傳統的低功耗模式時,需要太多的最有用的“啟動”時間(即使是高能效的Gecko MCU系列可能需要2微秒喚醒彌補了EM2低功耗狀態和高達160微秒的極低功耗EM4狀態)。通過動態地選擇一個低頻率的時鐘,該功率節省是少的,但在快速響應時間(通常在僅僅時鐘周期的量級)的速度要快得多。這可以使捕獲異步事件或缺失其之間的差異。有時鐘控制水平也可以增加使用低功耗狀態時,在工作狀態需要一個中檔的處理性能。尋找動態時鐘控制的機會,在您的設計實現最功耗和處理效率水平。
摘要
高級時鐘控制模塊提供了一些令人驚訝的功能,可以幫助管理一個MCU中的電源使用。控制時鐘的外圍設備,管理CPU的時鐘速率,并在處理期間動態地改變時鐘速率都只是一些可以被用來創建更高效的設計的技術。
審核編輯 黃宇
-
微控制器
+關注
關注
48文章
7547瀏覽量
151326 -
mcu
+關注
關注
146文章
17135瀏覽量
351017 -
時鐘控制
+關注
關注
0文章
17瀏覽量
6820
發布評論請先 登錄
相關推薦
評論