硬件设计分享(一)STM32F1系列硬件设计总结

目录

01 电源电路

电源应用总览

电源PCB设计

02 复位电路

复位电路

03 时钟设计

时钟设计

HSE OSC clock

04 BOOT启动设计

Boot mode选择

PCB设计电路

05 JTAG/SWD烧录模式

引脚功能说明

PCB原理图设计

06 文章总结


大家好,这里是程序员杰克。一名平平无奇的嵌入式软件工程师。

硬件分享系列的第一节,主要是涉及STM32F1系列最小系统启动设计,不涉及具体外设以及相关驱动芯片设计电路。若需要更深入去了解的话,建议详看参考资料中的文档。


好的,言归正传。直接进入正题。

01 电源电路

电源应用总览

图片

1. VDD 输入[2.0, 3.6],然后内部经过稳压器输出一个1.8V的数字电源;

2. RTC和备份域寄存器由VBAT提供, 可以在VDD关闭后继续工作(VBAT由外部电源供电时,不使用外部电源时,推荐将VDD连接到VBAT引脚);

3. AD转换独立供电可以由VDDA引脚输入;

4. AD转换独立GND可以由VSSA引脚输入;

5. AD转换参考电压VREF+VREF-,对于64pin甚至更少的芯片,两个引脚未使能,由内部VDDAVSSA连接;对于100/144-pin的芯片,可以由外部供电提供;

电源PCB设计

图片

1. 使用ADC,VDD输入范围在[2.4, 3.6];否则为[2.0, 3.6];

2. 用作供电的VDD电压,必须经过去耦电容组合后才能输入;

(N100nF陶瓷电容[N取决于VDD个数] + 1个钽电容/陶瓷电容[min. 4.7uF, typ. 10uF]);

3. VBAT引脚可以连接外部的电池(1.8V-3.6V)供电;不使用外部电池的话,将VDD经过一个100nF的陶瓷电容去耦后作为输入;

4. VDDA引脚必须经过两个外部去耦电容,再作为输入;

(100nF陶瓷电容 + 1uF钽电容/陶瓷电容);

5. VREF+引脚可接外部电源VDDA,如果VREF+连接外部独立的电源时,必须要有一个100nF、1uF电容连接该引脚;并且VREF+保持在[2.4V, VDDA];

6. 过滤模拟噪声措施:

VDDAVDD经过磁珠过滤高频噪声后作为输入;

VREF+通过一个电阻(typ. 47Ω)连接VDDA;

设计原理图如下:


02 复位电路

复位电路

图片

图片


03 时钟设计

时钟设计

时钟来源说明
SYSCLK

1. HSE

2. HSI

3. PLL

本推送只涉及硬件电路设计部分,实际配置&软件应用查看参考手册和数据手册;
LSI RC芯片内部低速RC振荡器40Khz用于独立看门狗、在Stop/Standby模式下RTC自动唤醒(可选的);
LSE

外部石英晶振

(LSE crystal)

32.768Khz,作为RTC说时钟;

HSE OSC clock

高速外部时钟(HSE)由两种方式生成:

    1. HSE 外部石英/陶瓷起振器;

    2. HSE 外部时钟输入;

图片

方式说明

Crystal/Ceramic

 Resonator

  1. 频率范围:

    F101xx->F103xx:f∈[4, 16];

    f100xx:f∈[4, 24];

    F105xx/F107xx:f∈[3, 25];

  2. PCB设计:

    a. 晶振和电容PCB布线时尽可能地靠近OSC引脚;

    b. CL1和CL2的容值通常相同,官方建议容值范围在[5pF, 25pF];

    c. CL = CL1 x CL2 / (CL1 + CL2) + Cstray,其中:

    Cstray:pin、板卡、PCB布线的typ[2pF, 7pF],选型计算时,可以粗略认为Cstray为10pF;

    CL1和CL2:查看晶振规格书给出的CL,带入公式计算得出;

BYPASS Clock

Source

  1. 外部时钟[占空比50%、方波/正弦/三角]由OSC_IN引脚输入,并且OSC_OUT必须保持高阻抗;

  2. 频率范围:

    F101xx->F103xx:fmax = 25Mhz;

    f100xx:fmax = 24Mhz;

    F105xx/F107xx:fmax = 50Mhz;

Crystal/Ceramic Resonator晶振电路如下:

图片


04 BOOT启动设计

Boot mode选择

系统复位后,BOOT引脚的电平在SYSCLK的第4个上升沿锁存;

图片

模式设计说明
主存储器

CM3内核复位后, 程序都是从0x0000_0000开始运行的,三种模式的区别主要是在0x0000_0000和 0x0000_0004地址映射的内容不一致;

主存储器:      0x0000_0000: 0x0800_0000;

嵌入式闪存:0x0000_0000: 0x0200_0000;

系统存储器:0x0000_0000: 0x1FFF_F000;

硬件设计:

系统存储器:

     BOOT0接电阻,接到GND(BOOT1不关心);

其他模式:

    BOOT0通过电阻接Vdd,BOOT1通过跳帽切换(或者直接通过电阻拉到对应电平);

嵌入式闪存
系统存储器

PCB设计电路

图片


05 JTAG/SWD烧录模式

引脚功能说明

STM32F1系列集成了SW/JTAG调试端口(SWJ-DP)。MCU复位完成后,SWJ-DP所有引脚都自动配置为调试接口专用引脚(全功能引脚)。JTAG和SW调试接口引脚配置如下图:

图片

在设计和配置过程中,软件可以通过配置,去选择对应的引脚模式,将一些不需要的引脚继续作为通用GPIO使用(写代码要尤其注意,但此处仅设计硬件设计部分,不进行总结)。下图为不同配置下所需的引脚:

图片

PCB原理图设计

20PIN-JTAG设计如下图:

图片

4PIN-SWD设计如下图:

图片


06 文章总结

本篇内容涉及STM32F1系列的最小启动系统的硬件外围电路设计,不涉及具体的外设以及相关驱动芯片的设计电路。

参考文档:

《AN2586-Getting started with STM32F10xxx hardware development》 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰克拉力船长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值