第2章-STM32单片机结构和最小系统分解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

退出嵌入式单片机原理及应用1ARM嵌入式系统概述2STM32单片机结构和最小系统3基于标准外设库的C语言程序设计基础4STM32通用输入输出GPIO5STM32外部中断6STM32通用定时器7STM32通用同步/异步收发器USART8直接存储器存取DMA9STM32的模数转换器ADC10STM32的集成电路总线I2C11STM32的串行外设接口SPI第2章STM32单片机结构和最小系统2.1STM32F103微控制器外部结构STM32系列命名规则、LQFP64(64引脚贴片)封装的STM32F103芯片2.2STM32F103总线和存储器结构总线结构、存储结构、位带2.3时钟电路、复位电路、启动配置2.4最小系统设计退出2.1STM32F103微控制器外部结构STM32F103系列芯片包括从36脚至100脚不同封装形式,STM32系列命名遵循一定的规则:退出STM32F103RBT6xxx可选项工作温度范围封装信息FLASH容量引脚数目芯片子系列芯片类型芯片系列芯片类型:F——通用快闪,L——低电压(1.65~3.6V),W——无线系统芯片。103——ARMCortex-M3内核,增强型;050——ARMCortex-M0内核;101——ARMCortex-M3内核,基本型;102——ARMCortex-M3内核,USB基本型;105—ARMCortex-M3内核,USB互联网型;107——ARMCortex-M3内核,USB互联网型、以太网型;215/217——ARMCortex-M3内核,加密模块;405/407——ARMCortex-M4内核,不加密模块等。引脚数目:R——64PIN,F——20PIN,G——28PIN;K——32PIN,T——36PIN,H——40PIN,C——48PIN,U——63PIN,O——90PIN,V——100PIN,Q——132PIN,Z——144PIN,I——176PIN。B——128KBFlash(中容量),4——16KBFlash(小容量),6——32KBFlash(小容量),8——64KBFlash(中容量),C——256KBFlash(大容量),D——384KBFlash(大容量),E——512KBFlash(大容量),F——768KBFlash(大容量),G——1MKBFlash(大容量)。封装信息:T——LQFP,H——BGA,U——VFQFPN,Y——WLCSP。工作温度范围:6——-40℃~85℃(工业级),7——-40℃~105℃(工业级)。2.1STM32F103微控制器外部结构1.芯片系列:STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU。2.芯片类型:F——通用快闪,L——低电压(1.65~3.6V),W——无线系统芯片。3.芯片子系列:103——ARMCortex-M3内核,增强型;050——ARMCortex-M0内核;101——ARMCortex-M3内核,基本型;102——ARMCortex-M3内核,USB基本型;105—ARMCortex-M3内核,USB互联网型;107——ARMCortex-M3内核,USB互联网型、以太网型;215/217——ARMCortex-M3内核,加密模块;405/407——ARMCortex-M4内核,不加密模块等。4.引脚数目:R——64PIN,F——20PIN,G——28PIN;K——32PIN,T——36PIN,H——40PIN,C——48PIN,U——63PIN,O——90PIN,V——100PIN,Q——132PIN,Z——144PIN,I——176PIN。5.Flash容量:B——128KBFlash(中容量),4——16KBFlash(小容量),6——32KBFlash(小容量),8——64KBFlash(中容量),C——256KBFlash(大容量),D——384KBFlash(大容量),E——512KBFlash(大容量),F——768KBFlash(大容量),G——1MKBFlash(大容量)。6.封装信息:T——LQFP,H——BGA,U——VFQFPN,Y——WLCSP。7.工作温度范围:6——-40℃~85℃(工业级),7——-40℃~105℃(工业级)。8.可选项:此部分可以没有,可以用于标示内部固件版本号。退出2.1STM32F103微控制器外部结构退出1.电源:VDD_x(x=1,2,3,4)、VSS_x(x=1,2,3,4):2.0-3.6;2.4-3.6VBAT:1.8-3.6VDDA,VSSA:ADC专用2.复位:NRST,低电平3.时钟控制:OSC_IN,OSC_OUT:4-16MHzOSC32_IN,OSC32_OUT:32.768kHz4.启动配置:BOOT0,BOOT1配置启动模式5.输入输出口:PAx(x=0,1,2,…,15)、PBx(x=0,1,2,…,15)、PCx(x=0,1,2,…,15)、PD2。可作为通用输入输出,还可经过配置实现特定的第二功能,如ADC、USART、I2C、SPI等。2.2STM32F103总线和存储器结构Cortex-M3DMA1通道1…通道2通道7DMA2通道1通道2通道5总线矩阵DCodeSystemDMAICodeDMAFlash接口Flash接口SRAM复位和时钟控制(RCC)桥接1桥接2DMAAHBDMA请求ADC1ADC2USART1SPI1TIM1GPIOAGPIOBGPIOCGPIODGPIOEEXT1AFIODMA请求PWRBKPCAN1CAN2I2C2I2C1UART5UART4USART3USART2DACSPI3/I2SSPI2/I2SIWDGWWDGRTCTIM7TIM6TIM5TIM4TIM3TIM2APB2APB12.2.1系统总线构架四个主动单元:Cortex-M3内核的ICode总线(I-bus)、DCode总线(D-bus)、System总线(S-bus)和通用DMA(GP-DMA)。三个被动单元:内部SRAM、内部Flash存储器、AHB到APB的桥(AHB2APBx,连接所有的APB设备)。STM32F10x处理器总线结构总线结构中各单元的功能ICode总线:将Flash存储器指令接口与Cortex-M3内核的指令总线相连接,用于指令预取;DCode总线:将Flash存储器的数据接口与Cortex-M3内核的DCode总线相连接,用于常量加载和调试访问;System总线:将Cortex-M3内核的System总线(外设总线)连接到总线矩阵;总线结构中各单元的功能DMA总线:将DMA的AHB主控接口与总线矩阵相连;总线矩阵:用于连接三个主动单元部件和三个被动单元,负责协调和仲裁Cortex-M3内核和DMA对SRAM的访问,仲裁采用轮换算法。AHB/APB桥:两个AHB/APB桥在AHB和2个APB总线之间提供完全同步连接。代码区Cortex-M3内部外设外设内部SRAM0x000000000x200000000x400000000x600000000x800000000xA00000000xC00000000xE00000000xE01000000xFFFFFFFF根据启动配置加到FLASH或系统存储FLASH存储系统存储0x000000000x080000000x0801FFFF0x1FFFFF0000x1FFFFF8000x1FFFFF80F0x1FFFFFFFFUSB/CANSRAMbxCANBKPPWRAFIOEXTIPortAPortBPortCPortDPortEADC1ADC2TIM1SPI1USART1DMARCCFLASH接口CRCTIM2TIM3TIM4RTCWWDGIWDGSPI2USART2USART3I2C1I2C2USB0x400000000x400004000x400008000x40000C000x400028000x40002C000x400030000x400034000x400038000x40003C000x400044000x400054000x400048000x40004C000x400058000x40005C000x400060000x400064000x400068000x400070000x400074000x400100000x400104000x400108000x40010C000x400110000x400114000x400124000x400118000x40011C000x400128000x40012C000x400130000x400134000x400138000x40013C000x400200000x400204000x400220000x400210000x400214000x400224000x400230000x40006C000x400234000x600000000xE01000000xFFFFFFFF2.3时钟电路、复位电路、启动配置USB预分频/1,1.58MHzHSIRC4-16MHzHSEOSC32.768KHzLSEOSC40KHzLSIRC/2/2/128PLLSRCPLLMULPLLXTPRECSSPLLCLKHSEHSIRTCSEL[1:0]LSIIWDGCLKIWDGRTCCLKRTCSWSYSCLK最大72MHzAHB预分频/1,2,4,8,512APB1预分频/1,2,4,8,16最大36MHz外设时钟使能PCLK1APB1外设TIM2,3,4,5,6,7APB预分频=1乘1,否则乘2外设时钟使能TIMxCLKTIM2,3,4,5,6,7APB2预分频/1,2,4,8,16最大72MHz外设时钟使能PCLK2APB2外设TIM1,8APB预分频=1乘1,否则乘2外设时钟使能TIMxCLKTIM1,8ADC预分频/2,4,6,8ADCCLK,最大14MHzADC1,2,3/2外设时钟使能HCLK/2SDIOAHB接口USBCLK45MHzUSB接口/8滴答定时器外设时钟使能HCLKAHB,内核,内存,DMA最大72MHz外设时钟使能SDIOCLKSDIOOSC_OUTOSC_INOSC32_INOSC32_OUT时钟输出/2PLLCLKHISHSESYSCLKMCOMCO高速内部时钟高速外部时钟低速外部时钟低速内部时钟倍频系统时钟预分频器USB预分频器…x16x2,x3,x4PLL在STM32中有5个时钟源,分别为HSI、HSE、LSE、LSI、PLL1.HSI:高速内部时钟信号8MHz通过8MHz的内部RC振荡器产生,并且可被直接用做系统时钟,或者经过2分频后作为PLL的输入。2.HSE:高速外部时钟信号4-25MHz可以通过外部直接提供时钟,从OSC_IN输入,或使用外部陶瓷/晶体谐振器。HSI比HSE有更快的启动时间,但频率精确度没有外部晶体振荡器高。3.LSE:低速外部时钟信号32.768KHZ振荡器是一个32.768KHz的低速外部晶体/陶瓷振荡器,它为RTC或其它功能提供低功耗且精确的时钟源。4.LSI:低速内部时钟信号30-60KHzLSIRC担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,为独立看门狗和自动唤醒单元提供时钟。5.PLL:锁相环倍频输出用来倍频HIS或者HSE,时钟输入源可选择为HSI/2、HSE或者HSE/2,倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。2.3.1时钟控制STM32F10x支持电源复位、系统复位、和备份区域复位三种复位形式。2.3.2复位2.3.3启动配置STM32F103x因为固定的存储器映像,代码区始终从地址0x00000000开始,通过ICode和DCode总线访问。启动之后,CPU从地址0x00000000获取堆栈顶的地址,并从启动存储器的0x00000004指示的地址开始执行代码。而数据区(SARM)始终从地址0x20000000开始,通过系统总线访问。STM32F1

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功