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

STM32介绍

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

  [! t: _" l  S" @, ^CMSIS构架
9 f# O, D  Q0 T% _& P* J
640 (3).png
) B' e# z6 Y( j! Q* O, p( ]1 t( z
640 (2).png

! I  G2 @( S4 A+ R1 b+ b6 {
时钟4 f3 h8 Y$ y2 {! e
51单片机所有的时间基准都是以唯一的晶振为主。STM32每个引脚使用都需要开启相应的时钟功能。
2 S6 `- o2 l4 w' o. X4 r! ]以控制外设时钟的APB2  外设时钟使能寄存器(RCC_APB2ENR)为例介绍:
8 t3 P/ I: C1 \* i7 v4 l* M% [

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

  w! K9 _) I" j5 d
: ?" ^, ^  \5 r) ~6 S: q
STM32选型
4 w9 Y4 B$ N4 [5 G# u: PSTM32分类; Q0 E9 o4 O7 G( D  ?$ V
STM32 有很多系列,可以满足市场的各种需求,从内核上分有 Cortex-M0、M3、M4和 M7 这几种,每个内核又大概分为主流、高性能和低功耗。
" X' L- H0 M9 v. F7 b- Y单纯从学习的角度出发,可以选择F1和F4,F1代表了基础型,基于Cortex-M3内核,主频为 72MHZ,F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。之于 F1,F4(429 系列以上)除了内核不同和主频的提升外,升级的明显特色就是带了 LCD 控制器和摄像头接口,支持 SDRAM,这个区别在项目选型上会被优先考虑。但是从大学教学和用户初学来说,还是首选 F1 系列,目前在市场上资料最多,产品占有量最多的就是 F1 系列的 STM32。
1.Cortex-M0
: V$ E- w7 l" z, G9 nSTM32-F0  入门级
- J( S' k5 ]! c+ ~STM32-L0  低功耗
( n8 v4 u8 Y. y2. Cortex-M3& q9 t( M! g9 E1 `7 ?! v7 L
STM32-F1  基础型频 ,主频 72M
6 R- f/ N9 {' K/ {% K* t# oSTM32-F2  高性能
5 h5 f: {! L# L. ], V4 xSTM32-L1  低功耗
6 g* K4 e3 T9 e- j3. Cortex-M44 @7 N% C0 B1 n7 k2 j
STM32-F3  混和信号
6 z. S& i0 D% ]( y/ |- mSTM32-F4  高性能频 ,主频 180M3 e7 f5 n: p# ~' l& r
STM32-L4  低功耗1 H9 h" T$ s9 R
4. Cortex-M7
8 H4 x' E' N. e: t STM32-F7  高性能
4 {' ~& ]- S' y. v5. 8  超级版 6502  |3 r7 f/ F# S( \' `0 y& J9 c7 B& x
STM8S  标准系列: H# H$ X7 U4 O6 o
STM8AF  标准系列的汽车应用
' D3 ]' ~% V0 W5 h) \STM8AL  低功耗的汽车应用3 G* C5 W- E; A. Y. X% i8 [, S
STM8L  低功耗

/ |, R. ?; Q6 m; e$ HSTM32 命名方法* d; _- P; A" r" M& i
这里我们以 STM32F103VET6来讲解下 STM32的命名方法。& p% i7 t+ K6 [: Y; `
1. 家族
. q4 ]( o7 p( k" d9 G  L6 A' d  STM32 表示 32bit的 MCU4 a3 }9 j! n5 S3 Q
2. 产品类型
) \; Y, l% s" M7 Y F表示基础型
6 T9 s: c6 p& E1 ?, D: P: f3. 具体特性
# V$ c  A* [/ B  基础型
' m2 E/ ^9 p) n# Z5 c0 f" a4. 引脚数目7 W8 x+ D* a* a
V 表示 100pin,其他常用的为 C 表示 48,R 表示 64,Z 表示 144,Z 表示144,B表示 208,N 表示 216
- N. q* f  z# X* z& @5. FLASH  大小
# N2 \7 x6 ?6 Y7 I; n- h) j E表示 512KB,其他常用的为 C表示 256,E 表示 512,I表示 2048* F9 u. V: i$ x6 z, z
6. 封装& q6 {& N$ x" U/ c% w8 h, Z- S
  T表示 QFP 封装,这个是最常用的封装0 {  f. M6 b$ d
7. 温度  _& L* z; B* C9 T6 w
  6 表示温度等级为 A :-40~85°
  {" W) ^3 j, q6 q4 {! S- E

* Q$ P4 v9 z& x: K, t: l2 q8 v: S
640.png

8 Z3 L6 ?& ~  ^& R
选择合适的MCU
4 I% |, L; K8 w& f了解了 STM32 的分类和命名方法之后,就可以根据项目的具体需求先大概选择哪类内核的 MCU,普通应用,不需要接大屏幕的一般选择 Cortex-M3 内核的 F1 系列,如果要追求高性能,需要大量的数据运算,且需要外接 RGB大屏幕的则选择 Cortex-M4内核的 F429系列。3 |) B7 N) E0 }) N( x
明确了大方向之后,接下来就是细分选型,先确定引脚,引脚多的功能就多,价格也贵,具体得根据实际项目中需要使用到什么功能,够用就好。确定好了引脚数目之后再选择 FLASH 大小,相同引脚数的 MCU 会有不同的 FLASH 大小可供选择,这个也是根据实际需要选择,程序大的就选择大点的 FLASH。
5 B8 s( Y+ `& O3 x4 L
如何分配原理图 IO
1 |( x, U8 J; D* f3 u/ V( e在画原理图之前,一般的做法是先把引脚分类好,然后才开始画原理图。  B  f" r/ G+ I9 n: G6 W& @9 W
引脚分类
4 Z( a1 t1 l# r9 g7 N* ~8 ]1. 电源 + T+ N  A0 ^8 v
(VBAT)、(VDD VSS)、(VDDA VSSA)、(VREF+ VREF-)等& Y% G* R* K) T( W8 {. F7 T: O9 N* w
2. 晶振/ `, G9 b: o2 ?' s$ B' Y7 T
IO  主晶振 IO,RTC晶振 IO  H9 p7 `% T  @- b! F
3. 下载 IO
1 ^& w, D) ~0 v9 n  q  用于 JTAG 下载的 IO:JTMS、JTCK、JTDI、JTDO、NJTRST
' p) g/ w* A. a" V  4. BOOT IO ; A& o* g$ ^6 N$ C3 L4 c4 }  x
BOOT0、BOOT1,用于设置系统的启动方式! `4 |1 n5 H! g. d8 F* F& y
5. 复位 IO3 i) v; x. t: ]' o. n1 V
NRST,用于外部复位
' U( ?. k  O: m2 z 上面 5  部分 IO 组成的系统我们也叫做最小系统8 C8 E" R+ r+ C# ~& C
6. GPIO6 H% O. W7 o5 k  |( L1 L+ m2 R) V. V- H
专用器件接到专用的总线,比如 I2C,SPI,SDIO,FSMC,DCMI 这些总线的器件需要接到专用的 IO。
# L# L$ }4 L7 L! B普通的元器件接到 GPIO,比如蜂鸣器,LED,按键等元器件用普通的GPIO即如果还有剩下的 IO,可根据项目需要引出或者不引出。

8 ?7 M- g7 }9 B+ C$ t( y- C如何寻找 IO的功能说明) o+ |1 A% {/ l- q) x5 j
要想根据功能来分配 IO,那就得先知道每个 IO 的功能说明,这个我们可以从官方的数据手册里面找到。在学习的时候,有两个官方资料我们会经常用到,一个是参考手册(英文叫 Reference manual),另外一个是数据手册(英文叫 Data Sheet)。
/ Y8 C! ~8 D2 U- k一、参考手册2 p! g7 O! X  D1 I2 B* e$ p' @7 r1 k; s
1. 片上外设的功能说明和寄存器描述
' Z" a2 F% F# |. Y对片上每一个外设的功能和使用做了详细的说明,包
* I( f1 \9 _, I# a% o$ M+ ~2 U, P- T含寄存器的详细描述。编程的时候需要反复查询这个
2 l: k; h1 n. w4 l7 D' W手册。
二、数据手册
/ @% P8 a/ J/ R* M8 Q% w1. 功能概览
6 R  A1 C0 G3 Q! S- r主要讲这个芯片有哪些功能,属于概括性的介绍。芯
. \2 l4 P$ }% m, R$ U2 a& ^* y片选型的时候首先看这个部分。( v0 R" ~- b* E" c- J6 t. [6 Q1 k
2. 引脚说明 ( C. d2 ~) B  q% T; _' P5 H: U
详细描述每一个引脚的功能,设计原理图的时候和写程序的时候需要参考这部分。
- S, e7 N  V# o$ G# N- K1 s3. 内存映射
+ V$ h& o. q9 Q3 c0 u, Q- E; a2 a1 q* E+ w讲解该芯片的内存映射,列举每个总线的地址和包含有哪些外设。
! r8 d% O. D/ q; x7 r( w& g4. 封装特性
; h7 `- `5 L- d! U 讲解芯片的封装,包含每个引脚的长度宽度等,我们画 PCB 封装的时候需要参考这部分的参数。
6 p9 ?/ r' g: F* ]4 b3 V一句话概括:数据手册主要用于芯片选型和设计原理图时参考,参考手册主要用于在编 程 的 时 候 查 阅 。  Z0 ~! n0 v& Z! U# l7 q
例如:
* `* M& g8 p* ^/ GFT :      兼容 5V
: Z& l( |. `8 E& R3 D$ cTTa :    只支持 3V3,且直接到 ADC
* F: O; {9 ~* VB     :    BOOT引脚' y! g5 W! s7 _4 V+ i4 Z& b/ \' s; p
RST  :  复位引脚,内部带弱上拉0 h) n: w, [  }3 D5 I! L2 [
开始分配原理图 IO
) \: c% g; ^) c2 j# }8 }/ y# }比如使用的MCU型号是STM32F103VET6,封装为LQFP100,我们在数据手册中找到这个封装的引脚定义,然后根据引脚序号,一个一个复制出来,整理成 excel表。分配好之后就开始( B  r% O9 E5 I# G$ x
画原理图。
/ w$ t) e" N/ X
转载自:
跋扈洋

9 O. N6 v! W( ?+ e
8 W0 [& X$ }( ^, `6 @4 Y% e

+ q  P1 z2 T9 O4 W9 Z. K& m6 ^
赞 收藏 评论0 发布时间:2022-11-28 14:07

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版