一.分配引脚:
1.根据功能确定引脚:
- 如果该引脚没有功能但是却被使用了,则之后只能通过软件方式实现(e.g SDA SCL)
- 如果接晶振的引脚没有接晶振,则芯片只能使用内部晶振了。
- iic软件模拟就行,随便连俩脚就能用,只是没法用hal库了。


注:
- 数据手册是给这一G431系列单片机的通用手册,前边这个是引脚序列号,有9列,至少有9款单片机共用这个手册。不同封装是为了不同用途,从同一个晶圆上引出不一样数量的引脚,封装不同,本质上的核心都是一样的,只是gpio数量不同。
- 我使用的封装是qfn-48的,去找对应封装那一列的引脚序列号,如果是个-,说明这一款没有这个引脚。
- IIC 1 2 3都是硬件IIC,只是有三套,iic是个通讯外设只有一个不够。
2.查看芯片电气特性:
看芯片能够承受多少V电压,此处是1.7-3.6V,如果我们使用两节干电池。1.5V串联==3V。
3.分辨VDD / VDDA /VBAT / VREF / VSS / PF0-OSC_IN / PC14-OSC32_IN:
(1)以LQNF48为例:

- PC14-OSC32_IN :
32表示32.768kHz的缩写,只能连32.768kHz的晶振,是低速晶振(只有khz)。
(分频15次产生1Hz的信号,广泛用于实时时钟(RTC)电路)

这个频率被广泛用于实时时钟(RTC)电路,因为恰好是2的幂次方。使用15位二进制计数器时,每经过32768次振荡(即2¹⁵次)后计数器溢出,正好产生1Hz的信号(1秒时间基准),即每秒走一次,去计实时时间,一个显示当前北京时间的表。
注:分频是只能分2的倍数次。
- PF0-OSC_IN :
PF0连晶振之后不能做别的功能了,PF0连的是单片机主时钟的晶振,这里我们选8MHz(任何单片机都能选8MHZ),比如说stm32g431,总线时钟可以最高到170MHz,可以通过8MHz分频和倍频实现。


即:
二者都是外部晶振,一个是高速晶振,一个是低速晶振(作RTC real time clock或者看门狗)。
看门狗:不喂狗就让芯片复位。
- VDD:
VDD是Digital数字电路的电源,即vdd是给其它数字电路供电的,除了adc,dac其它所有(比如IIC)。
- VBAT:
vbat是给内部real time clock和部分地址的sram的供电接入口,如果有一些不希望断电丢失的数据就需要给vbat一直通着电。这个外接个3v纽扣电池就行,没有的话直接连到3.3v就行。
- VREF+:adc,dac的基准参考电压,接3.3v就行。

PBQ此处是ADC。分压电阻用来测电池电压的,找个ADC连上就行。
vref+,+就接3.3(基准参考电压),-就接gnd。
为什么是3.3V?
数据手册上写的,这是参考基准,adc内部比较器用的,软件一般都用12bit的adc,即3.3V输入进adc之后会被平均分12次,变成2的12次方分之3.3V,是adc的每一个步进值。
adc是比较,输入一个模拟电压(0-3.3V),因为adc内部有很多比较器,每次比较是和每个比较器步进值是2的12次方分之3.3V比较一次,直到比较到比这个参考电压小,那么他的adc值就是多少。计算的时候,它满12次方的分辨率满是4096,就最大是4095。我们去换算它实际值的时候,就是用它读出来的ADC去除以4095,再乘上3.3V,就是它实际的电压值。它内部的那个分压电路啥的都是。内部集成的,我们只需要给它连上一个最大的一个正向的3.3伏参考电压就行,这个参考电压连多少到时候换算的时候乘多少就行,因为12倍是2的12次方,2的12次方是4096啊,它有4096份儿,那么它就是0到4095。
比如说电池电压是7.2V-8.4V的,低于7.2V就需要充电。单片机最高只能接3.3V的电压,即他的ADC只能接受3.3V以下的电,所以需要把7.2V用两个电阻分压,分到0-3.3V区间内,换算时候乘上那个系数即可。
- GND:
- VSS:电源负极,接GND

