目录
3.4.5 STM32F103系列芯片总线矩阵(不含互联型)
1.STM32简介
ST:意法半导体,公司名称 M:Microelectronics 的缩写,表示微控制器(注意微控制器和微处理器) 微控制器:CPU+片内内存+片内外设 微处理器:CPU 32:32bit ,表示32bit 的微控制器2.STM32 与 ARM 的关系
ARM:英国芯片设计公司 最成功的产品为32 位嵌入式 CPU 核--ARM 系列,最常用的是ARM7 和 ARM9 ARM 公司主要提供 IP(IntellectualProperty core 知识产权的核心)核,就是 CPU 的内核结构,只包括核心部分,并非完整的处理器。 ARM 把这个核卖给各大半导体公司,包括Philips,三星,ATMEL, 甚至 Intel 等许多公司。 ARM 为了 8 位机市场,推出了一系列 Cortex-M 核, STM32 就是将 Cortex-M 作为内核,通过一些外设等组合封装在一起组成 32 位嵌入式处理器。 STM32 基于 ARM Cortex 内核的 32 位 MCU 和 MPU 产品系列图如下:3.STM32F103C8T6 介绍
3.1 STM分类
3.2 STM命名规则
3.3 项目开发介绍
在项目学习中,可以选择F1和F4,F1代表基础型(M3内核,主频为72M)F4代表高性能(M4内核,主频为180M) 对于F1、F4(429系列以上)除了内核不同和主频增大外,升级的明显特色就是带了LCD控制器和 摄像头接口以及支持SDRAM等,在实际项目开发中会根据需求进行选择3.4 STM32F103C8T6芯片
3.4.1 芯片外观
3.4.2 引脚图
可以从ST官网查看内部资源 https://www.stmcu.com.cn/
3.4.3 引脚对应功能表
STM32103C8T6手册 https://pan.baidu.com/s/1QW5qer_xGiMZMolMGR7fow?pwd=7gnz
STM32中文参考手册 https://pan.baidu.com/s/1GDaMNNC3eKiT6KTV-NDs0w?pwd=je2x
3.4.4 STM32F103系列芯片的系统架构
3.4.5 STM32F103系列芯片总线矩阵(不含互联型)
3.4.6 在小容量、中容量和大容量产品中,主系统构成
(1)四个驱动单元
Cortex-M3 内核 DCode 总线( D-bus ),和系统总线( S-bus )、通用 DMA1 和通用 DMA2
(2)四个被动单元
内部 SRAM 、内部闪存存储器、FSMC 、AHB 到 APB 的桥( AHB2APBx )(连接所有的 APB 设 备)(3)多级的AHB总线构架
ICode总线:将 Cortex-M3 内核的指令总线与闪存指令接口相连接,指令预取在此总线上完成 DCode总线:将 Cortex-M3 内核的 DCode 总线与闪存存储器的数据接口相连接(常量加载和调试访问) 系统总线:连接 Cortex-M3 内核的系统总线(外设总线)到总线矩阵,总线矩阵协调内核和 DMA间的访问 DMA总线:将 DMA 的 AHB 主控接口与总线矩阵相联,总线矩阵协调 CPU 的 DCode 和 DMA 到SRAM 、闪存和外设的访问 总线矩阵:总线矩阵协调内核系统总线和 DMA 主控总线之间的访问仲裁,仲裁利用轮换算法 互联型产品中,总线矩阵包含5个驱动部件(CPU的DCode、系统总线、以太网DMA、DMA1总线 和DMA2总线)和3个从部件(闪存存储器接口(FLITF)、SRAM和AHB2APB桥) 其它产品中总线矩阵包含4个驱动部件(CPU的DCode、系统总线、DMA1总线和DMA2总线)和4个被动部件(闪存存储器接口(FLITF)、SRAM、FSMC和AHB2APB桥) AHB外设通过总线矩阵与系统总线相连,允许DMA访问AHB/APB桥(APB):两个AHB/APB桥在AHB和2个APB总线间提供同步连接
APB1操作速度限于36MHz,APB2操作于全速(最高72MHz)
有关连接到每个桥的不同外设的地址映射可以参考《STM32F1xx中文参考手册》存储器映像章节。
STM32中文参考手册 https://pan.baidu.com/s/1GDaMNNC3eKiT6KTV-NDs0w?pwd=je2x
在每一次复位以后,所有除SRAM和FLITF以外的外设都被关闭,在使用一个外设之前,必须设置
寄存器RCC_AHBENR来打开该外设的时钟
由于STM32F1的时钟系统比较复杂,在后面的实验中会单独介绍4.STM32的作用
4.1 通信接口
STM32的应用取决于其内部资源,STM32内部拥有非常多的通信接口。当使用的模块拥
有此接口就可以进行通信,部分模块与接口联系如下: USART:ESP8266WIFI模块、GSM模块、蓝牙模块、GPS模块、指纹识别模块、IOT模块、串口屏等 IIC:EEPROM、MPU6050陀螺仪、0.96寸OLED屏、电容屏等 SPI:串行FLASH、以太网W5500、VS1003/1053音频模块、SPI接口的OLED屏、电阻屏等 AD/DA:光敏传感器模块、烟雾传感器模块、可燃气体传感器模块、简易示波器等 其他的接口这里就不罗列,总之,STM32能做的东西非常多4.2 STM32可开发电子产品
智能手环,微型四轴飞行器,平衡车、扫地机、移动POST机,智能电饭锅,3D打印机、机器人、 移动支付端扫描仪、智能家居控制系统等 总之,学好 STM32 对就业加薪都很有帮助,在众多 STM32 芯片中,M3 内核的STM32F103芯片是开始学习的首选5.STM32学习建议
5.1 理解基本外设
GPIO输入输出,外部中断,定时器,串口。理解了这四个外设,基本就入门了一款MCU5.2 了解基本外设接口原理
SPI,IIC,WDG,FSMC,ADC/DAC,SDIO等。这些外设接口功能原理对每个芯片几乎都是一样。对芯片而言无非就是多和少而已5.3 高级功能应用
掌握RTOS,LWIP,FATFS,EMWIN,USB等以及一些应用
5.4 C语言编程能力要加强
C语言是嵌入式开发的基础中的基础,如果C语言不过关,将大大限制嵌入式学习进度,以及嵌入式学习深度。嵌入式高手基本都是C语言高手 刚入门的同学可以先在菜鸟教程 https://www.runoob.com/cprogramming/c-tutorial.html 中进行学习,掌握C语言的总体学习方向,接着再进一步深入学习请一定要记住:编程能力是练出来的,不是看出来的。很多初学者在看视频时,程序的编写都能看懂,等到脱离视频自己动手编写时发现无从下手,而且编写的一些语句有错误,比如字母大小写,关键字写错等问题
总之,遇到问题多上网查找,可以百度或浏览各大论坛标签:学习,芯片,简介,总线,STM32,3.4,内核,外设 From: https://blog.csdn.net/m0_73510429/article/details/140803195