STM32单片机最小系统的电路设计

控制/MCU

1882人已加入

描述

本文将基于 STM32 单片机(F1 系列)展开讲解。

背景

学嵌入式,我们一般从单片机学起。学单片机,不能只学软件,硬件知识也要跟上。软硬件相结合的设计,才是真正优秀的设计。

谈及单片机的硬件设计,我们会先将其浓缩为最小系统,即能实现最基础的功能的最简化设计。以 STM32(F1 系列)单片机为例,最小系统无非是这几部分:电源、复位、时钟、启动模式、下载调试。

电路设计

电源

STM32 的电源有以下几种类型:

主电源(VDD / VSS)

主电源指的是标记为 VDD1、VDD2... 的引脚。

每个引脚必须加一个 100nF 的滤波电容,且尽量靠近引脚放置,此外需要一个 10uF 的钽电容公用。

电路设计

电路设计

后备电源(VBAT)

VBAT 引脚可用于电池供电。如果不用,可以与 VDD 连接在一起。VBAT 也需要一个 100nF 电容滤波。

可参考以下的电源选择电路:

电路设计

ADC 电源(VDDA / VSSA)

为了提高转换精度,ADC 设备可以从这里取电。一般将 VDDA 通过一个电感后, 与 VDD 相连接。

若不用到 ADC,可将 VDD,VDDA,VREF+(如果有的话) 接在一起,并对地接 1uF 钽电容 + 10nF 陶瓷电容滤波。

复位

因为 STM32 内部有上拉电阻,所以外部只接 100nF 电容 + 按键即可:

电路设计

上电时,CPU 处于复位状态,此时电容充电,NRST 引脚电位持续拉低,当电容充满电后,NRST 电位变为高电平,此时 CPU 退出复位模式,进入正常运行状态。当按钮被按下时,电容被短路清空电量,按钮松开后重新充电,触发复位。

根据官方设计指南,电容选取 100nF 即可,以保证 NRST 低电平持续的时间满足 CPU 复位的最小脉宽要求,能正常触发复位。

如果不需要手动复位功能,也可以略去按键。

时钟

电路设计

如上图,STM32 的时钟分以下几种:

HSI:高速内部时钟,是内部的 RC 振荡器,频率为 8MHz

HSE:高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围为 4MHz~16MHz

LSI:低速内部时钟,RC 振荡器,频率为 40kHz. 独立看门狗的时钟源只能是它,同时它也可以作为 RTC 的时钟源

LSE:低速外部时钟,接频率为 32.768kHz 的石英晶体。LSE 是给 RTC 用的时钟源

PLL:锁相环倍频输出,其时钟输入源可选择为 HSI/2,HSE 或 HSE/2. 倍频可为 2~16 倍,但是输出频率最大不得超过 72MHz

从稳定性上考虑,我们在设计的时候一般使用外部晶振作为时钟源。一般选取 8MHz 晶振作为 HSE,便于倍频(一般倍频到 72MHz);选取 32.768kHz 晶振作为 LSE,RTC 使用便于分频(32768 是 2 的 15 次方,可以得到精准的时间)。

至于晶振的选用,有源的精度高,无源的成本低,一般无源就足够了。

如果选用无源晶振,则需要在两端要加上起振电容,滤除晶振波形中的高频杂波。容值可选 10 ~ 40pF.

晶振输入输出引脚之间可加一个 1M 的电阻,产生负反馈,保证放大器工作在高增益的线性区。同时还起到限流作用,防止反相器驱动过载损坏晶振。

电路设计

电路设计

启动模式配置

一般将 BOOT0 引脚下拉(串接 10K 电阻再接地),BOOT1 任意 即可。

如果需要模式切换,也可以参照以下的设计:

电路设计

启动模式详见 STM32 的启动模式

下载调试接口

一般我们用 SWD 接口(接线少,方便),直接引出 SWDIO,SWCLK,VCC,GND 即可。

不需要添加外部上拉/下拉电阻,因为 STM32 内部已经有集成了。

电路设计

总结

以上就是 STM32(F1 系列)最小系统的电路设计。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分