资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,退出,嵌入式,单片机原理及应用,1 ARM嵌入式系统概述,2 STM32单片机结构和最小系统,3 基于标准外设库的C语言程序设计基础,4,STM32通用输入输出GPIO,5 STM32外部中断,6 STM32通用定时器,7 STM32通用同步/异步收发器USART,8 直接存储器存取DMA,9 STM32的模数转换器ADC,10 STM32的集成电路总线I2C,11,STM32的串行外设接口SPI,第,2,章,STM32单片机结构和最小系统,2,.1,STM32F103微控制器外部结构,STM32系列命名,规则、LQFP64(64引脚贴片)封装的STM32F103芯片,2,.2,STM32F103总线和存储器结构,总线结构,、,存储结构、位带,2.3,时钟电路、复位电路、启动配置,2.4,最小系统设计,退出,2.1,STM32F103微控制器外部结构,STM32F103系列芯片包括从36脚至100脚不同封装形式,STM32系列命名遵循一定的规则:,退出,芯片类型:,F通用快闪,,L低电压(1.653.6V),W无线系统芯片。,103ARM Cortex-M3内核,增强型;,050ARM Cortex-M0内核;101ARM Cortex-M3内核,基本型;102ARM Cortex-M3内核,USB基本型;105ARM Cortex-M3内核,USB互联网型;107ARM Cortex-M3内核,USB互联网型、以太网型;215/217ARM Cortex-M3内核,加密模块;405/407ARM Cortex-M4内核,不加密模块等。,引脚数目:,R64PIN,,F20PIN,G28PIN;K32PIN,T36PIN,H40PIN,C48PIN,U63PIN,O90PIN,V100PIN,Q132PIN,Z144PIN,I176PIN。,B128KB Flash(中容量),,416KB Flash(小容量),632KB Flash(小容量),864KB Flash(中容量),C256KB Flash(大容量),D384KB Flash(大容量),E512KB Flash(大容量),F768KB Flash(大容量),G1MKB Flash(大容量)。,封装信息:,TLQFP,,HBGA,UVFQFPN,YWLCSP。,工作温度范围:,6-4085(工业级),,7-40105(工业级)。,2.1 STM32F103微控制器外部结构,1.芯片系列:,STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU,。,2.芯片类型:,F通用快闪,,L低电压(1.653.6V),W无线系统芯片。,3.芯片子系列:,103ARM Cortex-M3内核,增强型;,050ARM Cortex-M0内核;101ARM Cortex-M3内核,基本型;102ARM Cortex-M3内核,USB基本型;105ARM Cortex-M3内核,USB互联网型;107ARM Cortex-M3内核,USB互联网型、以太网型;215/217ARM Cortex-M3内核,加密模块;405/407ARM Cortex-M4内核,不加密模块等。,4.引脚数目:,R64PIN,,F20PIN,G28PIN;K32PIN,T36PIN,H40PIN,C48PIN,U63PIN,O90PIN,V100PIN,Q132PIN,Z144PIN,I176PIN。,5.Flash容量:,B128KB Flash(中容量),,416KB Flash(小容量),632KB Flash(小容量),864KB Flash(中容量),C256KB Flash(大容量),D384KB Flash(大容量),E512KB Flash(大容量),F768KB Flash(大容量),G1MKB Flash(大容量)。,6.封装信息:,TLQFP,,HBGA,UVFQFPN,YWLCSP。,7.工作温度范围:,6-4085(工业级),,7-40105(工业级)。,8.可选项:此部分可以没有,可以用于标示内部固件版本号。,退出,2.1 STM32F103微控制器外部结构,退出,1.,电源:VDD_x(x=1,2,3,4)、VSS_x(x=1,2,3,4),VBAT,:1,.,8-3.6,VDDA,VSSA,:ADC专用,2.,复位:NRST,,低电平,3.时钟控制:,OSC_IN,OSC_OUT,:4-16MHz,OSC32_IN,OSC32_OUT,:,32.768kHz,4.启动配置:BOOT0,B,OOT1,配置启动模式,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,.,2,STM32F103总线和存储器结构,2.2.1 系统总线构架,四个主动单元:Cortex-M3 内核的 ICode 总线(I-bus)、DCode 总线(D-bus)、,System 总线(S-bus)和通用 DMA(GP-DMA)。,三个被动单元:内部SRAM、内部Flash 存储器、AHB 到 APB 的桥(AHB2APBx,连接,所有的 APB 设备)。,STM32F10 x 处理器总线结构,总线结构中各单元的功能,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 总线之间提供完全同步连接。,2,.,3,时钟电路、复位电路、启动配置,在STM32中有5个时钟源,分别为HSI、HSE、LSE、LSI、PLL,1.HSI:高速内部时钟信号8MHz,通过8MHz的内部RC振荡器产生,并且可被直接用做系统时钟,或者经过2分频后作为PLL的输入。,2.HSE:高速外部时钟信号4-25MHz,可以通过外部直接提供时钟,从OSC_IN输入,或使用外部陶瓷/晶体谐振器。HSI比HSE有更快的启动时间,但频率精确度没有外部晶体振荡器高。,3.LSE:低速外部时钟信号32.768KHZ,振荡器是一个32.768KHz的低速外部晶体/陶瓷振荡器,它为RTC或其它功能提供低功耗且精确的时钟源。,4.LSI:低速内部时钟信号30-60KHz,LSIRC担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,为独立看门狗和自动唤醒单元提供时钟。,5.PLL:锁相环倍频输出,用来倍频HIS或者HSE,时钟输入源可选择为HSI/2、HSE或者HSE/2,倍频可选择为216倍,但是其输出频率最大不得超过,7,2MHz。,2,.,3.1,时钟,控制,STM32F10 x支持电源复位、系统复位、和备份区域复位三种复位形式。,2,.,3.2,复位,2.3.3 启动配置,STM32F103x因为固定的存储器映像,代码区始终从地址0 x00000000开始,通过ICode和DCode总线访问。启动之后,CPU从地址0 x00000000获取堆栈顶的地址,并从启动存储器的0 x00000004指示的地址开始执行代码。而数据区(SARM)始终从地址0 x20000000开始,通过系统总线访问。,STM32F103x的CPU始终从ICode总线获取复位向量,即启动仅适合于从代码区开始。而常用的程序代码存放在Flash中,因此最典型的是从Flash启动。,STM32F103微控制器实现了一个特殊的机制,系统可以不仅仅从Flash存储器启动,还可以从系统存储器或内置SRAM启动。,2,.,4,最小系统设计,典型的最小系统由微控制器芯片、供电电路、时钟电路、复位电路、启动配置电路和程序下载电路构成,2.4,最,小,系,统,设,计,1.电源:,STM32F103系列微控制器的工作电压在+2.0V+3.6V之间。由于常用电源为5V,必须采用转换电路把5V电压转换为23.6之间。电源转换芯片REG1117-3.3是一款正电压输出的低压降三端线性稳压电路,输入5V电压,输出固定的3.3V电压,2.时钟:,时钟通常由晶体振荡器(简称晶振)产生,图2-9中时钟部分提供了两个时钟源,Y1是32.768kHz晶振,为RTC提供时钟。Y2是8MHz晶振,为整个系统提供时钟。,3.复位:,采用按键和保护电阻电容构成复位电路,按下按键将触发系统复位,具体电路如图2-9中复位部分所示。,4.启动模式:,启动模式由BOOT0和BOOT1选择,为了便于设置,BOOT0接电平,并且和BOOT1通过2X2插针相连,通过跳线可以配置三种不同启动模式。,5.下载:,JTAG是一种国际标准测试协议,主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。采用4线的JTAG下载方式,有效节省IO口。,6.IO口:,所有IO通过插针引出,方便扩展。大部分IO具有第二功能,第1章,ARM嵌入式系统概述,1.1,嵌入式系统简介,嵌入式系统定义及特征,、,发展、应用,1.2,ARM处理器,ARM处理器分类,、,ARM-Cortex处理器,、,ARM-Cortex-M3处理器,1.3,STM32F10 x系列微控制器,STM32微控制器分类、内部结构、优点、开发工具,退出,
展开阅读全文