找回密码
 注册
查看: 227|回复: 3
打印 上一主题 下一主题

STM32必须掌握的内容

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-5-20 10:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

8 X3 F0 Z6 I: V& b) Q6 _( g% YSTM32芯片架构
* G  ^0 S- i# X* P   STM32F103系列芯片的系统架构如下:3 ?# n+ p8 m$ L7 ]; k$ U

3 j" }  B' U7 m- n  k+ R$ K4 D' k3 y5 V. f$ }+ _8 A9 d" ]: G0 D
   STM32芯片基于ARM公司的Cortex-M3内核,由ST公司设计生产,内核与总线矩阵之间有I(指令)、S(系统)、D(数据)三条信号线。内核通过总线矩阵与FLASH、SRAM、外设连接。而外设包括GPIO、USART、I2C、SPI等。
/ H' u: ~) |$ z5 F8 c3 r/ jSTM32芯片系统结构; W6 }/ }9 ^& M3 C, ^2 c  d' T# n
STM32F103 系列芯片(不包含互联网型)的系统结构如下:
2 W9 I$ F9 R7 `* @" c 9 @4 \3 M) ^+ l, x  m' Q% T
( a9 q) a4 l) R4 i! A9 q4 B3 ], n8 z  n
从上图可以看出,在小容量、中容量和大容量产品中,主系统由以下部分构
( P% ^: t2 S! i2 G( l5 g$ X) ?成:
1 [- u! Z1 n! m0 l. R    四个驱动单元:6 {5 q* ?4 N8 m6 O; ?/ U' |! P; `! k

1 q7 G+ k# r5 C) t; N( X. j    Cortex-M3 内核 DCode 总线(D-bus)# c/ t, ]) l9 y4 y, M( u9 V* Y
# O% [- P! n; r, B% W
    Cortex-M3 内核系统总线(S-bus)( ~% n# z- N: W/ v

# T4 x2 R8 r5 h6 v: {    通用 DMA19 E, U8 |; q6 }. d1 x8 |7 M

) K  f+ M/ [. L7 {) `/ P    通用 DMA2
  L' x# |' X3 r/ M# \% A
! F( v! {1 F; ]- p3 x9 Q    四个被动单元:
! c+ T5 j% M' T9 Y6 O' y2 ^6 E6 ?# `$ |& C
    内部 SRAM
  S2 w& a! o8 |- ?0 H  ^3 D7 h# m! n' z1 g7 j
    内部闪存存储器FLASH
: y# z$ D! o7 x5 ^7 S
! \$ }5 U- f; W# [. \    FSMC8 {3 b& r" J% Z! \7 _# l
, _3 z: i9 n, M- h
    AHB 到 APB 的桥(AHB2APBx),它连接所有的 APB 设备1 Y) X8 X6 X# ~6 Z  `7 s; j. [$ X

, y' o, x, h) |# i8 z5 H7 I( M    这些都是通过一个多级的 AHB 总线构架相互连接的。下面我们看看它们各自的功能:' S6 a  ?# L. K: |& D8 Q

/ ?$ R- h2 c5 K5 ^6 r    ICode 总线& v6 I0 i  b% @3 t! x) y2 [
6 r  q5 u9 R4 q1 c5 D0 _
    该总线将 Cortex-M3 内核的指令总线与闪存指令接口相连接。指令预取在此. W1 \$ c4 ]; _
总线上完成。1 D' J) l( J, }& U$ s  y' U
( o1 p. g  V2 t/ k: G  L
    DCode 总线
" N; M0 R) G: B6 `6 |+ h
5 X+ ^8 m( c( E( R, ^: a    该总线将 Cortex-M3 内核的 DCode 总线与闪存存储器的数据接口相连接(常量加载和调试访问)。  x7 ]9 O4 D) y) f- q

+ |  E  C7 L; U    系统总线
) h! u( u2 C6 o6 \% \- ]+ ?! ?6 j. b' @8 o) C
    此总线连接 Cortex-M3 内核的系统总线(外设总线)到总线矩阵, 总线矩阵协调内核和 DMA 间的访问。
