STMFx最小系统设计H_第1页
STMFx最小系统设计H_第2页
STMFx最小系统设计H_第3页
STMFx最小系统设计H_第4页
STMFx最小系统设计H_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、Embedded System Development聊城大学聊城大学 理工学院理工学院曹银杰曹银杰 嵌入式系统与应用嵌入式系统与应用 第6章 STM32F10 x最小系统F6.1 STM32F10 x6.1 STM32F10 x系列产品简介系列产品简介F6.2 6.2 基于基于Cortex-M3Cortex-M3的最小系统的最小系统F6.3 6.3 电源及控制电源及控制、复位电路复位电路F6.4 6.4 存储器与总线架构存储器与总线架构F6.5 STM326.5 STM32的时钟系统的时钟系统 6.1 STM32F10 x系列产品简介F片上存储器容片上存储器容量、集成外设量、集成外设、功能模

2、块、功能模块、封装形式等有封装形式等有所区别。所区别。FS ST TM M3 32 2F F1 10 0 x x系系列列产产品品编编号号STM32F103系列芯片CORTEXM3 CPU72 MHz6kB-64kB SRAMARM Peripheral Bus(max 72MHz)2x 12-bit ADC16 channels / 1Msps1/2x I2C0/1x SPI1/2/4x USART/LINSmartcard / IrDaModem Control32/49/80* I/OsUp to 16 Ext. ITsFlash I/F32kB-512kBFlash MemoryTemp

3、 Sensor1x USB 2.0FS1x bxCAN 2.0B6x 16-bit PWM Synchronized AC Timer2x Watchdog2/3/5x 16-bit TimerExternal Memory Interface*JTAG/SW DebugXTAL oscillators32KHz + 416MHzPower SupplyReg 1.8VPOR/PDR/PVDDMA 3 to 11* ChannelsNested vect IT Ctrl2x SPI/I2S*2x DAC*1x SDIO*Image Sensor*1x USART/LINSmartcard/Ir

4、DaModem-Ctrl1x SPIBridgeBridge1x Systic TimerARM Lite Hi-Speed BusMatrix / Arbiter (max 72MHz)Int. RC oscillators32KHz + 8MHzPLLClock ControlRTC / AWUARM Peripheral Bus(max 36MHz)20B Backup RegsSTM32F103 功能框图6.2 基于Cortex-M3的最小系统F什么是最小系统什么是最小系统? 在在尽可能减少上层应用的情况下,能够使系统运行的尽可能减少上层应用的情况下,能够使系统运行的最小化模块配置最小

5、化模块配置。F“最小系统最小系统”称称“嵌入式嵌入式核心控制模块核心控制模块”更更贴切贴切一些一些。F最小系统的组成:最小系统的组成: 电源、时钟、复位电路、电源、时钟、复位电路、存储系统、调试系统。存储系统、调试系统。Cortex-M3Cortex-M3MPUFlashSRAMTimerResetJTAGUARTPower基于Cortex-M3的最小系统F时钟模块时钟模块通常经通常经ARMARM内部锁相环进行相应的倍频,内部锁相环进行相应的倍频,以提供系统各模块运行所需的时钟频率输入以提供系统各模块运行所需的时钟频率输入F复位模块复位模块实现对系统的复位实现对系统的复位F电源系统:电源系统:

6、F调试系统:调试系统:JTAGJTAG模块模块实现对程序代码的下载和调试实现对程序代码的下载和调试UARTUART模块模块实现对调试信息的终端显示实现对调试信息的终端显示F存储系统:存储系统:FlashFlash存储模块存储模块存放启动代码、操作系统和用户存放启动代码、操作系统和用户应用程序代码应用程序代码SDRAMSDRAM模块模块为系统运行提供动态存储空间,是系为系统运行提供动态存储空间,是系统代码运行的主要区域统代码运行的主要区域基于Cortex-M3的STM32F10 x最小系统6.3 电源及控制、复位电路FCortex-M3Cortex-M3主要指标:主要指标:0.19W/MHz0.

7、19W/MHz,1.25DMIPS/MHz1.25DMIPS/MHz;F若达到若达到5DMIPS5DMIPS的性能:的性能:Cortex-M3Cortex-M3工作频率只需工作频率只需4MHz4MHz,功耗功耗0.76W0.76W;5151单片机,单片机,工作频率需工作频率需60MHz60MHz,功耗,功耗30W30W;FSTM32F103STM32F103处理器系统频率为处理器系统频率为72MHz72MHz,处理器性能可达到,处理器性能可达到90DMIPS90DMIPS,此时,此时Cortex-M3Cortex-M3功耗约功耗约14W14W左右左右。F在性能和功耗上达到了很高的水平在性能和功

