学点啥系列之
——STM32F103ZET6 核心板制作指引
原创资料,转载请联系
作者的话:会画stm32F103ZET6的话,rct6啥的简直不要太简单 |
要做一块核心板,首先要搞清楚自己想在这块板子上加啥东西。
依照思路,一块单片机最小系统,应该要有电源(三处讲)、单片机本身、复位电路以及时钟电路。
我们先从单片机本身入手,如图 2 所示,是本次的主角,STM32F103ZET6
翻开数据手册,查一下,如图 3:
从数据手册中我们可以获知这 LQFP封装的芯片各个引脚是什么。可能有的同学迷糊了,这些引脚都有编号(1-144),那么实际上单片机上引脚是如何对应编号的呢?
同学,先找 1 号引脚,那么 1号引脚在哪呢?找小圆点(引脚基准点)!
看看下面这张图 4:
找小圆点,仔细看看,哎呀,居然有 3 个圆点,咱们这个左下角的那个点
才是引脚基准点,离该点最近且作为引脚直线上逆时针第一个引脚是 1 号引脚:
那么答案呼之欲出了,如图 5 所示:
还有一个方法,那就是将芯片的丝印字符正对,左下角第一个引脚即为一号引脚,此法适用于没有引脚基准时的判断。
关于找 1 号脚的问题就不多说了,可以自己找资料。我们把芯片画在原理图上,如图 6
所示:
此处我们将一块 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 所示:
红色框的是时钟电路,蓝色框的是复位电路,绿色框的是 VBAT外围电路。时钟电路和复位电路不多说,此处讲一下这个 VBAT 外围电路。
VBAT 的作用: 使用电池或其他电源连接到 VBAT 脚上时,当 VDD断电时,可以保存备份寄存器的内容和维持 RTC 的功能。
图7上的 VBAT 电路,外接 3V3 或者不外接,都有 BT1 在作用,对于VBAT外围电路,还有更好的接法,在这里展示一下:
看图8,这里接了两个二极管,对比俺画的电路,区别在于 BAT的正极也接了个二极管,分析电路可知,当 VCC3.3M 作用时,D2两端压差不至于导通,所以有了 VCC3.3M 作用时,备用电池就不会作用了,而 VCC3.3M断开时,D2 满足导通条件,BAT 作用于 VBAT。
该VBAT外围电路取自博主_Charles_Chen的图,我自己懒得画了哈哈哈 |
这是个 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 的负信号。
查一下数据手册
再看C5,这是退耦电容,许多同学对滤波和退耦电容区分不清,建议查查资料了解一下,滤波主要是用于电源整流电路中,用来滤除交流成分,使得输出的直流更加平滑(滤纹波)。
而退耦电容一般用于不需要交流的地方,用来消除自激,并接在正负极,避免由于电流的突变而使得电压下降,这里也有滤纹波的意思。
说到滤波、退耦电容,又不得不提旁路电容,旁路电容用在有电阻连接时,接在电阻两端使得交流信号顺利通过。(具体自己查资料)
对于 PA8、R6、R7、R8、Q1,此处作用是切换 D+上拉,当 PA 高电平时 D+不上拉;PA8
低电平时 D+上拉。
一般插上电脑 USB 后的 VUSB 的电压时 5V(实测要更低些),经过下面这个线性稳压IC(AMS1117-3.3V)后输出 3V3。(右边并联 LED 用来指示3.3V 输出正常)
接下来是 UART 和 SWD:
至于为啥是 PA13、PA14。。。自己看数据手册。
BOOT 就不说了,然后就是最好将芯片的各个引脚引出,一般是用排针引出:
①各个引脚要注意在 Top/Bottom Overlay 层标注一下:(天蓝色线框位置)
②GND 用铜加固一下,电流较大的地方把线弄粗些,必要时直接用铺铜当导线:
③晶振要尽量靠近时钟接口、走线尽量对称,最好走差分线。并且晶振底部尽量不要走线:
④绘制 logo:
这种是两层叠在一起,分别是 Top Layer 层和 Top Solder 层,自己尝试一下吧。
作于 2020.10.21 上传于2021.10.24 本文以现在眼光来看仍然有许多可优化的地方,但不影响主题,再者“心宽体益胖”,日渐惰矣 |