精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于MM32L0130的低功耗電子時鐘設(shè)計

靈動MM32MCU ? 來源:靈動MM32MCU ? 作者:靈動MM32MCU ? 2022-11-04 10:12 ? 次閱讀

MM32L0130作為靈動微電子推出的一款低功耗芯片,內(nèi)置多種省電工作模式保證低功耗應(yīng)用的要求。前面章節(jié)分別對MM32L0130片上外設(shè)SLCD和RTC做了相關(guān)描述,并列舉對應(yīng)程序?qū)崿F(xiàn)SLCD驅(qū)動LCD顯示、RTC日歷和鬧鐘,其實SLCD與RTC都支持在特定的低功耗模式下運行,結(jié)合這兩個外設(shè)特性,在前面實驗的基礎(chǔ)上,使用EVB_L0136開發(fā)板可以輕松實現(xiàn)一個低功耗電子時鐘設(shè)計。本次微課堂通過講述MM32L0130 PWR電源控制模式,以及SLCD 和RTC外設(shè)配置,實現(xiàn)低功耗應(yīng)用場景。

1MM32L0130 PWR簡介

電源控制 PWR(Power Controller)主要涉及芯片的供電系統(tǒng)、電源管理器和低功耗模式等功能。

1.1 供電系統(tǒng)

芯片由兩種電源提供供電:

由VDDA和VSSA提供的模擬電源,為芯片模擬模塊提供電壓,用于ADC模塊、內(nèi)部基準電壓、內(nèi)部溫度傳感器和 PLL 等。

由VDD和VSS提供的數(shù)字電源,用于數(shù)字部分和I/O引腳工作。

0cfa4950-5b65-11ed-a3b6-dac502259ad0.png

電源控制功能框圖

VDD 域主要給 LSE, HSE, PMU, POR, PVD 和部分 I/O 上的喚醒邏輯供電,在上電后保持工作狀態(tài)。

備份域主要為 RTC、 LCD、 IWDG、備份寄存器和內(nèi)部低速時鐘振蕩器 LSI 供電。

VDD_Core 域主要給芯片的內(nèi)核、內(nèi)存和外設(shè)提供供電,在上電后默認是開啟狀態(tài),在進入低功耗待機模式時,芯片會硬件選擇關(guān)閉該 VDD_Core 域,在喚醒后芯片會自動開啟。主要有以下幾種工作狀態(tài):

運行模式

VDD_Core 域以正常的功耗模式運行,內(nèi)存、外設(shè)都正常工作。

低功耗運行模式

VDD_Core 域以低功耗模式運行,內(nèi)存、外設(shè)都以低功耗工作。

睡眠模式

VDD_Core 域以正常功耗模式工作, CPU 進入睡眠模式,內(nèi)存、外設(shè)都以正常的功耗模式工作。

低功耗睡眠模式

VDD_Core 域以低功耗睡眠模式工作, CPU 進入低功耗睡眠模式,內(nèi)存、外設(shè)都以低功耗工作。

停機模式

VDD_Core 域以低功耗模式工作,只保持寄存器和 RAM 的內(nèi)容。

深度停機模式

VDD_Core 域以更低功耗模式工作,只保持寄存器和 RAM 的內(nèi)容。

待機模式

VDD_Core 域停止供電。除了備份域外,其他所有寄存器和 SRAM 的內(nèi)容全部丟失。

關(guān)機模式

VDD_Core 域、備份域停止供電。

1.2 MM32L0130低功耗模式

MM32L0130有6種低功耗模式:包括低功耗運行模式,睡眠模式,低功耗睡眠模式,停機模式,待機模式,關(guān)機模式:

低功耗運行模式

進一步降低 MCU 在運行模式下的功耗,可以通過配置 PWR_CR1 寄存器的 LPR 位將電壓穩(wěn)壓器設(shè)置為低功耗模式。該模式下系統(tǒng)頻率不應(yīng)超過 2MHz。

Sleep Mode 睡眠模式

CPU 進入睡眠模式,內(nèi)存、外設(shè)都以正常的功耗模式工作。在睡眠模式下,所有的 I/O 引腳都保持在運行模式時的狀態(tài)。中斷或事件發(fā)生后,睡眠模式立即被喚醒。

Low Power Sleep Mode 低功耗睡眠模式

