你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32H7时钟树RCC分析---原理讲解(一)

[复制链接]
STMCU小助手 发布时间:2022-3-23 14:00
F1 代表了基础型,基于Cortex-M3 内核,主频为 72MHZ,F4 代表了高性能,基于 Cortex-M4 内核,主频 180M,F7 代表了高性能,基于 Cortex-M7 内核,主频 216M。H7 代表了超高性能,基于 Cortex-M7 内核,主频400M/ D# `$ L. }6 e( }
$ W. p* P: D7 S; w
c7d0df1ddff1486885cef4699de65b12.png
! A. d7 F6 O  d4 ^( e' z  D6 `7 g2 ~1 A) ]& q" p
我们今天说的就STM32H7超高性能系列的这个MCU5 a0 a  y+ G: D4 f  E

2 L  Q; e' z! |. B9 u8 i. T如果您是初学者的话,建议先看下这篇,会对时钟树有一个基本的认识4 P; a9 l& u0 w4 n  {: S
7 w$ U1 D( ]; g$ [* A2 j
首先我们来看下H7的时钟树,乍一看很大,比F1多了太多东西,那我们仔细看,发现也还是很多,别担心,那么接下来我将带你了解下整体的时钟树原理以及各个模块的分析。% R* v. o( V8 F3 W! C4 I2 T) F

* l8 I) J# ~) b  M a92d9f25d96d4fc383eb017701f1a77f.jpg
. J/ C$ \1 [, s* l- _! i
& e9 M8 j3 ?6 y+ B& `因为整体框图太大,所以我们把他分成几部分来分析,首先看下外部输入的时钟源:$ H5 h4 n: Y/ S* h& y3 [

3 O) }2 f/ |6 F3 i" \外部时钟源7 \. ?/ a* R4 B' t2 K/ h; E2 N4 p" I
STM32H7共有6个外部时钟源,分别是:
# O7 w3 Y: v: ]/ t/ i9 H1 Q+ m6 |! x- P& I9 W
HSI(高速内部振荡器)时钟:~ 8 MHz、16 MHz、32 MHz 或 64 MHz
9 n# V2 z7 k; U7 e. {HSE(高速外部振荡器)时钟:4 MHz 到 48 MHz; m% S" }! t! k
LSE(低速外部振荡器)时钟:32 kHz
0 D. Q* ]% |9 n3 T" `LSI(低速内部振荡器)时钟:~ 32 kHz' N/ D2 b6 i& }' K6 ~
CSI(低功耗内部振荡器)时钟:~ 4 MHz
7 i  Z3 E1 P3 D5 |1 nHSI48 (高速 48 MHz 内部振荡器)时钟:~48 MHz
; b$ d# x8 q% t( _8 lLSI
7 e  a* J$ G  M6 f% W9 s$ _3 \# aLSI 属于 STM32H7 内部低速时钟源,频率约为 32Khz。$ d" R2 v5 G2 Q) z4 w
LSI 可作为低功耗时钟源保持运行,供独立看门狗 (IWDG) 和 RTC时钟/自动唤醒单元 (AWU) 使用; W9 f8 X/ K% }  m+ g

4 [9 L2 {/ x! u) P' XLSE) ]* A) q4 E8 Y  G$ k
LSE 则是外部低速时钟源,常用为 32.768Khz(使用 32.768Khz 晶振或陶瓷谐振器生成)
' c% ?' w/ j$ y9 X, k可作为实时时钟 (RTC) 的时钟源来提供时 钟/日历或其他定时功能,具有功耗低且精度高的优点- |# V' ?/ ~+ `! K
# K1 {) }0 @! d- S/ l
HSE
' X9 J5 L9 R; _" _! D" D$ X2 bHSE 是外部高速时钟,正常我们都用HSE来作为系统时钟输入,常用25Mhz的外部晶振。
& g9 p& G5 D5 R* v* c系统进入停止或待机模式时,HSE 会自动由硬件禁止
- c0 Y1 ?2 i6 lHSE 时钟可被驱动到 MCO1 和 MCO2 输出,以及用作其他应用组件的时钟源5 U: k/ w# k" y2 G* }7 Z" `

# ?3 D6 a% f3 v4 o% y$ @* Z! Z7 n, ?! p2 p
HSI( v& Y$ I8 W5 `- |( W: n
HSI 是内部高速时钟,频率为 64Mhz;
" J( P9 Y! p# _  e, |可直接用作系统时钟、外设时钟或 PLL 输入
# r! i# |' x) ~* i( Y* f可使用 HSIDIV预 分频器来选择 8 MHz、16 MHz、32 MHz 或 64 MHz 的 HSI 输出频率3 {  j) @6 N- H5 a' y6 @# u
  z! x( S" ?  t4 K% k' W6 X

  e! e, p5 B1 Z) a( j( L5 zCSI
- T: d" r% L& E, n+ z% {/ eCSI 是低功耗内部时钟,频率为 4Mhz;
; u* @4 V1 A+ o; E6 a! m0 r* E  O可直接用作系统时钟、外设时钟或 PLL 输入
( b( K- K- _% w4 i2 M3 rCSI的频率极低,即使经过频率校准后,CSI 频率也不如外部晶振或陶瓷谐振器的频率精度高,其优点就是功耗低。
* H0 z1 k& q2 U) B8 b" L/ P8 a/ V! _4 ~* p1 `" z( F
CSS (Clock security system)
8 R% a& t) h) T- o; ?* J" C时钟安全系统,也就是监控系统,H7的HSE和LSE两个外部时钟源带有安全监控,一旦使能后,如果 HSE 或LSE启动失败,系统时钟将切换到 HSI。如果使能了中断的话,将进入不可屏蔽中断 NMI。
9 `2 W4 w2 J* d: L* A+ m3 n. k4 D$ p
HSI48# _- L: z% o# ?/ y6 Z9 t
HSI48 是内部高精度时钟源,频率为 48Mhz;+ W4 N; d; G/ l# i1 X  ?
其提供的 48 MHz 时钟可直接用作某些外设的内核时钟
% m# c% C( I# \3 P6 Z# N主要用于通过特殊时钟恢复系统 (CRS) 电路为 USB 外设的时钟源使用0 I3 b' y% d2 r* D0 Q2 N5 g
7 g3 M- }& A  S; c! ^- x  O
好的,通过上述的介绍,你应该明白了H7的几大时钟源,那么这些时钟源后续要被用在哪里,我们再来分析6 p$ s/ o7 |) e6 o" H* f

& C3 H9 }. g; e# `. R: XIWDG, RTC,AWU; z0 d& I0 {! a5 k; h
上半部紫罗兰色框的部分,就是独立看门狗 (IWDG) 和 RTC时钟/自动唤醒单元 (AWU)$ E1 i4 _. L: \  p$ _
独立看门狗 (IWDG)只能由LSI 提供+ ^. l" ~! J( J* g6 a
RTC和AWU可以由LSE LSE 和 HSE的1M分频来作为时钟源1 h6 L9 a% O. G1 o0 K' s8 t

. {7 B2 J% v$ u锁相环PLL, T0 T& H* A, T6 k, t, p/ P' ?! _
PLL(Phase Locked Loop): 为锁相回路或锁相环。总体上起到晶振频率倍频的作用,为系统高速率运行提高必要条件。& C( [- d  u& ^, ]) X& v
. V# S3 T! V3 Y6 k! E
VCO(voltage-controlled oscillator):压控振荡器,是PLL 里的一个构成部件1 U) I, Q3 ^  a, R! I) V

& k8 X* |7 F# Z8 v3 s5 A" D# Q b1d645b0b7314267b3156c0ad28f17e5.png
! q3 u! l& E" V5 V. L9 u2 X
. g. F/ x8 U; jSTM32H7一共有三个PLL锁相环:; y! Y7 D& [% w9 C7 ?4 G* M. s# g5 w
一个主 PLL (PLL1),通常用于为 CPU 和某些外设提供时钟。
1 a2 W0 l. |+ k2 {3 S% p$ m两个专用 PLL(PLL2 和 PLL3),用于为外设生成内核时钟。' @/ m, z4 `( ]* V( o& x8 L
  }! P& L/ a' r$ F
PLL的输入时钟源为refx_ck,并且为 PLL 提供的参考时钟的频率 (refx_ck) 必须介于 1 MHz 到 16 MHz 范围内" T6 U! n# E0 L4 g1 t
) c5 J& U8 W1 W- b& a  F
其中HSI CSI HSE三个时钟源可以作为输入,然后经过PLL时钟源选择器PLLSRC,该选择器主要选择使用哪一个振荡器作为时钟源,再经过DIVMx分频得到1 MHz 到 16 MHz 的时钟频率,我们一般选择 PLL 时钟源来自 hse_ck,一般为 25Mhz/ R8 T9 D5 p: e- S5 Y/ F5 Z* t" Y
* }  P  d5 D7 _) u( c
DIVMxLLx时钟源预分频器,用于对PLLSRC选择的时钟源进行分频,取值范围是:2~63$ L: \2 ?: n0 U+ L1 Y, P
* A6 Y8 @8 {! j
PLL1
% p# }2 G  Y! z8 a! z0 TPLL1 锁相环,该 PLL 主要用到两路输出:pll1_p_ck 和 pll1_q_ck,其中:pll1_p_ck一般用于 sys_ck 系统时钟的时钟源,最终作为 CPU、SysTick、AXI、AHB1~4 和 APB1~4 等的时钟源;而 pll1_q_ck 则可以通过 PKSU 选择作为部分外设的内核时钟(perx_ker_ck),如 FMC、QSPI、SDMMC1/2 等,至于图中的 pll1_r_ck,并没有用到。
1 y; N9 u) Z5 B$ t; m
3 f( Y" O# [" I% N2 [. ?- LDIVN1 是主 PLL1 vco 的倍频系数,其取值范围是:4~512;3 J% G4 k. N4 r' i# w! _+ ^
DIVP1 是 PLL1 的 P 分 频,用于得到 pll1_p_ck 的频率,其取值范围是:2、4、6…128(必须是偶数);
. n# B0 m, k8 c( sDIVQ1 是 PLL1的 Q 分频,其取值范围是:1~128;
: e  T: W! w8 Z2 y; m- i; ]8 \DIVR1 则没有用到;5 \7 g7 R8 ]" ~: u
FRACN1 是分数倍频系数,它和 DIVN1一起组成 PLL1 的倍频系数,但是我们一般并不需要用到分数倍频
2 m: W0 e+ k: I$ h5 e+ y
1 @+ ~7 f* k- m/ v
7 ~$ r) V: b1 J8 v- O: ~这里以 pll1_p_ck为例,简单介绍下 PLL 输出频率的计算公式(时钟 PLL 输入频率为 hse_ck):  `' Z- `# ?+ L6 _0 m* x% F
& C6 q0 V& G2 Q1 ]
LGN42T%T]VE`XLKBFZCO($B.png / e6 \% R4 n) p+ ?

7 @! M; E) O+ y2 h% t% C: x* L假设外部晶振为 25Mhz,我们需要得到 400Mhz 的 pll1_p_ck 频率来作为系统时钟,则可以设置:DIVM1=5,DIVN1=160,DIVP1=2 即可
% m3 K, O7 _1 H: Y: S2 @' N9 w+ N# g) O( }! K4 _- p
PLL2和PLL3跟PLL1类似,这里我们不再赘述。
; u: T4 \4 z: R; }3 i; m  }) {, B6 l# ]4 F
系统时钟
/ a: i! L- F0 Y; F& R: e8 F
系统复位后,会自动将 HSI 选作系统时钟,并且所有 PLL 均将关闭。 ,也就是每次系统复位,都会用HSI作为系统时钟,当系统稳定后,可以配置好 PLL1 ,将系统时钟可以切换为 plll1_q_ck(400Mhz),以得到最高性能
6 |) r7 I3 @  d0 p5 W
+ Q2 Q1 B' g) b( r% D2 U8 C当时钟源用于系统时钟时,软件无法关闭所选时钟源,也就是系统时钟软件无法禁止$ E: y4 |+ H  X" `- ^* W- V; g; i

