(3.1)--《嵌入式系统原理及设计》第3章.pdf
《(3.1)--《嵌入式系统原理及设计》第3章.pdf》由会员分享,可在线阅读,更多相关《(3.1)--《嵌入式系统原理及设计》第3章.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、47 第 3 章 STM32 微控制器及最小系统 第 3 章 STM32 微控制器及最小系统 本章主要讲解 STM32 单片机微控制器以及最小系统,其中包括:STM32 微控制器概述、STM32存储及启动、STM32最小系统和低功耗模式。3.1 STM32 微控制器概述 3.1.1 STM32 微控制器系列 STM32 系列 32 位闪存微控制器使用 ARM 公司的 Cortex-M3 内核,按内核架构分为不同产品,其中 STM32F 系列有:STM32F103“增强型”系列;STM32F101“基本型”系列;STM32F105、STM32F107“互联型”系列。增强型系列时钟频率达到 72M
2、Hz,基本型时钟频率为 36MHz;内存包括 32KB 到 1M 闪存和 20KB 到 64KB 嵌入式 SRAM;采用了 QFN、QFP和 FBGA 三种封装,不同的封装保持引脚排列一致性,结合 STM32 平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。以 STM32F103RBT6 这个型号的芯片为例,该型号的组成为 7 个部分,其命名规则如下:表 3.1 STM32 芯片命名规则 STM32 STM32 代表 ARM Cortex-M 内核的 32 位微控制器。F F 代表芯片子系列。103 103 代表增强型系列。R
3、 R 这一项代表引脚数,其中 T 代表 36 脚,C 代表 48 脚,R 代表 64 脚,V 代表 100 脚,Z代表 144 脚,I 代表 176 脚。B B 这一项代表内嵌 Flash 容量,其中 6 代表 32K 字节 Flash,8 代表 64K 字节 Flash,B 代表128K 字节 Flash,C 代表 256K 字节 Flash,D 代表 384K 字节 Flash,E 代表 512K 字节 Flash,G 代表 1M 字节 Flash。T T 这一项代表封装,其中 H 代表 BGA 封装,T 代表 LQFP 封装,U 代表 VFQFPN 封装。6 6 这一项代表工作温度范围,
4、其中 6 代表-4085,7 代表-40105。3.1.2 STM32 内部资源 STM32F103 系列微控制器模块框图内部资源如表 3.2 所示。48 嵌入式系统原理及设计 表 3.2 STM32F103 系列微控制器内部资源 本书以 STM32F103 系列芯片中的 STM32RBT6 为例,其引脚如图 3.1 所示。图 3.1STM32 芯片引脚图 STM32F103RB 的内部资源如下所述:(1)内核:ARM 32位Cortex-M3微处理器:72MHz,在存储器的0等待周期访问时可达1.25DMips/MHz(Dhrystone 2.1);单周期乘法和硬件除法。(2)存储器:128
5、K字节的Flash程序存储器;20K字节的SRAM。(3)时钟、复位和电源管理:2.03.6V供电;上电/断电复位(POR/PDR)、可编程电压监测器(PVD);外接416MHz晶体振荡器;内嵌经出厂调校的8MHz的RC振荡器;内嵌带校准的40kHz的RC振荡器;产生CPU时钟的PLL;带校准功能的32kHz RTC振荡器。(4)低功耗;睡眠、停机和待机模式三种模式。(5)2个12位模数转换器,1s转换时间(多达16个输入通道);转换范围:0至3.6V;双采样和保持功能和温度传感器。49 第 3 章 STM32 微控制器及最小系统(6)DMA控制器:7通道DMA控制器,支持定时器、ADC、SP
6、I、I2C和USART等外设。(7)9个通信接口:3个USART接口,支持ISO7816、LIN、IrDA接口和调制解调控制;2个I2C接口(SMBus/PMBus);2个SPI同步串行接口(18Mb/s);1个CAN接口(2.0主动);1个USB2.0全速接口。(8)2个高级控制定时器,4个通用定时器,2个基本控制器,1个实时时钟,2个看门狗定时器和1个系统滴答定时器(SysTick时钟)(9)调试模式:串行线调试(SWD)和JTAG接口。3.1.3 STM32 芯片官方手册 官方资料是所有关于 STM32 知识的源头,也是最好的教程,尤其现在芯片结构越来越复杂,完全靠一本书来讲清楚已是不太
7、容易,本书所讲的内容主要是讲解开发嵌入式系统的过程和思路,很多细节的内容需要去查阅芯片厂家提供的官方资料,有关芯片的手册官方主要提供两种类型资料,一种是具体芯片的说明手册,例如:STM32F103xC_D_E 芯片说明手册,这个资料主要侧重对具体的芯片的管脚定义,功能模块,封装等进行说明,资料总页数就 100 多页;另一种是芯片的开发手册,例如:STM3210 xxx 系列芯片开发手册这个资料主要侧重有关芯片开发讲解,对时钟、存储器架构、各个外设和寄存器都描述得清清楚楚,资料总页数达到了 1000 页,如何开发程序及配置寄存器都要看开发手册。由于目前 STM32 芯片开发主要采用了调用库函数的
8、方式进行,因此 ST 公司也提供了库函数帮助手册,例如:stm32f10 x_stdperiph_lib_um.chm 库函数帮助文件。在使用库函数时,可以通过查阅此文件来了解库函数原型或库函数调用的方法。由于 STM32 芯片采用 Cortex-M3 内核,因此要详细了解内核的架构和特性,可以通过阅读ARM Cortex-M3 权威指南手册来实现。3.2 STM32 存储及启动 3.2.1 STM32 总线及存储区映射(1)STM32 总线系统 STM32 总线连接如图 3.2 所示,其中 STM32 的 Cortex-M3 内核通过指令总线与 Flash存储器连接;数据总线和系统总线和先进
9、高速总线(Adbanced High Speed Buses,简称 AHB)相连。STM32 的内部 SRAM 和 DMA 单元直接与 AHB 总线相连,外部设备使用两条先进设备总线(Advanced Peripheral Buses,简称 APB)连接,而每一条 APB 总线又都与 AHB 总线矩阵相连。AHB 总线的工作频率与内核一致,但 AHB 总线上挂着许多独立的分频器,通过分频器其输出时钟频率可以降低频率从而降低功耗。其中,APB2 总线可以最大为 72MHz 频率运行,而 APB1 总线只能以最大为 36MHz 频率运行。内核和 DMA 单元都可以成为总线上的主机,它们在同时申请连
10、接 SRAM、APB1 或 APB2 时会发生仲裁事件。50 嵌入式系统原理及设计 图 3.2 STM32 内部的总线结构(2)存储区映射 STM32 存储区域是一个大小为 4GB 的线性地址空间,并符合 Cortex-M3 内核的存储映射方案。如图 3.3 所示。代码区(0 x000000000 x1FFFFFFF):该区用来存放程序。SRAM 区(0 x200000000 x3FFFFFFF):该区用于片内 SRAM。片上外设区(0 x400000000 x5FFFFFFF):该区用于片上外设。片上外设区存储结构如上图所示,STM32 分配给各个外围设备的地址空间按总线分为 3 类,APB
11、1 总线外设存储地址见表 3.3,APB2 总线外设存储地址见表 3.4,AHB 总线外设存储地址见表 3.5。表 3.3 APB1 总线外设存储地址表 地址范围 外设 地址范围 外设 0 x4000 00000 x4000 03FF TIM2 定时器 0 x4000 40000 x4000 43FF 保留 0 x4000 04000 x4000 07FF TIM3 定时器 0 x4000 44000 x4000 47FF USART2 0 x4000 08000 x4000 0BFF TIM4 定时器 0 x4000 48000 x4000 4BFF USART3 0 x4000 0C000
12、 x4000 0FFF TIM5 定时器 0 x4000 4C000 x4000 4FFF USART4 0 x4000 10000 x4000 13FF TIM6 定时器 0 x4000 50000 x4000 53FF USART5 0 x4000 14000 x4000 17FF TIM7 定时器 0 x4000 54000 x4000 57FF I2C1 0 x4000 18000 x4000 1BFF TIM12 定时器 0 x4000 58000 x4000 5BFF I2C2 0 x4000 1C000 x4000 1FFF TIM13 定时器 0 x4000 5C000 x40
13、00 5FFF USB 设备 FS 寄存器 0 x4000 20000 x4000 23FF TIM14 定时器 0 x4000 60000 x4000 63FF 共享 USB/CAN SRAM 512B 0 x4000 24000 x4000 27FF 保留 0 x4000 64000 x4000 67FF BxCAN1 0 x4000 28000 x4000 2BFF RTC 0 x4000 68000 x4000 6BFF BxCAN2 0 x4000 2C000 x4000 2FFF WWDC 0 x4000 6C000 x4000 6FFF BKP 0 x4000 30000 x40
14、00 33FF TWDC 0 x4000 70000 x4000 73FF PWR 51 第 3 章 STM32 微控制器及最小系统 0 x4000 34000 x4000 37FF 保留 0 x4000 74000 x4000 77FF DAC 0 x4000 38000 x4000 3BFF SPI2/I2S 0 x4000 78000 x4000 7FFF 保留 0 x4000 3C000 x4000 3FFF SPI3/I2S 表 3.4 APB2 总线外设存储地址表 地址范围 外设 地址范围 外设 0 x4001 0000-0 x4001 03FF AFIO 0 x4001 2000
15、-0 x4001 2FFF TIM1 定时器 0 x4001 0400-0 x4001 07FF EXIT 0 x4001 3000-0 x4001 33FF SPH 0 x4001 0800-0 x4001 0BFF GPIO A 0 x4001 3400-0 x4001 37FF TIM8 定时器 0 x4001 0C00-0 x4001 0FFF GPIO B 0 x4001 3800-0 x4001 3BFF USART1 0 x4001 1000-0 x4001 13FF GPIO C 0 x4001 3C00-0 x4001 3FFF ADC3 0 x4001 1400-0 x40
16、01 17FF GPIO D 0 x4001 4000-0 x4001 4BFF 保留 0 x4001 1800-0 x4001 1BFF GPIO E 0 x4001 4C00-0 x4001 4FFF TIM9 定时器 0 x4001 1C00-0 x4001 1FFF GPIO F 0 x4001 5000-0 x4001 53FF TIM10 定时器 0 x4001 2000-0 x4001 23FF GPIO G 0 x4001 5400-0 x4001 57FF TIM11 定时器 0 x4001 2400-0 x4001 27FF ADC1 0 x4001 5800-0 x400
17、1 7FFF 保留 0 x4001 2800-0 x4001 28FF ADC2 表 3.5 AHB 总线外设存储地址表 地址范围 外设 地址范围 外设 0 x4001 8000-0 x4001 83FF SDIO 0 x4002 2000-0 x4002 23FF Flash 存储器接口 0 x4001 8400-0 x4001 FFFF 保留 0 x4002 3000-0 x4002 33FF CRC 0 x4002 0000-0 x4002 03FF DMA1 0 x4002 3400-0 x4002 7FFF 保留 0 x4002 0400-0 x4002 07FF DMA2 0 x4
18、002 8000-0 x4002 9FFF Ethernet 0 x4002 0800-0 x4002 0FFF 保留 0 x4003 0000-0 x4FFF FFFF 保留 0 x4002 1000-0 x4002 13FF RCC 0 x5000 0000-0 x5003 FFFF USB OTC FS 0 x4002 1400-0 x4002 1FFF 保留 52 嵌入式系统原理及设计 CodeCode0 x0000 00000 x0007 FFFF0 x2000 00000 x2000 FFFFSRAM外设FSMC块1和块2FSMC块3和块4FSMC寄存器保留CM3 内部外设TIM2
19、TIM3TIM4TIM5TIM6TIM7保留WWDGIWDG保留SPI2SPI3保留USART2USART3UART4UART5I2C1I2C2USB寄存器USB/CAN 共享 512B SRAMBxCAN1BxCAN2BKPPWRADC保留AFIOEXTIPort APort BPort CPort DPort EPort FPort GADC1ADC2TIM1SPI1TIM8USART 1ADC3保留SDIO保留DMA1DMA2保留RCC保留Flash接口保留CRC保留FSMC bank1 NOR/PSRAM1FSMC bank1 NOR/PSRAM2FSMC bank1 NOR/PSRA
20、M4FSMC bank1 NOR/PSRAM3FSMC bank2 NAND(NAND1)FSMC bank3 NAND(NAND2)FSMC bank4 PCCARDFSMC 寄存器保留RTCFlash,系统存储器,SRAM影响区(由BOOT设置)保留Flash保留系统存储器Option BytesSRAM保留 图 3.3STM32 存储器映射 53 第 3 章 STM32 微控制器及最小系统 静态存储器控制器(FSMC)区(0 x600000000 x9FFFFFFF),使用 FSMC 控制器后,可以把 FSMC 提供的 FSMC_A25:0作为地址线,而把 FSMC 提供的 FSMC_D
21、15:0作为数据总线,使用 FSMC 为外部存储器和设备提供地址、数据和控制总线。针对本书主要学习的STM32F103RB 系列芯片来说,由于没有 FSMC 模块,所以此区为保留区。在 0 xA0000000 到 0 xDFFFFFFF 的 1GB 的地址存储空间是用于片外外设扩展;在 0 xE0000000 到 0 xFFFFFFFF 的 512MB 的地址存储空间是用于 NVIC、MPU 及调试组件等使用,是私有外设和供应商制定功能区。代码区起始地址从 0 x00000000 开始;片上 SRAM 从 0 x20000000 开始;用户设备的存储映射从 0 x40000000 开始,其中设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统原理及设计 3.1 嵌入式 系统 原理 设计
限制150内