第3章STM32F10x最小系统1_第1页
第3章STM32F10x最小系统1_第2页
第3章STM32F10x最小系统1_第3页
第3章STM32F10x最小系统1_第4页
第3章STM32F10x最小系统1_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3章章 STM32F10 x“最小系统最小系统”(1)3.1“最小系统”概述“最小系统”的概念,应该与微电子、电路集成和计算机等技术的发展历史密切相关的概念;对于当前的大多数微控制器而言,“最小系统”称为嵌入式微控制器“核心模块”似乎更贴切一些;嵌入式微控制器的核心模块,主要指硬件层中的嵌入嵌入式微式微处理器处理器存储器存储器(SDRAM、ROM、Flash等等)通用通用I/O接口(用于外接设备)接口(用于外接设备)控制电路控制电路:电源电路电源电路时钟电路时钟电路其他外围电路(最小系统基本功能正常工作所必需,如调试系统,其他外围电路(最小系统基本功能正常工作所必需,如调试系统,USART

2、等)等)甚至,也可以包括支持上述硬件正常工作的必要的系统底层软件。3.1 “最小系统最小系统”概述(续)概述(续) ARM的Cortex-M3处理器是最新一代的32位嵌入式ARM RISC处理器,提供额外的代码效率,它为实现微控制器提供了低成本的平台、缩减的管脚数目、较低的系统功耗,同时提供卓越的计算性能和先进的中断系统。 STM32F10 xx系列系列拥有内置的拥有内置的ARM Cortex-M3核心核心。STM32F10 x系列产品硬件配置STM32F10 x系列产品编号STM32F10 x-*容量产品(术语)STM32F103 功能框图(1)STM32F103 功能框图(2)最小系统的概

3、念最小系统的概念什么是最小系统?什么是最小系统? 在尽可能减少上层应用的情况下,能够使系在尽可能减少上层应用的情况下,能够使系统运行的最小化模块配置。统运行的最小化模块配置。从概念来看,最小系统”应该在微控制器发展初始阶段提出;随着嵌入式系统的不断发展,最小系统”的概念似乎已经与科技飞速发展的现实应用有所不符; 这里,提出/重温这一概念,主要是从学习的角度出发。基于基于MCS-51嵌入式最小系统:嵌入式最小系统: 电源,晶振,复位电路(电源,晶振,复位电路(+调试系统?)调试系统?)以以Cortex-M3处理器处理器为例,为例,嵌入式最小系统的构成模块?嵌入式最小系统的构成模块? 基于基于Co

4、rtex-M3的最小系统的最小系统 最小系统的组成:最小系统的组成: 电源、时钟、复位电路、存储系统、调试系统。 时钟模块时钟模块通常经ARM内部锁相环进行相应的倍频,以提供系统各模块运行所需的时钟频率输入 Flash存储模块存储模块存放启动代码、操作系统和用户应用程序代码 SDRAM模块模块为系统运行提供动态存储空间,是系统代码运行的主要区域 JTAG模块模块实现对程序代码的下载和调试 UART模块模块实现对调试信息的终端显示 复位模块复位模块实现对系统的复位其中:Cortex-M3微处理器微处理器、FLASH和和SDRAM模块是嵌入式最小系统的核心部分模块是嵌入式最小系统的核心部分。MPU

5、(微处理器单元)FlashSRAMTimerResetJTAGUARTPower基于基于Cortex-M3的的STM32F10 x最小系统最小系统最小系统之于学习的重要性最小系统之于学习的重要性 学习、理解的起点学习、理解的起点对于基于Cortex-M3的微控制器来说,微处理器体系架构相同并且具有通用的外围电路基于Cortex-M3内核的嵌入式(最小)系统的设计原则及方法基本相同最小系统是嵌入式系统最基本、最核心的部分嵌入式最小系统在整个系统的开发中具有着至关重要的作用 深入深入学习的基础学习的基础基于最小系统的扩展微处理器MPU(Micro Processing Unit)与众多外设的连接方

6、式以及应用代码的开发最小系统的学习内容最小系统的学习内容3.1 最小系统概述3.23.2 电源及控制(含复位电源及控制(含复位电路)电路)3.2.13.2.1 供电方案供电方案3.2.23.2.2 供电监控器供电监控器3.2.33.2.3 复位电路复位电路3.2.43.2.4 电压调压器电压调压器3.2.53.2.5 通过通过I/OI/O端口配置方式端口配置方式降低降低功耗功耗3.33.3 存储器存储器与总线与总线架构架构3.3.13.3.1 概述概述3.3.23.3.2 存储器映像存储器映像3.3.33.3.3 启动启动模式设置模式设置3.3.43.3.4 Bit-bandBit-band操