- VDDA;
VDD是Digital数字电路的电源,VDDA是Analog模拟电路的电源。
数字信号就是只有0和1的,比如说PWM,串口,IIC,SPI这些外设都是数字信号。
模拟信号是有具体大小的,比如ADC,DAC。
ADC 全称:Analog-to-Digital Converter(模数转换器)
DAC 全称:Digital-to-Analog Converter(数模转换器)
均是数字信号和模拟信号的转换。
(2)以另一款芯片为例:

- 这一款芯片引脚太少,VDD和VBATt都合并了。
4.实际引脚分配:
- IIC连SDA和SCL即可。(两根线就够)
- SW是下载的,比如说DAP下载器连一个SWCLK和一个SWDIO。(有时候会与BOOT引脚合并)
- WAKE:是按键输入,所以任意选一个GPIO即可,引脚都是GPIO。
- BAT_VOL:adc_channel,任意选一个ADC12_INx。
- 其余引脚随便选,任意选一个GPIO即可。(尽量挨在一起好接线)
- 所有VDD,VREF+,VBAT均接3.3V,因为由数据手册(2.查看芯片电气特性:):TTL标准电压=3.3V.一般单片机都可以接3.3V.
- 由数据手册可以看到,QFN48封装的VSS内部全接给EP脚了,所以EP直接接GND就行,走线时候EP大焊盘连上GND即可。

- OSC_32:接外部低速晶振,连不连无所谓。
- OSC:接外部高速速晶振
- _IN:
- _OUT:
OSC_IN和OSC_OUT是微控制器(如STM32)中用于连接外部高速晶振的一对专用时钟引脚。
| 引脚 | 功能 | 信号方向 |
|---|---|---|
| OSC_IN | 时钟信号输入端 | 输入 |
| OSC_OUT | 时钟信号输出/反馈端 | 输出 |

- UART:

- BOOT:
BOOT的时序逻辑:
上电时锁存BOOT引脚的电平,决定程序从哪个地址开始执行。
BOOT引脚是微控制器(如STM32)用于选择启动存储器的硬件配置引脚,在复位阶段决定CPU从哪个存储区域加载初始执行代码。
BOOT1 BOOT0 启动模式 典型应用 X 0 主闪存存储器(0x08000000) 正常运行模式 0 1 系统存储器(内置Bootloader) 串口/USB下载程序 1 1 内置SRAM(0x20000000) 调试/特殊应用 (并非所有MCU都同时具有独立的BOOT1和BOOT0引脚,这取决于具体型号和封装大小)
1. 主闪存启动(BOOT0=0)
默认模式:上电后从内部Flash的起始地址执行用户程序
应用:产品正常工作时固定此配置
电路:BOOT0引脚下拉10kΩ电阻到GND
2. 系统存储器启动(BOOT0=1, BOOT1=0)
ISP模式:启动内置Bootloader(芯片厂商预存在单片机里面的地址的芯片的代码),支持通过USART、USB、I2C等接口接收新程序
应用:生产烧录、固件升级、救砖(当Flash被锁或程序损坏时)
电路:BOOT0上拉、BOOT1下拉,通常设计为按键或跳线帽选择
3. SRAM启动(BOOT0=1, BOOT1=1)
调试模式:将程序下载到SRAM直接运行,不写入Flash
优势:快速调试,避免频繁擦写Flash
限制:掉电后程序丢失,且SRAM容量较小

BOOT0下拉一个电阻,如果是还有BOOT1的话,BOOT1不用接东西,只用管BOOT0,而且现在BOOT1一般都用软件设置了。
- 晶振:
- 有源晶振:
用不到,价格贵。
- 无源晶振:
里面就一个石英晶体,他自己振不起来,外部需要接一个起振电路才能让它振起来。单片机里已经集成了这个起振电路。用无源晶振的话,这两个引脚都要接上。
区分有/无源晶振:晶振上是否连电,有源晶振会有一个VCC引脚让你连3.3V。

