第6章STM32F10 x最小系统设计4H

上传人:平*** 文档编号:5994763 上传时间:2017-08-07 格式:PPT 页数:35 大小:2.95MB
返回 下载 相关 举报
第6章STM32F10 x最小系统设计4H_第1页
第1页 / 共35页
第6章STM32F10 x最小系统设计4H_第2页
第2页 / 共35页
第6章STM32F10 x最小系统设计4H_第3页
第3页 / 共35页
第6章STM32F10 x最小系统设计4H_第4页
第4页 / 共35页
第6章STM32F10 x最小系统设计4H_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《第6章STM32F10 x最小系统设计4H》由会员分享,可在线阅读,更多相关《第6章STM32F10 x最小系统设计4H(35页珍藏版)》请在金锄头文库上搜索。

1、Embedded System Development,聊城大学 理工学院曹银杰,嵌入式系统与应用,第6章 STM32F10x最小系统,6.1 STM32F10x系列产品简介6.2 基于Cortex-M3的最小系统6.3 电源及控制、复位电路6.4 存储器与总线架构6.5 STM32的时钟系统,6.1 STM32F10x系列产品简介,片上存储器容量、集成外设、功能模块、封装形式等有所区别。,STM32F10x系列产品编号,STM32F103系列芯片,STM32F103 功能框图,6.2 基于Cortex-M3的最小系统,什么是最小系统? 在尽可能减少上层应用的情况下,能够使系统运行的最小化模块

2、配置。“最小系统”称“嵌入式核心控制模块”更贴切一些。最小系统的组成: 电源、时钟、复位电路、存储系统、调试系统。,基于Cortex-M3的最小系统,时钟模块通常经ARM内部锁相环进行相应的倍频,以提供系统各模块运行所需的时钟频率输入复位模块实现对系统的复位电源系统:调试系统:JTAG模块实现对程序代码的下载和调试UART模块实现对调试信息的终端显示存储系统:Flash存储模块存放启动代码、操作系统和用户应用程序代码SDRAM模块为系统运行提供动态存储空间,是系统代码运行的主要区域,基于Cortex-M3的STM32F10x最小系统,6.3 电源及控制、复位电路,Cortex-M3主要指标:0

3、.19W/MHz,1.25DMIPS/MHz;若达到5DMIPS的性能:Cortex-M3工作频率只需4MHz,功耗0.76W;51单片机,工作频率需60MHz,功耗30W;STM32F103处理器系统频率为72MHz,处理器性能可达到90DMIPS,此时Cortex-M3功耗约14W左右。在性能和功耗上达到了很高的水平!,VDDA/VSSA独立电源/地2.0至3.6V:为ADC、复位、RC振荡器和PLL的模拟部分供电。使用ADC时,VDD不得小于2.4V。VREF+的电压范围2.4V-VDDA, VREF-引脚若有必须连接到VSSA。VDD:主电源/工作电压 VSS:地2.0至3.6V:通过

4、内置调压器提供1.8V的电源,供内核使用、3.3V供I/O管脚。VBAT:后备电池供电,电源及控制、复位电路,STM32内部集成了上电复位POR(Power On Reset)/掉电复位PDR (Power Down Reset)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/VPDR)时,置器件于复位状态,而不必使用外部复位电路。,约2.5ms,电源及控制、复位电路,在VDD电压由低向高上升越过规定的阀值VPOR之前,保持芯片复位,当越过这个阀值后tRSTTEMPO秒(待电源可靠供电),才开始取复位向量,并执行指令。在VDD电压由高向低下降越过规

5、定的阀值VPDR后,将在芯片内部产生复位,可编程电压监测器PVD,可编程电压监测器PVD (Programmable Voltage Detector),监视VDD供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时将根据外部中断第16线的上升/下降边沿触发设置,产生PVD中断。 中断处理程序可以发出警告信息或将微控制器转入安全模式,但需要通过程序开启PVD。 电源控制/状态寄存器(PWR_CSR)中的PVOD标志位用来表明VDD是否低于或高于阀值VPVD 。,系统复位,系统复位将清除时钟控制器CSR中的复位标志和备用域寄存器之外的所有寄存器。下列事件都将引起复位:NRST: 外部异步复

