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

基于STM32外围电路硬件经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-16 17:15
复位电路:
" F! L% b3 g9 D* {4 E7 V; [, v+ r+ I        复位 :让MCU回到最开始的状态。并且从头开始,重新执行程序
& [% M6 @  y. n. D: a. ^1 ~: J) \        # \, V& c$ r8 y0 q
        我们什么时候需要复位?
+ V' J" O5 p" s+ w! |# T: u8 v* z                    1.烧录的时候   
, I& ~4 l1 r% y' M. v  _/ Z4 F4 L1 A/ z2 z
                    2.程序跑飞了的时候
/ h; g8 ^/ }, s" ]( |
; g, W9 S( s9 b' b* u. k3 F                    3.上电复位(上电的时候需要复位)5 o1 G) f7 ^; E% r3 a/ Z
            ! A; S& a: [: ^, _
        复位方式:
5 D' F  J! x+ r6 X8 X            1.上电复位: --- 一定要有  R! V4 v+ C! U2 @
                MCU的Reset是复位引脚,当这个引脚为低电平时,单片机会产生复位。              " q/ w7 W! Z9 z& ^# ], C* @
0 G+ S8 k: q3 p. i, T. K+ L
            2. 按键复位:--- 可有可无(看需求)
0 A; c. K. |: p' T                K10按下,产生复位动作
* V5 G7 T9 \# r& z) N3 K/ s5 M) d: U6 V
6073d5f8634c424384883b4cef0e52db.png

* ~3 U$ h) U& F- V* u9 Z" w: H5 x* B6 }* }+ s9 V; v
e8534846f0224d3eacb37623da274a6e.png
3 O1 m) s! i* a4 P7 ^# f% U
* P) j. ?5 c1 R7 `
         这是阻容复位电路。当复位引脚低电平的时候复位。当上电的瞬间,C13电容开始充电,电容处于短路状态,电容上面的电压为低电平,此时MCU复位引脚被拉低,MCU执行复位,这样就实现了上电的时候复位功能了。0 R; h) ]% Z- Q: c
        实际上,单片机内部也有上电复位电路,那么我们之所以还要在单片机外部加上复位电路的原因是:因为外部上电复位电路复位时间较长,较长的复位时间,可以使得等电源、系统充分稳定后,MCU再来启动并执行程序,保证了MCU、系统正常运行。: {1 ?" d% M: P+ h9 k4 i, U

& c0 E# i$ q) Q7 n; ^        注意:由于电容的精度不够,而且电容还会受到温度的影响,存在温漂,所以阻容复位电路的延时并不精确。但是,阻容复位电路可以满足绝大部分的需要了。$ h- C5 x" l7 V" k

( E1 k2 d  Q( ~3 ?        上电复位的目的:
( H( J; P. R9 e, D" W* F        1.等待供电电源、系统稳定后,再来启动MCU,执行程序,否则MCU、系统无法正常运行。
+ p8 @) \% F! O3 i" A
* X: ~* |" r* f
        2.复位会初始化部分寄存器. M5 D' \% a8 i5 Q  g( Q- `
* K; r6 ?: @* |9 g# F& Z; t
         注意R21和C13的选择(一般选择10k电阻,104电容就可以,即:延时大约10uS)。其中,电容不能选择太小,否则C13电容很快就充满电了,那么此时电容上面就不是低电平了,但是,很有可能此时电源、系统还没有到达稳定状态。那么芯片供电电源、系统不稳定,就会导致MCU和整个系统工作有问题,有可能MCU时而启动成功,时而启动失败。6 x' k& H8 p! e5 E3 ]& t' ?9 D
