STM32F103ZET6 核心板制作指引
学点啥系列之
——STM32F103ZET6 核心板制作指引
原创资料,转载请联系
作者的话:会画stm32F103ZET6的话,rct6啥的简直不要太简单 |
一、电路总览
图1:电路整体
二、单片机部分
要做一块核心板,首先要搞清楚自己想在这块板子上加啥东西。
依照思路,一块单片机最小系统,应该要有电源(三处讲)、单片机本身、复位电路以及时钟电路。
我们先从单片机本身入手,如图 2 所示,是本次的主角,STM32F103ZET6
图2:STM32F103ZET6
翻开数据手册,查一下,如图 3:
图3:数据手册的zet6
从数据手册中我们可以获知这 LQFP封装的芯片各个引脚是什么。可能有的同学迷糊了,这些引脚都有编号(1-144),那么实际上单片机上引脚是如何对应编号的呢?
同学,先找 1 号引脚,那么 1号引脚在哪呢?找小圆点(引脚基准点)!
看看下面这张图 4:
图4:芯片实物
找小圆点,仔细看看,哎呀,居然有 3 个圆点,咱们这个左下角的那个点
才是引脚基准点,离该点最近且作为引脚直线上逆时针第一个引脚是 1 号引脚:
那么答案呼之欲出了,如图 5 所示:
图5:引脚基准和 1 号引脚
还有一个方法,那就是将芯片的丝印字符正对,左下角第一个引脚即为一号引脚,此法适用于没有引脚基准时的判断。
关于找 1 号脚的问题就不多说了,可以自己找资料。我们把芯片画在原理图上,如图 6
所示:
图 6:MCU 原理图
此处我们将一块 stm32f103zet6 划分为两个部件,仔细观察一下可以发现,我们将 VDD、VSS、VSSA、VREF+、VDDA、VSSA单独提出来做一个部件,其实二者封装还是共用的,AD绘制原理图库加部件的操作自己琢磨。这里有个有意思的地方,那就是右边 MCU_2 处有DGND 和 AGND,它们之间用了一个 0Ω的电阻连了起来,关于数字地和模拟地之间用0Ω电阻连接的操作,同学可自行查找资料学习。此处咱们讲点更有意思的内容,这里有着一堆VDD、VSS、VREF+、VSSA、VDDA、NRST、VBAT,我在此处做些解释,防止有些同学不明白还懒。
① VCC: 学过 51 的同学都知道 51 供电引脚是个 VCC,VCC 就是接入电路的电压。(V代表电压,C 字母代表电路)
② VDD: 器件内部的工作电压,咱们一般直接接 3.3V 了。(D 为 device器件的首字母,表示器件)
③VSS: 通常指电路公共接地端电压,所以可以看到往往咱们都把其接到GND 去了。(S为 series 表示公共连接的意思)
④VDDA: 通对比 VDD 多了个A,不用想,这肯定和模拟电路有关,所以这玩意是对所有的模拟电路部分供电。需要注意的是VDDA 和 VDD 之间的电压差不能超过 300mV,VDD 与 VDDA应该同时上电或调电,所以咱们就不自找麻烦整写花里胡哨的电路了,这两玩意直接连同一个电源就是了。
⑤VSSA:接地的玩意后面跟了个 A,毫无疑问,这是 VDDA的地,所以我们可以理解出来,VDDA 和 VSSA是单片机内部模拟电路的正负(电源),所以啊,你要是这两玩意不接好,怕是不能使得单片机正常工作了。那为啥我右边这张图的VSSA(31号引脚)接了一个数字地呢?不该是接到模拟地吗?那是因为我这个芯片画错了,这里 31号引脚是 VREF-,而不是 VSSA。但真的就是错的?这里画错是有一定道理的,在VREF-可用时,必须绑定到 VSSA。
⑥VREF+、VREF-:关于这个,看到 ref,大家就应该知道这玩意是个参考电压,结合stm32 的引脚具备 A/D 转换的功能这点,就能清楚这玩意是用来提高 ADC精度的。在引脚数目上了 100后,为了保证更好的低电压输入精度,连接一个单独的参考电压输入到VREF+中,VREF+输入电压范围为 2.0V 到 VDDA,VREF-可用时,必须绑定到VSSA。在引脚数为 64 时,将没有这个 VREF(实际上不是没有,而是不引出了,VREF+、VREF-在内部被接到 VDDA、VSSA 上去了)对于 NRST 和VBAT,电路如图 7 所示:
图 7:时钟、复位、VBAT 电路
红色框的是时钟电路,蓝色框的是复位电路,绿色框的是 VBAT外围电路。时钟电路和复位电路不多说,此处讲一下这个 VBAT 外围电路。
VBAT 的作用: 使用电池或其他电源连接到 VBAT 脚上时,当 VDD断电时,可以保存备份寄存器的内容和维持 RTC 的功能。
图7上的 VBAT 电路,外接 3V3 或者不外接,都有 BT1 在作用,对于VBAT外围电路,还有更好的接法,在这里展示一下:
图 8:VBAT 外围电路好接法
看图8,这里接了两个二极管,对比俺画的电路,区别在于 BAT的正极也接了个二极管,分析电路可知,当 VCC3.3M 作用时,D2两端压差不至于导通,所以有了 VCC3.3M 作用时,备用电池就不会作用了,而 VCC3.3M断开时,D2 满足导通条件,BAT 作用于 VBAT。
该VBAT外围电路取自博主_Charles_Chen的图,我自己懒得画了哈哈哈 |
三、电源和通信部分
图 9:USB 供电电路
这是个 USB 供电电路,C6、R9 是阻容网络,接到了 USB的外壳上去(6、7、8、9引脚),目的如下:
⑴将影响外壳的噪音滤除、不影响信号地;
⑵迫使板子上电流是流入内部的信号地,而不是流到外壳。
这样处理综合考虑了 EMI 滤波和 ESD隔离,相比于直接接地,此类处理方式能更好减小各种干扰,增加整体的抗干扰能力,事实上USB 对 ESD 并不敏感,这种接法也是属于有备无患,不想接的话可以直接接地或者不接,将阻容网络去掉。
然后看一下 usb 的 D+和 D-,对应到 STM32 的 USBDP、USBDM。
USBDP(USB DataMinus)是 USB 的正信号线;
USBDM(USB Data Positive)是 USB 的负信号。
查一下数据手册
图 10:数据手册截图
再看C5,这是退耦电容,许多同学对滤波和退耦电容区分不清,建议查查资料了解一下,滤波主要是用于电源整流电路中,用来滤除交流成分,使得输出的直流更加平滑(滤纹波)。
而退耦电容一般用于不需要交流的地方,用来消除自激,并接在正负极,避免由于电流的突变而使得电压下降,这里也有滤纹波的意思。
说到滤波、退耦电容,又不得不提旁路电容,旁路电容用在有电阻连接时,接在电阻两端使得交流信号顺利通过。(具体自己查资料)
对于 PA8、R6、R7、R8、Q1,此处作用是切换 D+上拉,当 PA 高电平时 D+不上拉;PA8
低电平时 D+上拉。
一般插上电脑 USB 后的 VUSB 的电压时 5V(实测要更低些),经过下面这个线性稳压IC(AMS1117-3.3V)后输出 3V3。(右边并联 LED 用来指示3.3V 输出正常)
图 11:AMS1117 稳压电路
Vin 和 Vout不必多说,看看数据手册即可明白。此处输出的 3.3V 供给单片机。
接下来是 UART 和 SWD:
图 12:SWD 和 UART
至于为啥是 PA13、PA14。。。自己看数据手册。
BOOT 就不说了,然后就是最好将芯片的各个引脚引出,一般是用排针引出:
图 13:接插件引出
当然你也可以不止引出一个,比如 3.3V、5V、GND这种引脚,因为用的比较多,可以多引出些,可以插更多凌乱的杜邦线啥的。
附录:PCB 提要
①各个引脚要注意在 Top/Bottom Overlay 层标注一下:(天蓝色线框位置)
②GND 用铜加固一下,电流较大的地方把线弄粗些,必要时直接用铺铜当导线:
"
③晶振要尽量靠近时钟接口、走线尽量对称,最好走差分线。并且晶振底部尽量不要走线:
④绘制 logo:
这种是两层叠在一起,分别是 Top Layer 层和 Top Solder 层,自己尝试一下吧。
作于 2020.10.21 上传于2021.10.24 本文以现在眼光来看仍然有许多可优化的地方,但不影响主题,再者“心宽体益胖”,日渐惰矣 |
STM32F103ZET6 核心板制作指引的更多相关文章
- 基于迅为-i.MX6Q开发板制作镜像方法
在“/home/imx6”目录(在前面编译 android 系统的时候新建过这个目录,如果没有可以自己新建一个)下,使用命令“mkdir minilinux/”新建 minilinux 目录,使用命令 ...
- 【iCore3 双核心板】DEMO 1.0 测试程序发布
iCore3 Demo V1.0 程序说明 一.概要 本资料包包含5个文件夹: 1.“arm”里是 icore3上 arm的程序包,开发环境为 KEIL 5.17: 2.“fpga”里是 icore3 ...
- 迅为iTOP-4412核心板调整电压
本文转自:http://www.topeetboard.com iTOP-4412核心板使用的电源管理芯片是三星专门针对4412研发的S5M8767,8767提供9路BUCK和28路LDO输出,每路电 ...
- 【iCore系列核心板视频教程】之 SDRAM 读写实验
============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...
- 【iCore2 双核心板视频教程一】iM_LAN 100M 以太网模块UDP例程(包含视频教程)
============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...
- 【iCore2双核心板视频教程三】iM_LAN 100M 以太网模块TCP压力测试(更新视频教程)
============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...
- 【iCore2双核心板视频教程二】iM_LAN 100M 以太网模块TCP通信例程
============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...
- 【新产品发布】发布STM8S 核心板
搞了一些STM8的核心板供大家把玩,先上几张图: 物品购买地址: http://item.taobao.com/item.htm?spm=686.1000925.1000774.17.5GMO5M&a ...
- 【iCore、iCore2 双核心板】EPCS 实验(SPI Flash)(基于Verilog语言)
_____________________________________ 深入交流QQ群: A: 204255896(1000人超级群,可加入) B: 165201798(500人超级群,满员) C ...
随机推荐
- python实现高斯滤波
一,定义 核是:3 *3 均值滤波 二,高斯函数 Y方向的方差与X方向的一致.处理后图像看起来更模糊(滤波明显)的话,核要更大. (三)代码实现 (四)核计算 (五)图像产生高斯噪声循环代码实 ...
- [bzoj2257]瓶子和燃料
先考虑选出k个后答案最小会是多少,容易发现其实就是所有的gcd(就是$ax+by=gcd(a,b)$的推广)然后相当于要最大化gcd,反过来可以将所有数的约数都打上+1标记,+1标记不少于k个且最大的 ...
- Sql server 删除重复记录的SQL语句
原文地址:https://www.cnblogs.com/luohoufu/archive/2008/06/05/1214286.html 在项目开发过程中有个模块日清表页面数据重复,当时那个页面的数 ...
- [Cnoi2020]线性生物
期望入门题.但是我不会做. 考虑设\(E_{x\to{x+1}}\)为\(x\)到\(x+1\)点的期望步数. 则\(ans = \sum_{i = 0}^{n} E_{x\to{x+1}}\) 知\ ...
- AtCoder Beginner Contest 204
身败名裂了,\(AK\)场转掉分场. 都是水题不说了. 这篇文鸽了.
- Codeforces 679E - Bear and Bad Powers of 42(线段树+势能分析)
Codeforces 题目传送门 & 洛谷题目传送门 这个 \(42\) 的条件非常奇怪,不过注意到本题 \(a_i\) 范围的最大值为 \(10^{14}\),而在值域范围内 \(42\) ...
- Python基础之流程控制while循环
目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...
- 51-Intersection of Two Linked Lists
Intersection of Two Linked Lists My Submissions QuestionEditorial Solution Total Accepted: 72580 Tot ...
- Mybatis批量添加、更新小结
虽然是很基础的东西,不过难免会忘记,所以写个笔记巩固一下,顺便分享. 实体类: @Data public class EventOrder { private Long id; private ...
- JVM1 JVM与Java体系结构
目录 JVM与Java体系结构 虚拟机与Java虚拟机 虚拟机 Java虚拟机 JVM的位置 JVM的整体结构 Java代码执行流程 JVM的架构模型 基于栈的指令级架构 基于寄存器的指令级架构 两种 ...