0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

了解STM32单片机最小系统

GReq_mcu168 来源:程序员小哈 作者:程序员小哈 2022-05-09 14:39 次阅读

STM32F103RCT6:

STM32F103RCT6是一种嵌入式-微控制器集成电路(IC),32位 Cortex-M3内核处理器,速度是72MHz,程序存储器容量是256KB,程序存储器类型是FLASH,RAM容量是48K,封装LQFP64。

adc749c2-cf61-11ec-bce3-dac502259ad0.png

STM32单片机命名规则:

addd850c-cf61-11ec-bce3-dac502259ad0.png

STM32单片机最小系统:

所谓单片机最小系统,就是让单片机能够正常运行,最少且必须的器件所组成的系统。 单片机最小系统上电之后,单片机可以正常复位,下载程序,除此之外没有其他任何功能。 在最小系统保证正确的基础上,可以依次添加其他功能模块或器件,使之单片机具有实际功能。 STM32单片机最小系统包括一个复位电路和一个时钟电路。如下图1所示。 图中复位电路使用的是上电复位电路,STM32单片机NRST引脚输入低电平,则发生复位。

adf89716-cf61-11ec-bce3-dac502259ad0.png

图1 STM32F103单片机最小系统

电源引脚:

VDD是单片机的数字电源正极,VSS是数字电源负极,共有5个VDD引脚,5个VSS引脚。VDDA是单片机的模拟电源正极,负责给内部的ADCDAC模块供电,VSSA是模拟电源负极。

还有一个电源引脚,就是VBAT,BAT就是Battery(电池),这个引脚用来连接电池的正极的。STM32带RTC功能(实时时钟),所以有VBAT引脚。

原理图上预留了一个CR1220纽扣锂电池,当主电源供电存在的情况下,由系统中的VCC3.3给VBAT供电; 当主电源断电之后,由CR1220纽扣电池给STM32自带的RTC模块供电,从而能够保证实时时钟模块在主电源掉电的情况下还能够正常工作。

但是这样设计的话,这里有一个矛盾需要解决。如果VBAT引脚直接与VCC3.3和CR1220连接的话,会存在下面问题: 1、当电池电压高于3.3V,电池就会输出电流AMS1117,使得芯片发烫,还会很快消耗电池电量。 2、如果电池电压低于3.3V,AMS1117产生的3.3V,就会给电池充电,而这种CR1220电池是不能够充电的。

为了解决上面问题,我们将VBAT引脚的供电电路设计如下:

ae0b91f4-cf61-11ec-bce3-dac502259ad0.png

D1防止电池的电流流向AMS1117,D2防止AMS1117产生的3.3V流向电池。 之所以这样设计,用的就是“二极管的单向导通性”。 正常产品设计的时候,每个电源引脚旁边,最好放置一个0.1uF的电容滤波,用来滤除电源的噪声杂波。

复位引脚NRST

复位就是重启。STM32复位引脚是低电平复位,正常工作状态,复位引脚是高电平。

ae205ee0-cf61-11ec-bce3-dac502259ad0.png

单片机的置位和复位,其目的都是为了把电路初始化到一个确定状态。复位时在单片机内部单片机是将存储设备和一些寄存器装入生产厂商预设的一个值。一般来说,单片机复位电路的作用是把一个状态机初始化到一个空的状态。

单片机实现上电复位的原理:

在复位引脚NRST上外接电容电阻。 当复位电平(低电平)持续两个机器周期以上时复位有效,系统上电后由于电容的充电,会保持一段时间的低电平来使单片机复位。 刚上电,电容两端电压为0,即低电平复位,RC电路有个充电曲线(即电容两端电压变化曲线),单片机识别外部电平有一个连接电压,保证rc电路电容电压充到单片机临界电压的时间在两个机器周期以上就能满足单片机复位条件; 当3.3V电源加到VCC3.3时,RC电路导通,NRST与地的电位差为电容与地的电位差。NRST与地的电位差只有电容充电完毕后才会达到3.3V,所以在电容的充电过程中,给芯片引脚的信号都是低电平。根据RC电路充电方程式V(t)=U+A*e-(t/RC),只要合理的选择好R跟C的值就可以保证充电时间大于芯片复位所要求的时间。我们一般R选择10K电阻,C选择0.1uF电容。

晶振引脚