CPU 進入低功耗睡眠模式,內(nèi)存、外設(shè)都以低功耗工作。在睡眠模式下,所有的 I/O 引腳都保持在運行模式時的狀態(tài)。中斷或事件發(fā)生后,睡眠模式立即被喚醒。

Stop Mode 停機模式

停機模式下,CPU 進入深度睡眠模式, VDD_Core 域的所有時鐘都被停止, PLL、 HSI 和 HSE 振蕩器的功能被禁止, SRAM 和寄存器內(nèi)容被保留下來。

DeepStop Mode 深度停機模式

深度停機是在 CPU 深度睡眠模式的基礎(chǔ)上結(jié)合了外設(shè)的時鐘控制和電壓穩(wěn)壓器控制機制的一種低功耗模式。在深度停機模式下, VDD_Core 域的所有時鐘都被停止, PLL、 HSI 和 HSE 振蕩器的功能被禁止, SRAM 和寄存器內(nèi)容被保留下來。

Standby Mode 待機模式

待機模式是在 CPU 深睡眠模式的基礎(chǔ)上關(guān)閉電壓穩(wěn)壓器。整個 VDD_Core 域被切斷, PLL、 HSI 和HSE 振蕩器也被關(guān)閉, SRAM 和寄存器內(nèi)容丟失,只有備份域的寄存器和待機電路維持供電。喚醒后芯片將復(fù)位。

ShutDown Mode 關(guān)機模式

在關(guān)機模式下,內(nèi)部所有的穩(wěn)壓器全都被關(guān)閉, BOR 關(guān)閉,只保留 POR 和少數(shù)其他 VDD 域的電路正常工作(PMU 部分邏輯/POR/IO Wakeup 邏輯)。

1.3 功耗模式選擇

一般根據(jù)最低電源消耗,最快啟動時間和可用的喚醒源等條件,選擇一種最佳的低功耗模式。相關(guān)參數(shù)可以參考各系列對應(yīng)的數(shù)據(jù)手冊,如下數(shù)據(jù)從數(shù)據(jù)手冊摘取。

1.31 電流消耗

電流消耗是多種參數(shù)和因素的綜合指標,這些參數(shù)和因素包括工作電壓、環(huán)境溫度、 I/O引腳的負載、產(chǎn)品的軟件配置、工作頻率、 I/O 腳的翻轉(zhuǎn)速率、程序在存儲器中的位置以及執(zhí)行的代碼等。本節(jié)中給出的所有運行模式下的電流消耗測量值,都是在執(zhí)行一套精簡的代碼。

睡眠模式下的典型電流消耗:

0d1c4d16-5b65-11ed-a3b6-dac502259ad0.png

停機模式下的典型電流消耗和最大電流消耗:

0d536e04-5b65-11ed-a3b6-dac502259ad0.png

I/O 狀態(tài)為模擬輸入。

待機模式下的典型電流消耗和最大電流消耗:

0d7c41ee-5b65-11ed-a3b6-dac502259ad0.png

I/O 狀態(tài)為模擬輸入。

關(guān)機模式下的典型電流消耗和最大電流消耗:

0da095b2-5b65-11ed-a3b6-dac502259ad0.png
I/O 狀態(tài)為模擬輸入。

1.32 喚醒時間

低功耗模式的喚醒時間:

0dbf264e-5b65-11ed-a3b6-dac502259ad0.png

2實驗

2.1 實驗說明

MM32L0130的RTC和SLCD外設(shè)都支持睡眠模式、停機模式、和待機模式。RTC模塊連接到EXTI部分用于低功耗喚醒信號,包括鬧鐘、喚醒單元、入侵事件。SLCD驅(qū)動模塊在不需要顯示的時候,可以完全關(guān)閉 SLCD 驅(qū)動以達到降低功耗的目的。

硬件使用靈動微電子設(shè)計的EVB-L0136開發(fā)板,板載LCD接口可以適配GDC0689液晶屏,以LCD中的6位數(shù)碼管顯示時間時、分、秒,在1s時間范圍內(nèi)完成喚醒并更新顯示數(shù)據(jù)即可,根據(jù)需要可以選擇停機模式和待機模式,待機模式功耗最低。在STOP模式下, VDD_Core域的所有時鐘都被停止, PLL、 HSI 和 HSE 振蕩器的功能被禁止,SRAM 和寄存器內(nèi)容被保留下來,喚醒之后繼續(xù)執(zhí)行進入STOP模式指令之后的程序,可以保證各個任務(wù)順利運行,從STOP模式喚醒時間約為20us,時間相當(dāng)充分,且功耗較正常運行模式降低很多,這里選擇STOP模式。