+ c! v6 j/ R; X3 [6 U: E 0f5ab7e90ed548f5a029c66ecf973afa.png ; x; T7 ^1 U! y

: F: L& e  J9 V/ x( LSCGU(System Clock Generation Unit,系统时钟生成单元),用于将 sys_ck 分成各种
8 L5 ]5 O' s& H8 _时钟频率,比如:CPU 频率、SysTick、AXI、AHB1~4 和 APB1~4 等。" S0 S+ l0 F3 o' {9 r) j" I
SCEU(System Clock Eable Unit,系统时钟使能单元),用于使能各个外设、总线等的时钟,是一个时钟开关。
$ C# g0 E' v! q' L4 V9 S  o( W3 K9 J下面我们来对系统时钟的生成做一个详细的介绍:; H1 X  ^4 r' \& o# p
1 {. [. o0 F9 y+ K/ _7 \3 Z# [
f8187749cf1a4769878e20231dd956f7.png
  r" M8 g) S* K1 u% s8 i. a1 v6 K1 ?; N! e) U
上图主要列出了 STM32H743 系统时钟的生成原理,包括 CPU 时钟、SysTick 时钟、AXI时钟、AHB1~4 和 APB1~4 等,这些时钟对整个系统运行来说非常重要,图中,D1、D2 和 D3 域是 ST 为了支持动态能效管理,所设计的 3 个独立的电源域,每个域都能独立开启/关闭。系统时钟由 SCGU 产生,然后经过 SCEU 做开关,最终输出到各个时钟域(D1、D2 和 D3),从而能够控制和访问各类外设,保证系统的正常运行。( s2 x% v6 H' B3 Y3 A# m5 R8 v

5 i% V1 s+ R) e: ?) O' kSCGU 输入时钟(sys_ck),该时钟我们一般选择来自 pll1_p_ck,频率为 400Mhz) U& Y5 ]3 e5 v
DICPRE:sys_d1cpre_ck 时钟的分频系数,取值范围为 1~512,通过 RCC_ D1CFGR 寄存器的D1CPRE[3:0]位设置,我们一般设置为 1 分频,以得到最高的 sys_d1cpre_ck 频率,400Mhz
, B2 k/ ], j3 l* x# V经过HPRE分频后给AXI时钟等外设使用,注意这里最高频率为200Mhz,也就是大部分外设的最高频率为200Mhz,所以sys_ck为400Mhz时,HPRE最少为2分频。" ~: A  c. _# q. Z4 @- {8 h
给HRTIM做时钟使用,频率可达400Mhz
  x# P) r2 ?: L1 FCPU 时钟(rcc_c_ck、rcc_fclk_c),CPU 时钟是直接来自 sys_d1cpre_ck,没有分频器,频率为 400Mhz
. G6 k# @+ H; N+ ^' G; Y+ gSysTick 时钟分频器(固定 8 分频),这个在图中是有错误的,实际上这个分频器是没有的(硬件 bug),因此 SysTick 的时钟频率,直接来自 sys_d1cpre_ck,频率为 400Mhz系统时钟. V. I+ X+ f- t) R8 k& |9 C0 B& D
使能单元(SCEU),它能够对 D1、D2 和 D3 域内的所有外设时钟进行开/关控制,所以在使用外设的时候,必须设置 SCEU,使能其时钟,否则外设无法使用,也就是配置各个外设时钟的使能ENR& r) `" p, |6 l' z) t, n
D1 域,是高性能域,主要为CPU时钟和AXI外设,AHB3外设+ q* b( ^9 H" h* [4 O
D2 域,通信接口域,主要进行数据通信工作,减轻 CPU 的负担。此域包括:AHB1、AHB2、APB1 和 APB2 等时钟部分。0 x9 N9 V: P) @% |/ F
D3 域,数据批处理域,此域包括 AHB4 和 APB4 等时钟部分
7 m( _$ k& K) F6 i5 x, a9 ?& ]1 q7 R: r, Q2 D
; ]0 Y; \# Y; C
MOC1/MOC2( t* n  a2 B& j% Q! V; Z
两个时钟输出 (MCO) 引脚可供使用,分别为 MCO1 和 MCO2。可以为每个输出选择一个时钟源。& i& Z6 r; k" @% Y
GPIO 端口必须在复用功能模式下使用MCO。9 d- p+ J) p+ {* `! _1 d( M* O; Z  V; D
MCO 输出提供的时钟频率不能超出最大引脚速度  ~/ e4 c  O7 E, E' t( y* t
MCO1 可以在 PA8 引脚输出
; s- ^9 c3 g; }; {MCO2 可以在 PC9 引脚输出
; ?5 ]& l1 S( K) [) W0 m+ }+ R6 T& i' o$ k+ o( H
PKSU/PKEU" |  p- v9 |+ \  w0 l
SCEU :用于控制外设的访问时钟(访问寄存器)
# }8 z7 G- v0 P. H4 V  k5 C+ M3 o) YPKEU: 用于控制外设的内核时钟(生成控制时序,如波特率等)$ X+ v; [- |. K" `+ ]

