赞
踩
本次我们选择的芯片是STM32F446RET6,使用立创EDA进行原理图绘制。
芯片的选型在本篇中先不讲解了,先挖一个坑,等过一阵详细单独写一篇博客讲一下。
芯片这里我选择的是STM32F446RET6。打开立创EDA,新建工程后,打开原理图。按按Shift+F快捷键打开器件库,输入“STM32F446RET6”进行搜索,结果如下:
点击图片进入立创商城,下载其数据手册,数据手册一定要保存好,一定要好好查阅,笔者的建议是单独放在一个文件夹中以备查看。回到EDA,点击放置,找到合适的位置,左键进行放置,右键取消放置。如下所示:
我们修改其位号,并将电源引脚、时钟引脚等引出:
我们一般使用USB接口对开发板直接进行供电,然而USB接口输入电压为5V,超过了芯片电压3.3V,因此为了让板子正常工作,我们需要将其进行降压,一般使用LDO来实现这个功能。
LDO即low dropout regulator,是一种低压差线性稳压器。这是相对于传统的线性稳压器来说的。传统的线性稳压器,如78XX系列的芯片都要求输入电压要比输出电压至少高出2V~3V,否则就不能正常工作。但是在一些情况下,这样的条件显然是太苛刻了,如5V转3.3V,输入与输出之间的压差只有1.7v,显然这是不满足传统线性稳压器的工作条件的。针对这种情况,芯片制造商们才研发出了LDO类的电压转换芯片。(来源百度百科)
常用的型号有AMS1117-3.3和LM1117-3.3等,当然也可以选择其他更合适的芯片。我们在立创EDA中按Shift+F快捷键打开器件库,输入“LDO 3.3”进行搜索,在筛选中选择“线性稳压器(LDO)”,并应用筛选,如下图所示:
LDO一般没有特别的要求,只需要注意最大输入电压即可。笔者初步选择的是C347376这款,进入立创商城:
最大输入电压是8V,我们USB输入的是5V,够用。下载其数据手册查看参考电路设计:
VIN和VOUT和地之间都连了一个电容,C1的作用有2:
C2的主要作用也可以看作是滤波。
回到立创EDA,点击放置,找你喜欢的位置单击鼠标左键放置,然后右键取消放置。到这里还没有结束,我们还需要根据数据手册上的基本电路放置两个电容,再次按Shift+F打开器件库搜索“1uf 50v”,在筛选中类型选择“贴片电容(MLCC)”,封装选择“0603”,品牌选择“村田”、“三星”、“国巨”和“风华”四个常用品牌,并应用筛选,如下图所示:
第一个3分钱,价格可以,简单看一看参数可以用,点击放置,在相应位置放置两个电容,如下图所示:
选中LDO,空格两下进行翻转,然后先给VIN接VCC,VOUT接+3.3V,VSS接地:
然后我们再把两个电容接入原理图中:
注意要调整一下注释到合适的位置,同时注意改一下位号便于阅读。
去耦电容存在的意义最主要是为了去除电源的噪声,想更充分了解去耦电容可以移步B站大佬圈圈的视频大小不合适?位置不对?退耦电容将怎样影响电路工作_哔哩哔哩_bilibili。那我们去耦电容的大小如何进行选择呢?
打开芯片的数据手册,找到电特性Electrical characteristics一章,可以找到供电方案Power supply scheme,如下所示:
可以看到VDD和地之间是由数个100nF和一个4.7uF的电容连接:
具体多少个100nF是视我们有多少个VDD需要用而定的,比如我们现在有6个VDD,那我们就需要6个100nF的电容。我们按照上文中同样的方法选择100nF的电容,综合考虑价格、封装、精度、库存等因素进行筛选,最终选择C14663这一款电容。然后笔者又用同样的方法选择了C69335这一款电容。**元器件的选型没有固定的,需要看自己的需求!需要看自己的需求!**笔者这里只是为了方便一些没有自己选择过元器件的人,提供一个选型的思路!
我们把元器件放到原理图中,但是摆放太乱了:
这时候可以使用EDA自带的布局功能使其等距分布,快捷键Ctrl+Shift+H,效果如下:
连线,摆放一下位号:
这里需要注意的是模拟地GNDA和数字地GNDD是不同的,需要分开,二者可以通过一个0Ω电阻进行连接,这里笔者选用的是C21189:
我们这里选用的是8MHz无源晶振,经过9倍频即可达到72MHz。我们搜索“8mhz”,筛选“无源晶振”,笔者最终选择的是C403948,大家可以自己进行选择。
打开数据手册,需要找到其负载电容:
即12pF。
这里需要补充一个公式:
C
f
=
C
d
∗
C
g
C
d
+
C
g
+
C
i
c
+
Δ
C
C_f=\frac{C_d*C_g}{C_d+C_g}+C_ic+\Delta C
Cf=Cd+CgCd∗Cg+Cic+ΔC
其中:
C
f
C_f
Cf是负载电容,
C
d
C_d
Cd和
C
g
C_g
Cg是两个脚上的对地电容,
C
i
c
C_ic
Cic是集成电路内部电容,
Δ
C
\Delta C
ΔC是PCB上电容。
C
i
c
+
Δ
C
C_ic+\Delta C
Cic+ΔC是定值,大概是3-5pF。由于两个脚上的对地电容
C
d
C_d
Cd和
C
g
C_g
Cg值相等,因此可以化简为:
C
f
=
C
d
2
2
C
d
+
C
i
c
+
Δ
C
=
C
d
2
+
C
i
c
+
Δ
C
C_f=\frac{C_d^2}{2C_d}+C_ic+\Delta C=\frac{C_d}{2}+C_ic+\Delta C
Cf=2CdCd2+Cic+ΔC=2Cd+Cic+ΔC
负载电容
C
f
C_f
Cf已知,则可求得两个脚上的对地电容
C
d
C_d
Cd和
C
g
C_g
Cg值为:
C
d
=
C
g
=
2
∗
[
C
f
−
(
C
i
c
+
Δ
C
)
]
C_d=C_g=2*[C_f-(C_ic+\Delta C)]
Cd=Cg=2∗[Cf−(Cic+ΔC)]
我们小PCB
C
i
c
+
Δ
C
C_ic+\Delta C
Cic+ΔC的值取3pF即可。因此可以得出:
C
d
=
C
g
=
18
p
F
C_d=C_g=18pF
Cd=Cg=18pF
放置电容,筛选两个18pF的电容,笔者选择的是C107040,放置两个后进行原理图绘制,如下所示:
STM32的下载有多种方式,为了节省空间,我们选择SWD下载模式,该模式只需要4根线,分别为SWDIO、SWCLK、GND和3.3V。有关下载的部分在这里挖个坑,以后要是发了文章再回来填上这个坑,这里就不再讲了。
我们需要选择一个4pin的接线端子,用于连接ST-Link。我们搜索“4pin”,筛选选择“线对板/线对线连接器”和“插件,P=2.54mm”,如下所示:
然后按自己的需求进行挑选即可,我选择的是C2905435,大概长这个样子:
放置到合适的位置,然后四根线分别接GND、3.3V、SWDIO和SWCLK,接好后如下图所示:
但是问题来了,在芯片中,并没有标注SWDIO和SWCLK:
所以我们还需要去芯片数据手册中查找到底要接在哪个IO口上。搜索SWDIO,很轻松找到了相应的IO口:
我们在原理图上标注好引脚的网络号:
复位电路相对简单,可以选择有按键复位也可以选择无按键复位。我们这里设计一个有按键复位的电路。
我们首先先将基础的复位电路画好。基础的复位电路需要一个电阻和一个电容,组成一个RC电路,电容起到一个软启动的作用,在上电之后,电容先进行充电,缓慢达到3.3V。当电容的充电时间大于芯片复位所要求的时间时,就可以完成复位。这里采用的电阻是10K,选项为C25804,电容是0.1uF,与之前用的相同。电路设计如下:
如何通过按下按键实现复位呢?按下按键以后RST变为低电平,松开按键以后给重新进行电容充电实现软启动,从而进行复位。因此,我们的按键应该接在RST和GND中间。按键选型没有太多要求,笔者搜索的是“按键”,筛选类目选择“轻触开关”,封装/规格选择“SMD”。最终选择了C83206这一款按键,原理图更改如下:
我们发现在绘制的时候还没有将+3.3V,VDD,VDDA统一,补充如下:
由于我们不使用备用电源,VBAT也要接到VDD上:
在芯片中没有将VSS标明,进行补充如下:
发现还没有设置BOOT0和BOOT1为0,但是芯片中并没有直接标明BOOT1,只标注了BOOT0,我们打开手册搜索一下BOOT1即可:
将BOOT1从芯片中引出:
我们将两个引脚下拉:
下拉的原因是为了设置单片机的启动模式,如下表所示:
一些单片机是通过跳线帽来选择启动方式,我们为了简洁,就不再设置跳线帽了,直接都置0。
点击设计,点击检查DRC:
为了便于观察,我们首先清空,然后再次检测DRC:
先查看警告:
意思说一串引脚悬空,这是指芯片上没有用到的引脚,我们把它们都打叉,示例如下:
所有没有用到的引脚都这样操作即可,所有引脚都打叉后清空记录,重新进行检查:
警告已经全部修改结束了。
两个错误都是在这一部分,这一部分我在立创社区电子工程师交流社区_电子发烧友论坛_嘉立创&立创商城旗下专业电子论坛【立创社区】 (szlcsc.com)搜索到了两种解决办法,原贴原理图中经常需要将两个PowerPort短接,专业版短接后会报错 - 立创社区 (szlcsc.com)。
方法一:修改设计规则。在设计中打开设计规则:
将特殊符号含有“全局网络名”属性时,所连导线的名称需要与“全局网络名”的值一致
这一项取消检查即可。
设置好后清空日志,重新检查一下,已经没有错误了:
方法二:不使用特殊符号,使用导线添加网络名,如下所示:
这样也可以达到效果,无错误:
个人觉得方法二还是更合适一些,不用修改设计规则,而且也同样非常明晰。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。