STM32有两组晶振,一组用来给单片机提供主时钟(5:OSC_IN,6:OSC_OUT),主时钟晶振使用8MHz的晶振(为了程序内部倍频方便,一般选用8MHz的晶振)。 一组用来给RTC提供时钟(3:OSC32_IN,4:OSC32_OUT),RTC时钟晶振,需要连接32.768K的晶振,关于为什么要用32.768KHz,大家可以去百度了解一下哈。 实际应用中,如果不用RTC功能的话,RTC的晶振不必连接。

STM32的时钟电路又分为内时钟和外时钟两种模式。 外部时钟是在OSC_IN和OSC_OUT之间加上一个晶振,单片机内部振荡器便能产生自激震荡,产生时钟信号,在晶振的两侧加上20~30pF的瓷片电容起到了微调时钟频率的作用,让频率更加稳定。 内部时钟是STM32内部有时钟产生,所以如果不用外部晶振的话,也可以不用连接,内部时钟是用芯片内部振荡电路,精度不高,温漂也较大,不需要外部振荡器件。

ae395968-cf61-11ec-bce3-dac502259ad0.png

BOOT引脚

STM32有两个BOOT引脚,分别是BOOT0和BOOT1,这两个引脚的高低电平,决定了单片机的启动方式和运行方式。

ae4c65bc-cf61-11ec-bce3-dac502259ad0.png

第一种(BOOT1=X,BOOT0=0)启动方式是最常用的用户FLASH启动。默认启动方式。 第二种(BOOT1=0,BOOT0=1)启动方式是系统存储器启动方式。STM32中自带的BootLoader( 就是通常说的ISP程序)就是在这种启动方式中,如果出现程序硬件错误的话可以切换BOOT0=1到该模式下重新烧写Flash即可恢复正常。BootLoader所在区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 第三种(BOOT1=1,BOOT0=1)启动方式是STM32内嵌的SRAM启动。该模式用于调试。

ae647882-cf61-11ec-bce3-dac502259ad0.png

ae804bc0-cf61-11ec-bce3-dac502259ad0.png

一般我都是将BOOT0和BOOT1接地。

上面就是最小系统的全部内容,当然只有上面的部分还不行,一般最小系统还包括下面几部分:

电源电路

因为STM32单片机一般都是3.3V供电,而生活中一般常见的都是5V电源(电脑USB口,手机充电器,移动电源...),所以一般使用AMS1117-3.3V 稳压电源芯片将5V降压为3.3V,该芯片的封装一般为SOT223。

ae944dd2-cf61-11ec-bce3-dac502259ad0.png

下载电路:

当然除了上面几部分以为,还需要一个下载电路,STM32的下载方式有如下几种: (1)串口下载:使用串口下载需要单片机内有相应的程序的支持,而系统存储器中就放了这么一段程序,由ST 在生产线上写入,用于通过可用的串行接口对闪存存储器进行重新编程。(在系统存储器启动模式下下载,因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。程序烧录在FLASH)。 注意:使用此种方式需要BOOT0=1,即需要有外部电路支持才可以实现串口下载。

(2)JLINK或者STLINK下载 一般我们使用JTAG或者SWD模式下载程序。

推荐使用SWD模式下载,SWD模式只需要三个引脚(GND、SWCLK、SWDIO)即可实现程序的下载功能。

aea8fafc-cf61-11ec-bce3-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7646

    浏览量

    152061
  • 单片机
    +关注

    关注

    6043

    文章

    44617

    浏览量

    638317
  • STM32
    +关注

    关注

    2272

    文章

    10923

    浏览量

    357461