6 }8 K% r0 ], u4 Q# a, c& W7 J
2 e1 A  F1 j8 O+ N. Q" ?/ Z
晶振电路:
1 e, q0 P- a. @. @4 A+ {2 T) v3 N4 ^1 h* \, U/ p3 L3 H0 K
44233f9031a544da83811d46299f796e.png
2 x4 M/ _" N1 C4 ?) ]
- T. t: o: ~8 l) T
1f7815ccda634b64aee5ad584baa6dbb.png
+ J0 x- p* L. y7 ^1 k5 m* s
: d9 x3 p0 K. }
87d4285b38854f58b59786573f350131.png
, i8 }9 f( D4 f9 e  e

- h' O4 ^3 G+ `* S8 A- A7 V. H        单片机内部集成的HSI时钟源是就是RC振荡器。
/ e- Z; ~# X9 [/ P( l. \# N' ~8 f: o
c00277b3bbf742f5a0a79437234e06d7.png
6 m, |+ [9 t. Q0 n: h
5 A+ L- Y. u% T( w3 y1 V
        晶振电路在布线的时候,尽量靠近单片机,因为晶振引脚,PCB走线也有电容电阻效应。
3 m* S: d+ @0 y  S6 b: t$ y9 b+ g4 O- g6 A7 ]& o- E
c5d6b9450d4c436cadd2f520f2e8c831.png

1 ]1 B; u  J# s% D+ {2 ?5 t& T, x
" G; @2 ~# ^/ G1 w
7988cdd7dc04412e8542c0ef9f0a846f.png

: m5 X+ [  E; y, F2 D1 _5 T' ]( }2 z% U3 G3 b4 L! @
晶体振荡器分为无源晶振和有源晶振两种类型。
* M9 J. M' d: U5 Z6 e' h
, b. y( Z# }) p$ v4 j

$ C6 U+ Q/ E& x. M* W0 v- I. p- D无源晶振:

& N3 |. T) u2 v, H7 V% ?) m' h$ y: ?! n7 [( P. @/ C& I
28e1001214d386f3fea73b178c0b95c6.jpg

4 F6 d) a2 M; z( R; K9 [% J- M  G2 Y! w3 V9 S
6 K) a$ I+ H! D* ?# k
        无源晶振与有源晶振的英文名称不同,无源晶振为 crystal(晶体),而有源晶振则叫做 oscillator(振荡器)。& v0 D" h, l1 C' D% j
' `+ ]0 Y! {" Y$ h+ B1 Z
        无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确;有源晶振有 4只引脚,是一个完整的振荡器,其中除了石英晶体外,还有晶体管和阻容元件,因此体积较大。* Z& `8 b/ m% M0 d% K& E/ T7 @
& z2 G5 s7 e* ]9 Z( R( a7 M( f& z
        无源晶振和有源晶振的区别很多时候是大家直接通过观察了解到的 。尤其是针对 2520贴片晶振,3225贴片晶振, 5032贴片晶振 ,并且是四脚封装的石英晶振来说, 包括有源晶振,也包括无源晶振。
) S4 ^: K4 l9 k6 G! ~0 v
* ]  d" ^( `5 p+ u( A
& J$ s  c( }9 X) k1 U
有源晶振
: w, b  g; m# y
        有源晶振通常的用法:一脚悬空,二脚接地,三脚接输出,四脚接电压。/ q7 ^: X+ z. y  H5 S( [

6 U) y+ {! Q" S. V* Q+ }, x/ ?5 T6 a        有源晶振不需要DSP的内部振荡器,信号质量好,比较稳定,而且连接方式相对简单(主要是做好电源滤波,通常使用一个电容和电感构成的 PI 型滤波网络,输出 端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电路。相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选择好合适输出电平,灵活性较 差,而且价格高。
2 d5 E: p! A5 e) {3 L+ J

% j% `9 u! h3 F. m. }$ c        有源晶振是由石英晶体组成的,石英晶片之所以能当为振荡器使用,是基于它的压电效应:在晶片的两个极上加一电场,会使晶体产生机械变形;在石英晶片上加上 交 变电压,晶体就会产生机械振动,同时机械变形振动又会产生交变电场,虽然这种交变电场的电压极其微弱,但其振动频率是十分稳定的。# `7 I- f( e: \

/ T) }4 }7 f: I: C( B
0940bcebbb08c327518075bc7877aa4d.png
7 W. `7 I& n  P1 ]  D/ j) k# `
6 |# @4 b+ J( U  f: N9 r0 q2 d+ y
        当外加交变电压的频率与 晶片的固有频率(由晶片的尺寸和形状决定)相等时,机械振动的幅度将急剧增加,这种现象称为“压电谐振”。  ]" V. X) [! l1 A/ r

6 n0 Y" `9 @! ]7 h        压电谐振状态的建立和维持都必须借助于振荡器电路才能实现。图 3 是一个串联型振荡器,晶体管 T1 和 T2 构成的两级放大器,石英晶体 XT 与电容 C2 构成 LC 电 路。在这个电路中,石英晶体相当于一个电感,C2 为可变电容器,调节其容量即可使电路进入谐振状态。该振荡器供电电压为 5V,输出波形为方波。
4 g2 X3 r0 M/ h  s4 e  [0 R$ \9 N+ p

3 R3 B5 Y6 e0 MUART、RS232、RS485它们之间的区别:
8 X2 y. ^' T) U3 m        UART,是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),既然是“器”,显然,它就是个设备而已,要完成一个特定的功能的硬件,它本身并不是协议。那么它要完成什么功能呢?它的最基本功能,是串行数据和并行数据之间的转换。. Z+ k- z9 b) W6 B7 r

  O- E  W- o0 ]6 m( g: q( ^        这就是UART做的最基本工作,进一步的,它还要控制“发车的班次”,比如确认一个Byte的这8个bit是什么时候开始的,又是什么时候结束的,两个班次之间至少要隔多长时间的缓冲,等等。这一部分,也具有协议的特征,但是相对于道路上的协议,更具有一般性,或曰,是与车在什么道路上开,相对独立的。
! M* c7 L8 ^! E5 [/ I8 x# \8 J: @3 W/ L& q" o3 F4 d$ S. Y4 l
c4b0f470f03f49a9b357a915a7af29fb.png

* e. d# E0 T8 ?1 r8 B. J' s2 }, u* f7 M" [$ X. I
        RS232/RS485,是两种不同的电气协议,也就是说,是对电气特性以及物理特性的规定,作用于数据的传输通路上,它并不内含对数据的处理方式。比如,最显著的特征是:RS232使用3-15v有效电平,而UART,因为对电气特性并没有规定,所以直接使用CPU使用的电平,就是所谓的TTL电平(可能在0~3.3V之间)。更具体的,电气的特性也决定了线路的连接方式,比如RS232,规定用电平表示数据,因此线路就是单线路的,用两根线才能达到全双工的目的;而RS485, 使用差分电平表示数据,因此,必须用两根线才能达到传输数据的基本要求,要实现全双工,必需用4根线。但是,无论使用RS232还是RS485,它们与UART是相对独立的,但是由于电气特性的差别,必须要有专用的器件和UART接驳,才能完成数据在线路和UART之间的正常流动。
! O# L/ c8 H6 f8 j/ Z5 f" M2 p

9 T. k4 f% S9 u' Z7 z# N        UART、RS232、RS485它们实际上都是串口上面的属性,只不过它们的功能不一样。UART的功能是将串行转并行,而RS232、RS485是一种电平标准
) d, P, t" ?8 Z3 z
% g) a( F  L1 G3 ]* Z5 s8 O3 q8 K0 x0 e* L- J4 t& Y! `3 N4 O
TTL电平信号:) F1 L8 |4 X8 O0 w4 K( X' u5 t1 |9 U* L

- f' h8 f4 R# {/ S; qTTL电平标准:
6 c) r* G. d$ s+ e0 I" i, |+ i输出 L: <0.8V ;
1 x* u8 \0 M( Y, N) `1 w5 ^! }( Y* `4 |输出 H:>2.4V。9 C& L- @( R- |
输入 L: <1.2V ;# q: C( P5 B7 Y$ \
输入H: >2.0V。
1 o# K2 Y0 v% K1 k3 T
' z5 ^6 t' P: ]% m6 D        TTL电平信号之所以被广泛使用,原因是:通常我们采用二进制来表示数据。而且规定,+5V等价于逻辑“1”,0V等价于逻辑“0”。这样的数据通信及电平规定方式,被称做TTL(晶体管-晶体管逻辑电平)信号系统。. n$ t3 A5 R4 D5 G$ I8 i

- I: D" z, y( c2 }) k' e+ i" r        TTL电平长距离传输不了,抗干扰不行,衰减也大。长距离传输过程只能用RS232电平或者485电平,后者更远,在发送部分将TTL转换后,传输,接收部分再将传输电平转换为TTL电平。TTL作为逻辑电平很好,但是长距离传输确实能力有限。0 w9 Q2 M& a" H3 e
& ]! H/ @$ h+ E) T+ F# x$ w

/ Z4 P) R# |& \) u8 N$ o  ?0 YRS232串口
% F5 N5 Q2 n  i8 I    RS232是计算机与通信工业应用中最广泛一种串行接口。它以全双工方式工作,需要地线、发送线和接收线三条线。RS232只能实现点对点的通信方式。# `; Z% T' e- ~. g( ^
   RS232串口缺点: C% g5 e" u5 I6 w2 X
    ●接口信号电平值较高,接口电路芯片容易损坏。
: m0 q; l: Y5 @6 K$ F" W    ●传输速率低,最高波特率19200bps。
( \. Z8 n+ O! {! U# k4 ~( s+ A    ●抗干扰能力较差。/ i1 i4 `* N/ M+ d6 M: A
    ●传输距离有限,一般在15m以内。; L7 g/ V& ~/ A7 X5 C
    ●只能实现点对点的通讯方式。! f" T7 w. \1 U% N
   RS232串口接口定义/ ^4 M2 D. k0 B# t
    RXD:接收数据,TXD:发送数据,GND/SG:信号地。1 N: C4 z- U. @; w3 c8 N

& N+ f: \6 E9 F  k5 g$ c* f* z" y  k逻辑1(MARK)=-3V~-15V
/ J& \+ m8 V" N4 N7 ]& P; D& F! |2 c* {+ X6 v; J6 o) S7 Y
逻辑0(SPACE)=+3~+15V
) X& m7 D5 n1 F& R# U3 A( z5 C5 T" M# {

& e% W3 K$ r9 D* z+ I RS485串口6 U" ^% r; w& v
      RS485串口特点' z$ A' B  U: W1 ]
    ●RS485采用平衡发送和差分接收,具有良好的抗干扰能力,信号能传输上千米。% a# Z) L. v& ^' c$ v
    ●RS485有两线制和四线制两种接线。采用四线制时,只能实现点对多的通讯(即只能有一个主设备,其余为从设备)。四线制现在很少采用,现在多采用两线制接线方式。. h& P5 q( P- q$ `( P
    ●两线制RS485只能以半双式方式工作,收发不能同时进行。* l, I1 |# H, a+ f* b/ Z3 P: o0 r7 v
    ●RS485在同一总线上最多可以接32个结点,可实现真正的多点通讯,但一般采用的是主从通信方式,即一个主机带多个从机。4 m" ^1 s) z$ ?: C* ?9 W: X4 q
    ●因RS485接口具有良好的抗干扰能力,长的传输距离和多站能力等优点使其成为首选的串行接口。   
# e/ Z) e, b: J% e5 M
9 x- h* e7 c/ v. T1 W8 x        通常情况下,发送驱动器A、B之间的正电平在+2~+6V,负电平在-2~6V,另有一个信号地C。
' A# t2 y1 p% |: E! o* k6 X( X( }
* i, v6 @$ z" _3 N8 R

3 f  X# j  f% FUSB电平:
( N  v; f9 [2 n' H电源线是5V,为USB设备提供最大500mA的电流,它与数据线上的电平无关,数据线是差分信号,通常D+和D-在+400mV~-400mV间变化,在传统的单端(Single-ended)通信中,一条线路来传输一个比特位。高电平表示1,低电平表示0。倘若在数据传输过程中受到干扰,高低电平信号完全可能因此产生突破临界值的大幅度扰动,一旦高电平或低电平信号超出临界值,信号就会出错。在差分传输电路中,输出电平为正电压时表示逻辑“1”,输出负电压时表示逻辑“0”,而输出“0”电压是没有意义的,它既不代表“1”,也不代表“0”。
8 V) F  C% z' {" ~
* T* l% D" W: `9 n
! W  y- M3 L1 K! ?+ i
CMOS电平  V/ R+ X" [& u. m# E+ q' p
        COMS集成电路是互补对称金属氧化物半导体(Compiementary symmetry metal oxide semicoductor)集成电路的英文缩写,电路的许多基本逻辑单元都是用增强型PMOS晶体管和增强型NMOS管按照互补对称形式连接的,静态功耗很小。$ o* O& p9 z7 S7 a: M5 {

) e! ]8 K2 M3 T# z" w" A        COMS电路的供电电压VDD范围比较广在+5~+15V均能正常工作,电压波动允许±10,当输出电压高于VDD-0.5V时为逻辑1,输出电压低于VSS+0.5V(VSS为数字地)为逻辑0。CMOS电路输出高电平约为0.9Vcc,而输出低电平约为0.1Vcc当输入电压高于VDD-1.5V时为逻辑1,输入电压低于VSS+1.5V(VSS为数字地)为逻辑0。CMOS电路中不适用的输入端不能悬空,否则逻辑混乱。
  g2 t! N; i' \9 v4 F1 H6 |, P

$ ]" T/ j1 R. f' c* j  j9 ]5 f* N8 T: BUSB转串口电路:. X8 x% w6 N0 A: Y) W% P# k% G

' D" y. `2 m7 H. m4 l! k* |: ]
b84fc331d858416db1ddd90b6d1b3a8f.png

; \' ~) E  Q0 I! N- Y( G2 u; E; R4 k6 N& H% w) ]1 ^; k2 P3 U
这是一个USB接口电路,连接电脑。
  e1 j/ r  y! ^" f; ^0 f
* _$ R: D7 Y) Q, i3 k7 S; k
ffeb72d7f84c491c9a62988d68871f6c.png

