国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> MM32/靈動(dòng)微電子 >> 靈動(dòng)微-MM32 電源管理

靈動(dòng)微-MM32 電源管理

關(guān)鍵字:靈動(dòng)微電子 MM32 電源管理 作者: 來(lái)源: 發(fā)布時(shí)間:2022-06-08  瀏覽:44
在應(yīng)用開發(fā)中,通常需要考慮當(dāng)出現(xiàn)系統(tǒng)供電電壓下降或掉電突發(fā)狀況時(shí),需對(duì)控制系統(tǒng)加以保護(hù),防止出現(xiàn)意外,故在程序中需加入對(duì)系統(tǒng)電壓的監(jiān)控。當(dāng)供電電壓降低到某一電壓值時(shí),需要系統(tǒng)進(jìn)入特別保護(hù)狀態(tài),執(zhí)行緊急關(guān)閉任務(wù):對(duì)系統(tǒng)的一些數(shù)據(jù)保存起來(lái),同時(shí)對(duì)外設(shè)進(jìn)行相應(yīng)的保護(hù)操作。

MM32L0系列產(chǎn)品的工作電壓(VDD)為 2.0V ~ 5.5V。通過(guò)內(nèi)置的電壓調(diào)節(jié)器提供所需的 1.5V 電源。                                             

電壓調(diào)節(jié)


注: VDDA 和 VSSA 必須分別連到 VDD和 VSS。


MM32L0系列產(chǎn)品內(nèi)部有一個(gè)完整的上電復(fù)位(POR)和掉電復(fù)位(PDR)電路,當(dāng)供電電壓達(dá)到 2.0V 時(shí)系統(tǒng)才能正常工作。


當(dāng) VDD/VDDA 低于指定的限位電壓 VPOR/VPDR時(shí),系統(tǒng)保持為復(fù)位狀態(tài),而無(wú)需外部復(fù)位電路。


復(fù)位狀態(tài)


POR = Power On Reset 上電復(fù)位;PDR = Power Down Reset 掉電復(fù)位。


POR的功能是在VDD電壓由低向高上升越過(guò)規(guī)定的閥值之前,保持芯片復(fù)位,當(dāng)越過(guò)這個(gè)閥值后的一小段時(shí)間后(圖中的"滯后時(shí)間"或表中的"復(fù)位遲滯"),結(jié)束復(fù)位并取復(fù)位向量,開始執(zhí)行指令。當(dāng)VDD上升越過(guò)POR閥值時(shí),內(nèi)部并不馬上結(jié)束復(fù)位,而是等待一小段時(shí)間(Reset temporization)。Reset temporization是為了等待供電電壓能夠升高到最低可靠工作電壓以上,我們看到POR閥值典型值只有1.656V(參考MM32 DS手冊(cè)表內(nèi)嵌復(fù)位和電源控制模塊特性),低于數(shù)據(jù)手冊(cè)中給出的最低可靠工作電壓2.0V,所以這個(gè)滯后時(shí)間是十分必要的,如果供電電壓上升緩慢,尤其是從1.8V升到2.0V以上超過(guò)1~2.5ms,則很可能造成上電復(fù)位后MCU不能正常工作的情況。


PDR功能是在VDD電壓由高向低下降越過(guò)規(guī)定的閥值后,將在芯片內(nèi)部產(chǎn)生復(fù)位。


MM32內(nèi)部自帶PVD功能,用于對(duì)MCU供電電壓VDD進(jìn)行監(jiān)控。通過(guò)電源控制寄存器中的PLS[12:9]位來(lái)設(shè)定監(jiān)控電壓的閥值,通過(guò)對(duì)外部電壓進(jìn)行比較來(lái)監(jiān)控電源。當(dāng)條件觸發(fā),需要系統(tǒng)進(jìn)入特別保護(hù)狀態(tài),執(zhí)行緊急關(guān)閉任務(wù):對(duì)系統(tǒng)的一些數(shù)據(jù)保存起來(lái),同時(shí)對(duì)外設(shè)進(jìn)行相應(yīng)的保護(hù)操作。


用戶可以利用 PVD 對(duì) VDD電壓與電源控制寄存器(PWR_CTRL)中的PLS[12:9]位進(jìn)行比較來(lái)監(jiān)控電源,這幾位選擇監(jiān)控電壓的閥值。

監(jiān)控電源


PVD = Programmable Votage Detector 可編程電壓監(jiān)測(cè)器,它的作用是監(jiān)視供電電壓,在供電電壓下降到給定的閥值以下時(shí),產(chǎn)生一個(gè)中斷,通知軟件做緊急處理。


PLS[12:9]位用于選擇PVD監(jiān)控電源的電壓閥值: 


0000:1.8V       0101:3.3V        1010:4.8V


0001:2.1V       0110:3.6V  


0010:2.4V       0111:3.9V


0011:2.7V       1000:4.2V  


0100:3.0V       1001:4.5V  


電源控制/狀態(tài)寄存器(PWR_CSTA)中的 PVDO 標(biāo)志用來(lái)表明 VDD是高于還是低于 PVD 的電壓閥值。該事件在內(nèi)部連接到外部中斷的第 16線,如果該中斷在外部中斷寄存器中是使能的,該事件就會(huì)產(chǎn)生中斷。當(dāng) VDD下降到 PVD 閥值以下和(或)當(dāng) VDD 上升到 PVD 閥值之上時(shí),根據(jù)外部中斷第 16 線的上升/下降邊沿觸發(fā)設(shè)置,就會(huì)產(chǎn)生 PVD 中斷。例如,這一特性可用于用于執(zhí)行緊急關(guān)閉任務(wù)。


