STM32F107内核架构.ppt

上传人:san****019 文档编号:15675479 上传时间:2020-08-29 格式:PPT 页数:45 大小:2.39MB
收藏 版权申诉 举报 下载
STM32F107内核架构.ppt_第1页
第1页 / 共45页
STM32F107内核架构.ppt_第2页
第2页 / 共45页
STM32F107内核架构.ppt_第3页
第3页 / 共45页
资源描述:

《STM32F107内核架构.ppt》由会员分享,可在线阅读,更多相关《STM32F107内核架构.ppt(45页珍藏版)》请在装配图网上搜索。

1、第 2 章,STM32F107内核架构,- 2 -,本章目标,理解CM3内核与STM32F107架构关系 理解STM32F107的存储器映像 了解位带别名区地址计算方法 理解电源管理模式 理解CM3的复位序列 掌握STM32F107启动配置方法 理解STM32F107的时钟系统 掌握时钟初始化方法,- 3 -,内核架构,STM32F107是一个ARM单片机,内嵌有一个Cortex-M3(简称CM3)处理器作为核心。 CM3的三条总线通过总线矩阵与STM32F107主要部件及外设相连。 STM32F107的架构包括CM3的内核架构和除内核以外的其他架构。,- 4 -,内核架构-CM3内核架构,C

2、M3内部数据路径、寄存器和存储器接口都是32位的。它具有以下特点: CM3采用了哈佛结构,拥有独立的指令总线和数据总线。两条总线的寻址空间总共为4GB。 CM3内核提供一个可选的MPU(存储器保护单元)以应对比较复杂的应用。 CM3内部还有一些调试组件,用于硬件水平上支持调试操作。同时,还有另外一些可选的组件。,- 5 -,内核架构-CM3内核架构,NVIC(向量中断控制器) 寄存器组 三级流水线 可选的MPU 调试和跟踪 I-Code总线 D-Code总线 系统总线,- 6 -,内核架构-STM32F107架构,DMA总线 总线矩阵 AHB/APB桥,- 7 -,存储器组织,CM3支持4GB

3、的存储空间,用来映射程序存储器、数据存储器、外设寄存器。 CM3将这4GB存储空间,划分为6部分,- 8 -,存储器组织,在最高地址的内核外设区,映射CM3内核的外设。 这些外设均使用固定地址。 通过把基础外设的地址定死,至少在内核水平上,为应用程序的移植扫清了障碍。,- 9 -,存储器映像,STM32F107配备256Kbytes Flash存储器和64Kbytes SRAM存储器。,- 10 -,存储器映像 -位带操作,CM3的存储器系统支持位带(bit-band)操作。通过它可以对单一比特进行读写操作。在CM3中,共有两个区域可以实现位带,- 11 -,存储器映像 -位带计算方法,每一个

4、比特位都被映射到了位带别名区,膨胀成为一个32位的字。 在位带别名区写入一个字,相当于对位带区的相应比特进行写入。,位带别名区基地址+位带区偏移量*32+比特位序号*4=位带别名区地址,- 12 -,存储器映像 -位带计算方法,下述代码用于实现任务描述2.D.1,展现了如何把寄存器RCC_CR的PLLON24位,映射到别名区。 /* 定义外设位带区的基地址*/ #define PERIPH_BASE (u32)0 x40000000) /* 定义外设位带别名区基地址 */ #define PERIPH_BB_BASE (u32)0 x42000000) /* - 定义RCC 寄存器偏移量 -

5、*/ #define RCC_OFFSET (RCC_BASE - PERIPH_BASE) /* - 定义CR 寄存器偏移量 -*/ #define CR_OFFSET (RCC_OFFSET + 0 x00) /*定义PLLON bit位置*/ #define PLLON_BitNumber 0 x18 /* 定义PLLON bit的位带别名区地址 */ #define CR_PLLON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32 + (PLLON_BitNumber * 4),- 13 -,存储器映像 -位带计算方法,对于SRAM内存区,位带别名区的映射,-

