产品与服务

STM32单片机最小系统设计

时间: 2024-07-13 02:54:23 |   作者: 产品与服务

  我们大多数人在学习stm32过程中都会陷入这样一个误区————只关注软件代码层面而忽视了硬件层面,简单来说就是只会用开发板,一旦要设计自己的stm32系统就无从下手。本文旨在完成stm32最小系统的设计。

  STM32最小系统,就是能让STM32单片机能战场工作所必须拥有的组成部分的集合,也是STM32单片机正常运行的必要环境。STM32最小系统主要组成部分有:

  因为STM32单片机内部已经集成了时钟电路,所以STM32只需有供电和复位电路就能正常运行。但在实际应用中,为了使单片机的灵活性、抗干扰能力、适应力、可调试的能力等,最小系统中还需带有其它保持最小系统稳定的电路。本文所述的STM32最小系统基于STM32F103RCT6设计。

  在设计最小系统的供电电路时,需先确定供电的电压,本文所述STM32采用的供电电压为5V的USB供电电路,单片机的工作电压为3.3V,我们应该对电压进行降压处理,因此我们采用AMS1117-3.3芯片,将5V转换成3.3V给单片机供电。

  在STM32单片机的某些使用场合中,需要较高的信噪比,所以将模拟信号和数字信号区分开,来规避彼此的影响。在实际应用中,VDDA供电给ADC、DAC模块,VREF+是参考电压输入引脚正极,VREF-是对应的负极。VREF+与VDDA连接,VREF-与VSSA连接。

  一般情况下,数字电源VDD与模拟电源VDDA之间只需要接一个简单的低通滤波器即可(RC型、π型),而数字地和模拟地之间能够直接进行简单的隔离(即在两者之间接一个0Ω的电阻),或者在一些要求不高的场合,直接公用地。

  在官方STM32数据手册中,高速外部时钟(HSE)可接4MHz~16MHz的晶振,我们一般接8MHz的晶振,方便进行倍频,在经过PLL锁相环倍频输出后,供给STM32的外设使用。下图所示的时钟电路组成:晶振+起振电容 +(反馈电阻MΩ级)。如不接高速外部时钟时,OSC_IN应接地,OSC_OUT应悬空。

  低速外部时钟(LSE),接频率为32.768KHz的晶振,用于提供给(RTC)实时时钟。因为2^15=32768,在经过寄存器设置分频之后,能很容易地得到1Hz的频率,实现精准的定时,可用于计时电路(万年历等)。

  ISP一键下载电路:一般都会采用CH340G芯片实现转串口,其中CH340G芯片需要单独的震荡电路,通常用12MHz的晶振。该芯片将电脑的USB映射为串口使用,电脑在使用CH340G转串口时应安装对应的驱动程序。

  ISP下载电路可直接用转串口接入单片机串口引脚实现相应功能,这里就不贴电路图了。

  在STM32运行的过程中,为确保系统中电路稳定可靠工作,复位电路必不可少。我们利用复位电路将STM32电路恢复到初始的状态,主要是防止程序混乱,将系统恢复初始状态,以便接收各种指令进行工作。

  在设计STM32系统时,我们在选择使用哪款芯片时应该要依据项目功能需求来选择,再确定好项目需求之后,我们大家可以在st官方技术社区下载选型手册或者下载芯片数据手册来确定选择哪款芯片。

  一般在stm32中文数据手册的第一页就会有芯片资源描述,你能够准确的通过资源介绍来选择所需的芯片。

  在设计STM32系统时,我们应该根据芯片数据手册来确认需要用的引脚,例如我们应该外接低速外部晶振时,我们应该在芯片手册上找到外接晶振引脚。本文使用STM32F103RCT6芯片,所以是64脚的芯片封装,然后找到外接晶振引脚,就是PC14、PC15。于是在绘制原理图时就能够找到对应引脚,连接相应的外部电路。