【STM32】单片机最小系统

【STM32】单片机最小系统

单片机最小系统分析

单片机的最小系统就是可以供单片机运行的最小器件,上面的就是我们在使用过程中最小的器件了,正常情况我们只需要三个部分或者说四个也行,单片机、晶振、复位、电源。但是为了更好的使用,通过上图分成一共七个部分。

  1. 单片机
  2. 下载口
  3. 电源降压电路
  4. BOOT设置电路
  5. 芯片的滤波电容
  6. 复位电路
  7. 晶振电路

1、单片机

STM32F103C8T6增强型系列使用高性能的ARM Cortex-M3 32位的RISC内核,工作频率为72MHz,内 置高速存储器(高达64K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总 线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包 含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN。

STM32F103C8T6增强型系列工作于-40°C至+105°C的温度范围,供电电压2.0V至3.6V,一系列的省电 模式保证低功耗应用的要求。

具体的功能我们会通过视频的方式给大家展示出来,因为这部分资料比较杂,网上对于这块的介绍也比较多,相对来说,我们还是想让同学们更加熟练的知晓每个部分的大致功能点。

【STM32】单片机最小系统

【STM32】单片机最小系统【STM32】单片机最小系统

 

 

 

 

 

 

 

下面看下具体的型号码对应的理解

【STM32】单片机最小系统

2、下载口

下载口一般是排针或者直接连接在烧录器上面的引脚,对于STM32一般有三种下载方式,Serial Wire Debug(SWD) 的下载方式、JTAG的下载方式、串口下载的下载方式。我们一般使用SWD的下载方式,下面主要以SWD的下载介绍。这里主要有两个单片机的引脚和电源。

  • PA13  SWDIO
  • PA14  SWCLK

3、电源降压电路

STM32的供电一般是2.0-3.6V ,如果使用正常的USB供电的话则需要将电源转换成我们需要的电压范围,USB的通用供电电压是5V,要得到在2.0-3.6V 之间的电压则需要将5V电压进行降压。正常降压一般有两种方式,

  • DC-DC(Buck)电路
  • LDO电路

第一种的效率很高损耗很低,但是电路相对来说复杂一点,并且成本比较高,这种我们一般在降压差距较大的时候会使用这样的方式比如,12V-5V,或者24V-5V,这样的话对于整个电路板来说效率高,并且损耗很低。

第二种一般是将高电压直接转成需要电压,相对来说成本较低,但是损耗以及效率都很低,简单举例说明,就是5V变成3.3V的话,多余的电压直接通过其他的方式给损耗掉。

但是对于我们的需求电压差相对来说并不大,所以采用LDO的方式相对合理一点

【STM32】单片机最小系统

这里使用的是XC6206P332MR-G的芯片,XC6206 系列是采用 CMOS 和激光微调技术制造的高精度、低功耗、三端正电压稳压器。该系列能提供大电流,且压差显著较小。

XC6206 由电流限制电路、驱动晶体管、精密基准电压和误差校正电路组成。该系列兼容低 ESR 陶瓷电容器。电流限制器的折返电路可作为短路保护,也可作为输出引脚的输出电流限制器。

输出电压通过内部激光微调技术设定,在 1.2V 至 5.0V 范围内,可按 0.1V 增量选择。

4、BOOT 选择电路

STM32 芯片的 BOOT0 和 BOOT1 引脚,可使用跳线帽设置它们的电平从而控制芯片的启动方式,它支持从内部 FLASH 启动、系统存储器启动以及内部 SRAM 启动方式。

【STM32】单片机最小系统

相关文章 :  STM32的启动模式配置与应用。

一般使用JTAG或者SWD调试下载程序,会下载到闪存里,所以可以直接将BOOT0引脚和BOOT1引脚置为低电平。

串口下载口:因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。

STM32三种启动模式对应的存储介质均是芯片内置的,它们是:

  • 用户闪存 = 芯片内置的Flash。
  • SRAM = 芯片内置的RAM区,就是内存啦。
  • 系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区,它是使用USART1作为通信口。

下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存,这就是所谓的启动过程。

    STM32上电或者复位后,代码区始终从0x00000000开始,其实就是将存储空间的地址映射到0x00000000中。三种启动模式如下:
  • 主闪存存储器启动,将主Flash地址0x08000000映射到0x00000000,这样代码启动之后就相当于从0x08000000开始。主闪存存储器是STM32内置的Flash,作为芯片内置的Flash,是正常的工作模式。一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。
  • 系统存储器启动。首先控制BOOT0、BOOT1管脚,复位后,STM32与上述两种方式类似,从系统存储器地址0x1FFF F000开始执行代码。系统存储器是芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。启动的程序功能由厂家设置。系统存储器存储的其实就是STM32自带的bootloader代码。
  • 内置SRAM启动,将SRAM地址0x20000000映射到0x00000000,这样代码启动之后就相当于从0x20000000开始。内置SRAM,也就是STM32的内存,既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。假如我只修改了代码中一个小小的地方,然后就需要重新擦除整个Flash,比较的费时,可以考虑从这个模式启动代码,用于快速的程序调试,等程序调试完成后,在将程序下载到SRAM中。

用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。STM32三种启动模式对应的存储介质均是芯片内置的,如下表:

启动模式选择引脚 启动模式 说明
BOOT1 BOOT0
x 0 主闪存存储器 主闪存存储器被选为启动区域
0 1 系统存储器 系统存储器被选为启动区域
1 1 内置SRAM 内置SRAM被选为启动区域

串口下载程序原理

从系统存储器启动,这种模式启动的程序功能是由厂家设置的。一般来说,这种启动方式用的比较少。系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader,也就是我们常说的ISP程序,这是一块ROM,出厂后无法修改。

一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。

这个下载方式需要以下步骤:

  • 将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoader;
  • 在BootLoader的帮助下,通过串口下载程序到Flash中;
  • 程序下载完成后,又有需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动。

5、电容电路

电容特性:

大电容滤去低频交流低频成分。小电容滤去高频交流成分,选择高频滤波电容的主要依据是频率特性,即阻抗-频率曲线。0.1uF瓷介电容(X7R)的谐振频率(阻抗曲线“谷”点频率)大约为10MHZ多,表贴的大约为16MHZ,而且阻抗也比较低(1欧姆以下量级),这对在大多数低频电路都是比较合适的。再大的容量,谐振频率偏低,再小的容量,谐振阻抗偏大。

EC2 电容22UF在这里主要是作用主要就是保护电路的,采用的22UF的电容通常利用电容两端电压无法突变的原理防止电压突变的,电压在变化的是时候电容开始放电,使得电容两端的电压维持平衡,如果正常没有变化的话,电容会一直处于充满电的状态,这样电容就可以在电压顺变的情况下维持电压的突变了。同时大电容滤去低频交流低频成分。

瓷片0.1uF电容主要用来抑制电磁干扰

1、滤除该器件产生的高频噪声,切断其通过供电回路进行传播的通路;

2、防止电源携带的噪声对电路构成干扰。

6、复位电路

当RESET引脚被拉低产生外部复位时,产生复位脉冲,从而使系统复位。

有三种复位方式:

  • 上电复位
  • 手动复位
  • 程序自动复位

上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,需求的复位信号持续时间约在1ms左右,计算方式如下:

t = 1.1RC(固定计算公式)

1.1*10K*0.1uF=1.1ms

手动复位:按键按下时,RESET与地导通,从而产生一个低电平,实现复位。

【STM32】单片机最小系统

7、晶振电路

晶振的作用是为最小系统提供最基本的时钟信号,电容的作用是保证晶振输出的震荡频率更加稳定。

32单片机片内有晶振,可以产生最大64MHz的速度。

单片机也可以通过外部晶振提供更加精准的时钟基准,分为 “主系统时钟” 和 “RTC 实时时钟” 两路:
  • 主晶振(8MHz)
    OSCINOSCOUT之间接8MHz晶振,两端各并联30pF电容到GND
    晶振产生的时钟是单片机系统时钟(SYSCLK)的源头,经内部倍频 / 分频后驱动 CPU 和外设。
  • RTC 晶振(32.768KHz)
    PC14PC15之间接32.768KHz晶振,两端各并联30pF电容到GND
    专为 ** 实时时钟(RTC)** 设计,即使单片机进入低功耗休眠,仍能持续计数,提供精确时间基准。

 

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索