1、学习路径
STM32中文参考手册中的第二章存储器和总线构架
2、系统架构(中等容量芯片stm32f103c8)
在小容量、中容量和大容量产品中,主系统由以下部分构成:
四个驱动单元: CortexTM-M3内核DCode总线(D-bus),和系统总线(S-bus) 通用DMA1和通用DMA2
四个被动单元 内部SRAM 内部闪存存储器 FSMC AHB到APB的桥(AHB2APBx),它连接所有的APB设备 这些都是通过一个多级的AHB总线构架相互连接的
总线(
Bus
)是各种信号线的集合,是嵌入式系统中各布件之间传输数据信息、地址信息和控制信息的
公共通道。
与总线相关的主要参数有总线宽度、总线频率和总线带宽。总线宽度是指总线能同时传输的数据位数,
如
8
位、
32
位、
64
位;总线频率是指总线的工作速度,频率越高,速度越快;总线带宽用来描述总线传输数
据的快慢,总线带宽
=
总线宽度
x
总线频率
/8
,单位为
MB/s
。
STM32
的总线结构如图
所示,可以分为6部分
①
ICode
总线(
Instruction bus
):用于访问存储空间里指令的总线;
②
DCode
总线(
Data bus
):用于访问存储空间里数据的总线;
③
System
总线:用于访问指令、数据以及调试模块接口;
④
DMA
总线:用于内存与外设之间的数据传输;
⑤
Bus matrix
(总线矩阵):用于总线之间的访问优先级管理控制;
⑥
APB
总线:用于外设接口的数据传输;
ARM
公司推出
AMBA
片上总线结构,该总线主要包含先进高
速总线(
Advanced High-speed Bus
,
AHB
)和先进外设总线(
Advanced Peripheral Bus
,
APB
),分别连接
高速设备和低速设备。基于这个总线结构,
ICode
、
Dcode
、
System Bus
都是
AHB
总线。这里
AHB
系统总线经
过两个
AHB-APB
桥转换成了两个
APB
总线。
APB1
上挂接有
DAC
、
UART
等外设,其最高频率可达
36MHz
;
APB2
上挂接有
ADC
、
GPIO
等外设,其最高频率可达
72MHz
。
在
MCU
每次复位后,所有的外设时钟都会默认处于关闭状态。因此,在使用外设前需要操作复位和时
钟寄存器
(Reset and Clock Control
,
RCC)
开启所需外设的时钟。