2 k) M/ l' [- e/ U! G' I3 Q/ ~! G0 ]
    DMA 总线
1 U1 \- V- o3 x7 Q; O
4 O" W0 @% b& V8 g# w9 k    此总线将DMA的AHB主控接口与总线矩阵相联, 总线矩阵协调着CPU的DCode和 DMA 到 SRAM、闪存和外设的访问。
- J! o- z( J- B* ]# w3 l6 a
, O: _0 N+ o" F( Q    总线矩阵" u6 ~% v' \  r

" {* G* U, N8 L$ M    总线矩阵协调内核系统总线和 DMA 主控总线之间的访问仲裁, 仲裁利用轮换算法。在互联型产品中,总线矩阵包含 5 个驱动部件(CPU 的 DCode、系统总线、以太网 DMA、 DMA1 总线和 DMA2 总线)和 3 个从部件(闪存存储器接口(FLITF)、SRAM 和 AHB2APB 桥)。AHB 外设通过总线矩阵与系统总线相连,允许 DMA访问。% q: d) l5 g' g9 j. L0 j
2 J! o6 c# |6 S! x) @$ Y
    AHB/APB桥(APB)
' T) b; X) d! @# x+ j5 g# l' L2 O! n; _
    两个 AHB/APB 桥在 AHB 和 2 个 APB 总线间提供同步连接。APB1 操作速度限于 36MHz, APB2 操作于全速(最高 72MHz)。有关连接到每个桥的不同外设的地址映射请参考《STM32F1xx 中文参考手册》存储器映像章节。在每一次复位以后,所有除 SRAM 和 FLITF 以外的外设都被关闭,在使用一个外设之前,必须设置寄存器 RCC_AHBENR 来打开该外设的时钟。
9 u+ @  G" [2 `6 I   STM32F1 的时钟系统相对复杂,在后续文章中再介绍。' W; T$ `7 f2 p, K; r2 ~  W/ k
STM32学习进阶路径* Y" n# U. \: J1 f

6 Y2 u( Y  V1 _0 n" X% f5 f$ ?8 n    基本外设:5 [8 T) a1 u  p4 N8 j' W, l

' d+ j! y. ~% Y1 o! B   GPIO 输入输出,外部中断,定时器,串口。理解了这四个外设,基本就入门一款mcu了。
# s' d  _1 i, X5 u+ V. ]5 X  _  a% `9 Z+ N, n
    基本外设接口:) f, t. U4 j; Z4 j# B6 y8 _

+ P  x5 f5 j: u  ^- H) Y   SPI,IIC,WDG, FSMC,ADC/DAC,SDIO 等。这些外设接口功能原理对每个芯片几乎都是一样。对芯片而言就是多和少而已。
1 s* D7 Z6 q5 q; Q* h& Y' u: h) M7 S7 U5 ~
    高级功能:
( @6 p; A( ]+ r8 X2 D+ S6 B5 b7 @0 u2 n& R4 ]2 j
   UCOS,fatfs,EMWIN 等,以及一些应用。
2 q8 L' A/ j, Y7 V+ i; ~4 g    另外值得一提的是,C 语言是嵌入式开发的基础中的基础,相关文章:C语言基础知识点汇总。如果 C 语言不过关,很大程度限制嵌入式学习的进度与深度。在这里推荐入门之后看一下关于c指针的书《C与指针》《C 指针编程之道》。学习嵌入式开发要多动手编程、多调试。

该用户从未签到

2#
 楼主| 发表于 2022-5-20 11:01 | 只看该作者
非常好的总结,感谢版主

该用户从未签到

3#
发表于 2022-5-20 13:14 | 只看该作者
非常好的总结,
) Z0 a6 A8 Y9 M% r0 ]7 P2 l' i感谢||ヽ(* ̄▽ ̄*)ノミ|Ю

该用户从未签到

4#
发表于 2022-5-20 15:23 | 只看该作者
哦哦哦,\(^o^)/~
; d8 w6 W" m. L3 h(~ ̄▽ ̄)~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-2 05:27 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表