这两个电容是阻抗匹配的负载电容,用20pf,记住就行。
- 接线端子:
理论上啥都能接,买个电池盒焊线放电池就行,这玩意其实就俩孔,焊啥都行。

- NRST:
NRST 是的复位引脚(Reset Pin),低电平有效。
| 项目 | 说明 |
|---|---|
| 逻辑电平 | 低电平复位(0 = 复位,1 = 运行) |
| 内部结构 | 通常内部有弱上拉电阻(20kΩ~50kΩ) |
| 功能 | 强制芯片回到初始状态,重新启动程序 |

NRST:
-
这是STM32芯片的复位引脚(Reset Pin)。
-
当这个引脚被拉低(GND)时,STM32会复位,即重新启动。
-
正常工作时应保持高电平(3.3V)。
R2:10kΩ 电阻
-
这是一个上拉电阻。
-
作用是将NRST引脚默认拉高到3.3V,防止芯片误复位。
-
如果没有这个电阻,NRST引脚可能会悬空,容易受到干扰导致不稳定。
C1:100nF 电容
-
这是一个滤波电容,连接在NRST和GND之间。
-
作用是滤除复位引脚上的高频干扰,防止误触发复位。
-
同时,它也能在上电瞬间提供一个短暂的低电平,实现上电自动复位功能。
复位脉宽——低电平必须保持的最短时间,靠 RC 充电曲线或按键按下时间保证。
- 上电瞬间:(RESET在全过程保持松开)
上电瞬间,C1会短暂拉低NRST,实现自动复位,确保芯片从一个确定状态启动
1. 上电之前
3V3 电源 = 0 V
电容 C1 两端电压 = 0 V
NRST 引脚通过 R2 也接到 0 V,所以 NRST = 0 V
2. 电源突然上电(从 0 V 跳到 3.3 V)
电容电压不能瞬间变化
在 t=0+ 那一刻,C1 右端(NRST 节点)仍比左端低 0 V,于是 NRST 被强行拖在 0 V3. 接下来:RC 充电
R2(10 kΩ)与 C1(100 nF)组成一阶低通
时间常数 τ=R⋅C=10 kΩ×100 nF=1 ms
NRST 电压按指数曲线从 0 V 往 3.3 V 爬升
VNRST(t)=3.3 V×(1−e−t/τ)
4. 复位阈值
STM32 数据手册规定:
– 低于 0.8 V 保证处于复位;
– 高于 2 V 保证退出复位。上面曲线算一下,约 0.3 ms 就能越过 0.8 V,约 0.9 ms 越过 2 V
⇒ 也就是说 NRST 低电平持续时间 ≈ 0.9 ms,远大于芯片要求的 300~500 µs 复位脉宽
⇒ MCU 一定会在内部完成一次完整复位也就是说复位不是绝对0V时候复位,而是在0.8V--2V区间范围内(STM32 的 NRST 引脚是施密特触发器结构)
5. 充电完成
当 t≫τ 后,C1 两端电压 ≈ 3.3 V,充电电流 → 0
NRST 被 R2 牢牢拉到 3.3 V,系统进入正常运行状态
此后 C1 的职责转为“滤波”——对付后面可能出现的尖峰或跌落
一句话总结
“上电瞬间电容把 NRST 钉在 0 V,随后靠 RC 充电让它缓慢升到 3.3 V,这段‘被迫低电平’时间就是自动产生的复位脉宽,确保 MCU 每次都从确定的复位状态开始跑代码。”
- 工作状态:
上拉电阻,将NRST引脚默认拉高到3.3V,保证不会触发NRST(复位)。RESET按键松开,电容已充电到稳定状态。
-
电容充满电(稳态)无电流——完全正常,电容在直流下就是开路;它的滤波作用体现在电压瞬变时的“瞬间充/放电”,而不是持续传导。
-
正常工作状态下C1已充电到3V3,不再有明显电流流动,此时NRST保持在3.3V。如果电流流动时候,电容会充电/放电使得NRST保持在3.3V。
- 手动复位:
按下按键把NRST直接短到GND,电容瞬间放电;松开后重新经历一次1ms左右的充电过程,再次给出复位脉宽。
1️⃣ 按下按键 → 电容“瞬间”短路
按键导通,NRST脚被硬拉到GND 0 V。
电容C1两端原来是3.3 V,现在右端(NRST)=0 V,左端仍3.3 V → 电容立即反向放电
放电电流路径:3V3 → R2 → 按键 → GND;峰值电流 ≈ 3.3 V / 10 kΩ = 0.33 mA,持续不到1 µs 就能把100 nF上的电荷放光。
结果:NRST在<1 µs内跌到0 V,STM32复位阈值<0.8 V,芯片立刻进入复位状态**。
2️⃣ 保持按下 → NRST被钉在0 V
按键仍然闭合,电容两端电压≈0 V,无电流流动。
NRST=0 V,复位持续;只要按键不松,CPU就“一直按住不动”。
3️⃣ 松手瞬间 → RC充电曲线开始
按键断开,R2与C1形成经典一阶RC电路。
3V3通过R2给C1充电,NRST电压按指数上升:
VNRST(t)=3.3 V⋅(1−e−t/τ),τ=R2C1=10 kΩ⋅100 nF=1 ms
总结
按下→电容瞬间放光,NRST=0 V,芯片立刻复位;
松手→R2给C1充电1 ms,NRST沿指数曲线爬回3.3 V,爬到0.8 V以上时复位结束,爬到2 V以上时CPU正式开始运行。这就是手动复位**“低电平脉宽”与“恢复上升沿”**的全部物理过程。
电容两端电压可以不相等,只是不能突变。
- UART和SW(NRST):
既是有线串口(USB转TTL用)又是下载器,不用插那个下载器就可以下载程序(DAP下载器),可以直接用来传输数据到vofa调试程序。这个就是zhu飞下载器的那个标准的接口,没用ST link。

