STMCU小助手
发布时间:2021-7-6 14:18
|
STM32最小系统硬件组成详解' |: [+ m7 s: M2 D6 R0 S1 w& g ( ?% I$ m7 B! R5 |' T' ]9 g* Y ? 0组成: 电源 复位 时钟 调试接口 启动 6 `2 M* f8 O$ [ 1、电源 : 一般3.3V LDO供电 加多个0.01uf去耦电容 , j3 r1 J9 B3 X6 R( l 2、复位:有三种复位方式:上电复位、手动复位、程序自动复位 通常低电平复位:(51单片机高电平复位,电容电阻位置调换) 上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,计算方式如下:t = 1.1RC(固定计算公式) 1.1*10K*0.1uF=1.1ms- j" `" d/ H* W; ^ 6 [3 Z' X9 `0 ]# | 需求的复位信号持续时间约在1ms左右。5 X4 K1 A3 m% @8 X 手动复位:按键按下时,RESET和地导通,从而产生一个低电平,实现复位。/ s; X* b2 P7 ?$ y* }
3、时钟 : 晶振+起振电容 +(反馈电阻MΩ级) 2 a8 ^0 u( r% Y: q/ p, i' g( e% Y , b. X7 x$ }7 r; c) `; g I 如使用内部时钟: # h) g, f0 P. k$ Q5 p X/ ? 对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。& Q2 ?9 S6 Q0 F& d5 k. n ! s$ t; N7 s x5 N, h 2)对于少于100脚的产品,有2种接法: 4 S; M) _1 o( m* O$ \( ?/ H i)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性。 32.768KHZ: 可选择只接高速外部时钟8MHZ或 既多接一个32.768MHZ的外部低速时钟。 32.768KHZ时钟作用: 用于精准计时电路 万年历 通常会选择32.768KHz的晶振,原因在于32768=2^15,而嵌入式芯片分频设置寄存器通常是2的次幂的形式,这样经过15次分频后,就很容易的1HZ的频率。实现精准定时。用于精准计时电路 万年历 % G7 {7 D! l% z3 Y, w( ]' f3 t 晶振:一般选择8MHZ 方便倍频 有源:更稳定 成本更高 需要接电源供电 不需要外围电路 3脚单线输出 2 D+ }( \+ w$ \3 }5 I F 无源:精度基本够 方便灵活 便宜 最大区别:是否需要单独供电 无源晶振需要外接起振电容:晶振的两侧有两个电容" _/ e8 r$ U" w( \$ @4 a/ x( } OSC——OUT不接,悬空1 c- a" o% r$ F6 @2 _# v
有源晶振 1 \1 s7 C. N% w+ D 作用:9 M/ Q) J" x9 [! Q( { \( j 1、使晶振两端的等效电容等于或接近于负载电容; # y, G9 K, l4 C4 X 2、起到一定的滤波的作用,滤除晶振波形中的高频杂波; # ~! Q! }2 N$ Y+ w 该起振电容的大小一般选择10~40pF,当然根据不同的单片机使用手册可以具体查阅,如果手册上没有说明,一般选择20pF、30pF即可,这是个经验值。 / a d4 p: d" ^; F* y 调整电容可微调振荡频率:- E; [! B; C7 [9 a% _1 x 一般情况下,增大电容会使振荡频率下降,而减小电容会使振荡频率升高, 反馈电阻: 1M 负反馈 同时也是限流6 q9 I0 c/ c6 t' ` u, U 1、连接晶振的芯片端内部是一个线性运算放大器,将输入进行反向180度输出,晶振处的负载电容电阻组成的网络提供另外180度的相移; 整个环路的相移360度,满足振荡的相位条件, 2、 晶振输入输出连接的电阻作用是产生负反馈,保证放大器工作在高增益的线性区,一般在M欧级;: j" Z! p, o7 S6 Y5 z" a ( @! c+ ]4 Q- J 3、 限流的作用,防止反向器输出对晶振过驱动,损坏晶振,有的晶振不需要是因为把这个电阻已经集成到了晶振里面。
4、启动: 用户使用通常都设置成Boot0 Boot1均为0即均为低电平 M3核的器件有3种启动方式,M4的有4种。通过BOOT0,BOOT1的电平进行选择。
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: # S, S4 C; T ^# k6 T$ r) O+ j2 \ 1)用户闪存 = 芯片内置的Flash。 2)SRAM = 芯片内置的RAM区,就是内存啦。' X6 q1 D& y' y+ K( ^ 3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区,它是使用USART1作为通信口。 M4在上述基础上又增加了可在FSMC的BANK1区域启动。) z7 j1 O% K. _3 Y
/ F H& a& I9 Q) T$ }- b1 e J 5、调试接口:STM32有两种调试接口,JTAG为5针, SWD为2线串行(一共四线) - V" \# j4 a1 V# b: b! P" e! k
此外还有采用USB进行程序烧写和数据输出:和电脑USB口连接也可以进行小负载驱动供电。3 ~, p5 b3 `4 o. d 0 ~2 ?. p6 y8 N+ G3 u# I \ 通常采用CH340G的芯片:实现USB转串口。0 I' K& ^+ l0 N- ?( w7 U 需要单独的振荡电路 12MHZ " Q+ V' z/ \. \' A" d4 \: o) h$ Z 使用该芯片将电脑的USB映射为串口使用, 注意电脑上应安装串口驱动程序,否则不能正常识别。
. ^& }/ W% V R) p( [ 当烧写程序时,我们希望BOOT0=1,BOOT1=0。当烧写完成后我们希望BOOT0=0,BOOT1=0(这个模式BOOT1可以是0可以是1,这里我们让BOOT1拉低,即整个过程BOOT1都为L接地,简化电路设计)。& F5 I6 S6 X5 D
8 e4 x0 P9 @0 D |
微信公众号
手机版