STM32芯片架构

STM32F103系列芯片的系统架构如下:

STM32芯片基于ARM公司的Cortex-M3内核,由ST公司设计生产,内核与总线矩阵之间有I(指令)、S(系统)、D(数据)三条信号线。内核通过总线矩阵与FLASH、SRAM、外设连接。而外设包括GPIO、USART、I2C、SPI等。

STM32芯片系统结构

STM32F103 系列芯片(不包含互联网型)的系统结构如下:

从上图可以看出,在小容量、中容量和大容量产品中,主系统由以下部分构

成:

四个驱动单元:

Cortex-M3 内核 DCode 总线(D-bus)

Cortex-M3 内核系统总线(S-bus)

通用 DMA1

通用 DMA2

四个被动单元:

内部 SRAM

内部闪存存储器FLASH

FSMC

AHB 到 APB 的桥(AHB2APBx),它连接所有的 APB 设备

这些都是通过一个多级的 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 桥)。AHB 外设通过总线矩阵与系统总线相连,允许 DMA访问。

AHB/APB桥(APB)

两个 AHB/APB 桥在 AHB 和 2 个 APB 总线间提供同步连接。APB1 操作速度限于 36MHz, APB2 操作于全速(最高 72MHz)。有关连接到每个桥的不同外设的地址映射请参考《STM32F1xx 中文参考手册》存储器映像章节。在每一次复位以后,所有除 SRAM 和 FLITF 以外的外设都被关闭,在使用一个外设之前,必须设置寄存器 RCC_AHBENR 来打开该外设的时钟。

STM32F1 的时钟系统相对复杂,在后续文章中再介绍。

STM32学习进阶路径

基本外设:

GPIO 输入输出,外部中断,定时器,串口。理解了这四个外设,基本就入门一款MCU了。

基本外设接口:

SPI,IIC,WDG, FSMC,ADC/DAC,SDIO 等。这些外设接口功能原理对每个芯片几乎都是一样。对芯片而言就是多和少而已。

高级功能:

UCOS,FATFS,EMWIN 等。以及一些应用。

STM32入门-学习STM32要掌握的内容相关推荐

  1. keil 查看 stm32 io波形_如何系统地入门学习stm32?

    我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...

  2. 如何系统地入门学习stm32?

    我从事单片机开发多年,用过非常多芯片,有stc.中颖.GD.新唐.BLE.Zigbee.NXP.还有一些国产SOC等等,唯独ST的让我最省心,不管是STM8还是STM32. 省心只要是体现在稳定,只需 ...

  3. 【转载】如何学习STM32?STM32入门学习经验总结

    一.入门总结 1.1为什么要把时间花在"犹豫"上? 每当我们在入门之前(ARM是这样,DSP也一样),总会有很多疑问,会有很多顾虑.我们渴望知道学习STM32前景如何?需要啥基础? ...

  4. 嵌入式STM32入门之STM32点灯实践(2)——HAL库

    STM32点灯实践(2) 一.前言: 二.HAL库 三.实验工具 1.STM32cubeMx的安装 2.安装HAL库 四.具体实验 1.keil仿真调试 2.上板即可 3.观察GPIO端口的输出波形 ...

  5. STM32入门学习 第四天

    提示:今天是STM32学习的第四天,今天的学习笔记是外部中断 ,看门狗,定时器中断 目录 第一讲 外部中断实验 1.外部中断概述 2.常用寄存器和库函数配置 2.1固件库 2.2 IO 口外部中断的一 ...

  6. 嵌入式STM32入门之STM32基础串口通信

    STM32基础串口通信 一.前言 二.串口协议 (1)浅谈设备通信方式 (2)具体串口协议 (3)STM32的串口通信 (4)RS-232通信协议 (5)USB To TTL(CH340) 5.1 C ...

  7. keil 查看 stm32 io波形_这样学习STM32单片机,从菜鸟到牛人很简单!

    我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...

  8. stm32 web 参数_老司机们都是怎么学习STM32的?

    单片机用处这么广,尤其是STM32,这么火!如何快速上手学习呢? "不要去学STM32".我不是说STM32不好,而是这种为了学习单片机而去学习单片机的思路不对.你问,如何系统地入 ...

  9. 老司机们都是怎么学习STM32的?

    单片机用处这么广,尤其是STM32,这么火!如何快速上手学习呢? "不要去学STM32".我不是说STM32不好,而是这种为了学习单片机而去学习单片机的思路不对. 你问,如何系统地 ...

最新文章

  1. poj 1061 (扩展欧几里德算法)
  2. Web service 介绍与简单应用
  3. Linux系统中为php添加pcntl扩展的方法
  4. 吾解——HTTP(超文本传输协议)
  5. [区块链与密码学][王小云院士][部分PPT][20200507]
  6. 【ZOJ - 1163】The Staircases(dp)
  7. [Matlab] 符号积分求对流扩散方程在给定初始条件下的一维解
  8. unity 引用prefab_十九:Unity 配置数据(序列化)的重构
  9. 爬虫笔记八——Scrapy实战项目
  10. a4服务器型号有什么不一样,一套远程可视化服务器,如在本机上编程一样丝滑的方案...
  11. perf 函数调用性能(函数流程图)
  12. 鸿蒙系统适配机型_华为官宣鸿蒙系统,麒麟960等五十多款旗舰机型可以直接升级...
  13. 相位编码信号 matlab,matlab 求基于相位编码的雷达回波仿真 更多交易加我QQ
  14. 人脸识别测试图片_人脸识别或将到达瓶颈,有监督的聚类算法探索新思路
  15. iOS 网络图片转为UIImage 和微信分享时缩略图片的压缩
  16. 插件!最好用的翻译插件!!
  17. 吕爱国倾心讲座:混合方法研究的类型与程序设计
  18. 如何利用Photoshop进行快速切图
  19. 《三国演义》十大不义之人
  20. 【Linux系统】centos 停止维护有什么影响呢?

热门文章

  1. python3 scrapy爬虫_Python3 Scrapy爬虫框架(Scrapy/scrapy-redis)
  2. mysql计算某个两个时间的差值
  3. 红米2电信 android go,超能玩手机:如何让红米2电信版正确支持“全网通”?
  4. python海龟绘图实例教程-python海龟turtle绘图实例教程
  5. 进程间通信方式有哪些-Linux进程间通信
  6. 持续集成:Jenkins Pipeline共享库定义和使用
  7. R语言ggplot2包之坐标轴
  8. 诺基亚如何利用计算机上网,诺基亚手机连接wifi的方法步骤
  9. scratch项目学习计划
  10. PCB设计——使用Altium Designer做PCB拼版文件技巧总结