NUC1xx微控制器(MCU)的幾種省電方式介紹
由于所謂的Power Down省電模式,實(shí)際上是把晶振的時(shí)鐘關(guān)閉,讓整個(gè)NUC1xx呈現靜止的狀態(tài)。而因為晶振也被關(guān)閉了,一旦有喚醒中斷事件發(fā)生,需要等到晶振穩定下來(lái)后,CPU才能繼續運作,所以由Power Down進(jìn)入一般的工作模式,會(huì )需要延遲一點(diǎn)時(shí)間來(lái)等待,而NUC1xx系列所提供的延遲時(shí)間預設為4096個(gè)clock cycle。以12MHz來(lái)計算,延遲時(shí)間為(1/12MHz)*4096=341.12us(圖2中的T2),而晶振起振所需時(shí)間(圖2中的T1)則會(huì )隨著(zhù)晶振頻率、品牌、PCB 布線(xiàn)等都會(huì )造成少許差異。一般而言, 12MHz晶振起振所需時(shí)間約12ms。實(shí)際量測范例數據如圖2所示。本文引用地址:http://dyxdggzs.com/article/172021.htm

本文小結
本文介紹了新唐科技NUC1xx所提供的各種省電方式,包括了關(guān)閉沒(méi)用到的模塊、調整CPU運作的時(shí)鐘、Idle省電模式與Power Down省電模式。在實(shí)際應用時(shí),使用者可以根據自身所需,選擇適合的方式,甚至組合不同的省電方法以達到最佳的省電效率。
新唐科技的NUC1xx包含NUC101、NUC100、NUC120、NUC130和NUC140,是以ARM Cortex-M0為核心的32位微控制器(MCU),經(jīng)由不同時(shí)鐘的設定,最高可以達到50MHz的運作頻率。然而在一般簡(jiǎn)單控制或系統負載較低時(shí),CPU并不需要執行在最高的運行時(shí)鐘下即可應付所需要的計算量。這時(shí)候,便可以利用系統時(shí)鐘的控制來(lái)降低時(shí)鐘,以達到省電的目的。
另一種情況是CPU因為等待下一個(gè)工作或只需要久久工作一次時(shí),就可以先將CPU進(jìn)入Idle或Power Down模式,等到一定的時(shí)間之后或是有特定的事件發(fā)生時(shí),才被喚醒過(guò)來(lái)進(jìn)行相關(guān)事件的處理。同時(shí),如果系統內沒(méi)有用到的系統模塊,也可以將其關(guān)閉以節省不必要的耗電。本文介紹各種不同的省電方法的原理,并提供相關(guān)的范例說(shuō)明。
開(kāi)關(guān)系統模塊
在新唐科技NUC1xx中,為了省電的需求,當某個(gè)系統模塊不使用時(shí),可以將其輸入時(shí)鐘關(guān)閉,使其進(jìn)入關(guān)閉的模式,依此來(lái)達到省電的效果。在NUC1xx中,幾乎所有的系統模塊都可以各別被關(guān)閉,這些模塊包括:Watch Dog Timer、RTC、Timer03、I2C01、SPI03、UART02、PWM07、CAN、USB、ADC、ACMP、PS2、PDMA、 Flash ISP。不過(guò),并非每顆芯片都包含了所有模塊功能,例如CAN模塊只在NUC130和NUC140才有此功能,詳細說(shuō)明請參考各芯片的相關(guān)文件?! 「髂K的相關(guān)耗電如表1所示。

新唐科技NUC1xx藉由關(guān)閉各模塊時(shí)鐘的方式來(lái)達到關(guān)閉各模塊的目的,所以要關(guān)閉模塊就必須設定相關(guān)的時(shí)鐘控制緩存器。NUX1xx提供AHBCLK Register與APBCLK Register,來(lái)控制上文所列出各模塊的開(kāi)關(guān)。
系統時(shí)鐘設定
新唐科技NUC1xx本身的耗電量和它的運行時(shí)鐘有很大關(guān)系。如果運行的時(shí)鐘高,則耗電高,反之則比較省電,但同時(shí)CPU就可能無(wú)法負荷大量的運算。因此,如果要同時(shí)兼顧大量運算跟省電,就必須能夠根據實(shí)際上的需求來(lái)調整CPU的工作時(shí)鐘,以求達到最佳的運作效率。
NUC1xx內建了PLL,能使用外部12MHz的晶振或是內部22M振蕩器產(chǎn)生系統所需的時(shí)鐘,由PLL所產(chǎn)生的時(shí)鐘再經(jīng)過(guò)適當除頻,即可作為CPU的工作頻率。另外NUC1xx也提供經(jīng)由外部32KHz的晶振或是內部10KHz 振蕩器直接供給作為CPU工作頻率的方式。因此,NUC1xx對于工作時(shí)鐘的設定,提供了很大的靈活性。
評論