版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CKS32F103微控制器教学课件第1章CKS32F103微控制器概述微控制器(MCU,MicrocontrollerUnit):
即单片机,是将CPU、内存、I/O外设全部集成在单颗芯片上的微型计算机,核心使命是为嵌入式系统提供“专用控制”,而非通用计算。什么是CKS32,生产厂家,同类及替代产品,命名规则,产品系列,封装类型,应用1.什么是CKS32?CKS32F103C8T6国产32位微控制器经典
嵌入式开发入门首选▍核心定义CKS32系列是中科芯集成电路有限公司(CETC)推出的基于ARMCortex-M内核的32位微控制器(MCU)系列。与STM32PINtoPIN兼容CKS32系列产品的推出不仅填补了国内高性能嵌入式处理器的空白,还在推动国家核心技术自主可控方面发挥了积极作用。经过多年的努力,中科芯集成电路有限公司已在嵌入式领域占据重要地位,并具备与欧美厂商竞争的实力,凭借其优异的性能、丰富的外设资源高性价比和完善的生态,成为嵌入式开发领域的主流选择CKS32F103x8属于高性能、高集成度的“标准型”系列。高性能处理核心搭载主流Cortex-M332位RISC内核,最高主频72MHz,算力强劲。高度兼容主流生态与STM32F103系列在引脚、功能及软件层面高度兼容,便于快速迁移。丰富的外设集成集成高速USB、CAN总线、多路定时器及多种通信接口,功能丰富。低功耗设计支持睡眠、停机、待机三种模式,能效优异,适配电池供电场景。广泛的应用场景广泛覆盖电机驱动、工业控制、消费电子、医疗及智能家居等领域。CKS32F103与STM32F103引脚/寄存器全兼容的Cortex‑M3内核MCU,主打“零硬件改动、软件直烧”的国产替代方案。2.同类产品CKS32F103C8国产芯,硬实力——从STM32到CKS32的无缝跨越CKS32F103C8核心是ARMCortex-M3。最关键的一点是,它与STM32F103C8T6在硬件和软件层面都高度兼容,这使得它成为一个非常理想的国产化替代方案。高度硬件兼容引脚定义、外设功能与指令集均与STM32F103C8T6高度一致,硬件电路无需重新设计,即插即用。优选国产方案摆脱海外供应链限制,是实现项目自主可控的理想替代型号。性能稳定,供货周期更有保障。📸芯片实物直观对比两款芯片外观与封装高度相似,展示了CKS32对经典型号的致敬与传承。CKS32F103C8T6
国产芯主力型号STM32F103C8T6
经典标杆型号无论是开发板设计还是代码移植,两者的互通性都极大降低了开发者的学习门槛,是您从入门到精通的最佳选择。与STM32F103C8T6对比核心硬件参数内核架构ARMCortex™-M3完全相同最高主频标准72MHz完全相同存储配置64KBFlash/20KBSRAM完全相同物理封装LQFP48贴片封装完全相同外设资源配置GPIO引脚共37个多功能IO口完全相同ADC模数转换2个12位/共10通道完全相同定时器资源1个高级+3个通用定时器完全相同通信接口UART/SPI/I2C/CAN/USB完全相同开发生态兼容开发工具链完美兼容MDK、IAR、GCC主流IDE高度兼容底层软件库提供兼容标准库驱动,代码可无缝移植极低成本软硬件全兼容方案
可实现“零改动”直接替换核心优势总结引脚对引脚兼容无需修改PCB设计,可直接进行芯片替换,极大缩短了硬件升级和产品替代的开发周期。外设功能兼容几乎所有外设资源和功能都一一对应,完美继承原有设计逻辑,保证了系统功能的完整性与稳定性。软件生态兼容全面支持主流开发工具,并提供高度兼容的软件库。现有项目代码只需少量修改甚至无需修改即可编译运行,实现开发平滑过渡。▍同类产品比较表如下对比项目STM32F103C8T6ST意法CKS32F103C8T6中科芯GD32F103C8T6兆易创新HK32F103C8T6航芯AT32F403AC8T7雅特力CPU内核Cortex-M3Cortex-M3Cortex-M3Cortex-M3Cortex-M4最高主频72MHz72MHz108MHz72MHz240MHzFlash容量64KB64KB64KB64KB64KBSRAM容量20KB20KB20KB20KB32KB封装LQFP48LQFP48LQFP48LQFP48LQFP48硬件引脚PintoPin原厂基准完全引脚兼容直接贴板替换完全引脚兼容直接贴板替换完全引脚兼容直接贴板替换完全引脚兼容直接贴板替换寄存器兼容程度原生100%近乎100%全兼容高度兼容,多处差异高兼容,少量差异基础兼容,外设寄存器改动大STM32原始工程直接Keil编译原生完美基本无需修改直接编译需改时钟、启动文件、看门狗少量时钟配置修改必须整体适配修改工程STM32原版HEX直接烧录运行原生完美无异常直烧大部分可用,看门狗/时钟异常基本可直烧,偶发小异常不可直接烧录工作电压范围2.0~3.6V2.0~3.6V2.6~3.6V2.0~3.6V2.0~3.6V选择CKS32F103作为入门的优势CKS32F103C8T6俗称“蓝胖子”/“蓝色药丸”经典型号嵌入式领域最经典、最流行的入门芯片之一,拥有庞大的用户基数和社区支持。资料丰富海量教程、例程与问题解答覆盖全网,无论是论坛、博客还是视频,学习门槛极低。硬件成本低功能完整的最小系统板仅需几十元,性价比极高,非常适合学生和个人开发者进行实验。功能全面GPIO、定时器、UART、SPI等外设资源丰富,足以覆盖从基础入门到进阶应用的大部分学习需求。本书配套开发板3.命名规则4.产品系列自2017年中科芯集成电路有限公司推出CKS32F103C8系列MCU以来,公司已陆续推出8个系列的CKS32产品CKS32的内核架构及产品分类系列内核架构典型型号特点主要应用CKS32F0Cortex-M0CKS32F100R8/CKS32F100C8/CKS32F100T6/CKS32F100Q5超低功耗,基本外设UART、I²C、SPI家电控制、低端IoT、可穿戴设备、电池供电传感器CKS32F1Cortex-M3多种子系列:超值型、增强型、互联型中等性能,外设丰富,扩展性强智能家居、医疗设备、中端工业控制CKS32F4Cortex-M4高性能型号,主频最高168MHz支持DSP指令集、FPU、双工I²S、更快ADC,高集成度工业控制、音频处理、复杂信号处理、高性能IoT按内核分类按FLASH容量分类分类FLASHRAM常用封装资源特点小容量16KB~32KB6~10K36~64引脚,LQFP482xUSART,2x16位定时器,SPI,I2C,USB,CAN,PWM,PWM,ADC适合低成本、入门级应用中容量64KB~128KB20K48~100引脚,LQFP64/LQFP1003xUSART,3x16位定时器,2xSPI,2xI2C,USB,CAN,PWM,ADC资源均衡,常用于主流IoT、工业控制大容量256KB以上48K以上144引脚,LQFP100/LQFP1445xUSART,2xUART,4x16位定时器,2x通用定时器,3xSPI,2xI2C,2xI2S,USB,CAN,SDIO,FSMC2xPWM,3xADC,DAC高存储空间,适合复杂控制与高性能应用增强型CKS32F103系列CKS32F103系列主频最高72MHz,存储器常见配置为64KB~512KBFlash,20KB~64KBSRAM,支持高级定时器、USB2.0、CAN、DMA,部分型号集成DAC。典型应用于机器人控制、数控系统、汽车电子、物联网网关等场景。代表型号有F103C8、F103R8、F103V8和F103ZET6等。F103C8支持USBDevice,适合中小型智能设备如智能控制器、便携式检测仪器的开发。F103R8支持CAN与多路定时器。F103V8集成更多通信接口与定时器,适合多外设协同的中型控制系统。F103ZET6支持USBHost/Device、以太网,可驱动复杂人机交互界面与多轴运动控制,适用于工业自动化主控、高端医疗设备等大型系统。4.产品实物及封装芯片封装包括外部外壳尺寸、引脚数量、引脚间距、引脚排列、外形尺寸。芯片封装实现了器件的机械保护、电气连接、散热和标准化,既保护硅片,又把内部PAD信号转换成外部可用的标准引脚。PCB板设计LQFP48低剖面方形扁平封装图PCB板设计PCB上的焊盘大小、孔位、丝印、布局、走线、铜皮、散热、兼容焊接,完全由芯片封装决定。同封装=PCB焊盘通用,不用改板;不同封装=必须重新改PCB软件名称原理图设计PCB设计能力上手难度费用版权仿真功能适用场景AltiumDesigner功能完善、规范全面专业全能,多层板、高速设计强中等偏难商业付费,版权风险高基础仿真企业量产、专业硬件开发KiCad完整可用,自定义能力强开源顶级,无功能限制中等开源免费,无版权风险较弱个人开发、开源硬件、跨平台设计立创EDA简洁易用,国产库齐全基础至中等,满足常规画板极易标准版永久免费简单电路仿真学生入门、快速设计、国产芯片、便捷打样Proteus原理图简单PCB功能薄弱,不适合量产简单商业付费单片机仿真最强教学仿真、程序验证、课程设计OrCAD+Allegro原理图标杆,库资源权威高端高速PCB顶尖极难高价商业软件专业模拟仿真大型高密度、高速信号设计PADS流程成熟稳定中端全能,实用性强中等商业付费基础较弱工业产品、企业量产开发原理图与PCB设计软件对比5.典型应用场景工业控制适用于可编程逻辑控制器(PLC)、工业变频器、数据采集与监控系统等核心设备。电机驱动凭借高性能定时器,可完美实现伺服电机闭环控制及步进电机的精准驱动调节。消费电子广泛应用于智能家居中控、便携式手持设备及各类低功耗的游戏外设产品中。汽车电子适用于车身控制模块(BCM)、智能仪表盘显示以及车内CAN总线通信节点。医疗设备可开发便携式心电监测仪、血糖仪等小型医疗仪器及日常健康监测穿戴设备。通信设备用于工业路由器、物联网关以及多种协议之间的转换与数据传输处理设备。核心数据汇总内核ARM®Cortex®-M3最高主频72MHzFlash容量64KBSRAM容量20KBFlash地址范围0x08000000~0x0800FFFFSRAM地址范围0x20000000~0x20004FFFFlash页大小1KBFlash擦写寿命约10,000次CKS32F103C8存储器系统的核心参数。包括它的内核、主频、Flash和SRAM的容量与地址范围,以及Flash的页大小和擦写寿命。作业和思考选择一种原理图设计和PCB板制作软件,安装并学会如何建立一个新的工程,在工程中新建原理图和PCB图,学会如何添加元件,并从库中选择CKS32F103的符号和封装,熟悉软件的使用方法和了解封装的定义。书后作业1-5。CKS32F103微控制器教学课件02CKS32F103系列微控制器结构第2章CKS32F103系列微控制器结构CKS32F103x8
组成与功能封装和引脚内核片上总线CKS32F103系列微控制器的系统架构1.CKS32F103x8组成与功能CKS32F103C8T6组成:内核、片上存储器和外设以及将它们连接起来的总线系统组成,它们相互协作,共同实现MCU的高性能、高实时性和多功能应用。内核是MCU的核心组件,负责管理硬件资源、协调系统运行,并为上层应用程序提供基础服务,决定系统的性能、实时性、安全性等。CKS32芯片生产厂商负责在内核之外根据产品需求设计片上存储器、片上外设等组件,并负责整个芯片的生产Cortex-M3内核通过系统总线访问片上外设,外设被映射到特定的内存地址空间,内核通过对这些地址的读写实现与外设的通信。Cortex-M3内核是STM32F103的大脑,为CKS32F103的CPU。1.CKS32F103x8组成与功能1.CKS32F103x8组成与功能存储器:包括片上存储器和片外存储器。片上存储器指集成在MCU内部的存储单元,直接为内核提供指令的数据的高速访问,是决定芯片性能和功能的重要组成部分。片外存储器是通过硬件接口与MCU连接的独立存储器件,不占用芯片内部面积,主要用于弥补片上存储器的容量限制,以满足大规模数据存储和高带宽访问的需求。如24C02等1.CKS32F103x8组成与功能外设:是MCU与外部环境交互的关键模块,包括片上外设和片外外设。片上外设集成在MCU内部,是内核之外的重要组成部分,与内核紧密协作,无需额外电路即可实现丰富功能,如UART、SPI、I²C、ADC、定时器等。片外外设则是独立于MCU的功能模块,需要通过MCU引脚与其通信。片外外设具有高度的灵活性和扩展性,常用于实现定制化、高性能或特殊功能需求,如键盘、外部存储器、显示驱动模块及传感器扩展板等。1.CKS32F103x8组成与功能总线系统:用于连接内核、存储器和外设,实现指令与数据的高效传输,其架构设计直接影响MCU的整体性能和外设访问效率项目功能说明CPU核心ARMCortex-M332位内核,最高72MHz主频,单周期乘法和硬件除法,约1.25DMIPS/MHz存储器64KB(x8系列)或128KB(xB系列)Flash,20KBSRAM时钟系统内嵌8MHz的高速RC振荡器(经出厂校准)和40kHz的低速RC振荡器,外部4–16MHz晶振和32.768kHz晶振,PLL倍频电源管理工作电压2.0–3.6V;上电复位、掉电复位、可编程电压检测;支持睡眠、停止和待机低功耗模式;VBAT供电保持RTC与后备寄存器I/O端口最多80个高速I/O,不同封装数量不同,部分5V容忍,全部可映像到16个外部中断,几乎所有端口均可承受5V信号ADC模块2路独立12-bitADC,最高1µs转换,最多16个通道,转换范围为0至3.6V,双采样保持,内部温度传感器DMA控制器7通道DMA控制器,支持ADC、SPI、I²C、USART、定时器等外设的高速数据传输定时器3个16-bit通用定时器,可用于输入捕获/输出比较/PWM/编码器模式等,1个16-bit高级定时器,在通用定时器的基础上可实现PWM控制、死区时间、刹车等高级功能,独立和窗口看门狗定时器;24-bitSystick嘀嗒时钟的系统定时器通信接口2个支持SMBus/PMBus的I²C;2个18Mbit/s的SPI,3个支持ISO-7816、LIN、IrDA和调制解调控制的USART,1个USB2.0全速接口,1个2.0B的CAN接口调试接口串行单线调试SWD和JTAG接口安全与校验CRC计算单元、96-bit芯片唯一ID封装选项LQFP48/64/100、BGA等封装,I/O数量26/37/51/80不等兼容性架构与STM32F103x8/xB系列兼容,可直接替代大部分应用CKS32F103x8
组成与功能-功能组成与功能:时钟系统(RCC)时钟系统是芯片的“脉搏”,RCC(ResetandClockControl)模块负责整个芯片的时钟树管理,决定了芯片运行的速度与功耗平衡。组成与功能:定时器(Timers)高级控制定时器(TIM1)•功能强大,适合电机控制等复杂工业应用场景。
•支持带死区插入的6通道PWM输出,可精确控制功率器件。通用定时器(TIM2,TIM3,TIM4)•资源丰富:每个定时器拥有4个独立功能通道。
•功能灵活:支持输入捕获、输出比较、PWM生成及单脉冲模式。系统监控:看门狗定时器•独立看门狗(IWDG):独立时钟驱动,防止软件故障导致系统挂死。
•窗口看门狗(WWDG):严格监控程序执行流程,检测代码跑飞。SysTick
定时器•一个24位的向下递减系统节拍定时器
•提供精确的毫秒级延时基准,常用于嵌入式RTOS内核的时钟节拍(心跳)。组成与功能:通信接口丰富的通信接口使得CKS32F103x8能够轻松连接各种外部设备,满足多样化互联需求。USB2.0全速设备集成USB2.0全速(12Mbit/s)控制器,无需外接芯片即可方便实现USB外设通信功能。CAN2.0B控制器支持CAN2.0A和2.0B协议标准,专为汽车电子、工业自动化控制等高可靠性领域设计。多达3个USART通用同步/异步收发器,支持多种通信波特率及LIN/IrDA等扩展协议,满足高速通信需求。多达2个SPI接口串行外设接口,最高通信速率可达18Mbit/s,支持全双工数据传输,适合连接高速外设。多达2个I2C接口支持标准模式(100kHz)和快速模式(400kHz),可挂载多个从设备,适合多设备互联场景。组成与功能:模拟外设与GPIO12位ADC(模数转换器)•集成两个12位精度逐次逼近型ADC,转换时间最快可达1μs。•单ADC最多支持16个外部输入通道,满足多路信号采集需求。•支持单次、连续、扫描和间断四种转换模式,适配多种场景。•内置高精度内部温度传感器,可直接通过ADC读取芯片温度。通用输入/输出(GPIO)•提供多达80个多功能IO口,支持丰富的外设连接与扩展。•每个引脚可独立配置:输出支持推挽/开漏模式,输入支持上拉/下拉/浮空模式。•几乎所有IO口均兼容5V电平,显著增强与传统5V系统的兼容性。•所有GPIO引脚均可映射至16个外部中断线,支持上升/下降沿或双边沿触发。02封装和引脚CKS32F103x8提供多种封装形式,在体积、成本和功能之间提供灵活的平衡,能够完美适应从紧凑型设备到复杂工业控制的不同应用场景和PCB设计需求。支持的封装类型•QFN36:6x6mm|小型化封装,节省PCB空间•LQFP48:7x7mm|经典扁平四方封装,易于焊接•LQFP64:10x10mm|适中尺寸,提供丰富的I/O资源•LQFP100:14x14
mm|最大封装,集成最全功能与引脚CKS32F103x8LQFP64引脚分布图引脚是芯片与外部世界交互的通道,主要功能包括提供电源、外部时钟输入、与外设或传感器通信、复位调试和编程等。CKS32F103x8MCU的引脚都有多个功能,称做复用功能。复用功能指MCU的单个物理引脚通过软件配置和内部电路调整,可被赋予多种不同的功能。CKS32F103x8系列的引脚主要分为电源、外接晶振、I/O、调试、Boot启动和复位等类型类别引脚标识描述电源VDD,GND;VDDA,VSSA;VBAT数字电源正VDD,数字电源地GND,模拟电源正VDDA,模拟电源地VSSA,备份电源VBAT为RTC和备份寄存器提供后备供电外接晶振PC14/OSC32_INPC15/OSC32_OUTPD0/OSC_INPD1/OSC_OUTPD0/OSC_IN和PD1/OSC_OUT为外部主晶振引脚,PC14/OSC32_IN和PC15/OSC32_OUT为实时时钟晶振引脚,上述引脚不作晶振功能时,可作为GPIO引脚使用调试PA13,PA14,PA15,PB3,PB4SWD/JTAG调试和下载引脚,不做调试功能时可作为GPIO引脚或者外设使用I/OPAx,PBx,PCx,PDx,PEx,(x=0~15)GPIO,占用了CKS32芯片大部分引脚,每一个端口一般都有16个引脚,如PA端口的PA0~PA15。封装不同外设和GPIO个数会有所不同。GPIO可映射成需要的外设功能,如串口UART、SPI、I²C,USB等。Boot启动BOOT,BOOT1(PB2)芯片启动引脚,启动完成后可复为GPIO。根据BOOT0和BOOT1的电平决定启动模式。CKS32F103的BOOT0无复用功能。复位NRST复位功能,不能做为GPIO使用。03内核:ARM®Cortex®-M3Cortex-M3处理器内部架构逻辑示意图ARM®Cortex®-M3ARM®Cortex®-M3处理器是一款专为嵌入式系统设计的先进32位RISC内核,以卓越的能效比与实时处理能力著称,为各类嵌入式应用提供坚实的算力基础强劲运算与频率最高72MHz主频运行,性能达1.25DMIPS/MHz,轻松应对复杂任务。高效指令集架构搭载Thumb®-2混合指令集,完美平衡代码密度与执行性能,有效降低系统成本。硬件加速与中断响应支持单周期乘法与硬件除法加速;集成嵌套向量中断控制器(NVIC),实现低延迟响应。灵活调试接口支持同时支持SWD与JTAG标准调试接口,开发便捷,满足不同场景的调试需求。Cortex-M3内核的核心组件包括CPU核心、嵌套向量中断控制器NVIC、SysTick
系统定时器、系统控制寄存器块SCB、调试支持模块DWT和ITM,并支持低功耗模式。模块功能说明主处理器(ALU+寄存器组)执行算术逻辑操作,包含13个通用寄存器R0~R12、堆栈指针、链接寄存器、程序计数器Thumb-2指令集支持支持16/32位混合指令,兼顾性能和代码密度NVIC嵌套向量中断控制器支持多达240个外部中断,CKS32F103实际使用43个SysTick定时器24位系统定时器,用于周期中断,常用于RTOS系统节拍或延时异常/中断管理单元处理各种异常,如NMI、HardFault、BusFault、UsageFault、SVC、PendSV、SysTick等系统控制块SCB包含系统控制寄存器、异常优先级设置、向量表地址等调试支持模块DWT和ITM支持调试追踪,DataWatchpoint&Trace、InstrumentationTraceMacrocellMPU内存保护单元支持内存访问权限控制,部分MCU实现,CKS32F103未启用此功能Bus总线接口I-Bus取指、D-Bus读写数据、S-Bus系统访问低功耗控制逻辑控制Sleep、DeepSleep等省电模式堆栈管理机制支持主堆栈MSP和进程堆栈PSP两种堆栈指针优先级分组管理器将中断优先级分成抢占优先级和子优先级两部分04AMBA片上总线CKS系列MCU基于ARMCortex内核,因此采用标准的AMBA片上总线结构。AMBA是ARM公司提出的片上总线SoC规范,用于标准化处理器、外设、存储器等模块间的通信,具有高性能、低功耗、高灵活性的特点,广泛应用于嵌入式系统、移动设备、服务器等领域CKS系列MCU的AMBA片上总线主要包括高级高性能总线AHB、高级外设总线APB、轻量化高级高性能总线AHB-Lite及DMA总线片上总线:AHB与APBCKS32F103x8的内部通信芯片内部的通信主要依靠AHB和APB,并实现性能与功耗的平衡。AHB高性能总线AdvancedHigh-performanceBusAHB是Cortex-M3内核与存储器、高性能外设之间的连接总线主要挂载:CPU内核、DMA控制器、SRAM、Flash存储接口。最高时钟:72MHzAPB高级外设总线AdvancedPeripheralBus连接各类中低速外设,以降低接口逻辑复杂度和功耗。•APB2(高速):最高72MHz
连接TIM1,USART1,SPI1,ADC,GPIO等。•APB1(低速):最高36MHz
连接TIM2-4,USART2-3,USB,CAN等。片上总线:AHB-Lite与DMAAHB-Lite
总线轻量化AHB-Lite专为低复杂度系统设计,仅允许一个主设备进行内存访问,主设备通常为Cortex-M3/M4内核。同时简化了总线协议,具有更低的延迟与资源消耗,适用于中小型嵌入式系统应用。DMA总线DMA总线实现无需CPU参与的存储器间、存储器与外设间的高速数据传输,可显著减轻CPU负担并提升系统效率,尤其适合ADC数据采集、数据块搬移、SPI等需高速数据传输的场景。05CKS32F103系列微控制器的系统架构CKS32F103系列MCU基于哈佛架构与模块化设计,具备高效的指令执行能力和灵活的硬件管理机制。其架构主要由内核、4个主动单元、3个被动单元以及DMA控制器组成
主动单元:主动发起任务与操作的模块,负责管理指令流、数据流及外设通信,包括I-Code、D-Code、System和DMA总线被动单元:不主动发起操作,仅在主动单元请求时才作出响应。主要承担数据存储以及对主动单元访问请求的应答与服务,包括SRAM、Flash和AHB-to-APB桥接器05CKS32F103系列微控制器的系统架构内核(Core)高性能32位ARMCortex-M3处理器,支持Thumb®-2指令集,运算能力强。存储器(Memory)内置高速嵌入式Flash和SRAM,支持灵活的代码和数据存储方案。总线矩阵(BusMatrix)连接内核、存储器与外设的通信中枢,保障数据传输的并行性与高效性。外设(Peripherals)GPIO、USART、SPI、I2C、ADC等丰富接口,满足多样化连接与控制需求。电源管理(PMU)内置电压调压器和POR/PDR/BOR监控,确保芯片在宽电压范围内稳定运行。时钟与复位(RCC)RCC模块提供系统时钟节拍与复位管理,支持多种低功耗模式切换。核心是ARMCortex-M3处理器,通过总线矩阵连接到Flash、SRAM以及各种外设。整个系统由电源管理模块供电,并由RCC模块提供时钟和复位信号,确保各部分协调工作05CKS32F103系列微控制器的系统架构总线类型功能ICode指令总线内核读取Flash执行指令DCode数据总线内核访问Flash/SRAM的数据System系统总线访问外设寄存器DMA总线实现存储器之间、外设与存储器间高效数据传输总线矩阵协调多个总线之间的访问冲突AHB-to-APB桥APB1总线AHB桥连接系统总线至外设总线APB1/APB2APB1连接低速外设如TIM2~TIM4,UART、I²C、USB等APB2连接高速外设如GPIO、TIM1、ADC、SPI等APB2总线总线的功能掌握CKS32F103x8列MCU的功能,引脚分配和封装。什么是功能复用?有什么优点?了解CKS32F103x8系列MCU的内核和片上外设的组成和特点。了解CKS32F103x8系列MCU的结构。掌握CKS32F103系列MCU总线的名称和作用。APB1和APB2总线的最高速度是多少?给出挂载设备的名称。作业感谢THANKSCKS32F103微控制器教学课件03存储器映射第3章存储器映射核心内容存储器分类及CKS32F103的存储器芯片内部有哪些类型的存储器?它们各自的容量和用途是什么?存储器映射存储器在芯片的地址空间中是如何分布的?CPU如何找到它们?访问SRAM的方法在程序运行过程中,如何高效地对SRAM进行读写操作,处理实时数据?访问FLASH的方法如何利用FLASH实现程序代码的固化和重要数据的掉电非易失性存储?01存储器分类存储器是用于存放程序和各种数据的电子器件,通常分为随机存储器RAM和只读存储器ROMRAM:分为静态随机存储器SRAM和动态随机存储器DRAM。SRAM通电即可保持数据,不需刷新,速度快但集成度低,常用于高速缓存。DRAM需要周期性刷新才能保持数据,集成度高,常用于内存条等大容量存储。01存储器分类RAM请上网查找一款SRAM和DRAM,给出型号和存储容量易失性存储器VolatileMemoryROM属于非易失性存储器,主要用于存储固定信息或程序。常见类型包括可编程可擦除只读存储器EPROM、电可擦除可编程只读存储器EEPROM、一次性可编程存储器OTP和快闪存储器Flash,其共同特点是擦写次数有限。01存储器分类ROMFlash主要有NORFLASH和NANDFLASH两种架构CKS32F103的存储器:SRAM+FLASHCKS32F103系列MCU内置NORFlash程序存储器和SRAM数据存储器。CKS32F103x8和xB系列的Flash分别为64K和128K字节,SRAM容量为20K字节。应用中如需更大容量,可扩展外部Flash或RAM以满足需求。SRAM标准配置容量:20KBytesFLASH标准配置容量:64KBytesCKS32F103的存储器:SRAM易失性存储器
主要用途•存储全局变量和静态变量,作为程序运行的基础数据区。
•充当堆栈(Stack),保存函数调用上下文及局部变量,支持程序流跳转
•用作数据缓冲区,如UART串口的接收与发送缓冲。关键特性•掉电易失:电源切断后存储数据即刻消失,无法长期保存。
•高速读写:支持CPU零等待周期快速访问,性能显著优于Flash/ROM。
•直接寻址:支持CPU通过指针直接对物理地址进行读写操作。SRAM:FLASH:NORFlash非易失性存储器▍主要用途•用户程序代码:CPU从Flash中取指并执行,是程序运行的载体。•常量数据:程序中使用const关键字定义的数据。•关键参数:掉电后需要保存的系统配置、校准系数等。▍关键特性•掉电不丢数据:区别于SRAM最根本的特性。•操作限制:需要特定电压和流程,擦写速度相对较慢,需先擦除为全1才能写入,典型擦写寿命约10,000次。CKS32F103的存储器:FLASH请上网查找一款EPROM、EEPROM、OTP和Flash,给出型号和存储容量02存储器映射MEMORYMAPPING了解了存储器类型后,接下来学习存储器在芯片的地址空间中是如何布局的,简单来说,就是如何给每个存储资源分配一个独一无二的地址,以便CPU通过访问这些地址来操作存储器CKS32F103的内核为Cortex-M3,其地址分配需要遵循ARM的存储器分配框架。内核中,存储器是一个广义概念,不仅包括的FLASH程序存储器和SRAM数据存储器,还涵盖所有需要被内核直接访问的硬件资源,如外设寄存器和系统控制部件等Cortex-M
地址分配ARM为Cortex-M系列制定了标准的存储器分配图,规定了逻辑地址空间的范围及各功能区的划分02存储器映射-Cortex-M的地址分配和数据存储格式
02存储器映射-Cortex-M的地址分配和数据存储格式
数据存储格式Cortex-M内核配备32位数据线,数据存储器或寄存器中的数据以32位为单位存储,但由于内存中数据是按字节存放在每个地址中,所以需要指定高位或者低位数据的存放位置。大端模式:高位字节存放在低地址端,低位字节存放在高地址端;小端模式:低位字节存放在低地址端,高位字节存放在高地址端。02存储器映射-Cortex-M的地址分配和数据存储格式
低地址>高地址大端模式0x120x340x560x78小端模式0x780x560x340x12Cortex-M内核默认使用小端模式,因此CKS32F103的存储器也采用小端存储方式。注意:如SPI、USART等部分外设在与片外设备通信时,为适应外部数据格式要求,需要在软件层面进行大小端转换。若外设为大端存储模式。02存储器映射-存储器映射存储器映射:将内核的逻辑地址空间与物理存储器或外设建立对应关系的过程。存储器映射用于合理分配和访问不同类型的资源,例如Flash、SRAM,以及各种外设如GPIO、USART、定时器等。ARMCortex-M3系列MCU存储器与外设统一在4GB地址空间内顺序排列,互不冲突。存储器映射的优点:通过将外设寄存器映射到Cortex-M内核的外设区,使内核访问外设寄存器的操作与访问SRAM一样,既可简化编程,又能保证访问速度。02存储器映射-存储器重映射Cortex-M内核复位后优先访问0x00000000起始的地址空间,而实际的物理存储器如FLASH、SRAM、外部NORFlash等被分配到非零的物理地址区域。为支持从不同存储器启动,需将目标物理存储器的起始地址映射到内核复位后优先访问的0x00000000地址。存储器重映射:实现物理地址与内核默认访问地址关联的过程。02存储器映射-存储器重映射以Flash启动为例,若需从物理地址0x08000000的片上Flash启动,需通过硬件或软件配置,让内核访问0x00000000时,实际指向0x08000000的Flash空间,从而正确读取复位向量表与程序代码。存储器重映射的本质:实现物理地址与内核默认逻辑访问地址的动态关联,不改变物理存储器的实际地址。而是通过硬件电路或寄存器配置,让内核对逻辑地址如0x00000000的访问,被路由到其它目标物理地址。CKS32F103的物理地址映射03CKS32F103采用Cortex-M3内核,其地址设计既遵循Cortex-M3的预定义地址框架,又可结合自身硬件资源进行扩展与裁剪Block0:Code代码区0x00000000-0x07FFFFFF大小:128MB主要用于存放程序代码,可灵活映射到内部
Flash、系统存储器或
SRAM,是系统启动和程序运行的基础。Block1:内部SRAM0x20000000-0x20004FFF大小:20KB处理器的高速读写存储器,用于存储程序运行时的变量、堆栈和临时数据,确保系统的快速响应能力。Block3:片上外设0x40000000-0x4000FFFF大小:1MB片上外设寄存器的集中映射区,包含GPIO、UART、定时器等外设的控制与状态寄存器,实现对硬件的直接操作。Block3:核心外设0xE0000000-0xE00FFFFF大小:1MB包含Cortex-M3内核自带的
NVIC、SysTick、调试组件等关键资源,负责中断管理、系统时钟和调试支持。代码区(CodeArea)0x00000000•CPU启动后首先访问的区域,存放中断向量表和程序代码。•通过BOOT引脚配置,可映射到内部Flash、系统存储器或内部SRAM。内部SRAM区(InternalArea)0x20000000•20KB高速SRAM的起始地址,全局变量、静态变量和堆栈均位于此。•支持位带操作,能方便快捷地对寄存器中的单个比特位进行控制。外设区(PeripheralArea)0x40000000•所有片上外设(GPIO,UART,SPI,I2C等)的控制与数据寄存器均映射到该区域。•通过读写特定地址,即可直接配置外设参数并实现数据交换。CKS32F103的物理地址映射:核心区域重点关注三个核心区域。代码区是程序的入口。内部SRAM区是程序运行的舞台,所有动态数据都在SRAM区。外设区则是控制芯片外部世界的窗口,通过操作外设区的寄存器,就能控制GPIO、串口等外设。CKS32F103的物理地址映射:外设地址外设地址:指的是外设寄存器的地址。片上外设包括CRC、USART1、Flash接口等,每个外设都分配了独立的地址空间。如EXTI的地址范围0x40010400~0x400103FF,USART1的地址范围0x40003800~0x40013BFF等外设的基地址:每个外设的起始地址。如EXTI的中断屏蔽寄存器EXTI_IMR的地址为0x40010400,与EXTI的基地址相同,EXTI的其它寄存器地址是基于基地址的偏移。访问外设操作与访问存储器相同,对外设的访问也是对寄存器的读写操作。CKS32F103的物理地址映射:SRAM的别名区别名:通过多个不同地址映射到同一物理存储器或资源的技术,以满足特定的访问需求。不同的地址指向同一个物理位置,每个地址都可以看作该物理区域的别名。在CKS32F103中,SRAM别名区是将片上SRAM的地址映射到不同的地址范围,使得内核或外设可通过不同的路径访问同一片物理SRAM。优点:提供对内存的额外控制、提高访问性能,或支持特定硬件设计需求片上SRAM默认映射在0x20000000~0x3FFFFFFF范围内。SRAM的低1MB空间定义为位带区,支持位带操作,位带区对应片上SRAM的物理地址范围为0x20000000~0x200FFFFF。CKS32F103的物理地址映射:SRAM的别名区SRAM的别名区地址范围为0x22000000~0x23FFFFFF,共32MB。别名区的每个地址对应位带区中某一位的操作,从而可实现对单个位的读写,而不影响其他位。这种位带映射和别名机制使得对SRAM的位操作变得简单、高效,同时保持原子性,避免了读-改-写操作中的潜在冲突。访问SRAM让变量被编译器分配到SRAM的地址//假设变量已经被编译器分配到SRAM(如0x20000010地址)uint32_tsram_var=0;//写操作:向SRAM写入数据sram_var=0x5A5A5A5A;//读操作:从SRAM读取数据uint32_tread_val=sram_var;04理论知识了解清楚后,进入实践环节。首先,我们来看看如何访问SRAM。访问SRAM是嵌入式编程中最常见的操作,CKS32F103C8提供了多种灵活高效的方式直接指针访问
是最基础、最直接的方法,利用C语言的指针特性,直接对SRAM地址进行读写。这种方式底层高效,也常用于底层驱动开发中对硬件寄存器或特定内存区域的操作。volatile避免编译器优化volatileuint32_t*sram_ptr=(volatileuint32_t*)0x20000000;//指向SRAM起始地址的指针//写操作:向0x20000000地址写入32位数据*sram_ptr=0x12345678;//读操作:从0x20000000地址读取数据uint32_tdata=*sram_ptr;访问SRAM04访问FLASH05Flash的“先擦除后写入”特性,操作要比SRAM复杂一些,并且有严格的流程和保护机制名称功能Flash接口寄存器用来下发读/擦写指令、配置参数、查询操作结果等,是内核/程序唯一能直接操作Flash的入口。
FPEC模块只负责Flash的擦除和编程操作,接收接口寄存器的指令,内部生成高电压,按规则完成扇区擦除/字节编程。FLITF模块只负责Flash的读操作,接收内核的读请求,通过硬件通道从Flash阵列中读取数据,返回给内核或通过接口寄存器反馈读状态。访问FLASH-Flash接口相关模块05访问FLASH-Flash阵列与接口寄存器05片上Flash存储阵列:由主存储块和信息块组成。主存储块存储用户程序和常量数据,芯片启动时从主存储块加载和执行程序代码。
模块名称地址大小(字节)主存储块页00x08000000–0x080003FF1K页10x08000400–0x080007FF1K页20x08000800–0x08000BFF1K页30x08000C00–0x08000FFF1K页40x08001000–0x080013FF1K……
页1270x0801FC00–0x0801FFFF1K信息块系统存储器0x1FFFF000–0x1FFFF7FF2K选项字节0x1FFFF800–0x1FFFF80F16Flash阵列结构Flash接口寄存器:控制Flash存储阵列的读写操作,由FLITF与FPEC模块对外提供、且可由内核直接访问的硬件寄存器集合寄存器名称偏移地址读写功能访问控制寄存器:FLASH_ACR0x00R/W设置Flash访问延时、预取缓冲、加速模式等主存储区解锁密钥寄存器:FLASH_KEYR0x04W写入两组密钥以解锁FLASH_CR寄存器选项字节解锁密钥寄存器:FLASH_OPTKEYR0x08W写入两组密钥以解锁FLASH_OPTCR寄存器状态寄存器:FLASH_SR0x0CR/W反映Flash操作状态,忙BSY、编程错误PGERR、写保护错误WRPRTERR、操作完成EOP等控制寄存器:FLASH_CR0x10R/W控制Flash操作,包括页擦除PER、整片擦除MER、编程PG、选项字节编程OPTPG、锁定LOCK等地址寄存器:FLASH_AR0x14W存放要擦除的页地址(必须为页起始地址)选项字节寄存器:FLASH_OBR0x1CR读取选项字节内容,包括读保护、IWDG/SW、复位模式等,出厂时未保护状态写保护寄存器:FLASH_WRPR0x20R反映各页写保护状态,为1表示该页写保护,出厂时未保护状态访问FLASH-Flash控制模块05Flash接口FLITF:内核与Flash存储器之间的接口层,负责协调数据传输与访问时序。由于Flash的固有访问速度通常低于CPU主频,直接访问易导致数据错误。为此,FLITF通过配置等待状态,在CPU访问Flash时自动插入必要的延迟周期,如当CPU主频高于Flash最大访问频率时,需设置1~3个等待状态,确保数据读取的准确性。FLITF集成时序匹配、地址译码、数据缓冲与传输功能。根据CPU主频与Flash速度自动调节访问延迟,将CPU提供的地址转换为Flash可识别的地址信号,并在两者间进行数据缓存与交互以提升访问效率。借助这些机制,CPU能够高效、稳定地从Flash中读取指令和数据,是CPU与Flash间的桥梁访问FLASH-FPEC控制模块05FPEC:负责Flash编程与擦除操作的控制模块。FPEC采用独立的固定8kHz内部时钟,通常由LSI分频获得,与系统主频完全无关。这一设计的优势在于能确保编程和擦除时序始终保持一致,从而在系统主频变化时仍能稳定可靠地完成写操作。由于FLASH具有先擦后写的特性,其操作需严格的时序控制与保护机制,而FPEC正是负责实现这些底层时序控制与安全保护逻辑的核心模块。访问FLASH-FPEC控制模块05FPEC具有解锁与写保护、编程管理、擦除管理和状态监控功能。解锁与写保护功能旨在防止误操作,保障写入和擦除的安全性。编程管理将CPU发出的写命令转换为FLASH阵列可执行的操作序列。擦除管理执行整片或扇区擦除操作,严格遵循FLASH先擦后写的特性。状态监控指通过FLASH_SR等寄存器向内核反馈操作完成情况或错误状态。访问FLASH-读取指令和数据流程内核读取Flash指令或数据的流程与SRAM类似。发起访问请求内核通过程序计数器PC或数据访问指令生成目标地址。若该地址处于Flash映射空间,总线矩阵会将访问请求转发至Flash接口FLITF。预取缓冲区判断若请求数据已在预取缓冲区(命中),则直接返回内核,响应速度接近SRAM。若未命中,Flash接口会从Flash阵列中一次性读取8字节数据块,写入预取缓冲区后,再将所需数据返回内核。判断等待状态插入若CPU主频高于Flash的最大访问速度,数据返回过程中会自动插入等待周期,确保数据传输正确。05数据交付与处理若是取指操作,返回数据被送入Cortex-M3的指令流水线。读取数据的话,返回数据直接写入目标寄存器或内存单元,供后续指令使用。设置2等待状态,启用预取缓冲区和半周期模式的代码#defineFLASH_ACR(*(volatileuint32_t*)0x40022000)voidFlash_Config(void){//2WS+HalfCycleAccess+PrefetchBufferEnableFLASH_ACR=((0x2<<0)//LATENCY=2WS|(1<<3)//HLFCYA=1|(1<<4)//PRFTBE=1);}访问FLASH-读取指令和数据流程0501解锁(Unlock)复位后Flash处于锁定状态,防止误操作。须先解锁才能进行擦除和编程,解除硬件层面的写保护限制。02擦除(Erase)在写入新数据前,必须将目标区域擦除。擦除的最小单位是“页(Page)”,CKS32F103C8的Flash页大小为1KB,不可对更小的单位单独操作。03编程(Program)将数据写入擦除后的Flash区域。写入的最小单位通常是半字(16-bit),且只能从“1”改写为“0”,这也是写入前必须擦除的原因。04锁定(Lock)操作完成后,必须重新锁定Flash,恢复写保护机制。这一步至关重要,能有效防止因意外操作导致的数据损坏或丢失。Flash的写操作必须遵循解锁、擦除、编程、锁定四步流程。首先要解锁Flash,解除写保护。然后擦除要写入的区域,注意擦除的最小单位是页。擦除完成后,才能进行编程,也就是写入数据。最后,一定要记得重新锁定Flash,以防止意外的写入操作。访问FLASH-
写操作流程05访问FLASH-
代码示例05基于标准库的代码#include"cs32f103.h"//CKS32MCU的头文件//FLASH控制寄存器FLASH_CR的“锁定位(LOCK)”和“忙位(BSY)”的位掩码定义#defineFLASH_CR_LOCK((uint16_t)0x0080)/*!<Lock*/#defineFLASH_SR_BSY((uint8_t)0x01)/*!<Busy*/#defineFLASH_BASE_ADDRESS0x08000000//Flash起始地址#defineFLASH_KEY10x45670123//Flash解锁密钥1#defineFLASH_KEY20xCDEF89AB//Flash解锁密钥2//解锁voidFlash_Unlock(void){//程序先设置FLASH_CR_LOCK=0x80,
位掩码位与操作,检查FLASH->CR中的LOCK位状态if(FLASH->CR&FLASH_CR_LOCK){//写入解锁密钥FLASH->KEYR=FLASH_KEY1;FLASH->KEYR=FLASH_KEY2;}}//上锁voidFlash_Lock(void){FLASH->CR|=FLASH_CR_LOCK;//锁定Flash}访问FLASH-
写操作流程05代码示例:基于标准库的代码//页/扇区擦除voidFlash_Erase_Sector(uint32_tsectorAddress){//解锁FlashFlash_Unlock();//设置页/扇区擦除位FLASH->CR|=FLASH_CR_PER;//设置待擦除页/扇区的地址FLASH->AR=sectorAddress;//启动擦除FLASH->CR|=FLASH_CR_STRT;//等待擦除完成(通过检查BSY标志)while(FLASH->SR&FLASH_SR_BSY);//清除擦除位,使用位掩码按位与和或操作将某位清0,将PER位设置为0FLASH->CR&=~FLASH_CR_PER;//锁定FlashFlash_Lock();}访问FLASH-
写操作流程05代码示例:基于标准库的代码//编程voidFlash_Write_Word(uint32_taddress,uint32_tdata){//解锁FlashFlash_Unlock();//设置编程位,使用位掩码按位或操作将某位置1,将PG位设置为1FLASH->CR|=FLASH_CR_PG;////写入数据*(uint32_t*)address=data;//等待写入完成while(FLASH->SR&FLASH_SR_BSY);//检查写入是否成功if(FLASH->SR&FLASH_SR_EOP){//清除完成标志FLASH->SR|=FLASH_SR_EOP;}//禁用编程位FLASH->CR&=~FLASH_CR_PG;//锁定FlashFlash_Lock();}访问FLASH-
写操作流程05代码示例:基于标准库的代码//主程序intmain(void){uint32_tdata=0x12345678;//要写入的数据uint32_taddress=FLASH_BASE_ADDRESS+0x1000;//要写入的地址//擦除页/扇区
Flash_Erase_Sector(address);//写入数据
Flash_Write_Word(address,data);while(1){//主循环}}访问FLASH-
写操作流程05代码示例:基于标准库的代码位掩码:是一个用于操作特定位的二进制值,其中1的位置对应需要操作的目标位,0的位置对应需要保留的位。可通过按位与、或、非及异或来检查、设置、清除或翻转数据中的特定位。代码中FLASH_CR_LOCK和FLASH_SR_BSY都是位掩码,通常用于嵌入式系统中的寄存器操作和标志位管理。检查、设置和清除某位状态如上述程序中的说明。位掩码按位异或操作可翻转某位的状态,如切换PG位状态的程序如下。FLASH->CR^=FLASH_CR_PG;ST提供的HAL库已经封装了底层复杂的寄存器操作逻辑,让开发者仅需简单几步API调用,即可实现安全、规范的Flash读写控制。只需要调用HAL_FLASH_Unlock、HAL_FLASHEx_Erase、HAL_FLASH_Program和HAL_FLASH_Lock等函数,就可以安全、方便地完成Flash的读写代码示例:写入一个32位数据到指定地址HAL_StatusTypeDef
Flash_Write(uint32_taddr,uint32_tdata){
HAL_StatusTypeDefstatus;//定义返回状态变量
FLASH_EraseInitTypeDef
EraseInit;//擦除配置结构体
status=HAL_FLASH_Unlock();//1.解锁Flash
EraseInit.TypeErase=FLASH_TYPEERASE_PAGES;//2.擦除目标页
EraseInit.PageAddress=addr;EraseInit.NbPages=1;
status=HAL_FLASHEx_Erase(&EraseInit,NULL);
status=HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD,addr,data);//3.写入数据
HAL_FLASH_Lock();//4.操作完成,锁定Flash
returnstatus;
}访问FLASH-
使用HAL库进行Flash读写05裸机编程(寄存器直接操作):不使用任何官方库,直接读写芯片硬件寄存器控制单片机。标准库(StdPeriph_Lib,老式库):ST官方早期推出的固件库,针对STM32F103等老系列优化,面向过程封装。HAL库(HardwareAbstractionLayer,现代主流库):ST官方新一代主推库,硬件抽象层,跨全系列STM32芯片统一API。CKS32F103可直接采用或用CKS的库和HAL库程序开发最主流的方式维度裸机编程(寄存器)标准库(StdLib)HAL库抽象层级最低(硬件直接操作)中等(轻量封装)最高(硬件抽象层)开发效率极低中等极高(+CubeMX)执行效率最高高一般(够用)代码体积最小小较大移植性极差一般(同系列)极好(全系列)学习难度最难中等最简单官方支持无停止更新全力维护、主推主流度小众(学习用)经典(老项目)主流(现代开发)程序开发最主流的方式CKS32F103C8存储器系统的核心参数:内核ARM®Cortex®-M3最高主频72MHzFlash容量64KBSRAM容量20KBFlash地址范围0x08000000~0x0800FFFFSRAM地址范围0x20000000~0x20004FFFFlash页大小1KBFlash擦写寿命约10,000次内核、主频、Flash和SRAM的容量与地址范围,以及Flash的页大小和擦写寿命。第3章作业请说明存储器分类和特点。Cortex-M3内核的数据线、地址线和寻址空间都是多少?请说明CKS32F103x8和CKS32F103xB片上FLASH和SRAM的容量大小。请说明存储器映射的定义以及目的。了解读写SRAM的过程。请说明FPEC和FLITF的名称及功能。请编写读FLASH地址空间0x08000100的程序,设置1个等待状态,启用预取缓冲区和半周期模式。请说明编程FLASH的步骤,并理解3.4.4节的代码。查找资料确定寄存器FLASH_CR的位MER的位置,用位掩码定义MER位,请编写程序实现检查、设置、清除或翻转该MER位的功能。说明CKS32F103x8的SPI1和I²C1接口的物理地址区间。请编写程序在Flash的0x08000000地址开始连续写入100个数据。THANKYOU感谢观看CKS32F103C8存储器系统技术分享|2026CKS32F103微控制器教学课件04电源和时钟控制CKS32F103基于高性能ARM®Cortex®-M332位RISC内核,最高工作频率可达72MHz。其高度集成的片上系统架构由六大核心模块协同构建:内核(Core)、存储器(Memory)、总线矩阵(BusMatrix)、电源管理(PMU)、时钟与复位(RCC)、外设(Peripherals)01电源控制与管理(PWR)稳定可靠的电源是MCU正常工作的基础,同时,高效的电源管理也是实现低功耗设计的关键。保持电源电压在规定范围内,否则逻辑电路可能出错,如电压过低可能导致数据损坏或系统死机等。其次要进行功耗管理,不同应用场景下的功耗需求不同,MCU需要根据应用情况调整功耗节省能源。详细了解CKS32F103的电源控制与管理模块;深入解析电源系统、电压监控机制及相关关键寄存器的配置与应用场景。01电源控制与管理(PWR)CKS32F103配有专门的电源管理模块,用于监控电源并管理设备的运行模式,确保系统正常运行的同时尽量降低功耗。电源管理模块的功能类别功能描述工作模式运行模式Run正常全速运行,所有外设和内核都工作睡眠模式Sleep内核停止工作,部分外设暂停工作,低功耗,电流约1.2~3mA停止模式Stop主时钟和PLL停止,SRAM/寄存器数据保持,超低功耗,电流约20~50μA待机模式Standby时钟和外设关闭,仅保留唤醒逻辑和备份域,最低功耗,电流约2~5μA电压监控可编程电压监测器PVD检测VDD电压是否低于设定阈值,可触发中断或复位,防止欠压运行低功耗唤醒WKUP引脚唤醒待机模式下可通过专用唤醒引脚WKUP唤醒系统RTC唤醒通过实时时钟中断唤醒低功耗模式外设事件唤醒某些外设事件如USART、EXTI等,可唤醒MCU备份域控制备份寄存器保持停止/待机模式下保持关键数据如系统参数、时间戳等RTC供电切换RTC可在主电源掉电后继续由VBAT供电功耗优化电压调节器控制停止模式可选择是否保持电压调节器工作,以平衡功耗和唤醒速度关闭未使用外设通过R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经纬布局人工智能
- AI在金融事务中的应用
- 人教版英语四年级下册新教材上课课件Unit 2
- 医院住院部工作会议制度
- 员工奖惩管理办法
- 2026电网编制面试题目及答案
- 新教材人教版八年级数学下学期期末真题重组卷
- 工业机器人维护服务合同协议(2026年工业自动化设备)
- 公路交通事故应急通讯保障手册 标准版
- 牛奶标准化调配工艺手册
- 2025年肿瘤科规培护士试卷四及答案
- 切口感染目标监测表填写指南
- 工程项目EPC总承包管理办法
- 2026年台州市永宁产业投资集团有限公司公开招聘国企编制工作人员的备考题库及一套参考答案详解
- 2023年湖州市直遴选考试真题汇编含答案解析(夺冠)
- T-CACM 1659-2025 肛瘘中西医结合诊疗指南
- 《电池梯次利用与回收处理》教学大纲
- 驾驶员交通法律培训知识课件
- 打桩合同(标准版)
- DB43∕T 1358-2017 地质灾害治理工程质量验收规范
- 广州网约车司机从业资格考试题库及答案
评论
0/150
提交评论