6、位引脚看门狗计时器计时终止(WWDG复位) 独立看门狗计数终止(IWDG复位) 软件复位(SW复位) 低功耗管理复位。,三种低功耗模式,休(睡)眠模式: 只有CPU停止工作,所有外设继续运行,在中断/事件发生时唤醒CPU。 调压器1.8V区供电工作。停止(机)模式: 允许以最小的功耗来保持SRAM和寄存器的内容。 1.8V区域的时钟都停止其他部分工作,PLL,HSI和HSE的 RC振荡器被禁能。 当外部中断源(16个外部中断线之一)、PVD输出、RTC闹钟、或者USB唤醒信号,退出停止模式。,三种低功耗模式,待机模式: 追求最少的功耗,内部调压器被关闭,这样1.8V区域断电。 除了备份寄存器和

7、待机电路,SRAM和寄存器的内容也会丢失。RTC,IWDG和相关的时钟源不会停止。 当外部复位(NRST引脚)、IWDG复位、WKUP引脚出现上升沿或者RTC闹钟时间到时,退出待机模式。,6.4 存储器与总线架构,STM32的各外围模块与Cortex-M3内核,通过各类总线连接在一起,形成一个有机的整体。,Cortex-M3的ICode 、DCode、System总线和DMA总线四个驱动单元,与闪存存储器接口、SRAM和AHB2APB桥三个被动单元,通过总线矩阵联接在一起。,总线矩阵采取轮换算法仲裁、协调内核System总线和DMA主控总线之间的访问。AHB外设通过总线矩阵与系统总线相连,允许

8、DMA访问。两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz,APB2操作于全速72MHz。,STM32F1xx存储器映像,Cortex-M3有32根地址线,所以它的寻址空间大小为232 bit=4GB程序存储器、数据存储器、寄存器和输入输出端口(外设)被组织在同一4GB线性地址空间内。把地址从0x4000 0000至0x5FFF FFFF(512MB )的地址分配给片上外设。,STM32F103片内各外设的寄存器组起始地址,STM32F1xx存储器映像,低密度闪存模块的组织,中、高密度的主存储块127页,其中高密度每页2k字节,STM32F10X的三

9、种启动模式,通过BOOT1:0引脚选择不同启动模式,实现实例:,STM32F10X的启动模式,通过选择管脚设置BOOT配置,内置Flash、系统存储区或内置SRAM会被映射到地址0x00(启动存储区);CPU从的0x0000_0004指示的地址开始执行代码。系统存储器中内置了Bootloader代码,帮助用户可以从USART1 或USART2接口接收数据和命令,对内置的FLASH 进行重新编程。从SRAM启动:在应用程序的初始化部分,通过NVIC异常表和偏移寄存器,重新定位Vector Table。,6.5 STM32的时钟系统,STM32芯片为了实现低功耗,设计了一个功能完善但却非常复杂的时

10、钟系统。一个步骤,就是开启外设时钟。下图说明了STM32的时钟走向,从图的左边开始,从时钟源一步步分配到外设时钟。高速时钟是提供给芯片主体的主时钟,低速时钟只是提供给芯片中的RTC(实时时钟)及独立看门狗使用。内部时钟是在芯片内部RC振荡器产生的,起振较快,芯片刚上电的时候使用内部高速时钟。外部时钟信号是由外部的晶振输入的,精度和稳定性好,上电之后通过软件配置再转用外部时钟信号。,STM32的时钟系统,STM32的4个时钟源:高速外部时钟(HSE):外部晶振时钟源,晶振频率416MHz,一般用8MHz的晶振。 高速内部时钟(HSI):内部RC振荡器产生,频率为8MHz,但不稳定。 低速外部时钟

11、(LSE):外部晶振作时钟源,主要提供给实时时钟模块,一般采用32.768KHz。低速内部时钟(LSI):内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz。,STM32的时钟系统,以最常用的高速外部时钟为例:从左端的OSC_OUT和OSC_IN开始,这两个引脚分别接到外部晶振8MHz;遇到第一个分频器PLLXTPRE,没二分频,继续8MHz;遇到选择外部HSE还是内部HSI时钟开关PLLSRC,选HSE;遇到可倍频的锁相环PLL,倍频因子PLLMUL选为9倍,则得到72MHz的PLLCLK时钟;又经过了一个开关SW之后就是STM32的系统时钟SYSCLK了;经过各种预分频器得到各种外设的时钟源:如USBCLK、HCLK、FCLK、SDIOCLK等等时钟。,STM32的时钟系统,每个外设都配备了外设时钟的开关,当我们不使用某个外设时,可以把这个外设时钟关闭,从而降低STM32的整体功耗。当使用某个外设时,一定要记得开启外设的时钟。,6.6 开发与评估板,http:/,在用JLINK下载和调试程序之前,需要在电脑上安装JLINK驱动。工具栏中的Load按钮可将编译好的程序下载到开发板中,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号