由于学习工作的需要自己定制stm32系统板,以下将关键的注意事项进行解释,欢迎交流。(以stm32f103为例)
1.VBAT引脚
在主流的设计中,VBAT与0欧的电阻串联,接至3.3V。
2.OSC32_IN 与 OSC32_OUT
32.768k的rtc时钟用于精确定时,待机唤醒时钟。根据您的需要判断是否添加。如果您不需要待机状态的定时功能的话,可以不用外接晶振。
3.XTAL_IN 与 XTAL_OUT 。
外部时钟晶振不是必须要接8M,官方数据写的是4-16MHz,然后经过pll倍频后给其它外设提供时钟信号。
比如说系统最大主频就是由它倍频得到的。
4.BOOT0 与 BOOT1 配置启动方式。
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
实际设计中,BOOT0设计为可以调节的方式。
BOOT1设计为0。
(我不理解的是,为什么要经过10k电阻接地呢?欢迎交流,有文章说是为了改善emc)
5. SWD下载方式:
SWD下载方式只需要NRST(复位),TCLK(时钟),TMS(信号),GND四个引脚。个人习惯了这种下载方式。再简单一点的话,NRST也是可以省掉的,下载完程序可以手动复位。
6. NRST系统复位
复位的方式有很多种,这里就不一一叙述了。
7.供电。
VDDA,VDD1,VDD2,VDD3 该供电3V3的就供电3V3
VSSA,VSS1,VSS2,VSS3 该接地的就接地。
同时,VDD 与 VSS 之间需要滤波。