8、耗上达到了很高的水平!V VDDA/DDA/VSSAVSSA独立电源独立电源/ /地地2.0至至3.6V:为:为ADC、复、复位、位、RC振荡器和振荡器和PLL的的模拟部分供电。使用模拟部分供电。使用ADC时,时,VDD不得小于不得小于2.4V。VREF+的电压范围的电压范围2.4V-VDDA, VREF-引脚若引脚若有必须连接到有必须连接到VSSA。V VDDDD:主电源:主电源/ /工作电压工作电压 V VSSSS:地:地2.0至至3.6V:通过内置调:通过内置调压器提供压器提供1.8V的电源,的电源,供内核使用、供内核使用、3.3V供供I/O管脚。管脚。V VBATBAT:后备后备电池供

9、电电池供电电源及控制、复位电路FSTM32STM32内部集成了内部集成了上电复位上电复位PORPOR(Power On Reset)/(Power On Reset)/掉电掉电复位复位PDRPDR (Power Down Reset) (Power Down Reset)电路,该电路始终处于电路,该电路始终处于工作状态,保证系统在供电超过工作状态,保证系统在供电超过2V2V时工作;时工作;F当当V VDDDD低于设定的阀值低于设定的阀值(V(VPORPOR/V/VPDRPDR) )时,置器件于复位状态时,置器件于复位状态,而不必使用外部复位电路。,而不必使用外部复位电路。约约2.5ms电源及控

