在小容量、中容量和 大容量产品中,主系统由以下部分构成:2 O# Y( w! E D$ @' [8 ?/ q% m. {4 i
● 四个驱动单元:2 t* j' y! V2 l9 i- v6 u8 g; |
─ Cortex-M3内核DCode总线(D-bus),和系统总线(S-bus)
) ]- r# f1 k2 @/ X─ 通用DMA1和通用DMA2
. c" p) B0 O% n● 四个被动单元" @, \3 L( H# o4 v% g/ J
─ 内部SRAM
, F# W9 q( {) M- `: H4 Q+ o5 x, `: h─ 内部闪存存储器
& g }1 b6 |$ n2 N0 m" _─ FSMC
; V8 S: V# Y1 ?! @! V+ \( y─ AHB到APB的桥(AHB2APBx),它连接所有的APB设备$ F. x5 n; O0 }( V
这些都是通过一个多级的AHB总线构架相互连接的,如下图所示: 
4 ]0 X) j" W! w* Y
在互联型产品中,主系统由以下部分构成:( s, z3 H F O- D9 i# v$ ^
● 五个驱动单元:
4 p1 \8 g% ~; x( H, R8 \4 a─ Cortex-M3内核DCode总线(D-bus),和系统总线(S-bus)0 P$ a3 U2 R: `" a3 z+ V5 y
─ 通用DMA1和通用DMA2) F: j9 E) X) X- ]. j2 H$ u: q5 z
─ 以太网DMA
# N* @& @ }2 j$ B. Z● 三个被动单元
% ^# Q& Y4 @$ R3 d/ y─ 内部SRAM0 {6 g) \/ o0 K! }/ v
─ 内部闪存存储器8 b/ L" {8 Z+ H) G/ c
─ AHB到APB的桥(AHB2APBx),它连接所有的APB设备" r4 g2 h, k3 z& i/ K8 K* }" Q
这些都是通过一个多级的AHB总线构架相互连接的,如下图所示: 
ICode总线- C8 I8 o8 n. g/ n% `7 w Q
该总线将Cortex-M3内核的指令总线与闪存指令接口相连接。指令预取在此总线上完成。
& ^* L/ d2 A$ |8 c! ^7 iDCode总线
) k3 [! Y# [; [* a, v& ? 该总线将Cortex-M3内核的DCode总线与闪存存储器的数据接口相连接,常量加载和调试访问。, ~: P- l+ z% A$ {+ q
系统总线/ f% H: E+ j5 n( G, H
此总线连接Cortex-M3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。* M! t; ~6 ]3 M7 M) W; R2 M5 v1 c
DMA总线6 O; ^4 t& H/ }5 z
此总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到SRAM、闪存和外设的访问。$ r) ]5 R9 B" ^+ ^0 y
总线矩阵
+ k* `2 l1 {* a9 t8 }5 y1 O; I 总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁利用轮换算法。在互联型产品中,总线矩阵包含5个驱动部件(CPU的DCode、系统总线、以太网DMA、 DMA1总线和DMA2总线)和3个从部件(闪存存储器接口(FLITF)、 SRAM和AHB2APB桥)。 在其它产品中总线矩阵包含4个驱动部件(CPU的DCode、系统总线、 DMA1总线和DMA2总线)和4个被动部件(闪存存储器接口FLITF、 SRAM、 FSMC和AHB2APB桥)。: o t3 w: h1 j: E5 ^' L
AHB外设通过总线矩阵与系统总线相连,允许DMA访问。
9 t* R" {' b0 }3 mAHB/APB桥(APB)* Q2 K( C$ \0 g7 v: w
两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz, APB2操作于全速,最高72MHz。在每一次复位以后,所有除SRAM和FLITF以外的外设都被关闭,在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。当对APB寄存器进行8位或者16位访问时,该访问会被自动转换成32位的访问:桥会自动将8位或者32位的数据扩展以配合32位的向量。 / v! J, B! [7 n, ~
|