6、 14 -,寄存器组 -通用寄存器,CM3处理器拥有R0-R15的通用寄存器组和一些特殊功能寄存器。 特殊功能寄存器有预定义的功能,必须通过专用的指令来访问。,- 15 -,堆栈,堆栈是一种寄存器的使用模型。它由一块连续的内存和一个堆栈指针组成,用于实现“后进先出”的缓冲区。 其典型的应用是在发生中断时,执行中断处理程序前后保护和恢复现场数据。对于具体的堆栈形式,既可以“向上生长”也可以“向下生长”。,- 16 -,堆栈 -CM3的堆栈,CM3使用的是“向下生长”的堆栈模型。 初始化堆栈时,堆栈指针SP指向的第一个地址,叫做栈顶地址。以堆栈栈顶地址为0 x2000_8000为例,- 17 -,

7、堆栈 -双堆栈机制,在CM3中,堆栈分为两个:主堆栈(MSP)和进程堆栈(PSP)。 两个堆栈分别存放在内存中,是两个不同的栈顶地址,但在同一时刻只能使用其中一个,不能同时使用。,- 18 -,电源管理,电源部分是维持整个STM32F107正常工作的重要能源供给,STM32F107正常工作需要电源的供给,STM32F107的工作电压(VDD)为2.03.6V。 在实际电路设计中常用3.3V作为STM32F107的供电电压。,- 19 -,电源管理 -电源,STM32F107电源由供电电源即主电源VDD、备用电源和参考电压三部分构成。,- 20 -,电源管理 -备份区域,如果有电池或其他电源连接

8、到VBAT脚上,当VDD断电时,STM32F107可以自动保存备份区域的内容和维持RTC(实时时钟)的运行。 备份寄存器(BKP) 备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。它们处在备份域里 侵入检测 当TAMPER引脚上的信号从“0”变成“1”或者从“1”变成“0” ,会产生一个侵入检测事件。,- 21 -,电源管理 -备份区域,RTC校准 为方便测量,RTC时钟可以经64分频输出到侵入检测引脚TAMPER上。通过设置RTC校验寄存器(BKP_RTCCR)的CCO位来开启这一功能。此时钟可以最多减慢121ppm(part per million)。,- 22

9、-,电源管理 -电源管理器 PWR,电源管理器(PWR)负责电源的管理,主要有上电复位、掉电复位和电压监测器三部分。,- 23 -,电源管理 -电源管理器 PWR,上电复位(POR)和掉电复位(PDR) 当供电电压达到2V时系统即能正常工作。当VDD/VDDA低于指定的限位电压VPOR/VPDR时,系统保持为复位状态,而无需外部复位电路。,- 24 -,电源管理 -电源管理器 PWR,可编程的电压监测器(PVD) 可以通过库函数void PWR_PVDLevelConfig( )进行设置。,- 25 -,电源管理 -电源管理器 PWR,【示例2- 1】 设置PVD电压 /* 设置 PVD 探测

10、值0为 2.5V */ PWR_PVDLevelConfig(PWR_PVDLevel_2V5);,- 26 -,电源管理 -低功耗模式,在系统或电源复位以后,单片机处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,- 27 -,复位和启动配置,复位是STM32F107启动的第一步,通过复位,MCU各寄存器恢复到初始状态。只有经过初始化后,才可以开始工作。 复位并非只有上电才会产生,产生复位的方法和原因也有很多。,- 28 -,复位和启动配置 -CM3的复位机制,复位信号,- 29 -,复位和启动配置 -CM3的复位机制,复位序列 在离开复位状态后,CM3做的第一件事就是

11、读取下列两个32位整数的值: 从地址0 x0000_0000处取出MSP的初始值。 从地址0 x0000_0004处取出PC的初始值。,- 30 -,复位和启动配置 -CM3的复位机制,注意,这与传统的ARM架构不同。在CM3中,在0地址处提供MSP的初始值,然后紧跟着就是向量表。 向量表中的数值是32位的地址,而不是跳转指令。 向量表的第一个条目指向复位后应执行的第一条指令。,- 31 -,复位和启动配置 -RCC,具体到STM32F107单片机,它有三种复位:系统复位、电源复位和后备域复位。 STM32F107复位和时钟控制相关的库函数,都在stm32f10 x_rcc.c中,相关宏定义在