10、制、复位电路F在在V VDDDD电压由低向高上升越过规定的阀值电压由低向高上升越过规定的阀值V VPORPOR之前,保持之前,保持芯片复位,当越过这个阀值后芯片复位,当越过这个阀值后t tRSTTEMPORSTTEMPO秒(待电源可靠供秒(待电源可靠供电),才开始取复位向量,并执行指令。电),才开始取复位向量,并执行指令。F在在V VDDDD电压由高向低下降越过规定的阀值电压由高向低下降越过规定的阀值V VPDRPDR后,将在芯后,将在芯片内部产生复位片内部产生复位可编程电压监测器PVDF可编程电压监测器可编程电压监测器PVD (Programmable Voltage PVD (Progra

11、mmable Voltage Detector)Detector),监视,监视V VDDDD供电并与阀值供电并与阀值V VPVDPVD比较,当比较,当VDDVDD低于低于或高于阀值或高于阀值V VPVDPVD时将根据外部中断第时将根据外部中断第1616线的上升线的上升/ /下降边下降边沿触发设置,产生沿触发设置,产生PVDPVD中断。中断。 F中断处理程序可以发出警告信息或将微控制器转入安全中断处理程序可以发出警告信息或将微控制器转入安全模式,但需要通过程序开启模式,但需要通过程序开启PVDPVD。 F电源控制电源控制/ /状态寄存器(状态寄存器(PWR_CSRPWR_CSR)中的中的PVOD

12、PVOD标志位用来标志位用来表明表明V VDDDD是否低于或高于阀值是否低于或高于阀值V VPVDPVD 。 系统复位F系统复位将清除时钟控制器系统复位将清除时钟控制器CSRCSR中的复位标志和备用域中的复位标志和备用域寄存器之外的所有寄存器。下列事件都将引起复位:寄存器之外的所有寄存器。下列事件都将引起复位:FNRST: NRST: 外部异步复位引脚外部异步复位引脚F看门狗计时器计时终止(看门狗计时器计时终止(WWDGWWDG复位)复位) F独立看门狗计数终止(独立看门狗计数终止(IWDGIWDG复位)复位) F软件复位(软件复位(SWSW复位)复位) F低功耗管理复位。低功耗管理复位。 三

13、种低功耗模式F休(睡)眠模式:休(睡)眠模式: 只有只有CPUCPU停止工作,所有外设继续运行,在中断停止工作,所有外设继续运行,在中断/ /事事件发生时唤醒件发生时唤醒CPUCPU。 调压器调压器1.8V1.8V区供电工作。区供电工作。F停止(机)模式:停止(机)模式: 允许以最小的功耗来保持允许以最小的功耗来保持SRAMSRAM和寄存器的内容。和寄存器的内容。 1.8V1.8V区域的时钟都区域的时钟都停止其他部分工作,停止其他部分工作,PLLPLL,HSIHSI和和HSEHSE的的 RCRC振荡器被禁振荡器被禁能。能。 当外部中断源(当外部中断源(1616个个外部中断线之一)、外部中断线之

14、一)、PVDPVD输出、输出、RTCRTC闹钟、或者闹钟、或者USBUSB唤醒唤醒信号,退出停止模式。信号,退出停止模式。 三种低功耗模式F待机模式:待机模式: 追求最少的功耗,内部调压器被关闭,这样追求最少的功耗,内部调压器被关闭,这样1.8V1.8V区区域断电。域断电。 除了备份寄存器和待机电路,除了备份寄存器和待机电路,SRAMSRAM和寄存器的内容和寄存器的内容也会丢失。也会丢失。RTC,IWDGRTC,IWDG和相关的时钟源不会停止。和相关的时钟源不会停止。 当外部复位(当外部复位(NRSTNRST引脚)、引脚)、IWDGIWDG复位、复位、WKUPWKUP引脚出引脚出现上升沿或者现

15、上升沿或者RTCRTC闹钟时间到时,退出待机模式。闹钟时间到时,退出待机模式。 6.4 存储器与总线架构FSTM32STM32的各外围模块与的各外围模块与Cortex-M3Cortex-M3内核,通过各类总线连内核,通过各类总线连接在一起,形成一个有机的整体。接在一起,形成一个有机的整体。FCortex-M3Cortex-M3的的ICodeICode 、DCodeDCode、SystemSystem总线和总线和DMADMA总线总线四四个驱动单元,个驱动单元,F与闪存存储器接口、与闪存存储器接口、SRAMSRAM和和AHB2APBAHB2APB桥三个被动单元,桥三个被动单元,F通过总线矩阵联接在

16、一起通过总线矩阵联接在一起。F总线矩阵采取轮换算法仲裁、协调内核总线矩阵采取轮换算法仲裁、协调内核SystemSystem总线和总线和DMADMA主控总线之间的访问。主控总线之间的访问。AHBAHB外设通过总线矩阵与系统总线外设通过总线矩阵与系统总线相连,允许相连,允许DMADMA访问。访问。F两个两个AHB/APBAHB/APB桥在桥在AHBAHB和和2 2个个APBAPB总线间提供同步连接。总线间提供同步连接。APB1APB1操作速度限于操作速度限于36MHz36MHz,APB2APB2操作于全速操作于全速72MHz72MHz。STM32F1xx存储器映像FCortex-M3Cortex-

17、M3有有3232根根地址线,所以它地址线,所以它的寻址空间大小的寻址空间大小为为232 bit=4GB232 bit=4GBF程序存储器、数程序存储器、数据存储器、寄存据存储器、寄存器和输入输出端器和输入输出端口(外设)被组口(外设)被组织在同一织在同一4GB4GB线性线性地址空间内。地址空间内。F把地址从把地址从0 x4000 0 x4000 00000000至至0 x5FFF 0 x5FFF FFFF(512MB )FFFF(512MB )的的地址分配给片上地址分配给片上外设。外设。FSTM32F103STM32F103片内各外设的寄存器组起始地址片内各外设的寄存器组起始地址起始地址起始地

18、址外设外设总总线线0 x4002 2400 - 0 x4002 3FFF保留AHB0 x4002 2000 - 0 x4002 23FF闪存接口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 3

19、000 - 0 x4001 33FFSPI10 x4001 2C00 - 0 x4001 2FFFTIM1时钟0 x4001 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端口C0 x4001 0C00 - 0 x4001 0FFFGPIO端口B0 x4001 0800 - 0 x

20、4001 0BFFGPIO端口A0 x4001 0400 - 0 x4001 07FFEXTI0 x4001 0000 - 0 x4001 03FFAFIO起始地址起始地址外设外设总线总线0 x4000 7000 - 0 x4000 73FF电源控制APB1APB20 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 5FF

21、FUSB寄存器0 x4000 5800 - 0 x4000 5BFFI2C20 x4000 5400 - 0 x4000 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 2

22、C00 - 0 x4000 2FFF窗口看门狗(WWDG)0 x4000 2800 - 0 x4000 2BFFRTC0 x4000 2400 - 0 x4000 0FFF保留0 x4000 0800 - 0 x4000 0BFFTIM4定时器0 x4000 0400 - 0 x4000 07FFTIM3定时器0 x4000 0000 - 0 x4000 03FFTIM2定时器STM32F1xx存储器映像F低密度低密度闪闪存模存模块的块的组组织织模块模块名称名称地址地址大小大小(字节字节)主存储块主存储块页页00 x0800 0000 - 0 x0800 03FF1K页页10 x0800 04

23、00 - 0 x0800 07FF1K页页310 x0800 7000 - 0 x0800 73FF1K信息块信息块系统存储器系统存储器0 x1FFF F000 - 0 x1FFF F7FF2K用户选择字节用户选择字节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 200C - 0 x4002 2

24、00F4FLASH_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 20234中、高密度的主存储块中、高密度的主存储块127页,其中高密度每页页,其中高密度每页2k字节字节STM32F10X的三种启动模式F通过通过BOOT1:0引脚选择引脚选择不同不同启动模式,实现启动模式,实现实例:实例: 启动模式选择管脚启

25、动模式选择管脚启动模式启动模式说明说明BOOT1BOOT0X0用户闪存存储器用户闪存存储器 用户闪存为启动区用户闪存为启动区01系统存储器系统存储器系统存储器被选为启动区系统存储器被选为启动区11内嵌内嵌SRAMSRAM内嵌内嵌SRAMSRAM被选为启动区被选为启动区STM32F10X的启动模式F通过选择管脚通过选择管脚设置设置BOOTBOOT配置,内置配置,内置FlashFlash、系统存储区、系统存储区或内置或内置SRAMSRAM会被映射到地址会被映射到地址0 x000 x00( (启动存储区启动存储区) );FCPUCPU从的从的0 x0000_00040 x0000_0004指示的地址

26、开始执行代码指示的地址开始执行代码。F系统系统存储器中存储器中内置了内置了BootloaderBootloader代码,帮助用户可以从代码,帮助用户可以从USART1 USART1 或或USART2USART2接口接收数据和命令,对内置的接口接收数据和命令,对内置的FLASH FLASH 进行重新编程进行重新编程。F从从SRAMSRAM启动:在应用程序的初始化部分,通过启动:在应用程序的初始化部分,通过NVICNVIC异常异常表和偏移寄存器,重新定位表和偏移寄存器,重新定位Vector TableVector Table。6.5 STM32的时钟系统 FSTM32STM32芯片为了实现低功耗,

27、设计了一个功能完善但却芯片为了实现低功耗,设计了一个功能完善但却非常复杂的时钟系统。一个步骤,就是开启外设时钟。非常复杂的时钟系统。一个步骤,就是开启外设时钟。F下图说明了下图说明了STM32STM32的时钟走向,从图的左边开始,从时的时钟走向,从图的左边开始,从时钟源一步步分配到外设时钟。钟源一步步分配到外设时钟。F高速时钟是提供给芯片主体的主时钟,低速时钟只是提高速时钟是提供给芯片主体的主时钟,低速时钟只是提供给芯片中的供给芯片中的RTCRTC(实时时钟)及独立看门狗使用。(实时时钟)及独立看门狗使用。F内部时钟是在芯片内部内部时钟是在芯片内部RCRC振荡器产生的,起振较快,芯振荡器产生的

28、,起振较快,芯片刚上电的时候使用内部高速时钟。片刚上电的时候使用内部高速时钟。F外部时钟信号是由外部的晶振输入的,精度和稳定性好外部时钟信号是由外部的晶振输入的,精度和稳定性好,上电之后通过软件配置再转用外部时钟信号。,上电之后通过软件配置再转用外部时钟信号。 STM32的时钟系统STM32STM32的的4 4个时钟源个时钟源: :F高速外部时钟(高速外部时钟(HSEHSE):外部晶振时钟源,晶振频率):外部晶振时钟源,晶振频率416MHz416MHz,一般用,一般用8MHz8MHz的晶振。的晶振。 F高速内部时钟(高速内部时钟(HSIHSI):内部):内部RCRC振荡器产生,频率为振荡器产生,频率为8MHz8MHz,但不稳定。,但不稳定。 F低速外部时钟(低速外部时钟(LSELSE):外部晶振作时钟源,主要提供)

温馨提示

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

评论

0/150

提交评论