GDC0689液晶屏全顯效果圖如下:

0dfaa3d6-5b65-11ed-a3b6-dac502259ad0.png ? ?

2.2 喚醒單元

RTC內(nèi)部包含周期性的喚醒單元,用于喚醒低功耗模式。

RTC 內(nèi)部包含一個 16 位的遞減計數(shù)單元,用于周期性產(chǎn)生喚醒標志,該喚醒定時器可擴展至 17 位。通過配置 RTC_CR 寄存器中的 WUTE 位使能。喚醒單元時鐘源:

2、4、8 或 16 分頻的 RTC 時鐘:

當(dāng)為 LSE 時,可配置的喚醒中斷周期介于 122μs 和 32s 之間,且分辨率低至 61μs。

fck_spre(通常為 1Hz 內(nèi)部時鐘):

WUCKSEL[2:1]=10 時為 1s 到 18h;

WUCKSEL[2:1]=11 時約為 18h 到 36h。

當(dāng)遞減計數(shù)器計數(shù)到 0 時, RTC_ISR 寄存器的 WUTF 標志會置 1,喚醒計數(shù)器會重載 RTC_WUTR寄存器值,通過軟件清零 WUTF 標志。

使能 RTC_CR 寄存器中的 WTIE,當(dāng)計數(shù)到 0 時,會產(chǎn)生中斷輸出。

配置 RTC_CR 寄存器中的位 OSEL[1:0]等于 2, WUTF 連接到 RTC_ALARM 輸出。配置 RTC_CR寄存器的 POL 位選擇 RTC_ALARM 輸出極性。

注:系統(tǒng)復(fù)位以及低功耗模式(睡眠、停機和待機)對喚醒定時器沒有影響。

2.3 外設(shè)配置

關(guān)于SLCD和RTC的初始化配置在前面兩節(jié)微課堂已有相關(guān)描述,以下外設(shè)配置與應(yīng)用程序在前面代碼上進行增添即可。

1)配置低功耗模式要先使能PWR時鐘:

RCC_APB1PeriphClockCmd(RCC_APB1ENR_PWREN,ENABLE);

2)在要進入STOP模式的代碼后調(diào)用相關(guān)庫函數(shù),選擇低功耗模式,中斷喚醒:

PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

3)RTC的時鐘源選擇LSE(32.768KHZ),可配置的喚醒中斷周期介于 122μs 和 32s 之間,且分辨率低至 61μs。此處對RTC時鐘進行16分頻,1s計數(shù)2048個,配置喚醒定時器自動重裝載值為256,對應(yīng)125ms,該值越小,喚醒時間越短。

RTCCAL_WakeUpClockConfig(RTCCAL_WakeUpClock_RTCCLK_Div16);
RTCCAL_SetWakeUpCounter(256);

使能喚醒單元,使能RTC喚醒中斷:

RTCCAL_WakeUpCmd(ENABLE);
RTCCAL_ClearFlag(RTCCAL_FLAG_WUTF);
RTCCAL_ITConfig(RTCCAL_IT_WUT,ENABLE);

RTC&BKP 全局中斷與連接到 EXTI17,配置RTC中斷:

RTCCAL_NVIC_Config();

4)SLCD顯示,記錄當(dāng)前日歷和時間,使用LCD的6位數(shù)碼管顯示時分秒,左上方的4位數(shù)碼管顯示年份。

voidLCD_DisplayDataUpdate(void)
{
Number1=RTCCAL_tempTime.RTCCAL_Seconds;
Number2=RTCCAL_tempTime.RTCCAL_Minutes;
Number3=RTCCAL_tempTime.RTCCAL_Hours;

LCD_DisplayNumber1(0,'0'+Number3/10,0);
LCD_DisplayNumber1(1,'0'+Number3%10,0);
LCD_DisplayNumber1(2,'0'+Number2/10,0);
LCD_DisplayNumber1(3,'0'+Number2%10,0);
LCD_DisplayNumber1(4,'0'+Number1/10,0);
LCD_DisplayNumber1(5,'0'+Number1%10,0);

LCD_DisplayUnit(8,1);
LCD_DisplayUnit(9,1);

Number4=RTCCAL_tempDate.RTCCAL_Year;
LCD_DisplayNumber2(0,'2',0);
LCD_DisplayNumber2(1,'0',0);
LCD_DisplayNumber2(2,'0'+Number4/10,0);
LCD_DisplayNumber2(3,'0'+Number4%10,0);

}

