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

STM32介绍

[复制链接]
STMCU小助手 发布时间:2022-11-28 14:07
什么是 STM32
  I# |  Z7 L  {. l& vSTM32,从字面上来理解,ST 是意法半导体,M 是Microelectronics 的缩写,32 表示32 位,合起来理解,STM32 就是指 ST 公司开发的 32 位微控制器。STM32 是以32位为一个单位,同时能处理32位。比如51单片机就是一个同时处理8位的单片机。STM32中外设以4个位确定一个引脚功能。在如今的 32 位控制器当中,STM32 可以说是最璀璨的新星,大受工程师和市场的青睐,无芯能出其右。

! e( i5 S) N2 D% h( r0 R) `CMSIS构架

  w1 f* u9 c( K
640 (3).png

5 r3 B6 |, U- P; K3 B
640 (2).png

8 `2 l: ~" y! d- J% i
时钟# [3 C0 x9 I7 _0 T3 J. ?/ K
51单片机所有的时间基准都是以唯一的晶振为主。STM32每个引脚使用都需要开启相应的时钟功能。
1 k+ r. s# c" ]3 i( k以控制外设时钟的APB2  外设时钟使能寄存器(RCC_APB2ENR)为例介绍:
/ S, ]+ b+ l; M
$ o  X8 M4 A) u+ f
640 (1).png

$ Z( ]/ R: K7 @6 k1 ^, J
STM32诞生的背景; |' t8 M% _% |' @1 r! r
51 是嵌入式学**一款入门级的精典 MCU,因其结构简单,易于教学,且可以通过串口编程而不需要额外的仿真器,所以在教学时被大量采用,至今很多大学在嵌入式教学中用的还是 51。51 诞生于 70 年代,属于传统的 8 位单片机,如今,久经岁月的洗礼,既有其辉煌又有其不足。现在的市场产品竞争越来越激烈,对成本极其敏感,相应地对 MCU的 性能要求也更苛刻:更多功能,更低功耗,易用界面和多任务。面对这些要求,51 现有的 资源就显得得抓襟见肘。所以无论是高校教学还是市场需求,都急需一款新的 MCU 来为这个领域注入新的活力。基于这样的市场需求, ARM 公司推出了其全新的基于 ARMv7 架构的 32 位 Cortex-M3微控制器内核。紧随其后,ST(意法半导体)公司就推出了基于 Cortex-M3 内核的 MCU—STM32。目前Arduino 和树莓派发展迅速,但都没有成为主流,而STM32 凭借其产品线的多样化、极高的性价比、简单易用的库开发方 式,迅速在众多 Cortex-M3 MCU 中脱颖而出,成为最闪亮的一颗新星。
" @4 {3 E4 I+ b+ J7 _, n( }& D5 J
STM32 能做什么- t. a) f" T* ~7 F
每个单片机都有其独特的优势,所有其使用方向也大体不同。STM32 属于一个微控制器,自带了各种常用通信接口,比如 USART、I2C、SPI 等,可接非常多的传感器,可以控制很多的设备。现实生活中,我们接触到的很多电器产品都有 STM32 的身影,比如智能手环,微型四轴飞行器,平衡车、移动 POST 机,智能电饭锅,3D 打印机等等。下面我们以最近最为火爆的两个产品来讲解下,一个是手环,一个是飞行器。
6 c+ \. j0 o: _( l* T$ }; A9 b* a