12、stm32f10 x_rcc.h中。 RCC有多种用途,包括时钟设置,外设复位和时钟管理。,- 32 -,复位和启动配置 -RCC,系统复位 系统复位将复位所有寄存器(除时钟控制寄存器CSR中的复位标志和备份区域中的寄存器以外)为它们的默认数值。 电源复位 当以下事件中之一发生时,产生电源复位: 上电/掉电复位(POR/PDR复位)。 从待机模式中返回。,- 33 -,复位和启动配置 -RCC,备份域复位 备份区域拥有两个专门的复位条件,它们只影响备份区域。当以下事件中之一发生时,产生备份区域复位。 软件复位:备份区域复位可由设置备份域控制寄存器(RCC_BDCR)中的BDRST位产生。 在V

13、DD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。,- 34 -,复位和启动配置 -STM32F107的启动配置,在STM32F107里可以通过BOOT1:0引脚选择三种不同启动模式。,- 35 -,复位和启动配置 -STM32F107的启动配置,内嵌的自举程序 内嵌的自举程序存放在系统存储区,可以作为程序引导或其他特殊用途。由ST在生产线上写入,用于通过可用的串行接口对闪存存储器进行重新编程。,- 36 -,时钟,STM32F107共有五个时钟源,分别为HSI、LSI、HSE、LSE和PLL。它们用来给核心以及外设提供运行的“步调”,以及协调互相运行的“步伐”。,- 3

14、7 -,时钟 -时钟概述,按照速度分为高速和低速 高速时钟共有三个,分别为: HSE(高速外部)振荡器时钟 HSI(高速内部)振荡器时钟 PLL(锁相环倍频)时钟 低速时钟共有两个,分别为: 40kHz低速内部RC(LSI RC)振荡器 32.768kHz低速外部晶体(LSE晶体),- 38 -,时钟 -时钟概述,按照位置分为外部和内部 内部时钟源共有三个 ,分别为: HSI(高速内部)振荡器时钟 40kHz低速内部RC(LSI RC)振荡器 PLL(锁相环倍频)时钟 芯片外部的时钟源有两个 ,分别为: HSE(高速外部)振荡器时钟 32.768kHz低速外部晶体(LSE晶体),- 39 -,

15、时钟 -时钟概述,- 40 -,时钟 -系统时钟(SYSCLK),系统时钟作为整个系统的时间基准,有重要的作用,其特点如下: 选择系统复位后,HSI振荡器被选为系统时钟。 只有当目标时钟源准备就绪了,从允许一个时钟源到另一个时钟源的切换。 在时钟控制寄存器(RCC_CR)里的状态位指示哪个时钟已经准备好了,哪个时钟目前被用作系统时钟。,- 41 -,时钟 -RTC时钟,通过设置备份域控制寄存器(RCC_BDCR)里的,RTCCLK时钟源可以由HSE/128、LSE或LSI时钟提供。 除非备份域复位,此选择不能被改变。,- 42 -,时钟 -时钟输出,微控制器允许输出时钟信号到外部MCO引脚。相

16、应的GPIO端口寄存器必须被配置为相应功能。以下8个时钟信号可被选作MCO时钟: SYSCLK HSI HSE 除2的PLL时钟 PLL2时钟 PLL3时钟除以2 XT1外部325MHz振荡器(用于以太网) PLL3时钟(用于以太网),- 43 -,小结,STM32F107是一个ARM单片机,内嵌有一个Cortex-M3处理器作为核心。CM3的三条总线通过总线矩阵与STM32F107主要部件及外设相连 CM3支持4GB的存储空间,用来映射程序存储器、数据存储器、寄存器和输入输出端口 CM3的存储器系统支持位带(bit-band)操作,通过它可以对单一比特进行读写操作。在CM3中,共有两个区域可

17、以实现位带 CM3处理器拥有R0-R15的通用寄存器组和一些特殊功能寄存器。特殊功能寄存器由于定义的功能,而且必须通过专用的指令来访问 CM3使用的是“向下生长”的堆栈模型,即堆栈指针SP指向最后一个被压入堆栈的32位数值,- 44 -,小结,STM32F107的工作电压(VDD)为2.03.6V,通过内置的电压调节器提供所需的1.8V电源 在CM3中,在0地址处提供MSP的初始值,然后紧跟着就是向量表,向量表中的数值是32位的地址,而不是跳转指令。向量表的第一个条目指向复位后应执行的第一条指令 在STM32F107内部有三种不同的时钟源可被用来驱动系统时钟(SYSCLK):HSI振荡器时钟、HSE振荡器时钟和PLL时钟,- 45 -,谢谢!,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!