$ R: H/ i8 @# ^( z  c+ w, L并不是所有的外设都需要用到 PKEU,因为有些外设并不需要生成时序,没有所谓的外设内核时钟,比如 DMA、OPAMP 等,这些外设只需要在SCEU 进行使能即可
) r, @/ A( |" @
9 N8 e! H. F  T; Y: h下图是详细的外设时钟使能框图3 a  ~+ x8 B; V/ Y; L
1 I# u) i& A4 L- L/ N" V* k
4911c60431a34b999f4fafe604414df6.png 5 P, E! o, R% X# [. P
2 ~! ~) b7 T* d
上半部分的SCGU跟SCEU已经讲过,这里我们只说下下半部分:
. y, i  n  O9 N6 Q( e( r4 ]0 p外设内核时钟选择单元(PKSU,即:Peripheral Kernel clock Selection Unit),用于选择某个外设的内核时钟来源,具体的选择关系。
, q, O/ |/ z! x6 m! @2 p外设内核时钟使能单元(PKEU,即:Peripheral Kernel clock Enable Unit),此部分将PKSU处选择的外设内核时钟进行使能/禁止操作,最终控制是否输出内核时钟(rcc_perx_ker_ck)给外设。
% x+ m1 T4 s0 v& m/ F0 ?  H内核控制逻辑(Kernel Control Logic),用于控制 PKEU 是否输出内核时钟给外设,它有很多控制信号,其中我们常用的是 PERxEN,通过这个位的设置就可以控制具体外设内核时钟的开/关。
& N* o3 z, C# N* M外设内核时钟(rcc_perx_ker_ck),该时钟用于驱动外设产生时序,如波特率、时钟脉冲等。大部分外设都需要用到 rcc_perx_ker_ck,比如串口、SPI、IIC、FMC、SAI、LTDC 和CAN 等。
. E4 d6 z% q% J) k! O* W) F  X9 `% G. ?( D* u
) K' e% `; z% D: ?7 v  ?# v/ b
这里推荐一张STM32H7 的数据手册里面非常棒的框图(在数据手册里面检索 Figure 1 就可以找到),可以对H7的整体架构有一个直观的了解,可以看到每个外设所挂的总线,和各个总线的最大时钟频率。
5 N, d: {. u4 X6 a3 V! D& t0 u* i/ ]# f% y7 C. V- i
AHB (Advanced High-performance Bus) 高级高性能总线
! r9 t% Z0 q; x  \! _$ z$ ?APB (Advanced Peripheral Bus) 高级外围总线8 h. ~3 D; U7 L* X
AXI (Advanced eXtensible Interface) 高级可拓展接口
5 W) R. e/ ?+ w5 u! v; T. w- m" V$ `8 s  v3 x* s$ W
AHB主要是针对高效率、高频宽及快速系统模块所设计的总线,它可以连接如微处理器、芯片上或芯片外的内存模块和DMA等高效率模块。2 x8 p3 k) H# n. r( F