原文标题:STM32单片机最小系统详解

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    HK32F030MF4P6最小系统板原理图及PCB文件

    方便验证 HK32F030MF4P6 性能的最小系统板原理图和PCB文件,所有IO都有引出,适合需要验证单片机性能但不想要画板的小伙伴。原理图:PCB 预览:注意:因为IO口都是直接引出,请不要将其接到超过额定电压承受范围的电路上!
    发表于 12-23 18:00 0次下载

    基于51单片机的遥控开关仿真(双机通信)

    具体实现功能由51单片机+独立按键+继电器+LED灯等构成。实现功能:(1)本仿真设计的是一款遥控开关,采用51单片机进行遥控器与主机的设计;(2)遥控器由单片机最小系统及四个按键构成
    的头像 发表于 10-22 14:12 391次阅读
    基于51<b class='flag-5'>单片机</b>的遥控开关仿真(双机通信)

    stm32单片机用什么软件编程

    STM32单片机是一种广泛应用于嵌入式系统领域的微控制器,具有高性能、低功耗、丰富的外设接口等特点。要对STM32单片机进行编程,需要选择合
    的头像 发表于 09-02 10:16 1928次阅读

    基于STM32单片机的多功能水杯设计

    STM32F103C8T6单片机最小系统板(包含+3.3V稳压电路+时钟晶振电路+复位电路(上电自复位,手动复位)),温度传感器、水位传感器、红外人体传感器、红外反射传感器、超声波测距模块、LCD液晶显示屏、按键、蜂鸣器、LED
    的头像 发表于 07-05 10:56 935次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的多功能水杯设计

    基于STM32单片机的智能睡眠呼吸监测系统设计

    STM32F103C8T6单片机最小系统板(包含+3.3V稳压电路+时钟晶振电路+复位电路(上电自复位,手动复位)),心率传感器、气压传感器、液晶显示、按键、蜂鸣器、LED灯、蓝牙模块组合而成。
    的头像 发表于 07-05 10:51 2536次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的智能睡眠呼吸监测<b class='flag-5'>系统</b>设计

    stm32最小系统板原理图下载

    stm32最小系统板原理图免费下载
    发表于 07-01 15:07 20次下载

    基于STM32单片机的智能窗帘控制系统设计

    系统STM32单片机进行主控,系统内使用血氧传感器进行血氧检测,通过电机控制采集血。按键控制采血和检测。
    的头像 发表于 06-28 14:24 3083次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的智能窗帘控制<b class='flag-5'>系统</b>设计

    基于STM32单片机的声光控节能灯系统设计

    系统使用STM32单片机进行主控,系统内使用光敏电阻模块来检测外界的光强,另外通过红外光电识别模块进行人体识别,使用声音传感器来检测是否有人声。
    的头像 发表于 06-27 10:25 1672次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的声光控节能灯<b class='flag-5'>系统</b>设计

    基于STM32单片机的智能冰箱控制系统设计

    基于单片机设计的一款智能冰箱控制系统,可以控制冰箱的制冷装置,可以采集冰箱的异味浓度,超过闽值之后控制紫外灯进行消毒工作单片机采用单片机采用单片机
    的头像 发表于 06-25 09:21 1374次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的智能冰箱控制<b class='flag-5'>系统</b>设计

    基于STM32单片机的GPS定位系统设计

    本次设计的定位系统,是以STM32单片机作为核心控制器,可以控制 GPS 定位模块对经纬度信息进行采集,可以对安全值进行设定,当超过安全范图后会控制无线通信模块发送报警信息给用户,同时会将实时位置在手机端进行查看。
    的头像 发表于 06-24 09:50 2768次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的GPS定位<b class='flag-5'>系统</b>设计

    基于STM32单片机的智能厨房系统设计

    本次设计的系统是以 STM32 单片机作为核心控制器,可以控制温度传感器、烟雾传感器、可燃气体传感器完成对相关数据的采集,可以 对烟雾、天然气的阈值进行设定,当监测到烟雾、可燃气体浓度超过阈值后控制蜂呜器报警,灯亮。
    的头像 发表于 06-24 09:48 1709次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的智能厨房<b class='flag-5'>系统</b>设计

    STM32单片机最小系统设计原理

    STM32最小系统,就是能让STM32单片机能够正常工作所必须拥有的组成部分的集合,也是STM32单片机
    发表于 04-23 14:54 2998次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b><b class='flag-5'>最小</b>化<b class='flag-5'>系统</b>设计原理

    STM32F105最小系统USB上电后电压低的原因?

    制作,所以从最小系统开始,采用STM32F105R8T6。 我们买了LQFP49-100脚的转接板,把单片机焊上转接板后,短路测试确定没问题。 然后,我们再从转接板引线到面包板。 板上的系统
    发表于 04-23 07:50

    STM32WB测试板上面焊接了最小系统,程序无法烧写且单片机也无法识别怎么解决?

    在自己的STM32WB测试板上面焊接了最小系统发现程序无法烧写且单片机也无法识别,经过一系列测试发现与RF引脚连接的滤波网络焊接上之后程序就可以正常烧写,为此我把官方的NUCLEO开发板的RF滤波网络断开之后发现官方的开发板依旧
    发表于 03-28 06:32

    迅为RK3588最小系统板发布

    迅为RK3588最小系统板发布
    的头像 发表于 03-08 15:32 911次阅读
    迅为RK3588<b class='flag-5'>最小系统</b>板发布