5)獲取當(dāng)前日歷和時間,刷新顯示數(shù)據(jù),F(xiàn)lag_GainData、Flag_DataUpdate均為時間標志,這里間隔1ms獲取數(shù)據(jù),間隔10ms刷新數(shù)據(jù),F(xiàn)lag_WKUP是中斷喚醒標志,數(shù)據(jù)刷新之后再次進入STOP模式,等待喚醒,刷新時間是影響功耗的主要參數(shù)之一,需根據(jù)實際應(yīng)用進行評估。

if(Flag_GainData==1)
{
Flag_GainData=0;
RTCCAL_GetDate(RTCCAL_Format_BIN,&RTCCAL_tempDate);RTCCAL_GetTime(RTCCAL_Format_BIN,&RTCCAL_tempTime);
}
if(Flag_DataUpdate==1)
{
Flag_DataUpdate=0;
LCD_DisplayDataUpdate();
if(Flag_WKUP==1)
{
Flag_WKUP=0;
SystemInit();
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
LED2_TOGGLE();
}
}

2.4 演示

板載LD2(綠色LED)閃爍,程序中LD2的控制引腳在從低功耗模式喚醒之后翻轉(zhuǎn),閃爍表示此時處于低功耗模式進入、喚醒狀態(tài)。LCD液晶屏顯示時、分、秒、年份。

本次微課堂在功能設(shè)計上僅是MM32L0130 SLCD與RTC在低功耗模式下的簡單應(yīng)用,如果對此感興趣者,可以自己配置RTC鬧鐘功能、SLCD閃爍模式,以及按鍵調(diào)整時間、蜂鳴提醒、LED顯示等進一步完善相關(guān)功能。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電子時鐘
    +關(guān)注

    關(guān)注

    11

    文章

    197

    瀏覽量

    24496
  • VDD
    VDD
    +關(guān)注

    關(guān)注

    1

    文章

    311

    瀏覽量

    33106
  • 靈動微電子
    +關(guān)注

    關(guān)注

    7

    文章

    118

    瀏覽量

    19620
  • MM32
    +關(guān)注

    關(guān)注

    1

    文章

    106

    瀏覽量

    744

原文標題:靈動微課堂 (第234講) | 基于MM32L0130的低功耗電子時鐘設(shè)計