1 M" ?0 B5 P1 h6 d2 [) l
STM32选型; y/ q$ t' L8 A/ K* s* M
STM32分类9 ^: U" r4 U$ G, l3 j- r
STM32 有很多系列,可以满足市场的各种需求,从内核上分有 Cortex-M0、M3、M4和 M7 这几种,每个内核又大概分为主流、高性能和低功耗。
5 g6 n5 f* y8 q5 Q, x/ W$ T单纯从学习的角度出发,可以选择F1和F4,F1代表了基础型,基于Cortex-M3内核,主频为 72MHZ,F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。之于 F1,F4(429 系列以上)除了内核不同和主频的提升外,升级的明显特色就是带了 LCD 控制器和摄像头接口,支持 SDRAM,这个区别在项目选型上会被优先考虑。但是从大学教学和用户初学来说,还是首选 F1 系列,目前在市场上资料最多,产品占有量最多的就是 F1 系列的 STM32。
1.Cortex-M0
+ J& j$ d( Z. e) hSTM32-F0  入门级6 K/ W1 F! W. [8 B. B8 ?( x
STM32-L0  低功耗
1 Q! s3 x. E# F4 ^  t7 w9 u' [2. Cortex-M3
3 d) s  k7 ^6 O. S/ w3 YSTM32-F1  基础型频 ,主频 72M0 _2 k. R& \* e5 m% u
STM32-F2  高性能
  f' `) \* V+ m* e6 R  SSTM32-L1  低功耗2 w5 m4 {2 n9 B, C& |" i! \
3. Cortex-M4$ Y7 q9 V2 H8 V" U
STM32-F3  混和信号
) _) g# E& [* \' GSTM32-F4  高性能频 ,主频 180M
" p9 i1 p) z  I1 L% jSTM32-L4  低功耗
/ Y( S. n# w2 ?$ v9 L4. Cortex-M7
6 |* l8 y4 _6 b STM32-F7  高性能, j* c. F6 G/ }! a; P, Q
5. 8  超级版 6502
1 g. a2 `% n5 ~( C6 ASTM8S  标准系列
) ]7 v! Z% @2 ESTM8AF  标准系列的汽车应用' f' T- Z- c' [5 n" I! D; B5 {
STM8AL  低功耗的汽车应用/ ^1 D& u, t% j" O  x6 n2 f
STM8L  低功耗

' P3 _$ M& @0 c1 y# ]; p" Q# FSTM32 命名方法" f; X3 N* E6 \6 S1 j+ E/ p
这里我们以 STM32F103VET6来讲解下 STM32的命名方法。' A, y2 D: m+ w  @7 l: B6 n
1. 家族4 {& U) m' h3 E4 o" S
  STM32 表示 32bit的 MCU! b" r) N% ]- Y, s* m: [+ f
2. 产品类型) N, h% C1 h4 C) S& @% [. U
F表示基础型
1 X6 u2 ?* f0 ?- t/ p, _3. 具体特性
' f( b, m* [0 o  基础型
7 Z3 n- @! {& n, j4. 引脚数目
, i9 J2 `  Z) h/ L  W3 d7 N4 n% ~, KV 表示 100pin,其他常用的为 C 表示 48,R 表示 64,Z 表示 144,Z 表示144,B表示 208,N 表示 216
$ e) W% [/ a0 a% z2 k4 k5. FLASH  大小- |0 \  ]# _% X7 p
E表示 512KB,其他常用的为 C表示 256,E 表示 512,I表示 2048
; ]; o$ J6 e8 O- Y/ e: A$ d6. 封装. W+ r* d- {0 U; z
  T表示 QFP 封装,这个是最常用的封装
- P1 R( H! B/ C# u6 P  `+ K" l6 O7. 温度
  x/ @  N9 Q0 _+ y, w3 g  6 表示温度等级为 A :-40~85°
% g$ W3 L" r5 G0 L; @
4 k  P4 D  ~' h# ~
640.png

% ]% ?( r9 E( c" E4 c
选择合适的MCU
: E/ T: ]# N' ~% M( L, M了解了 STM32 的分类和命名方法之后,就可以根据项目的具体需求先大概选择哪类内核的 MCU,普通应用,不需要接大屏幕的一般选择 Cortex-M3 内核的 F1 系列,如果要追求高性能,需要大量的数据运算,且需要外接 RGB大屏幕的则选择 Cortex-M4内核的 F429系列。
! x+ p/ M8 _9 w) i& ?: }7 W明确了大方向之后,接下来就是细分选型,先确定引脚,引脚多的功能就多,价格也贵,具体得根据实际项目中需要使用到什么功能,够用就好。确定好了引脚数目之后再选择 FLASH 大小,相同引脚数的 MCU 会有不同的 FLASH 大小可供选择,这个也是根据实际需要选择,程序大的就选择大点的 FLASH。
- Q* y" o* c% V
如何分配原理图 IO, _5 V& m: B. \1 ?$ X4 w6 t
在画原理图之前,一般的做法是先把引脚分类好,然后才开始画原理图。7 w; `9 X' Y+ Q# E
引脚分类5 P3 e" X/ b" }# a) d
1. 电源 ( S! N3 b. u, @/ Y5 `' }
(VBAT)、(VDD VSS)、(VDDA VSSA)、(VREF+ VREF-)等, u0 l( T/ b6 Y. w. R/ K) \7 E
2. 晶振
# u# ^/ p, `8 M& j. F& _  }. y IO  主晶振 IO,RTC晶振 IO& ]2 g8 c8 Y* x$ U$ [$ ^
3. 下载 IO
8 c( ]% K% C8 F3 y4 K  b  用于 JTAG 下载的 IO:JTMS、JTCK、JTDI、JTDO、NJTRST& d0 W/ G8 f) j6 G
  4. BOOT IO 8 D0 b) i5 R- o) c; c; Q