! x' b7 J# A: p
! _4 L/ C% K, Z  P% d1 M
5d6c4135c7434105b8933b01c01e6b7d.png

# S+ B9 A1 d+ D: U& ^: }8 s9 G) ?- p- p0 |) }* ^* }
53f96453f21841f7b8aa51441d0aebca.png
! h% e! X. S" N0 m! w

4 r( K5 ~5 U6 b4 X! V4 ^; A2 {: P          CH340是一个usb转串口的芯片(USB电路为5V,所以CH340芯片也是5V供电)。当然,串口的电平标准有很多,这里我们可以看到,我们是将USB转换为TTL电平,通过UART来与CPU进行通信。
# F6 n/ Y3 }. G4 x

5 m, i: |+ P' j  z) O2 \- `        CH340的接收端RXD与CPU的发送端UART1 TX  相连接,即CPU通过TX发送消息给CH340的RXD接收,然后CH340又通过UD+将信息发送给USB接口。$ _2 Z% L: d/ X

( E% I+ k% q! B       同理,CH340的接收端TXD与CPU的发送端UART1 RX  相连接。CH340通过UD-接收来自USB接口发送的信息,而CPU则通过RX来接收由CH340的TXD发送的信息。
$ X) h/ ~8 R9 _- D# H3 l2 \6 S' u: N2 n
! T7 B3 y& o! w
        注意:CH340也需要用外部晶振电路来驱动。因为它需要在时钟的基础上面来发送/接收数据。% m0 J' u8 J5 L0 }8 v1 t
/ L: P" W% A. C8 H
$ N) I  B7 _% |
那为什么红框处要加一个二极管D4?
. ?0 H7 `2 M6 ?9 C* q0 ]$ |        我们可以看到,CH340芯片是5V供电,而cpu是3.3V供电。当cpu的UART1 RX接收来自CH340的TXD发送的数据的时候,此时D4二极管截止,D4二极管的阳极就为上拉电阻提供的3.3V,而不是CH340芯片的5V。那么此时,cpu识别到的电平就是TTL电平3.3V,而不是5V电平。
8 u6 C3 x! f+ r& T) E; L2 {  I. i8 Y4 }0 F) h& ]" d: e
0c8348a3a4cd4b7a9afa03f9f6427c4b.png

4 U/ q+ E  ~5 J4 e" K
. b6 C- ^1 D" w0 @- J
; f1 ^) O- }, b8 F
809ddc776e8c4e388babbf9a7312cc83.png
1 V5 K) N/ o. Y: s8 E5 F

& O' m  {" j, A        / F$ A6 {7 S) D$ ~8 J
注意:有的芯片供电是3.3V,它是不需要加这个二极管和上拉电阻的。* K& `# B1 y0 {4 s4 [, V3 z
————————————————) q7 h6 M9 |4 d1 p8 @
版权声明:无敌小小雷
6 ~# l7 p" o7 r$ J% v如有侵权请联系删除$ H6 E! w5 ?( w# N7 }

3 H+ @7 f2 Q! E# }

2 Q, U; F$ u5 Z& P% I  e+ m: e% w# g& o% ^
赞 收藏 评论0 发布时间:2023-4-16 17:15

举报

0个回答

所属标签

相似技术帖

官网相关资源

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