STMCU小助手
发布时间:2022-6-10 19:52
|
01. 系统架构 主系统由 32 位多层 AHB 总线矩阵构成,可实现以下部分的互连: ● 八条主控总线:3 l" f/ A# l; L — Cortex™-M4F 内核 I 总线、D 总线和 S 总线 — DMA1 存储器总线 — DMA2 存储器总线 — DMA2 外设总线 — 以太网 DMA 总线2 J- Q- r; ^( \9 e# k+ I* [ — USB OTG HS DMA 总线 ● 七条被控总线:5 w( `1 _2 F" G& t5 N — 内部 Flash ICode 总线 — 内部 Flash DCode 总线 — 主要内部 SRAM1 (112 KB): i# }6 n0 G% A3 m! {3 g% F" ` — 辅助内部 SRAM2 (16 KB) — 辅助内部 SRAM3 (64 KB)(仅适用于 STM32F42xxx 和 STM32F43xxx 器件) — AHB1 外设(包括 AHB-APB 总线桥和 APB 外设) — AHB2 外设 — FSMC$ H- S, e, ]* b; b& |1 B e+ U 借助总线矩阵,可以实现主控总线到被控总线的访问,这样即使在多个高速外设同时运行期间,系统也可以实现并发访问和高效运行。, V. O( D( k/ P, x, H' V. r& h : A# }* a, m( x1 g + q9 p5 Q& H; X* ~5 d* I* D( }$ V 注意: 64 KB CCM (内核耦合存储器)数据 RAM 不属于总线矩阵(请参见图 1 : STM32F405xx/07xx和 STM32F415xx/17xx 器件的系统架构和图 2 : STM32F42xxx 和 STM32F43xxx 器件的系统架构)。只能通过 CPU 对其进行访问。 ( D/ v L8 o; t% a: c! r- D! p + W4 K( m4 F1 G) Z n0 W' C1 x: b 02. 总线架构图
$ Q j$ G5 M# A' t0 ~ 03. 总线详解; h! t0 i5 d% x4 Y 3.1 S0 :I 总线此总线用于将 Cortex™-M4F 内核的指令总线连接到总线矩阵。内核通过此总线获取指令。此总线访问的对象是包含代码的存储器(内部 Flash/SRAM 或通过 FSMC 的外部存储器)。 3 M4 t# @/ ~4 m7 _ e: W $ ~# Y) U# T0 `: |8 ], d, c) Z 3.2 S1 :D 总线' |' U* U8 Q1 A. y1 U 此总线用于将 Cortex™-M4F 数据总线和 64 KB CCM 数据 RAM 连接到总线矩阵。内核通过此总线进行立即数加载和调试访问。此总线访问的对象是包含代码或数据的存储器(内部Flash 或通过 FSMC 的外部存储器)。 6 a% b9 \- i' R) y 3.3 S2 :S 总线4 f6 \' d$ G8 m7 l! }7 O 此总线用于将 Cortex™-M4F 内核的系统总线连接到总线矩阵。此总线用于访问位于外设或 SRAM 中的数据。也可通过此总线获取指令(效率低于 ICode)。此总线访问的对象是112 KB、64 KB 和 16 KB 的内部 SRAM、包括 APB 外设在内的 AHB1 外设、AHB2 外设以及通过 FSMC 的外部存储器。 3.4 S3 、S4 :DMA 存储器总线4 s- j, _) H- L, K8 ]- ?1 E 此总线用于将 DMA 存储器总线主接口连接到总线矩阵。DMA 通过此总线来执行存储器数据的传入和传出。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB、16 KB)以及通过 FSMC 的外部存储器。 ! G+ E4 P1 E# x. p6 W' U9 o% Z X) g2 M5 l* f% ?4 } 3.5 S5 :DMA 外设总线- R8 Q; T+ r5 O4 M7 I 此总线用于将 DMA 外设主总线接口连接到总线矩阵。DMA 通过此总线访问 AHB 外设或执行存储器间的数据传输。此总线访问的对象是 AHB 和 APB 外设以及数据存储器:内部SRAM 以及通过 FSMC 的外部存储器。* V* Z% W8 T" i9 ^% S6 B3 ] 3.6 S6 :以太网 DMA 总线0 Q+ e1 c* n! B7 x3 v5 @% C2 C: h+ v 此总线用于将以太网 DMA 主接口连接到总线矩阵。以太网 DMA 通过此总线向存储器存取数据。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB 和 16 KB)以及通过FSMC 的外部存储器。% S2 g2 Q* p" v 3.7 S7 :USB OTG HS DMA 总线 此总线用于将 USB OTG HS DMA 主接口连接到总线矩阵。USB OTG DMA 通过此总线向存储器加载/存储数据。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB 和 16 KB)以及通过 FSMC 的外部存储器。% }; a1 `1 C @' D ! N D& [/ B/ ]% ~4 @3 M! t 0 H2 R5 |1 { g& i( } 3.8 AHB/APB 总线桥 (APB)7 V1 \( h5 [, S/ {8 ]. p! k 借助两个 AHB/APB 总线桥 APB1 和 APB2,可在 AHB 总线与两个 APB 总线之间实现完全同步的连接,从而灵活选择外设频率。+ J( w# }2 ]$ |9 q' t' } . r9 R0 a; G9 n7 F; D$ t6 e' ^ 每次芯片复位后,所有外设时钟都被关闭(SRAM 和 Flash 接口除外)。使用外设前,必须在 RCC_AHBxENR 或 RCC_APBxENR 寄存器中使能其时钟。8 G o* c4 m6 U2 M0 Z/ g ( z& \1 W9 O7 p/ u 总线矩阵用于主控总线之间的访问仲裁管理。仲裁采用循环调度算法。# F% s( K q3 \! s, d : t( i, U5 T% h: Z/ H |
【福利三:雨露均沾·逢7狂欢】之四:用一个定时器同步另外两个定时器输出PWM
【逢7发帖赢大礼】STM32开发之WIFI实时时钟
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
【逢7发帖赢大礼】全网最简单的Arduino_STM32开发环境搭建教程!
STM32F4中文用户手册
STM32F400、STM32F402 Cortex-M4超值单片机
SPI 高温读错最后一位?STM32F42xx 官方根治方案
微信公众号
手机版