文章出處:【微信號:MindMotion-MMCU,微信公眾號:靈動MM32MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于RA6M5開發(fā)板的低功耗電子時鐘設(shè)計

    本項目是基于啟明RA6M5開發(fā)板搭載2.4寸液晶屏的電子時鐘,該電子時鐘有兩個模式——正常模式和低功耗模式,可以通過開發(fā)板的按鍵改變時鐘模式。
    的頭像 發(fā)表于 12-25 12:26 ?866次閱讀
    基于RA6M5開發(fā)板的<b class='flag-5'>低功耗電子時鐘</b>設(shè)計

    低功耗電子溫度計的優(yōu)點是什么?

    本文設(shè)計的超低功耗電子溫度計能夠通過溫度傳感器測量和顯示被測量點的溫度,并可進行擴展控制。該溫度計帶電子時鐘,其檢測范圍為l0℃~30℃,檢測分辨率為1℃,采用LCD液晶顯示,整機靜態(tài)功耗
    發(fā)表于 08-13 07:50

    使用MM32L0130 IRM實現(xiàn)紅外發(fā)碼

    1、使用MM32L0130 IRM實現(xiàn)紅外發(fā)碼  紅外遙控是一種無線、非接觸控制技術(shù),具有抗干擾能力強,信息傳輸可靠,功耗低,成本低,易于實現(xiàn)等顯著優(yōu)點,被諸多電子設(shè)備包括消費電子、家
    發(fā)表于 10-21 14:22

    基于MM32L0130低功耗電子時鐘設(shè)計方案相關(guān)資料分享

    1、基于MM32L0130低功耗電子時鐘設(shè)計  MM32L0130作為靈動微電子推出的一款低功耗芯片,內(nèi)置多種省電工作模式保證
    發(fā)表于 11-09 16:00

    請問有人使用IAR進行過MM32L0130的開發(fā)嗎?

    我在使用IAR8.30進行MM32L0130開發(fā)板試用時遇到了一個棘手的問題,其例程能夠下載到開發(fā)板(至少在IAR中任何報錯,也可以在線調(diào)試),可是就是一直開在時鐘配置階段,一直沒有配置成功,有人遇到過這樣的問題嗎?或者在調(diào)試其他單片機時是否有類似現(xiàn)象?麻煩指導(dǎo)一下解決辦
    發(fā)表于 12-18 21:48

    靈動微MM32L0130系列32位微控制器的詳細介紹

    全新MM32L0130系列是靈動微電子針對低功耗應(yīng)用推出的新一代MCU產(chǎn)品,其搭載了Arm?Cortex?-M0+內(nèi)核,采用了先進的低功耗架構(gòu)設(shè)計和技術(shù)手段,實現(xiàn)了最低700nA的RT
    發(fā)表于 04-28 16:18 ?725次閱讀

    使用MM32L0130片上IRM模塊實現(xiàn)紅外發(fā)碼

    靈動股份推出的MM32L0130系列MCU具有片上IRM紅外調(diào)制器,該模塊使用片上的定時器和串口,實現(xiàn)數(shù)據(jù)的 FSK/ASK 調(diào)制,以滿足紅外發(fā)碼的需求。
    的頭像 發(fā)表于 10-13 17:03 ?1208次閱讀

    MM32L0130 RTC日歷和鬧鐘

    RTC 模塊是用于提供時間(時、分、秒、亞秒)和日期(年、月、日)功能的定時計數(shù)器,日歷以 BCD碼的格式顯示。內(nèi)部包含周期性的喚醒單元,用于喚醒低功耗模式。支持夏令時補償,支持數(shù)字校準補償晶振精度的偏差。靈動微電子推出的MM32L01
    的頭像 發(fā)表于 10-28 10:37 ?1273次閱讀

    靈動微電子低功耗單片機MM32L0130開發(fā)板申請

    低功耗單片機MM32L0130采用的是M0+內(nèi)核的32位MCU,工作頻率高達48兆赫茲,內(nèi)置64KB?Flash,8KBSRAM的高速存儲器,內(nèi)置段碼式液晶驅(qū)動SLCD,可驅(qū)動8x36或4x40個段
    的頭像 發(fā)表于 11-21 17:15 ?769次閱讀
    靈動微<b class='flag-5'>電子</b><b class='flag-5'>低功耗</b>單片機<b class='flag-5'>MM32L0130</b>開發(fā)板申請

    集成段碼LCD驅(qū)動低功耗系列MM32L0130

    靈動微集成段碼LCD驅(qū)動低功耗系列MM32L0130搭載了最高主頻為48MHz的Arm Cortex-M0+處理器;提供至多64KB的Flash存儲空間和8KB的SRAM空間。 ? 靈活易用的段碼
    發(fā)表于 01-31 15:50 ?408次閱讀

    MM32L0130 產(chǎn)品手冊(中文版)

    MM32L0130 產(chǎn)品手冊(中文版)
    發(fā)表于 02-27 18:24 ?0次下載
    <b class='flag-5'>MM32L0130</b> 產(chǎn)品手冊(中文版)

    MM32L0130 產(chǎn)品手冊(英文版)

    MM32L0130 產(chǎn)品手冊(英文版)
    發(fā)表于 02-27 18:25 ?0次下載
    <b class='flag-5'>MM32L0130</b> 產(chǎn)品手冊(英文版)

    MM32L0130 用戶手冊(中文版)

    MM32L0130 用戶手冊(中文版)
    發(fā)表于 02-27 18:26 ?0次下載
    <b class='flag-5'>MM32L0130</b> 用戶手冊(中文版)

    MM32L0130 用戶手冊(英文版)

    MM32L0130 用戶手冊(英文版)
    發(fā)表于 02-27 18:26 ?0次下載
    <b class='flag-5'>MM32L0130</b> 用戶手冊(英文版)

    使用MM32L0130和HYS1254的電子秤方案驗證

    NPI提了需求,需要驗證使用友商SDADC芯片和MM32L0130微控制器集成的一個系統(tǒng)應(yīng)用方案。
    的頭像 發(fā)表于 10-17 17:16 ?705次閱讀
    使用<b class='flag-5'>MM32L0130</b>和HYS1254的<b class='flag-5'>電子</b>秤方案驗證