2 M6 A' Y: ]7 sAPB主要用在低速且低功率的外围,可针对外围设备作功率消耗及复杂接口的最佳化。APB在AHB和低带宽的外围设备之间提供了通信的桥梁,所以APB是AHB或ASB的二级拓展总线。
* Y/ H7 l+ p4 T  j
9 _$ t* u0 Z8 P# ~1 u+ pAXI:高速度、高带宽,管道化互联,单向通道,只需要首地址,读写并行,支持乱序,支持非对齐操作,有效支持初始延迟较高的外设,连线非常多。' n3 m9 J" P$ W5 A
) d4 t- ~8 O4 j" }, u0 ~. f9 m4 K
这些内容加起来就定义出一套为了高性能SoC而设计的片上通信的标准。
% R  e; s' n* S' X! p3 D- _0 O- s: h2 L8 }9 N% v3 G& |
1111.png
- S5 E$ S8 C3 |& f6 B( {9 ~4 s8 d$ ?: \1 E- b
比如你可以看到SYSCLK(Hz) = 400MHz (CPU Clock) 也就知道上述CPU框图初的错误
2 t# G! q' g& M  X/ v' j
7 \' b2 F. J: V" H7 r1 R. |* A可以看到CPU外挂了一个 64bit的 AXI BUS 还有一个32bit的 AHB BUS/ W0 A' W* [- F, `9 x
: H+ o! t5 \/ ]2 U. l8 T) s3 d
FLASH FMC QSPI 这些都是在AXI总线上的
; ]! w% |' i$ ^; L4 q; I常用的 TIM UART SPI IIC挂在AHB总线上0 X8 m. B! V9 `: m0 [5 O5 \4 g
. z+ u# k! t0 \5 f
64位的AXI总线又分出了一个32位的 AHB4 等等
' Q, p: ?) A2 \, g. |" n% i* o' q7 X2 e+ x
右下角的是时钟的框图,可以看到RTC时钟 看门狗时钟7 s7 q  ~) ]" D" v

1 n+ _/ i: m9 b! _0 z+ H可以看到HSE的时钟是4-48Mhz 然后给APB4总线外挂 经过三个PLL锁相环 再做外部输出! ?/ z* a' B& K! F$ Z6 U, g  i5 U

8 Q. T4 {# C' h( u* R- @+ A ]V})_607HGDVD(Q@C1T1%]2.png
, U( z: g4 E1 ]5 K) a, q9 D4 F) B4 E7 S& F4 M% x* Y5 e
再比如200Mhz的AHB4经过分频生成了APB4最高位100Mhz
& j  O. u5 o6 g( ?* F
3 h$ o7 W5 |0 J2 G& \7 X8 g  } 9_~6DV(3U[]N0315QW9[S[T.png
- i0 x4 H' A# L1 I9 X- P+ ]7 m
4 g/ I  S8 D3 v; kAPB1 定时器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14,LPTIM1# i, \. B9 ]0 `- i' z8 x9 E, v
APB2 定时器有 TIM1, TIM8 , TIM15, TIM16,TIM17/ l% m/ Y/ Y" X. O" c
APB3 上有 LCD-TFT FIFO1 a% I0 I* ^# F$ q1 S  S& v- f! O
APB4 定时器有 LPTIM2,LPTIM3,LPTIM4,LPTIM5
( _) F: d( ]/ \: D5 Y3 N# c* u* [, X* B6 Q) ^) z4 z2 a+ {" j0 C
还有下面的总线系统框架. q; ^" p" o/ T5 Q2 q5 M

. _5 S$ t" |* \& U& G SWA]V0DDFM@IPTU@3BUX.png , e& h- o& w0 g9 \

3 X6 y( r7 L& o! x+ B) e可以很清楚的看到外设共分为三个域:D1 Domain,D2 Domain 和 D3 Domain。
% H6 `8 b! c! v! C9 O& {) K" L% Q◆ D1 Domain
% C3 K* \6 X/ P; YD1 域中的各个外设是挂在 64 位 AXI 总线组成 6*7 的矩阵上。
/ T2 q7 l" B1 h" c# R; o! ~8 \- }# k; M1 E" b4 u
6 个从接口端 ASIB1 到 ASIB6
. J. _- B9 I  _9 h; ?+ i& d- k( \1 s外接的主控是 LTDC,DMA2D,MDMA,SDMMC1,AXIM 和 D2-to-D1 AHB 总线。: u) B! z: y/ c* l& p8 D8 G; l
& C7 y" N1 H8 E, B, L0 R

8 n/ L4 }5 v6 K# u( _$ b* h8 T( o3 T7 个主接口端 AMIB1 到 AMIB7
& h; o; z4 e3 G. t5 A" R0 g外接的从设备是 AHB3 总线,Flash A,Flash B,FMC 总线,QSPI 和 AXI SRAM。
1 L' ?: }" A2 `) L- {8 p. ]AHB3也是由 AXI 总线分支出来的,然后再由 AHB3 分支出 APB3 总线。
! G# e0 `4 c0 G  R- R
: O+ Q0 x! S. {8 @
; m  l  G) i! u. K# i) r3 B( Y$ F- {◆ D2 Domain. O+ _- X) u+ l  l& B9 M( ^
D2 域的各个外设是挂在 32 位 AHB 总线组成 10*9 的矩阵上。2 @. W7 N! N2 L* ]: _
10 个从接口外接的主控是 D1-to-D2 AHB 总线,AHBP 总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1 和 USB HS2。) @  i8 x( O2 ~; V, X/ p0 E
9 个主接口外接的从设备是 SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB1,APB2,D2-to-D1 AHB总线和 D2-to-D3 AHB 总线。, `3 @3 g* U! l0 V- V7 T8 \

6 I) [. v/ L0 e4 j2 R7 [8 t◆ D3 Domain
; Y8 K% y/ g9 \+ T/ A8 fD3 域的各个外设是挂在 32 位 AHB 总线组成 3*2 的矩阵上。
1 I& v! }9 s" B1 q- h$ V. Z3 个从接口外接的主控 D1-to-D3 AHB 总线,D2-to-D3 AHB 总线和 BDMA。. U% j' H2 d5 r
2 个主接口外接的从设备是 AHB4,SRAM4 和 Bckp SRAM。另外 AHB4 也是这个总线矩阵分支出来的,然后再由 AHB4 分支出 APB4 总线。8 J! [5 y' _, U! i' |, A

* {7 @) G, H/ {' Z: d" `
$ @: t* I' M8 K0 c, D
收藏 评论0 发布时间:2022-3-23 14:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版