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

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

[复制链接]
攻城狮Melo 发布时间:2023-4-16 17:15
复位电路:
- b% f  O2 P2 P' Q2 i        复位 :让MCU回到最开始的状态。并且从头开始,重新执行程序3 ^1 a0 H6 g: J) t
        ( ]( r" J, b6 u5 [
        我们什么时候需要复位?3 C9 E6 S/ Y) w& ~( C
                    1.烧录的时候   : w  D" n. y7 w
: A7 o- U) y+ y3 W0 x9 f! x- Q
                    2.程序跑飞了的时候- J& g1 [$ H6 J2 V  |

1 z$ d( O+ m# X8 c                    3.上电复位(上电的时候需要复位)# r- [! q5 E- b0 {% @( a
            
# e" ~6 J* ]& A# W* C9 {' Q% [        复位方式:. O& g6 F. ^6 _# [! Z
            1.上电复位: --- 一定要有) y/ V( c0 F/ j, w4 u% C3 l
                MCU的Reset是复位引脚,当这个引脚为低电平时,单片机会产生复位。              ; Z5 f( M1 A- a3 L. H
. l# G( O8 E# Q0 Q' s/ A
            2. 按键复位:--- 可有可无(看需求)
( N" W$ R: ^8 h' E  J                K10按下,产生复位动作3 v$ N( e1 `, w# }, M: t' W/ p) ^
) n# u5 M% s5 J( P- |+ l/ j
6073d5f8634c424384883b4cef0e52db.png

( D. |; Y, j' U) d! H& l# n8 A+ i: |& ^0 \1 ~; A, B' _: H
e8534846f0224d3eacb37623da274a6e.png
2 ]7 X/ t$ ?1 R; m% e
+ s  u; ^+ R6 K2 H( T6 h
         这是阻容复位电路。当复位引脚低电平的时候复位。当上电的瞬间,C13电容开始充电,电容处于短路状态,电容上面的电压为低电平,此时MCU复位引脚被拉低,MCU执行复位,这样就实现了上电的时候复位功能了。
/ M8 m" y4 O9 \- W
        实际上,单片机内部也有上电复位电路,那么我们之所以还要在单片机外部加上复位电路的原因是:因为外部上电复位电路复位时间较长,较长的复位时间,可以使得等电源、系统充分稳定后,MCU再来启动并执行程序,保证了MCU、系统正常运行。
( ^- Z; W) D* z& f! E' ~: l; I
( o) `; t2 Q3 G" b8 y        注意:由于电容的精度不够,而且电容还会受到温度的影响,存在温漂,所以阻容复位电路的延时并不精确。但是,阻容复位电路可以满足绝大部分的需要了。
- X3 G$ B5 @7 h2 v8 q$ M7 P
' m( V! O' F1 Z# o        上电复位的目的:
" }" S$ Y# v5 y; g* ^% j        1.等待供电电源、系统稳定后,再来启动MCU,执行程序,否则MCU、系统无法正常运行。
0 q, ?6 u/ w" v3 g

5 u' c! d8 U9 G" S        2.复位会初始化部分寄存器
" @, p, q4 t# \# T6 h5 H/ `: S4 ]& @4 o1 H
         注意R21和C13的选择(一般选择10k电阻,104电容就可以,即:延时大约10uS)。其中,电容不能选择太小,否则C13电容很快就充满电了,那么此时电容上面就不是低电平了,但是,很有可能此时电源、系统还没有到达稳定状态。那么芯片供电电源、系统不稳定,就会导致MCU和整个系统工作有问题,有可能MCU时而启动成功,时而启动失败。8 ?; j( v1 M. u9 R) Y8 ?2 `1 r7 P- I/ J1 W5 n
( b2 |* ~3 f% L' C( M. t0 i

) n7 x1 y8 w: m( r+ Z' p0 v8 t 晶振电路:
% e$ p: w5 @" X' R
9 d0 g, O+ n+ |! [. `0 |* q
44233f9031a544da83811d46299f796e.png
) K& m# b' K% Z4 ]
+ A( m' D6 |' K0 c, T( n/ X
1f7815ccda634b64aee5ad584baa6dbb.png
/ {  w3 C1 x: V
7 g3 e4 n/ z+ Z" @( d
87d4285b38854f58b59786573f350131.png

6 ~0 S9 Z9 r# d* Y! T1 n! b( V

' a; r8 W9 S$ D/ t$ n        单片机内部集成的HSI时钟源是就是RC振荡器。* C7 N, g3 H8 E! }  i7 y
* p9 w# l3 i$ v5 c; c
c00277b3bbf742f5a0a79437234e06d7.png

+ W8 M( D/ R+ E* J4 s" J' F
: f+ t4 u2 |# y
        晶振电路在布线的时候,尽量靠近单片机,因为晶振引脚,PCB走线也有电容电阻效应。, P! R. b# C: N$ q* F% v

6 t3 Z) g; r4 }5 {  P' u" q# \8 ^
c5d6b9450d4c436cadd2f520f2e8c831.png

6 [) w6 ^% l3 u' Q; H0 N  _) g3 `3 F% T* x5 r
7988cdd7dc04412e8542c0ef9f0a846f.png
6 e9 {' [" m: }/ V
5 q1 M4 |1 S1 Z' U7 O/ i8 Z
晶体振荡器分为无源晶振和有源晶振两种类型。
9 t8 E( E3 R, A% [7 A# ?
/ ?& j1 m. h2 ?2 J0 k

& b, F0 O! F$ t6 [) [" G3 E, K无源晶振:

8 |% X( ^8 v* Y' o; c) l# P$ a8 g1 I/ S+ z( Z- z5 _7 _
28e1001214d386f3fea73b178c0b95c6.jpg

# n9 F- u2 A& B8 s) e# ]
( V- i, U' S2 w0 h3 a" U
# H- i& s1 X. Z% x* |% v' j
        无源晶振与有源晶振的英文名称不同,无源晶振为 crystal(晶体),而有源晶振则叫做 oscillator(振荡器)。
/ O4 u, q$ Y" a2 B* J
' N5 M1 W/ p& }  R# R) Q        无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确;有源晶振有 4只引脚,是一个完整的振荡器,其中除了石英晶体外,还有晶体管和阻容元件,因此体积较大。+ i6 i. @  ~6 ^& V$ `
9 R- t1 K4 I$ l8 l
        无源晶振和有源晶振的区别很多时候是大家直接通过观察了解到的 。尤其是针对 2520贴片晶振,3225贴片晶振, 5032贴片晶振 ,并且是四脚封装的石英晶振来说, 包括有源晶振,也包括无源晶振。4 J/ Z% O1 U6 u+ _5 _0 [/ q0 i

3 Y0 C8 {) r' ?3 _2 L$ v. l

& R" G* w  Y) p, y  S. n9 L/ j有源晶振

; x. ^/ o8 B7 C' W        有源晶振通常的用法:一脚悬空,二脚接地,三脚接输出,四脚接电压。
( v7 R' y8 r9 [& ~& u) Q

: L) @+ R' M. @        有源晶振不需要DSP的内部振荡器,信号质量好,比较稳定,而且连接方式相对简单(主要是做好电源滤波,通常使用一个电容和电感构成的 PI 型滤波网络,输出 端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电路。相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选择好合适输出电平,灵活性较 差,而且价格高。3 F  D) K0 A2 n" u

% q0 U6 j5 G6 Z3 @) H! {: t        有源晶振是由石英晶体组成的,石英晶片之所以能当为振荡器使用,是基于它的压电效应:在晶片的两个极上加一电场,会使晶体产生机械变形;在石英晶片上加上 交 变电压,晶体就会产生机械振动,同时机械变形振动又会产生交变电场,虽然这种交变电场的电压极其微弱,但其振动频率是十分稳定的。
2 C  m' t' O% e! T" t4 {7 K7 H( z
0940bcebbb08c327518075bc7877aa4d.png
4 v. D$ B8 Y: K( F  [
, `  x! ]! {3 J% ?
        当外加交变电压的频率与 晶片的固有频率(由晶片的尺寸和形状决定)相等时,机械振动的幅度将急剧增加,这种现象称为“压电谐振”。
( \7 p( s1 f) I, R( b! @, R
5 W3 E9 g5 @/ \' b0 }        压电谐振状态的建立和维持都必须借助于振荡器电路才能实现。图 3 是一个串联型振荡器,晶体管 T1 和 T2 构成的两级放大器,石英晶体 XT 与电容 C2 构成 LC 电 路。在这个电路中,石英晶体相当于一个电感,C2 为可变电容器,调节其容量即可使电路进入谐振状态。该振荡器供电电压为 5V,输出波形为方波。; h5 u* x, Z# b8 l: e+ p

( W6 R8 E7 R/ R2 [: e$ eUART、RS232、RS485它们之间的区别:- u6 N; K' m+ w( G- N4 b
        UART,是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),既然是“器”,显然,它就是个设备而已,要完成一个特定的功能的硬件,它本身并不是协议。那么它要完成什么功能呢?它的最基本功能,是串行数据和并行数据之间的转换。
" T$ j3 K/ h5 r- _5 U
9 K$ d+ D9 [# O
        这就是UART做的最基本工作,进一步的,它还要控制“发车的班次”,比如确认一个Byte的这8个bit是什么时候开始的,又是什么时候结束的,两个班次之间至少要隔多长时间的缓冲,等等。这一部分,也具有协议的特征,但是相对于道路上的协议,更具有一般性,或曰,是与车在什么道路上开,相对独立的。
6 T" Y9 ~1 p! \3 I, q: P7 D, u7 M4 O2 s7 `
c4b0f470f03f49a9b357a915a7af29fb.png

9 L1 M1 q8 l  p# ]0 a' |
: z3 u) |8 D" e7 {% j        RS232/RS485,是两种不同的电气协议,也就是说,是对电气特性以及物理特性的规定,作用于数据的传输通路上,它并不内含对数据的处理方式。比如,最显著的特征是:RS232使用3-15v有效电平,而UART,因为对电气特性并没有规定,所以直接使用CPU使用的电平,就是所谓的TTL电平(可能在0~3.3V之间)。更具体的,电气的特性也决定了线路的连接方式,比如RS232,规定用电平表示数据,因此线路就是单线路的,用两根线才能达到全双工的目的;而RS485, 使用差分电平表示数据,因此,必须用两根线才能达到传输数据的基本要求,要实现全双工,必需用4根线。但是,无论使用RS232还是RS485,它们与UART是相对独立的,但是由于电气特性的差别,必须要有专用的器件和UART接驳,才能完成数据在线路和UART之间的正常流动。
" k* g! \! w: Z4 ^* [+ U& F6 t
' r0 Q: j$ ]( t% E3 `3 |9 E$ S, ?( x  s
        UART、RS232、RS485它们实际上都是串口上面的属性,只不过它们的功能不一样。UART的功能是将串行转并行,而RS232、RS485是一种电平标准
9 X5 A9 Q+ W( i  f7 n( O& {( c1 p' e! w5 }9 c0 ]& d) g" c
0 B6 @& N, |2 D% I- H
TTL电平信号:) D" e/ D) S/ t0 @( f* x: B) t

( K* E/ m, T  O, r- R! j: xTTL电平标准:
6 ?6 M/ k' D2 U1 k! o" z输出 L: <0.8V ;5 P( j: |- y  ]  A8 E9 z
输出 H:>2.4V。
% y0 }1 F4 P7 @# E  ?& c! P/ U输入 L: <1.2V ;; m3 H8 s% o" Q$ \# d/ g+ M
输入H: >2.0V。
! b% F3 }; C4 [7 v, m2 S7 U! ?% _5 S8 }5 B4 E+ @
        TTL电平信号之所以被广泛使用,原因是:通常我们采用二进制来表示数据。而且规定,+5V等价于逻辑“1”,0V等价于逻辑“0”。这样的数据通信及电平规定方式,被称做TTL(晶体管-晶体管逻辑电平)信号系统。
4 j* |( r: w3 ?9 i, G" p0 g6 K& ?0 E
5 ~! g- p% S$ x/ F( ]
        TTL电平长距离传输不了,抗干扰不行,衰减也大。长距离传输过程只能用RS232电平或者485电平,后者更远,在发送部分将TTL转换后,传输,接收部分再将传输电平转换为TTL电平。TTL作为逻辑电平很好,但是长距离传输确实能力有限。
: m8 ~4 G* I+ Q1 G) u$ n2 i! s' m8 y* B
7 B% i% s. V5 x# R( g8 K5 k( V/ Q
RS232串口7 A0 C6 o$ G: N/ ]" i; j$ k% M; O
    RS232是计算机与通信工业应用中最广泛一种串行接口。它以全双工方式工作,需要地线、发送线和接收线三条线。RS232只能实现点对点的通信方式。
7 O  ~% `. f) `' l   RS232串口缺点! J6 C8 |" m6 x2 _; l
    ●接口信号电平值较高,接口电路芯片容易损坏。
9 D* r# y1 Z! @# [    ●传输速率低,最高波特率19200bps。7 Y7 q/ a& q" V" `4 T1 g
    ●抗干扰能力较差。
' [- _  z8 o9 t" w    ●传输距离有限,一般在15m以内。6 m' m# }) s( s
    ●只能实现点对点的通讯方式。! V* u1 R& j  T- c; L$ c
   RS232串口接口定义, [+ L+ t! m! ]8 f8 f
    RXD:接收数据,TXD:发送数据,GND/SG:信号地。
' C! Z8 ]- c3 S2 [' P1 i( p. N
5 ?2 |7 C( d/ w# g; h
逻辑1(MARK)=-3V~-15V
' p6 |4 f- I/ r/ _! r
, n7 }' K4 @$ L3 \. \  h6 H3 s逻辑0(SPACE)=+3~+15V, C; m; u9 Q7 A6 p% F  S

$ S& j  h3 I. `1 F6 P, z; M
5 R8 B5 N" F! g) E( u, L+ A. X
RS485串口
! O4 u" b0 c$ T# h6 R) W" H      RS485串口特点0 t" \- [1 b2 d
    ●RS485采用平衡发送和差分接收,具有良好的抗干扰能力,信号能传输上千米。
, }$ T. ~  g  E* u    ●RS485有两线制和四线制两种接线。采用四线制时,只能实现点对多的通讯(即只能有一个主设备,其余为从设备)。四线制现在很少采用,现在多采用两线制接线方式。
, v1 b) z! g4 z7 X! }& I/ M9 W5 }8 v    ●两线制RS485只能以半双式方式工作,收发不能同时进行。% G/ o/ f* e* T1 J) p& j
    ●RS485在同一总线上最多可以接32个结点,可实现真正的多点通讯,但一般采用的是主从通信方式,即一个主机带多个从机。
' m0 B: S! I4 I    ●因RS485接口具有良好的抗干扰能力,长的传输距离和多站能力等优点使其成为首选的串行接口。      v- y8 o$ p5 ~# Z: B

  V4 Q" Z  N" V* V5 s# [        通常情况下,发送驱动器A、B之间的正电平在+2~+6V,负电平在-2~6V,另有一个信号地C。
2 r3 x/ ?: ^6 a0 v5 j0 A- C5 b! ]. B+ }" b0 c' [/ Q

9 \4 q0 Q! h* r& V. _4 S) r- R0 ]  XUSB电平:
! O2 E) [, N+ y: S% U1 M电源线是5V,为USB设备提供最大500mA的电流,它与数据线上的电平无关,数据线是差分信号,通常D+和D-在+400mV~-400mV间变化,在传统的单端(Single-ended)通信中,一条线路来传输一个比特位。高电平表示1,低电平表示0。倘若在数据传输过程中受到干扰,高低电平信号完全可能因此产生突破临界值的大幅度扰动,一旦高电平或低电平信号超出临界值,信号就会出错。在差分传输电路中,输出电平为正电压时表示逻辑“1”,输出负电压时表示逻辑“0”,而输出“0”电压是没有意义的,它既不代表“1”,也不代表“0”。
0 \  L) l1 W; _1 Y+ u( X
. k$ z( o- i* V# I" E4 E
% A& g" F% \+ l8 P  q% K
CMOS电平. p6 H+ s3 u& Y- u6 d5 }+ Z, K; a
        COMS集成电路是互补对称金属氧化物半导体(Compiementary symmetry metal oxide semicoductor)集成电路的英文缩写,电路的许多基本逻辑单元都是用增强型PMOS晶体管和增强型NMOS管按照互补对称形式连接的,静态功耗很小。7 d1 [- C- S1 T, j0 s
. I" u8 \' v" Q2 ]' b% y' Q4 t
        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电路中不适用的输入端不能悬空,否则逻辑混乱。; d7 U& g3 w3 m) X2 H: F% o* n9 N

$ ?# h# P4 {+ |& C0 i
' A4 S6 y: z1 }$ \: ?) f
USB转串口电路:
  w2 u# h3 ^7 @/ \  R' s. ~9 Q& k! E9 B7 m6 F6 y
b84fc331d858416db1ddd90b6d1b3a8f.png

5 ^( {+ I: x$ P1 T. k) R* J5 d8 n3 N* e, x  c4 d
这是一个USB接口电路,连接电脑。
& @# x( I' u. o0 w; c# r0 D# }
4 ?. _6 d) m* X' S& G0 {* ]7 J! y' l
ffeb72d7f84c491c9a62988d68871f6c.png

$ s8 q: {* y% O' e6 @/ {- q4 O
3 b4 r3 k4 `" g' ~  a; W( F( ?
5d6c4135c7434105b8933b01c01e6b7d.png

5 ?2 U/ \- N8 K6 n
% V# o, D& C' I  g, }" |
53f96453f21841f7b8aa51441d0aebca.png
5 P, ?6 y8 A4 b' d! z8 V

# x$ I' [) e3 D1 z  c8 b- K3 d          CH340是一个usb转串口的芯片(USB电路为5V,所以CH340芯片也是5V供电)。当然,串口的电平标准有很多,这里我们可以看到,我们是将USB转换为TTL电平,通过UART来与CPU进行通信。
7 Y+ l/ L* u( _7 M$ K) F( F( E4 A
6 y9 O$ T. `0 S
        CH340的接收端RXD与CPU的发送端UART1 TX  相连接,即CPU通过TX发送消息给CH340的RXD接收,然后CH340又通过UD+将信息发送给USB接口。7 J! Y) S- r8 s& ^* Y0 x9 d
% V. G( M" I6 ~# T/ H) q" |, p% S
       同理,CH340的接收端TXD与CPU的发送端UART1 RX  相连接。CH340通过UD-接收来自USB接口发送的信息,而CPU则通过RX来接收由CH340的TXD发送的信息。
  Q+ p2 _( o/ ^' i
. Y' f4 X4 W, d$ T( \
( ?: Y0 P3 _' p1 b! L
        注意:CH340也需要用外部晶振电路来驱动。因为它需要在时钟的基础上面来发送/接收数据。
& h. K: i  n8 v: w3 B. T: R  O. x

6 a* b* l8 v; w$ ^那为什么红框处要加一个二极管D4?  h$ ^/ c- y2 s) t
        我们可以看到,CH340芯片是5V供电,而cpu是3.3V供电。当cpu的UART1 RX接收来自CH340的TXD发送的数据的时候,此时D4二极管截止,D4二极管的阳极就为上拉电阻提供的3.3V,而不是CH340芯片的5V。那么此时,cpu识别到的电平就是TTL电平3.3V,而不是5V电平。  R  @7 v- r$ f  Z5 Z/ B
: Q$ r) Z) Q9 o- L: C" N1 s
0c8348a3a4cd4b7a9afa03f9f6427c4b.png
) u" w: G( p* f! k8 x

. z9 I1 q& \: A9 C+ b% J! s

$ I/ a1 p9 V: e/ h4 M
809ddc776e8c4e388babbf9a7312cc83.png
4 x1 Z/ U6 t1 n
$ B& w+ R9 x" t7 k
        7 A' J6 A( p# t) W/ m) D* ^
注意:有的芯片供电是3.3V,它是不需要加这个二极管和上拉电阻的。
7 b+ E! F% a2 k- i————————————————
/ ~9 U: Z# C& ^4 W5 z) y* Z版权声明:无敌小小雷
- @5 P! I, _# q+ M/ @如有侵权请联系删除
1 W4 D+ v* B8 ^5 J4 `" q
5 ^* S) E, q( v! d; c
+ o! ^) r* B5 T( F% G8 I

; u7 k7 E3 W" p, }. J+ ^. B/ ]) y
赞 收藏 评论0 发布时间:2023-4-16 17:15

举报

0个回答

所属标签

相似技术帖

官网相关资源

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