7、作操作3.43.4 时钟系统时钟系统3.4.13.4.1 概述概述3.4.23.4.2 定时器定时器3.4.33.4.3 RTCRTC3.4.43.4.4 系统时钟监控与切换系统时钟监控与切换3.53.5 中断和事件中断和事件3.63.6 JTAGJTAG与与USARTUSART调试模调试模块块3.6.13.6.1 JTAGJTAG模块模块3.6.23.6.2 USARTUSART模块模块3.73.7 固件库介绍固件库介绍3.2 电源及控制(含复位电路电源及控制(含复位电路) Cortex-M3主要用于对功耗和成本特别敏感的应用领域,专门针对性能要求不断增加的嵌入式应用所设计:汽车电子与车身控

8、制系统;工业控制、医疗器械、信息家电、无线传感网络等。 Cortex-M3主要指标:0.19W/MHz,1.25DMIPS/MHz 51单片机: 0.5W/MHz,0.083DMIPS/MHz 若达到5DMIPS的性能:Cortex-M3:工作频率只需4MHz,功耗0.76W;51:工作频率需60MHz,功耗30W; STM32F103处理器系统频率为72MHz,处理器性能可达到90DMIPS,此时Cortex-M3功耗约14W左右。 VDD:主电源:主电源/工作电压工作电压; VSS:主电源主电源/工作电压地;工作电压地; VDDA :独立电源:独立电源; VSSA:独立电源地:独立电源地;

9、 VBAT :电池供电。:电池供电。3.2 电源及电源及控制(续)控制(续) 可见,基于Cortex-M3的STM32F10 x系列产品在性能和功耗上达到了很高的水平,特别是用于低功耗的无线通信领域。 问题是:怎样才能达到低功耗的目的?采取了哪些技术措施?3.2.1 供电方案供电方案 主电源主电源/ /工作电压工作电压 VDD = 2.0至3.6V:通过内置调压器提供1.8V的电源,供内核使用;3.3V供I/O管脚使用。 电池供电电池供电VBAT = 2.0至3.6V:若VDD掉电,将由VBAT为RTC、备份寄存器供电。 VDDA,VSSA= 2.0至3.6V:分别连接到VSS和VDD;为AD

10、C、复位模块、RC振荡器和PLL的模拟部分供电;使用ADC时, VDD不得小于2.4V。VREF+的电压范围2.4V VDDA , VREF-引脚若有(根据封装而定),必须连接到VSSA。 注:注: VDDA :独立电源;:独立电源;VSSA:独立电源地。:独立电源地。3.2.2 供电监控器供电监控器供电监控器(续)供电监控器(续) STM32内部集成了上电复位(POR,Power On Reset)/掉电复位(PDR,Power Down Reset)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作; 当VDD低于设定的阀值(VPOR/VPDR)时,置器件于复位状态,而不必使用外部

11、复位电路。供电监控器(续)供电监控器(续) 上电复位上电复位(POR,Power On Reset) 掉掉电复位电复位(PDR,Power Down Reset)1mstRSTTEMPO4.5ms,典型,典型数值是数值是2.5ms供电监控器(续)供电监控器(续) 在VDD电压由低向高由低向高上升越过规定的阀值VPOR之前,保持芯片复位,当越过这个阀值后tRSTTEMPO秒(待电源可靠供电),才开始取复位向量,并执行指令。 在VDD电压由高向低由高向低下降越过规定的阀值VPDR后,将在芯片内部产生复位。 供电监控器(续)供电监控器(续)可编程电压可编程电压监测器监测器 PVD 可编程可编程电压监

12、测器电压监测器(PVD,Programmable Voltage Detector), 监视VDD供电并与阀值VPVD比较, 当当VDD低于低于或高于阀或高于阀值值VPVD时时将根据外部中断第将根据外部中断第16线的线的上升上升/下降边沿触发设置,产生下降边沿触发设置,产生PVD中断。中断。 P166页页 中断处理中断处理程序程序可以发出警告信息或将微控制器转入安全模式,但需要通过程序开启PVD。 电源控制电源控制/状态寄存器(状态寄存器(PWR_CSR)中的PVOD标志位用来表明VDD是否低于或高于阀值VPVD 。3.2.3 STM32F103 复位电路NRST: 外部异步复位引脚外部异步复

13、位引脚系统系统复位复位 STM32内含复位电路支持,当任意一个下列事件发生时都将引起系统自动复位: NRST引脚出现低电平(外部复位);引脚出现低电平(外部复位); 看门狗计时器计时终止(看门狗计时器计时终止(WWDG复位);复位); 独立看门狗计数终止(独立看门狗计数终止(IWDG复位);复位); 软件复位(软件复位(SW复位);复位); 低功耗管理复位。低功耗管理复位。 可通过查询控制/状态寄存器RCC_CSR中的复位标志来识别复位源。 系统复位后将清除时钟控制器CSR中的复位标志和备用域寄存器之外的所有寄存器。3.2.4 电压调压器电压调压器电压调压器的三种操作电压调压器的三种操作模式模

14、式:主模式(主模式(MRMR):又称“运行模式运行模式(Run Mode)”或“调节模调节模式式”。 用于CPU正常的运行操作 以正常功耗模式,向内核、内存、外设供给1.8V电源。低功耗模式(低功耗模式(LPRLPR): 用于CPU “停止(机)模式(停止(机)模式(StopStop ModeMode)”。 当CPU无任务需要处理时,以低功耗模式供1.8V电源,以保持SRAM、寄存器等的内容。 一般可以根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定最佳低功耗模式。掉电(关断)模式掉电(关断)模式: 用于CPU“待机模式(待机模式(StandbyStandby ModeMode)”。

15、 调压器的输出为高阻状态,停止内核电路供电,调压器处于零消耗状态,除待机电路和备份域外,寄存器和SRAM的内容将丢失。STM32F103xx的的低功耗模式低功耗模式睡眠睡眠模式模式: 只有CPU停止工作,所有外设继续运行,在中断/事件发生时唤醒CPU。停止(机)模式:停止(机)模式: 允许以最小的功耗来保持保持SRAM和寄存器的内容和寄存器的内容。 停止所有内部停止所有内部1.8V部分的供电部分的供电,PLL,HSI和HSE的 RC振荡器被禁能,调压器被置为低功耗模式。 设备可以通过外部中断线从停止模式唤醒。外部中断源可以使16个外部中断线之一、PVD输出、RTC闹钟,或者USB唤醒信号。P1

16、66待机模式:待机模式: 追求最少的功耗,内部调压器被关闭,这样1.8V区域断电区域断电。 PLL,HSI和HSE RC振荡器被关闭。 进入待机模式之后,除了备份寄存器和待机电路,SRAM和寄存器的和寄存器的内容也会丢失内容也会丢失。 当外部复位(NRST引脚)、IWDG复位、WKUP引脚出现上升沿或者RTC闹钟时间到时,设备退出待机模式。 进入停止模式或者待机模式时,RTC, IWDG和相关的时钟源不会和相关的时钟源不会停止停止。3.3 存储器与总线存储器与总线架构架构4.3.14.3.1 概述概述4.3.24.3.2 存储器映像存储器映像4.3.24.3.2 启动模式设置启动模式设置4.3

17、.34.3.3 Bit-bandBit-band操作操作STM32F103 系列产系列产品基本品基本架架构构3.3.1 概述概述 STM32的各外围模块与Cortex-M3内核,通过各类总线连接在一起,形成一个有机的整体。 程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个 4GB的线性地址空间内。3.3.1 概述(续)概述(续)(1)四四个驱动单元个驱动单元:ICode总线总线(I-bus) 该总线将Cortex-M3内核的指令总线与Flash指令接口相连接。指令预取在此总线上完成。DCode总线总线(D-bus) 将Cortex-M3内核的DCode总线与闪存存与闪存存储器的数据接

18、口储器的数据接口相连接,用于常量加载和调试访问。D-Code接口包含CPU_Lite接口和对闪存访问控制器的仲裁器提出访问请求的逻辑电路。D-Code的访问优先于预取指令的访问的访问优先于预取指令的访问。System总线总线(S-bus) 连接Cortex-M3内核与总线矩阵,总线矩阵协调着内核和DMA间的访问。通用通用DMA总线总线 (GP-DMA bus) 将DMA的AHB主控接口与总线矩阵相联,协调CPU的DCode和DMA到SRAM、闪存和外设的访问。3.3.1 概述(续)概述(续)(2)四个四个被被动动单元单元: 内部内部SRAM 内部内部闪存存储器闪存存储器 FSMC (灵活的静态

19、存储器控制器)(灵活的静态存储器控制器) AHB到到APB的桥的桥(AHB2APBx),它连接所,它连接所有的有的APB设备设备两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz,APB2操作于全速72MHz。 3.3.1 概述(续)概述(续)(3)总线矩阵总线矩阵总线矩阵用来将处理器与调试接口、外部总线相连。总线矩阵与ICode总线、DCode总线、System总线、DMA总线等外部总线相连。总线矩阵采取轮询算法仲裁、协调内核System总线和DMA主控总线之间的访问。AHB外设通过总线矩阵与系统总线相连,允许DMA访问。3.3.1 概述(续)概述(续

20、) 总线矩阵有“循环优先调度循环优先调度”、“多层结构和总线挪用多层结构和总线挪用”两个主要特性,实现系统性能的最大化和减少延时。“循环优先调度循环优先调度”,用以确保DMA不长时间占用总线和CPU可以在任何一个时钟周期访问所有的从总线。否则,会影响指令的单周期执行和执行过程中在周期级上“中断”正在运行的代码。“多层结构多层结构”允许多个主设备同时执行数据传输,只要它们寻址不同的从模块,提高了数据并行性;“总线挪用总线挪用”,用于协调CPU和DMA的数据访问,提高二者并发工作的性能。3.3.1 概述(续)概述(续)总线总线矩阵还可以实现以下控制功能矩阵还可以实现以下控制功能: 将将非对齐的处理

21、器访问转换为对齐访问;非对齐的处理器访问转换为对齐访问; 将将bit-band别名访问转换为对别名访问转换为对bit-band区的访问区的访问:进行位域提取以进行bit-band加载和进行原子“读-修改-写”以进行 bit-band 存储; 写写缓冲:缓冲:总线矩阵包含一个单入口写缓冲区,该缓冲区使得处理器内核不受到总线延迟的影响。3.3.2 STM32F103存储器映像存储器映像 STM32F103寄存器组起始地址起始地址起始地址外设外设总线总线寄存器映像寄存器映像0 x4002 2400 - 0 x4002 3FFF保留AHB参见相应章节0 x4002 2000 - 0 x4002 23F

22、F闪存存储器接口0 x4002 1400 - 0 x4002 1FFF保留0 x4002 1000 - 0 x4002 13FF复位和时钟控制0 x4002 0400 - 0 x4002 0FFF保留0 x4002 0000 - 0 x4002 03FFDMA0 x4001 3C00 - 0 x4001 3FFF保留APB1APB20 x4001 3800 - 0 x4001 3BFFUSART10 x4001 3400 - 0 x4001 37FF保留0 x4001 3000 - 0 x4001 33FFSPI10 x4001 2C00 - 0 x4001 2FFFTIM1时钟0 x4001

23、 2800 - 0 x4001 2BFFADC20 x4001 2400 - 0 x4001 27FFADC10 x4001 2000 - 0 x4001 1FFF保留0 x4001 1800 - 0 x4001 1BFFGPIO端口E0 x4001 1400 - 0 x4001 17FFGPIO端口D0 x4001 1000 - 0 x4001 13FFGPIO端口C0X4001 0C00 - 0 x4001 0FFFGPIO端口B0 x4001 0800 - 0 x4001 0BFFGPIO端口A0 x4001 0400 - 0 x4001 07FFEXTI0 x4001 0000 - 0

24、 x4001 03FFAFIO0 x4000 8000 - 0 x4000 77FF保留0 x4000 7000 - 0 x4000 73FF电源控制0 x4000 6C00 - 0 x4000 6FFF后备寄存器(BKP)0 x4000 6800 - 0 x4000 6BFF保留0 x4000 6400 - 0 x4000 67FFbxCAN0 x4000 6000 - 0 x4000 63FFUSB的SRAM 256x16位0 x4000 5C00 - 0 x4000 5FFFUSB寄存器0 x4000 5800 - 0 x4000 5BFFI2C20 x4000 5400 - 0 x40

25、00 57FFI2C10 x4000 5000 - 0 x4000 4FFF保留0 x4000 4800 - 0 x4000 4BFFUSART30 x4000 4400 - 0 x4000 47FFUSART20 x4000 4000 - 0 x4000 3FFF保留0 x4000 3800 - 0 x4000 3BFFSPI20 x4000 3400 - 0 x4000 37FF保留0 x4000 3000 - 0 x4000 33FF独立看门狗(IWDG)0 x4000 2C00 - 0 x4000 2FFF窗口看门狗(WWDG)0 x4000 2800 - 0 x4000 2BFFRT

26、C0 x4000 2400 - 0 x4000 0FFF保留0 x4000 0800 - 0 x4000 0BFFTIM4定时器0 x4000 0400 - 0 x4000 07FFTIM3定时器0 x4000 0000 - 0 x4000 03FFTIM2定时器3.3.2 存储器存储器映像(续)映像(续) 低密度低密度闪存模块的组织模块模块名称名称地址地址大小大小(字字节节)主存储块页00 x0800 0000 - 0 x0800 03FF1K页10 x0800 0400 - 0 x0800 07FF1K页20 x0800 0800 - 0 x0800 0BFF1K页30 x0800 0C0

27、0 - 0 x0800 0FFF1K页40 x0800 1000 - 0 x0800 13FF1K页页310 x0800 7000 - 0 x0800 73FF1K信息块系统存储器系统存储器0 x1FFF F000 - 0 x1FFF F7FF 2K用户选择字节0 x1FFF F800 - 0 x1FFF F80F16闪存接口寄存器FLASH_ACR0 x4002 2000 - 0 x4002 20034FALSH_KEYR0 x4002 2004 - 0 x4002 20074FLASH_OPTKEYR0 x4002 2008 - 0 x4002 200B4FLASH_SR0 x4002 2

28、00C - 0 x4002 200F4FLASH_CR0 x4002 2010 - 0 x4002 20134FLASH_AR0 x4002 2014 - 0 x4002 20174保留0 x4002 2018 - 0 x4002 201B4FLASH_OBR0 x4002 201C - 0 x4002 201F4FLASH_WRPR0 x4002 2020 - 0 x4002 202343.3.2 存储器存储器映像(续)映像(续) 中中密度密度闪存模块的组织模块模块名称名称地址地址大小大小(字字节节)主存储块页00 x0800 0000 - 0 x0800 03FF1K页10 x0800 0

29、400 - 0 x0800 07FF1K页20 x0800 0800 - 0 x0800 0BFF1K页30 x0800 0C00 - 0 x0800 0FFF1K页40 x0800 1000 - 0 x0800 13FF1K页页1270 x0801 FC00 - 0 x0801 FFFF 1K信息块系统存储器系统存储器0 x1FFF F000 - 0 x1FFF F7FF2K用户选择字节0 x1FFF F800 - 0 x1FFF F80F16闪存接口寄存器FLASH_ACR0 x4002 2000 - 0 x4002 20034FALSH_KEYR0 x4002 2004 - 0 x400

30、2 20074FLASH_OPTKEYR0 x4002 2008 - 0 x4002 200B4FLASH_SR0 x4002 200C - 0 x4002 200F4FLASH_CR0 x4002 2010 - 0 x4002 20134FLASH_AR0 x4002 2014 - 0 x4002 20174保留0 x4002 2018 - 0 x4002 201B4FLASH_OBR0 x4002 201C - 0 x4002 201F4FLASH_WRPR0 x4002 2020 - 0 x4002 202343.3.2 存储器存储器映像(续)映像(续) 高高密度密度闪存模块的组织模块模

31、块名称名称地址地址大小大小(字字节节)主存储块页00 x0800 0000 - 0 x0800 07FF2K页10 x0800 0800 - 0 x0800 0FFF 2K页20 x0800 1000 - 0 x0800 17FF 2K页30 x0800 0C00 - 0 x0800 0FFF 2K页40 x0800 1800 - 0 x0800 1FFF 2K页1270 x0801 F800 - 0 x0801 FFFF 2K信息块系统存储器系统存储器0 x1FFF F000 - 0 x1FFF F7FF 2K用户选择字节0 x1FFF F800 - 0 x1FFF F80F 16闪存接口寄存器FLASH_ACR0 x4002 2000 - 0 x4002 20034FALSH_KEYR0 x4002 2004 - 0 x4002 20074FLASH_OPTKEYR0 x4002 2008 - 0 x4002 20

温馨提示

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

评论

0/150

提交评论