|
|
1. 簡(jiǎn)介
HC32F002 系列是一款基礎(chǔ)型通用的 32 位 MCU,具有寬電壓工作范圍。芯片集成 10 位 1Msps 高速 SAR ADC、高性能 PWM 定時(shí)器、低功耗 UART、SPI、I2C 等豐富的外設(shè),具有高整合度、高可靠性、低功耗的特點(diǎn)。HC32F002 系列采用 Cortex-M0+內(nèi)核,主頻**到 48MHz,配合成熟的 Keil 和 IAR調(diào)試開(kāi)發(fā)軟件,支持使用 C 語(yǔ)言及匯編語(yǔ)言開(kāi)發(fā)。
-典型應(yīng)用
? 電機(jī)控制、電池管理
? 智能家居、**設(shè)備
? 安防報(bào)警、智能交通
? 傳感器模塊、無(wú)線模塊、貨架標(biāo)簽
2.系統(tǒng)結(jié)構(gòu)
2.1 概述
本產(chǎn)品系統(tǒng)由以下部分組成:
? 1 個(gè) AHB 總線 Master:
? Cortex-M0+
? 4 個(gè) AHB 總線 Slaves:
? FLASH 存儲(chǔ)器
? SRAM 存儲(chǔ)器
? AHB0,AHB to APB Bridge 包含所有 APB 接口外設(shè)
? AHB1,包含所有 AHB 接口外設(shè)
整個(gè)系統(tǒng)總線結(jié)構(gòu)采用多層次 AHB-lite 總線互連實(shí)現(xiàn)。如下圖所示:
圖 2-1 系統(tǒng)架構(gòu)示意圖
2.2 存儲(chǔ)器和模塊地址分配
表 2-1 地址劃分表
3.工作模式
3.1 工作模式概述
本產(chǎn)品在電源管理模塊的控制下可實(shí)現(xiàn)三種工作模式。各工作模式下可工作的功能模塊及功耗各不相
同。
本產(chǎn)品的工作模式如下所示:
? 運(yùn)行模式(Active Mode): CPU 運(yùn)行,片內(nèi)外設(shè)運(yùn)行。
? 休眠模式(Sleep Mode): CPU 停止,片內(nèi)外設(shè)運(yùn)行。
? 深度休眠模式(Deep Sleep Mode): CPU 停止,低功耗片內(nèi)外設(shè)運(yùn)行。
3.2 工作模式切換
本產(chǎn)品工作時(shí)可在三種工作模式之間自由切換。在運(yùn)行模式下執(zhí)行 WFI 指令,可使本產(chǎn)品進(jìn)入休眠模
式或深度休眼模式。從休眠模式或深度休眼模式通過(guò)中斷喚醒,回到運(yùn)行模式。
圖 3-1 工作模式狀態(tài)轉(zhuǎn)換圖
在各種工作模式下,CPU 可響應(yīng)的中斷見(jiàn)下方表格。
在各種工作模式下,可響應(yīng)的復(fù)位信號(hào)見(jiàn)下方下表。
3.3 運(yùn)行模式(Active Mode)
在該工作模式 MCU 所有功能模塊均正常工作,功耗**。
系統(tǒng)復(fù)位后或從中斷喚醒后,MCU 均工作于運(yùn)行模式。
在運(yùn)行模式下可通過(guò)一定的措施降低運(yùn)行功耗:
? 為系統(tǒng)時(shí)鐘(SystemClk)選擇更低的頻率,修改 SysCtrl.CR0.ClkSrc
? 降低系統(tǒng)的內(nèi)核時(shí)鐘(HCLK)的頻率,修改 SysCtrl.CR0.HclkPrs
? 降低系統(tǒng)的片內(nèi)外設(shè)時(shí)鐘(PCLK)的頻率,修改 SysCtrl.CR0.PclkPrs
? 關(guān)閉未使用的片內(nèi)外設(shè)的時(shí)鐘,修改 SysCtrl.PeriClkEnx
3.4 休眠模式(Sleep Mode)
在該工作模式下 CPU 停止運(yùn)行,其它片內(nèi)外設(shè)均正常工作,功耗**運(yùn)行模式。
在運(yùn)行模式下,設(shè)置 SCB->SCR.SLEEPDEEP 為 0,執(zhí)行 WFI 指令即可使 MCU 工作于休眠模式。當(dāng) MCU
響應(yīng)硬件中斷時(shí),即可退出休眠模式回到運(yùn)行模式。
在休眠模式下可通過(guò)一定的措施降低運(yùn)行功耗:
? 為系統(tǒng)時(shí)鐘(SystemClk)選擇更低的頻率,修改 SysCtrl.CR0.ClkSrc
? 降低系統(tǒng)的內(nèi)核時(shí)鐘(HCLK)的頻率,修改 SysCtrl.CR0.HclkPrs
? 降低系統(tǒng)的片內(nèi)外設(shè)時(shí)鐘(PCLK)的頻率,修改 SysCtrl.CR0.PclkPrs
? 關(guān)閉未使用的片內(nèi)外設(shè)的時(shí)鐘,修改 SysCtrl.PeriClkEnx
? 設(shè)置 SCB_SCR.SLEEPONEXIT 為 1,使 MCU 執(zhí)行完成中斷服務(wù)程序后自動(dòng)進(jìn)入休眠模式。
3.5 深度休眠模式(Deep Sleep Mode)
在該工作模式下 CPU 停止運(yùn)行,片內(nèi)高速時(shí)鐘 RCH 自動(dòng)關(guān)閉。如果 HCLK 來(lái)源為片內(nèi)高速時(shí)鐘,則片
內(nèi)高速外設(shè)停止運(yùn)行,僅片內(nèi)低功耗外設(shè)正常工作;如果 HCLK 來(lái)源為片內(nèi)低速時(shí)鐘 RCL,則片內(nèi)外設(shè)
均正常工作。該模式下功耗遠(yuǎn)**休眠模式下的功耗。
若設(shè)置 SysCtrl.CR1.AutoSwitch 為 1,則 MCU 退出深度休眠模式時(shí)的系統(tǒng)時(shí)鐘的來(lái)源為 RCH,以實(shí)現(xiàn)
快速喚醒。
在運(yùn)行模式下,設(shè)置 SCB_SCR.SLEEPDEEP 為 1,執(zhí)行 WFI 指令即可使 MCU 工作于深度休眠模式。當(dāng)
MCU 響應(yīng)硬件中斷時(shí),即可退出深度休眠模式回到運(yùn)行模式。
在休眠模式下可通過(guò)一定的措施降低運(yùn)行功耗:
? 選擇高速時(shí)鐘作為系統(tǒng)時(shí)鐘(SystemClk),修改 SysCtrl.CR0.ClkSrc
? 關(guān)閉未使用的片內(nèi)低功耗外設(shè)的時(shí)鐘,修改 SysCtrl.PeriClkEnx
? 設(shè)置 SCB_SCR.SLEEPONEXIT 為 1,使 MCU 執(zhí)行完成中斷服務(wù)程序后自動(dòng)進(jìn)入休眠模式。
3.6 功能模塊工作狀態(tài)
在三種工作模式下功能模塊的工作狀態(tài)對(duì)比如下表所示:
3.7 寄存器
3.7.1 系統(tǒng)控制寄存器(SCB_SCR)
地址:0xE000ED10
復(fù)位值:0x0000 0000
|