- SHT-40:

- SDA和SCL连上,见到IIC就加上中间这两电阻并且硬件加上上拉电阻。
(因为IIC是开漏输出,开漏输出必须加上拉电阻)
其实软件也能在设置时候加上GPIO上拉电阻,但是那个上拉太弱,走线一长就容易通讯出问题,所以一般硬件加个上拉电阻。
- VDD是正极,就接个电.
- EP:大焊盘,散热用的,没有电器属性。此处为了减少引脚,把EP和GND接在一起了,所以这个EP必须接GND。
5.电源
- 24V -> 降压型(DCDC_Buck) 5V ->低压差线性稳压器(LDO ) 3.3V:

LDO缺点:发热
BUCK缺点:DCDC升压,输出纹波太大,不能给单片机供电。
- 3V(两节干电池)---> 5V ---> 3.3V :
电压不够所以先升压,所以让它升高点留点余量不至于让输入大于输出电压。
BOOST:只能升压。
SX1308:VCC:外部对芯片输入电压,此处为3V(两节干电池)。
QA:
- L1为什么选4.7uH? 手册里有L1取值范围。(DCDC这个电容电感值都有计算公式--斩波电路是有公式的,DCDC开关频率是2.5MHz差不多,所以电感就是3-7uH差不多)
- 电容:常用组合(一大一小)
- 二极管:常用。



AMS1117:


此处选用固定输出电压版本:2,4引脚内部都是连在一起,此处都连接3.3V.
6.MOS管电路作用:
MOS管四大核心用途
1️⃣ 电子开关:无触点高速通断电流 → 电源管理、LED驱动、负载切换
2️⃣ 信号放大:小电压控制大电流 → 音频功放、射频放大
3️⃣ 电机驱动:H桥电路驱动正反转 → 机器人、无人机电机控制
4️⃣ 电池保护:防过充/过放/短路 → 锂电池保护板核心元件


322

被折叠的 条评论
为什么被折叠?