BOOT0、BOOT1,用于设置系统的启动方式
' q( o% o0 r2 i5. 复位 IO1 L: m" S, t  f
NRST,用于外部复位
) D. e, h4 U% Q. L( J) z/ R 上面 5  部分 IO 组成的系统我们也叫做最小系统
4 I6 S0 n3 P9 c1 L. X% Q+ k6. GPIO
( P* `2 [# w  x1 N# I9 V$ S; _专用器件接到专用的总线,比如 I2C,SPI,SDIO,FSMC,DCMI 这些总线的器件需要接到专用的 IO。5 Z! {2 O; d0 T- F5 B
普通的元器件接到 GPIO,比如蜂鸣器,LED,按键等元器件用普通的GPIO即如果还有剩下的 IO,可根据项目需要引出或者不引出。

2 y" K( c9 ^0 c9 `如何寻找 IO的功能说明/ \. i+ W5 o* v$ e2 r, s- Y
要想根据功能来分配 IO,那就得先知道每个 IO 的功能说明,这个我们可以从官方的数据手册里面找到。在学习的时候,有两个官方资料我们会经常用到,一个是参考手册(英文叫 Reference manual),另外一个是数据手册(英文叫 Data Sheet)。& h' c$ ~' C- Y$ ^5 |$ V( R4 d) V
一、参考手册
7 U; A- x5 C8 E2 \1. 片上外设的功能说明和寄存器描述. O, K; P% u7 s6 W3 b
对片上每一个外设的功能和使用做了详细的说明,包8 Y- K3 Y: ~, E; V
含寄存器的详细描述。编程的时候需要反复查询这个
  }$ J+ F! O" h0 X手册。
二、数据手册4 U# w! W9 v* h; v) W; q" M" O
1. 功能概览 2 s2 T6 T1 A* Z+ A7 V- W; I
主要讲这个芯片有哪些功能,属于概括性的介绍。芯
% f$ }2 Q' p, b- v, H! c# C片选型的时候首先看这个部分。/ ]% T7 w- D; K; G
2. 引脚说明 8 G9 j& J: G& i  o( r# C
详细描述每一个引脚的功能,设计原理图的时候和写程序的时候需要参考这部分。
" p0 O# Y. O; `' [/ k% \1 i- I9 E3. 内存映射 . {) G! U$ J2 Y2 N6 F
讲解该芯片的内存映射,列举每个总线的地址和包含有哪些外设。4 v# G$ E& T  r
4. 封装特性
( F; l: ^8 [' s7 D# o 讲解芯片的封装,包含每个引脚的长度宽度等,我们画 PCB 封装的时候需要参考这部分的参数。  M7 I$ \% H. z9 J/ L% I4 Q. }5 X
一句话概括:数据手册主要用于芯片选型和设计原理图时参考,参考手册主要用于在编 程 的 时 候 查 阅 。5 @7 P7 q. P8 Y4 a6 c
例如:( U1 t+ y% `! ]
FT :      兼容 5V, j. u4 Q8 ~8 {. t2 |. f- x( ~+ I
TTa :    只支持 3V3,且直接到 ADC9 ]9 M. w+ ?# X
B     :    BOOT引脚
6 g) u2 ]- O4 [" r% ]0 B, f7 D/ QRST  :  复位引脚,内部带弱上拉
* W& ?$ N" ?+ ]# Z
开始分配原理图 IO
2 W. V. I; X! K比如使用的MCU型号是STM32F103VET6,封装为LQFP100,我们在数据手册中找到这个封装的引脚定义,然后根据引脚序号,一个一个复制出来,整理成 excel表。分配好之后就开始2 U. e/ A' M4 ?* R# H3 V  \
画原理图。
- B0 y$ v2 ]% z
转载自:
跋扈洋

9 `1 [7 k; ]4 t% \0 s& K  X: Z( e* r0 U) B7 H, Z3 {

9 e- E7 A+ A8 W7 }( X4 d
收藏 评论0 发布时间:2022-11-28 14:07

举报

0个回答

所属标签

相似分享

官网相关资源

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