您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第6章-STM32F10x最小系统
EmbeddedSystemDevelopment嵌入式系统与应用第6章STM32F10x最小系统6.1STM32F10x系列微控制器简介6.2基于Cortex-M3的最小系统6.3存储器与总线架构6.4电源控制6.5复位6.6STM32的时钟系统6.7仿真器与开发板6.1STM32系列微控制器简介STM32系列是基于ARMCortex-M核的32位闪存微控制器,集成度高、性能高、实时性、数字信号处理、低功耗、低电压操作的易开发的芯片,适合不同用户的需求。片上存储器容量、集成外设、功能模块、封装形式等有所区别。例:STM32F10X系列STM32F10x系列产品编号STM32F103系列芯片CORTEXM3CPU72MHz6kB-64kBSRAMARMPeripheralBus(max72MHz)2x12-bitADC16channels/1Msps1/2xI2C0/1xSPI1/2/4xUSART/LINSmartcard/IrDaModemControl32/49/80*I/OsUpto16Ext.ITsFlashI/F32kB-512kBFlashMemoryTempSensor1xUSB2.0FS1xbxCAN2.0B6x16-bitPWMSynchronizedACTimer2xWatchdog2/3/5x16-bitTimerExternalMemoryInterface**JTAG/SWDebugXTALoscillators32KHz+4~16MHzPowerSupplyReg1.8VPOR/PDR/PVDDMA3to11*ChannelsNestedvectITCtrl2xSPI/I2S**2xDAC**1xSDIO**ImageSensor**1xUSART/LINSmartcard/IrDaModem-Ctrl1xSPIBridgeBridge1xSysticTimerARMLiteHi-SpeedBusMatrix/Arbiter(max72MHz)Int.RCoscillators32KHz+8MHzPLLClockControlRTC/AWUARMPeripheralBus(max36MHz)20BBackupRegsSTM32F103功能框图第6章STM32F10x最小系统6.1STM32F10x系列微控制器简介6.2基于Cortex-M3的最小系统6.3存储器与总线架构6.4电源控制6.5复位6.6STM32的时钟系统6.7仿真器与开发板6.2基于Cortex-M3的最小系统什么是最小系统?在尽可能减少上层应用的情况下,能够使系统运行的最小化模块配置。“最小系统”称“嵌入式核心控制模块”更贴切一些。最小系统的组成:①电源、②时钟、③复位电路、④存储系统、⑤调试系统。Cortex-M3MPUFlashSRAMTimerResetJTAGUARTPower基于Cortex-M3的最小系统时钟模块——通常经ARM内部锁相环进行相应的倍频,以提供系统各模块运行所需的时钟频率输入复位模块——实现对系统的复位电源系统:调试系统:–JTAG/SW模块——实现对程序代码的下载和调试–UART模块——实现对调试信息的终端显示存储系统:–Flash存储模块——存放启动代码、操作系统和用户应用程序代码–SDRAM模块——为系统运行提供动态存储空间,是系统代码运行的主要区域基于Cortex-M3的STM32F10x最小系统第6章STM32F10x最小系统6.1STM32F10x系列微控制器简介6.2基于Cortex-M3的最小系统6.3存储器与总线架构6.4电源控制6.5复位6.6STM32的时钟系统6.7仿真器与开发板6.3存储器与总线架构1、总线架构STM32的各外围模块与Cortex-M3内核,通过各类总线连接在一起,形成一个有机的整体。Cortex-M3的ICode、DCode、System总线和DMA总线四个驱动单元,与闪存存储器接口、SRAM和AHB2APB桥三个被动单元,通过总线矩阵联接在一起。总线矩阵采取轮换算法仲裁、协调内核System总线和DMA主控总线之间的访问。AHB外设通过总线矩阵与系统总线相连,允许DMA访问。两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz,APB2操作于全速72MHz。2、存储器映像STM32F1xxCortex-M3有32根地址线,所以它的寻址空间大小为2^32bit=4GB程序存储器、数据存储器、外设寄存器、输入输出端口被组织在同一4GB线性地址空间内。把地址从0x40000000至0x5FFFFFFF(512MB)的地址分配给片上外设。外设存储器映像STM32F103外设寄存器组起始地址起始地址外设总线0x40022400-0x40023FFF保留AHB0x40022000-0x400223FF闪存接口0x40021400-0x40021FFF保留0x40021000-0x400213FF复位和时钟0x40020400-0x40020FFF保留0x40020000-0x400203FFDMA0x40013C00-0x40013FFF保留APB20x40013800-0x40013BFFUSART10x40013000-0x400133FFSPI10x40012C00-0x40012FFFTIM1时钟0x40012800-0x40012BFFADC20x40012400-0x400127FFADC10x40011800-0x40011BFFGPIO端口E0x40011400-0x400117FFGPIO端口D0x40011000-0x400113FFGPIO端口C0x40010C00-0x40010FFFGPIO端口B0x40010800-0x40010BFFGPIO端口A0x40010400-0x400107FFEXTI0x40010000-0x400103FFAFIO外设存储器映像STM32F103寄存器组起始地址起始地址外设总线0x40007000-0x400073FF电源控制APB10x40006C00-0x40006FFF后备寄存器(BKP)0x40006800-0x40006BFF保留0x40006400-0x400067FFbxCAN0x40006000-0x400063FFUSB的SRAM256x16位0x40005C00-0x40005FFFUSB寄存器0x40005800-0x40005BFFI2C20x40005400-0x400057FFI2C10x40005000-0x40004FFF保留0x40004800-0x40004BFFUSART30x40004400-0x400047FFUSART20x40003800-0x40003BFFSPI20x40003400-0x400037FF保留0x40003000-0x400033FF独立看门狗(IWDG)0x40002C00-0x40002FFF窗口看门狗(WWDG)0x40002800-0x40002BFFRTC0x40000800-0x40000BFFTIM4定时器0x40000400-0x400007FFTIM3定时器0x40000000-0x400003FFTIM2定时器嵌入式闪存Flash存储器映像*STM32F10xxxFlash高密度闪存模块的组织模块名称地址大小(字节)主存储块页00x08000000-0x080003FF2K页10x08000400-0x080007FF2K………页2550x0807F800-0x0807FFFF2K信息块系统存储器0x1FFFF000-0x1FFFF7FF2K用户选择字节0x1FFFF800-0x1FFFF80F16闪存接口寄存器FLASH_ACR0x40022000-0x400220034FALSH_KEYR0x40022004-0x400220074FLASH_OPTKEYR0x40022008-0x4002200B4FLASH_SR0x4002200C-0x4002200F4FLASH_CR0x40022010-0x400220134FLASH_AR0x40022014-0x400220174保留0x40022018-0x4002201B4FLASH_OBR0x4002201C-0x4002201F4FLASH_WRPR0x40022020-0x400220234擦写次数:1000次4、STM32F10X的三种启动模式通过BOOT[1:0]引脚选择不同启动模式,实现实例:启动模式选择管脚启动模式说明BOOT1BOOT0X0从用户闪存(片内Flash)启动这是正常的工作模式(编好的程序已下载到Flash)01从系统存储器启动芯片出厂时在这个区域预置了一段Bootloader11从片内SRAM启动这种模式可以用于调试STM32F10X的三种启动模式通过选择管脚设置BOOT配置,内置Flash、系统存储区、内置SRAM会分别被映射到地址0x00(启动存储区);CPU从的0x0000_0004地址的值给PC,开始执行代码。从系统存储器启动:厂家在如EPROM内置了Bootloader代码,用户可以从USART1或USART2接口接收数据和命令,对内置的FLASH进行重新编程。ISP模式,在线编程。从SRAM启动:在应用程序的初始化部分,通过NVIC异常表和偏移寄存器,重新定位VectorTable。第6章STM32F10x最小系统6.1STM32F10x系列微控制器简介6.2基于Cortex-M3的最小系统6.3存储器与总线架构6.4电源控制6.5复位6.6STM32的时钟系统6.7仿真器与开发板6.4电源控制Cortex-M3主要指标:0.19W/MHz,1.25DMIPS/MHz;若达到5DMIPS(MillionInstructionsexecutedPerSecond,每秒百万条指令)的性能:Cortex-M3工作频率只需4MHz,功耗0.76W;51单片机,工作频率需60MHz,功耗30W;STM32F103处理器系统频率为72MHz,处理器性能可达到90DMIPS,此时Cortex-M3功耗约14W左右。在性能和功耗上达到了很高的水平!1、电源供电方案VDDA/VSSA独立电源/地2.0--3.6V,为ADC、复位、RC振荡器和PLL供电。若用ADC,VDDA2.4V;VREF+电压:2.4V~VDDA,VREF-引脚连到VSSA。VDD/VSS主电源/地2.0~3.6V:通过内置调压器提供1.8V供内核用,3.3V供I/O管脚用。VBAT:后备电池1.8~3.6V2、电源管理器STM32内部集成了上电复位POR(PowerOnReset)/掉电复位PDR(PowerDownReset)电路,系统在供电超过2V时工作;内嵌可编程电压探测器PVD检测VDD,当低于设定阀值VPOR/VPDR时,会产生复位中断,而不使用外部复位电路。。约2.5ms上电复位和掉电复位波形图PVD(ProgrammableVoltageDetector)。在VDD电压由低向高上升越过规定的阀值VPOR之前,保持芯片复位,当越过这个阀值后tRSTTEMPO秒(待电源可靠供电),才开始取复位向量,并执行指令。在VDD电压由高向低下降越过规定的阀值VPDR后,将在芯片内部产生PVD中断,进行复位。3、三种低功耗模式休眠模式Sleepmode:–只有CPU停止工作,调压器1.8V区供电工作,所有外设继续运行,在中断/事件发生时唤醒CPU。停止模式Stopmode:–调压器以低功耗模式提供1.8V来保持SRAM和寄存器的内容。–但1.8V区域的外设时钟都停止,PLL、HSI和HSE的RC振荡器被禁能。–当外部中断源(16个外部中断线之一)、PVD输出、RTC闹钟、或者USB唤
本文标题:第6章-STM32F10x最小系统
链接地址:https://www.777doc.com/doc-4641451 .html