CKS32F4xx系列產品提供了可編程電壓檢測器PVD,用于對MCU供電電壓VDD進行監控,當檢測到電壓低于或者高于PVD設置的閾值時,會向內核產生一個PVD中斷(EXTI線中斷)以使內核在復位前進行緊急處理。該電壓閾值可通過PWR_CSR進行設置。只要電壓超過芯片最低運行電壓,芯片就能正常工作,而不是低于閥值就不能工作。在實際運用中,如果是用電池給芯片供電,當電池電量不足時,電池的供電電壓就會下降,下降到低于閥值時就會觸發PVD中斷,此功能可以通知用戶,使系統進入特別保護狀態,執行緊急關閉任務程序進行相關處理,比如進行數據備份處理或者進行低電量提醒等操作。
PVD可配置8個等級,通過電源控制寄存器中的PLS[2:0]位可以用來設定檢測電壓的閥值,詳見下表。
PVD模塊操作流程
一、系統啟動后啟動PVD,并開啟相應的中斷:
首先通過固件庫函數RCC_APB1PeriphClockCmd配置PWR模塊時鐘,然后配置檢測電壓的閥值,根據表1設置參數。PVD中斷連接EXTI_Line16中斷線,配置中斷順序依次為:中斷線、中斷模式、觸發方式及中斷線使能。
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //開啟PWR時鐘 /* 設定檢測閥值 */ PWR_PVDLevelConfig(PWR_PVDLevel_5); EXTI_StructInit(&EXTI_InitStructure); /* PVD連接到中斷線16上 */ EXTI_InitStructure.EXTI_Line = EXTI_Line16; /* 使用中斷模式 */ EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; /* 電壓低于閥值時產生中斷 */ EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Raising; /* 使能中斷線 */ EXTI_InitStructure.EXTI_LineCmd = ENABLE; /* 初始化中斷 */
EXTI_InitStructure.EXTI_Trigger配置定義:
EXTI_Trigger_Rising---表示電壓從高下降到低于設定閥值時產生中斷。
EXTI_Trigger_Falling---表示電壓從低上升到高于設定閥值時產生中斷。
EXTI_Trigger_Rising_Falling---表示電壓上升或下降越過設定閥值時都產生中斷。
二、配置PVD中斷優先級:
void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; /* 嵌套向量中斷控制器組選擇 */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3); /* 配置USART為中斷源 */ NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQn; /* 搶斷優先級為1 */ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; /* 子優先級為1 */ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; /* 使能中斷 */ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /* 初始化配置NVIC */ NVIC_Init(&NVIC_InitStructure); }
三、使能PVD模塊:
PWR_PVDCmd(ENABLE); // 使能PVD
四、產生PVD中斷,在中斷程序中進行相應的處理:
void PVD_IRQHandler(void) { EXTI_ClearITPendingBit(EXTI_Line16); …… // 用戶添加緊急處理代碼處 }
-
mcu
+關注
關注
146文章
17569瀏覽量
356001 -
寄存器
+關注
關注
31文章
5394瀏覽量
122227 -
電壓
+關注
關注
45文章
5664瀏覽量
116882 -
中斷
+關注
關注
5文章
901瀏覽量
42141 -
PVD
+關注
關注
4文章
51瀏覽量
17180
原文標題:MCU微課堂 | CKS32F4xx系列產品PVD應用
文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
MCU微課堂|CKS32F4xx系列產品時鐘配置
CKS32F4xx系列產品NVIC中斷優先級管理單元講解
CKS32F4xx系列產品串口DMA傳輸
CKS32F4xx系列產品的定時器使用-基本特征和定時操作

CKS32F4xx系列RNG功能設置

CKS32F4xx系列FSMC功能簡介

評論