STM32最小系统硬件组成详解

2019-04-14 17:04发布

STM32最小系统硬件组成详解 0组成: 电源   复位   时钟    调试接口  启动 1、电源 : 一般3.3V  LDO供电   加多个0.01uf去耦电容   2、复位:有三种复位方式:上电复位、手动复位、程序自动复位 通常低电平复位:(51单片机高电平复位,电容电阻位置调换) 上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,计算方式如下:t = 1.1RC(固定计算公式)  1.1*10K*0.1uF=1.1ms 需求的复位信号持续时间约在1ms左右。 手动复位:按键按下时,RESET和地导通,从而产生一个低电平,实现复位。 3、时钟 :   晶振+起振电容  +(反馈电阻MΩ级)    如使用内部时钟: 对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。 2)对于少于100脚的产品,有2种接法: iOSC_INOSC_OUT分别通过10K电阻接地。此方法可提高EMC性。 32.768KHZ: 可选择只接高速外部时钟8MHZ或 既多接一个32.768MHZ的外部低速时钟。 32.768KHZ时钟作用:      用于精准计时电路  万年历 通常会选择32.768KHz的晶振,原因在于32768=2^15,而嵌入式芯片分频设置寄存器通常是2的次幂的形式,这样经过15次分频后,就很容易的1HZ的频率。实现精准定时。用于精准计时电路  万年历  晶振:一般选择8MHZ  方便倍频      有源:更稳定 成本更高 需要接电源供电  不需要外围电路      3脚单线输出   无源:精度基本够 方便灵活 便宜          最大区别:是否需要单独供电         无源晶振需要外接起振电容:晶振的两侧有两个电容 OSC——OUT不接,悬空                                                                                   有源晶振 作用: 1、使晶振两端的等效电容等于或接近于负载电容; 2、起到一定的滤波的作用,滤除晶振波形中的高频杂波; 该起振电容的大小一般选择10~40pF,当然根据不同的单片机使用手册可以具体查阅,如果手册上没有说明,一般选择20pF、30pF即可,这是个经验值。 调整电容可微调振荡频率: 一般情况下,增大电容会使振荡频率下降,而减小电容会使振荡频率升高, 反馈电阻:   1M    负反馈    同时也是限流 1、连接晶振的芯片端内部是一个线性运算放大器,将输入进行反向180度输出,晶振处的负载电容电阻组成的网络提供另外180度的相移; 整个环路的相移360度,满足振荡的相位条件, 2、 晶振输入输出连接的电阻作用是产生负反馈,保证放大器工作在高增益的线性区,一般在M欧级; 3、 限流的作用,防止反向器输出对晶振过驱动,损坏晶振,有的晶振不需要是因为把这个电阻已经集成到了晶振里面。                4、启动:  用户使用通常都设置成Boot0  Boot1均为0即均为低电平   M3核的器件有3种启动方式,M4的有4种。通过BOOT0,BOOT1的电平进行选择。        STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)SRAM = 芯片内置的RAM区,就是内存啦。 3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区,它是使用USART1作为通信口。        M4在上述基础上又增加了可在FSMC的BANK1区域启动。 5、调试接口:STM32有两种调试接口,JTAG为5针,  SWD为2线串行(一共四线) 此外还有采用USB进行程序烧写数据输出:和电脑USB口连接也可以进行小负载驱动供电。 通常采用CH340G的芯片:实现USB转串口。 需要单独的振荡电路 12MHZ  使用该芯片将电脑的USB映射为串口使用,  注意电脑上应安装串口驱动程序,否则不能正常识别。 当烧写程序时,我们希望BOOT0=1,BOOT1=0。当烧写完成后我们希望BOOT0=0,BOOT1=0(这个模式BOOT1可以是0可以是1,这里我们让BOOT1拉低,即整个过程BOOT1都为L接地,简化电路设计)。