在小容量、中容量和 大容量产品中,主系统由以下部分构成:* }! T6 g+ B9 M( |
● 四个驱动单元:
+ F* R+ R0 m9 }' U- |─ Cortex-M3内核DCode总线(D-bus),和系统总线(S-bus)( V6 p0 _6 u8 e2 Z" ^1 j; o7 d! n o
─ 通用DMA1和通用DMA26 q$ V1 |( ?0 @/ D
● 四个被动单元
3 Q# Q2 D9 j8 ~ n2 S─ 内部SRAM) z7 b% [9 m8 F4 ~- C. f% C
─ 内部闪存存储器% e$ {7 I) I3 ^$ {& C) r
─ FSMC5 W& h) [! } i6 a3 x. \
─ AHB到APB的桥(AHB2APBx),它连接所有的APB设备
! T' V- h) n( `: _, e3 M2 Q* ? 这些都是通过一个多级的AHB总线构架相互连接的,如下图所示: 
: U9 \- }7 R- p& X1 P- {0 a
在互联型产品中,主系统由以下部分构成:
9 u! V* E0 N% Z5 i& b+ d9 y● 五个驱动单元:
8 h2 Q" V! c/ u4 I─ Cortex-M3内核DCode总线(D-bus),和系统总线(S-bus)
L% }; w3 K+ i+ s─ 通用DMA1和通用DMA2
+ t; l1 k! f( r1 W$ Q─ 以太网DMA
* B! D, L( C6 O [● 三个被动单元
+ J) v/ r* c* ~. R0 u' U6 \+ G─ 内部SRAM+ \# i* @. }( c+ o$ Y: R
─ 内部闪存存储器8 v e* Q9 D1 |+ `" @
─ AHB到APB的桥(AHB2APBx),它连接所有的APB设备
4 y5 m; O9 L" e0 D9 Y, X 这些都是通过一个多级的AHB总线构架相互连接的,如下图所示: 
ICode总线
! n4 ]: m% j0 [6 }& ] 该总线将Cortex-M3内核的指令总线与闪存指令接口相连接。指令预取在此总线上完成。
" @ V1 R+ u- W1 h) |DCode总线
+ Y0 u5 h4 B' T: | u7 A& D 该总线将Cortex-M3内核的DCode总线与闪存存储器的数据接口相连接,常量加载和调试访问。) Y& E9 ?/ ?( D, U) O8 p
系统总线( G5 y5 d& t; x% C
此总线连接Cortex-M3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。) H6 I, e; V3 [; `; [! M
DMA总线
) h) v/ G. h, n 此总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到SRAM、闪存和外设的访问。
1 f% \/ _ H6 U# f总线矩阵) @* K1 C0 p/ F( |$ V' g, ~5 F
总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁利用轮换算法。在互联型产品中,总线矩阵包含5个驱动部件(CPU的DCode、系统总线、以太网DMA、 DMA1总线和DMA2总线)和3个从部件(闪存存储器接口(FLITF)、 SRAM和AHB2APB桥)。 在其它产品中总线矩阵包含4个驱动部件(CPU的DCode、系统总线、 DMA1总线和DMA2总线)和4个被动部件(闪存存储器接口FLITF、 SRAM、 FSMC和AHB2APB桥)。
- I! G& o; A) q$ B! V3 P AHB外设通过总线矩阵与系统总线相连,允许DMA访问。
0 b. U! A0 l6 d- @$ c5 F5 h# MAHB/APB桥(APB)
. e8 x8 X9 h0 E8 h4 f3 q4 J 两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz, APB2操作于全速,最高72MHz。在每一次复位以后,所有除SRAM和FLITF以外的外设都被关闭,在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。当对APB寄存器进行8位或者16位访问时,该访问会被自动转换成32位的访问:桥会自动将8位或者32位的数据扩展以配合32位的向量。 8 K+ y( y8 e: f! F r
|