一、STM32之最小stm32硬件系统的实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⼀、STM32之最⼩stm32硬件系统的实现
序⾔
我们⼤多数⼈在学习stm32过程中都会陷⼊这样⼀个误区————只关注软件代码层⾯⽽忽视了硬件层⾯,简单来说就是只会⽤开发板,⼀旦需要设计⾃⼰的stm32系统就⽆从下⼿。

本⽂旨在完成stm32最⼩系统的设计,stm32最⼩系统包括:电源、复位电路、晶振、程序下载电路四个部分,简单来记就是吃饭、睡觉、到点、起床⼯作。

电源
电就是MCU要吃的饭,不吃饭,stm32芯⽚肯定不能⼯作。

stm32最⼩系统板需要5v和3.3v两种电压,⼀般可以直接通过USB提供5v电压,也可以⽤电源适配器提供5V电压。

⽽3.3v电压可以通过稳压芯⽚如ASM1117-3.3v等,把5v电压降为3.3v输出。

参考电源电路如下:
图中J1是USB接⼝,提供的5v电压经过ASM1117-3.3v后降为3v3,C1,C2(10*10^4pF=0.1u)⽤于电源滤波,⾼频滤波⽤⼩电容,低频滤波⽤⼤电容。

D3是⼀个led⽤以指⽰电源⼯况,其上的R1 510R即510.0Ω⽤以限流,防⽌led灯烧坏。

J3也是⼀个USB接⼝,提供5v电压,同时它也是⼀个模拟串⼝,其D-和D+引脚与ch340相应引脚连接构成⼀个串⼝设备。

stm32吃的是3v3将其VDD和VSS引脚分别连接到3v3和GND,就解决了stm32的吃饭问题。

注意:VBAT是stm32芯⽚的备⽤3.3v电源输⼊端,当没有备⽤电源是也需要将VBAT接到VDD上去。

VDDA和VSSA是模拟电源输⼊⼝,⽤以给stm32芯⽚内部ADC,复位电路供电因此必须分别接到VDD和VSS上。

复位电路
⼈⼯作久了容易⾃闭、精神恍惚,这时需要睡⼀觉就以重新焕发活⼒。

stm32⼯作久了也容易“精神恍惚”————程序跑飞,也需要复位。

stm32的NRST引脚是复位信号接收引脚与RESET相连,芯⽚低电平复位。

如上图所⽰,当芯⽚刚上电时,电容充电导通,此时
RESET=0,芯⽚复位;当按下复位按钮时,RESET接地,芯⽚复位。

晶振电路
晶振是芯⽚的⼼跳,每⼀次脉冲激励芯⽚执⾏⼀条指令,因此晶振的重要性不⾔⽽喻。

上图是stm32的晶振电路,8M⽆源晶振,其中R9(1M)⽤于稳定晶振的脉冲波形,C8(20P)和C9(20P)⼀⽅⾯构成晶振起振的必要回路,另⼀⽅⾯匹配电容,同时还具有调节晶振电路频率的作⽤。

注意:OSC32IN是外部32.768K晶振输⼊⼝,可以直接接时钟信号,也可以不洁作IO⽤。

OSCIN是外部系统时钟输⼊信号,可以接时钟信号,也可以不接做IO⼝⽤,此时stm32⽤芯⽚内部的RC电路起振产⽣时钟信号。

程序下载电路
搭建stm32最⼩系统的⽬的当然是希望其按照我们的想法(即编写的程序)进⾏⼯作,程序下载接⼝就是为MCU注⼊灵魂的法门。

1. stm32程序下载⽅式
Link
ULink
STLink
JLink包括:SWD模式(三线制)和JTAG模式
串⼝下载
不准确地说(错误滴说),Link就是把C语⾔翻译为芯⽚能懂的语⾔的器件,⽽在串⼝下载中是通过下载软件(如FlyMCU)将C语⾔翻译为芯⽚能听得懂的语⾔,⼆值殊途同归。

2. stm32启动⽅式
stm芯⽚复位时即NRST引脚处于低电位时,BOOT0和BOOT1的电平状态,决定复位后芯⽚的启动⽅式。

BOOT0BOOT1启动⽅式对应的程序下载⽅式
0x flash Link(ICP)
10ROM&BootLoader串⼝下载(ISP)
11RAM(IAP)
3. 题外话————各种存
4. JLink SWD模式下载电路
SWD模式只需要三根线————GND(连接stm32芯⽚GND)、SWD(连接PA13[SWD])、SWC(连接PA14[SWC])5. 串⼝下载电路
USB的D+、D-脚,分别接CH340的D+、D-脚,CH340的TX、RX分别接芯⽚RX(PA10)、TX(PA9)
注意:PA9、PA10、PA13、PA14默认是⽤来下载程序的,⾄于⼀键下载电路,欲知详情,下回分解。

相关文档
最新文档