一、庫(kù)函數(shù)操作流程(中斷方式):  


1)、電源接口時(shí)鐘使能


    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);


2)、PWR_PVDLevelConfig(PWR_PVDLevel_4V2); // 設(shè)定監(jiān)控閥值


3)、PWR_PVDCmd(ENABLE); // 使能PVD 


4)、EXTI_ClearITPendingBit(EXTI_Line16);//清中斷


5)、EXTI_InitStructure.EXTI_Line = EXTI_Line16; // PVD連接到中斷線16上


6)、EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //使用中斷模式


7)、EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;//表示電壓上升或下降越過(guò)設(shè)定閥值時(shí)都產(chǎn)生中斷


8)、EXTI_InitStructure.EXTI_LineCmd = ENABLE; // 使能中斷線


9)、EXTI_Init(&EXTI_InitStructure); // 初始化


 


    EXTI_InitStructure.EXTI_Trigger的賦值可選項(xiàng): 


 EXTI_Trigger_Rising---表示電壓從高下降到低于設(shè)定閥值時(shí)產(chǎn)生中斷;


 EXTI_Trigger_Falling---表示電壓從低上升到高于設(shè)定閥值時(shí)產(chǎn)生中斷;


 EXTI_Trigger_Rising_Falling---表示電壓上升或下降越過(guò)設(shè)定閥值時(shí)都產(chǎn)生中斷。


 
10)、中斷優(yōu)先級(jí)配置


    NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQn;


    NVIC_InitStructure.NVIC_IRQChannelPriority = 0;


    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;


    NVIC_Init(&NVIC_InitStructure);


 2、當(dāng)工作電壓低于設(shè)定閥值時(shí),將產(chǎn)生PVD中斷,在中斷程序中進(jìn)行相應(yīng)的處理:


 void PVD_IRQHandler(void) 





if( RESET != EXTI_GetITStatus(EXTI_Line16))


{  


EXTI_ClearITPendingBit(EXTI_Line16);  …… // 用戶添加緊急處理代碼處


WriteToBackupReg(0x3210);//往BKP寄存器里面存數(shù)據(jù)


}


}


在測(cè)試的例程中,我配置的PVD工作方式為中斷上升和下降沿觸發(fā),當(dāng)VDD高于預(yù)設(shè)PVD閾值或者低于閾值而產(chǎn)生邊沿觸發(fā)時(shí),都會(huì)形成一次PVD中斷,然后讀取PWR_CSR的PVDO標(biāo)志位檢查是低電壓提醒還是高電壓提醒,以此來(lái)達(dá)到監(jiān)控MCU供電情況的目的。


二、寄存器操作流程(查詢方式):  


1)、電源接口時(shí)鐘使能


RCC->APB1ENR |= 0x10000000;


2)、設(shè)置閾值電壓,電源電壓檢測(cè)器(PVD)使能


PWR->CR =0x1010;   //電壓檢測(cè)閾值=4.2v,PVDE=1使能


3)、等待PVDO輸出狀態(tài)


if((PWR->CSR&0x0004) !=0)


         {


              SCB->AIRCR =0x05fa0004;//軟件復(fù)位


         }


       else


         {


     WriteToBackupReg(0x3210);//往BKP寄存器里面存數(shù)據(jù)


    return;


         }


 


小結(jié):


1、 MM32L0系列產(chǎn)品 PVD所對(duì)應(yīng)的時(shí)鐘掛在APB1上,在使用PVD功能時(shí)需要使能PWR時(shí)鐘。


2、 使用寄存器配置如何判斷掉電過(guò)程還是還是上電過(guò)程?


寄存器


可以根據(jù)電源控制/狀態(tài)寄存器(PWR_CSR)的PVDO位來(lái)判斷,PVDO從1變0表示上電過(guò)程,從0變1表示掉電過(guò)程,用戶可以根據(jù)該位來(lái)判斷是需要上電復(fù)位還是掉電復(fù)位。

如需要了解更多靈動(dòng)微MCU產(chǎn)品,請(qǐng)聯(lián)系靈動(dòng)微核心代理商-穎特新科技

編輯:ls  最后修改時(shí)間:2022-06-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

亚洲少妇人妻一区二区| 日韩一级一片内射视频4k| 久久免费精品拍拍一区二区| 日韩黄色大片免费在线| 亚洲国产av一二三区| 开心五月激情综合婷婷色| 国产伦精品一一区二区三区高清版| 国产性情片一区二区三区| 中文久久乱码一区二区| 欧美一级片日韩一级片| 亚洲午夜av久久久精品| 亚洲欧美日韩综合在线成成| 我想看亚洲一级黄色录像| 熟妇久久人妻中文字幕| 中文字幕亚洲精品人妻| 在线亚洲成人中文字幕高清| 欧美日韩国产亚洲三级理论片| 欧美乱视频一区二区三区| 五月婷婷综合缴情六月| 内用黄老外示儒术出处| 欧美成人欧美一级乱黄| 欧美一区二区三区在线播放| 五月天丁香亚洲综合网| 白白操白白在线免费观看| 欧美日韩国产的另类视频| 日本高清视频在线观看不卡| 欧美日韩国产亚洲三级理论片| 久久午夜福利精品日韩| 91香蕉视频精品在线看| 九九热这里只有免费精品| 亚洲一区二区精品免费| 99国产高清不卡视频| 欧美视频在线观看一区| 午夜精品黄片在线播放| 欧美黑人在线精品极品| 91精品国产av一区二区| 国产精品一区二区传媒蜜臀| 午夜视频在线观看日韩| 粉嫩内射av一区二区| 欧美尤物在线观看西比尔| 精品欧美日韩一区二区三区|