目标
利用STM32F103C8T6构建一个简单的控制平台,按键控制电源通断、LED指示灯用于简单调试、OLED屏幕用于打印相关信息方便后续调试
器件清单
- 控制器:STM32F103C8T6
- 屏幕:OLED屏
- 晶振:8M外置晶振
- 电池:7.4V锂电池
- 降压芯片:ASM1117-5.0和ASM1117-3.3
- 电源开关:5.8mm*5.8m 6P自锁开关
- LED、电容、电阻、插针若干(LED、电容、电阻均选取0603封装,是个失误,太小了,不便于手动焊接,建议0805封装)
封装 尺寸 功率 电阻耐压值 0402 1.0mm*0.5mm 1/16W 50 0603 1.6mm*0.8mm 1/10W 50 0805 2.0mm*1.2mm 1/8W 150 1206 3.2mm*1.6mm 1/4W 200 1210 3.2mm*2.5mm 1/3W 200 1812 4.5mm*3.2mm 1/2W 200
电路模块
1、供电管理
- 2P插座接7.4V锂电池,通过ASM1117-5.0和ASM1117-3.3分别稳压到5.0V和3.3V。两个稳压模块输入前连接自锁开关,输出接LED串联4.7k电阻,显示是否正常输出
- 核心供电和OLED屏供电:3.3V
- 外设供电:5V/3.3V。安装3P插针,用跳线帽进行电源切换
2、时钟输入
- 8M晶振,并联2个20pf电容
3、复位电路及BOOT设置
- 暂时没有手动复位需求,直接使用10k电阻上拉3.3V输入,接到NRST上,同时电阻到地串联10nf电容滤波
- 使用主闪存存储器,直接将BOOT0引脚过10K电阻接地即可
4、调试接口
- 一个4P插针,用于外接STLINK
5、OLED屏
- I2C通信,除VCC和GND外,SCL和SDA分别接PB6和PB7
- 输入前串联自锁开关,控制供电。
- 电源输入并联LED和4.7K电阻,用于显示是否供电
6、简易LED调试
- 8个LED串联1K电阻上拉3.3V输入
- LED分别连接PA8~PA12,PB13~PB15
7、外设调试接口
- 使用两个3*12P的插针,最上面为信号线,重点为GND,最下面为VCC
- PB6~PB9,PA8~PA12,PB13~PB15作为一组引出
- PB10~PB11,PB1~PB0,PA7~PA0作为一组引出
8、供电切换
- 为了满足可能的外设供电需求,利用3P插针,可通过将跳线帽插在不同的位置切换外设供电电压。(电路连接为:5.0V/VCC/3.3V)
必要记录:
在STM32F10XXX里,可以通过BOOT[1:0]引脚选择三种不同的启动模式,启动方式如下表所示:
启动模式选择引脚 启动模式 说明 BOOT1 BOOT0 X 0 主闪存存储器 主闪存存储器被选为启动区域 0 1 系统存储器 系统存储器被选为启动区域 1 1 内置SRAM 内置SRAM被选为启动区域 晶振要尽可能离MCU近,尽可能避免干扰
MCU供电一般要在每对电源输入引脚加两个滤波电容,用于去耦,两滤波电容容值分别为10nf和100nf
应该安装几个轻触开关,用于外部输入,不然无法手动给条件进行软件测试
供电和地线可以在PCB画图时设置为30mil,保证在可能的大负载下供电稳定
PCB画板时,如果没有包装,电路板记得四周倒角。记得打孔预留固定孔位,方便后续组装
在选用MOS管搭建防反接电路时,一定要确认PMOS和NMOS的DSG三极是否正确
选用自锁开关作为电路电源输入管理时,一定要提前测清楚要用的开关的引脚是如何连接的,然后再设计对应的电路图