从0到1入门STM32最小系统板(2-1)——绘制原理图之器件选型
从0到1入门STM32最小系统板——绘制原理图之器件选型
本次我们选择的芯片是STM32F446RET6,使用立创EDA进行原理图绘制。
文章目录
- 从0到1入门STM32最小系统板——绘制原理图之器件选型
- 0.芯片
- 1.电源电路
- 1.1.电源芯片
- 1.2.去耦电容
- 2.晶振
- 2.1.晶振选型
- 2.2.电容计算
- 2.3.晶振原理图
- 3.下载电路
- 3.1.接线端子
- 3.2.SWD原理图
- 4.复位电路
- 4.1.简易复位电路
- 4.2.按键设计
- 5.检查
- 5.1.人工检查
- 5.1.1.VDD,VDDA
- 5.1.2.VSS
- 5.1.3.BOOT0,BOOT1
- 5.2.立创检查
- 5.2.1.警告
- 5.2.2.错误
- 6.注意事项
0.芯片
芯片的选型在本篇中先不讲解了,先挖一个坑,等过一阵详细单独写一篇博客讲一下。
芯片这里我选择的是STM32F446RET6。打开立创EDA,新建工程后,打开原理图。按按Shift+F快捷键打开器件库,输入“STM32F446RET6”进行搜索,结果如下:
点击图片进入立创商城,下载其数据手册,数据手册一定要保存好,一定要好好查阅,笔者的建议是单独放在一个文件夹中以备查看。回到EDA,点击放置,找到合适的位置,左键进行放置,右键取消放置。如下所示:
我们修改其位号,并将电源引脚、时钟引脚等引出:
1.电源电路
1.1.电源芯片
我们一般使用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:
- 第一个作用是滤波,可以滤除VIN中的噪声;
- 第二个作用是可以让VIN的电压缓慢上升,起到一个软启动的效果。当VIN上电以后,C1会先进行充电,充电结束后VIN值变为5V;
C2的主要作用也可以看作是滤波。
回到立创EDA,点击放置,找你喜欢的位置单击鼠标左键放置,然后右键取消放置。到这里还没有结束,我们还需要根据数据手册上的基本电路放置两个电容,再次按Shift+F打开器件库搜索“1uf 50v”,在筛选中类型选择“贴片电容(MLCC)”,封装选择“0603”,品牌选择“村田”、“三星”、“国巨”和“风华”四个常用品牌,并应用筛选,如下图所示:
第一个3分钱,价格可以,简单看一看参数可以用,点击放置,在相应位置放置两个电容,如下图所示:
选中LDO,空格两下进行翻转,然后先给VIN接VCC,VOUT接+3.3V,VSS接地:
然后我们再把两个电容接入原理图中:
注意要调整一下注释到合适的位置,同时注意改一下位号便于阅读。
1.2.去耦电容
去耦电容存在的意义最主要是为了去除电源的噪声,想更充分了解去耦电容可以移步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:
2.晶振
2.1.晶振选型
我们这里选用的是8MHz无源晶振,经过9倍频即可达到72MHz。我们搜索“8mhz”,筛选“无源晶振”,笔者最终选择的是C403948,大家可以自己进行选择。
2.2.电容计算
打开数据手册,需要找到其负载电容:
即12pF。
这里需要补充一个公式:
Cf=Cd∗CgCd+Cg+Cic+ΔCC_f=\frac{C_d*C_g}{C_d+C_g}+C_ic+\Delta C Cf=Cd+CgCd∗Cg+Cic+ΔC
其中:CfC_fCf是负载电容,CdC_dCd和CgC_gCg是两个脚上的对地电容,CicC_icCic是集成电路内部电容,ΔC\Delta CΔC是PCB上电容。Cic+ΔCC_ic+\Delta CCic+ΔC是定值,大概是3-5pF。由于两个脚上的对地电容CdC_dCd和CgC_gCg值相等,因此可以化简为:
Cf=Cd22Cd+Cic+ΔC=Cd2+Cic+ΔCC_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
负载电容CfC_fCf已知,则可求得两个脚上的对地电容CdC_dCd和CgC_gCg值为:
Cd=Cg=2∗[Cf−(Cic+ΔC)]C_d=C_g=2*[C_f-(C_ic+\Delta C)] Cd=Cg=2∗[Cf−(Cic+ΔC)]
我们小PCBCic+ΔCC_ic+\Delta CCic+ΔC的值取3pF即可。因此可以得出:
Cd=Cg=18pFC_d=C_g=18pF Cd=Cg=18pF
2.3.晶振原理图
放置电容,筛选两个18pF的电容,笔者选择的是C107040,放置两个后进行原理图绘制,如下所示:
3.下载电路
STM32的下载有多种方式,为了节省空间,我们选择SWD下载模式,该模式只需要4根线,分别为SWDIO、SWCLK、GND和3.3V。有关下载的部分在这里挖个坑,以后要是发了文章再回来填上这个坑,这里就不再讲了。
3.1.接线端子
我们需要选择一个4pin的接线端子,用于连接ST-Link。我们搜索“4pin”,筛选选择“线对板/线对线连接器”和“插件,P=2.54mm”,如下所示:
然后按自己的需求进行挑选即可,我选择的是C2905435,大概长这个样子:
3.2.SWD原理图
放置到合适的位置,然后四根线分别接GND、3.3V、SWDIO和SWCLK,接好后如下图所示:
但是问题来了,在芯片中,并没有标注SWDIO和SWCLK:
所以我们还需要去芯片数据手册中查找到底要接在哪个IO口上。搜索SWDIO,很轻松找到了相应的IO口:
我们在原理图上标注好引脚的网络号:
4.复位电路
复位电路相对简单,可以选择有按键复位也可以选择无按键复位。我们这里设计一个有按键复位的电路。
4.1.简易复位电路
我们首先先将基础的复位电路画好。基础的复位电路需要一个电阻和一个电容,组成一个RC电路,电容起到一个软启动的作用,在上电之后,电容先进行充电,缓慢达到3.3V。当电容的充电时间大于芯片复位所要求的时间时,就可以完成复位。这里采用的电阻是10K,选项为C25804,电容是0.1uF,与之前用的相同。电路设计如下:
4.2.按键设计
如何通过按下按键实现复位呢?按下按键以后RST变为低电平,松开按键以后给重新进行电容充电实现软启动,从而进行复位。因此,我们的按键应该接在RST和GND中间。按键选型没有太多要求,笔者搜索的是“按键”,筛选类目选择“轻触开关”,封装/规格选择“SMD”。最终选择了C83206这一款按键,原理图更改如下:
5.检查
5.1.人工检查
5.1.1.VDD,VDDA
我们发现在绘制的时候还没有将+3.3V,VDD,VDDA统一,补充如下:
由于我们不使用备用电源,VBAT也要接到VDD上:
5.1.2.VSS
在芯片中没有将VSS标明,进行补充如下:
5.1.3.BOOT0,BOOT1
发现还没有设置BOOT0和BOOT1为0,但是芯片中并没有直接标明BOOT1,只标注了BOOT0,我们打开手册搜索一下BOOT1即可:
将BOOT1从芯片中引出:
我们将两个引脚下拉:
下拉的原因是为了设置单片机的启动模式,如下表所示:
一些单片机是通过跳线帽来选择启动方式,我们为了简洁,就不再设置跳线帽了,直接都置0。
5.2.立创检查
点击设计,点击检查DRC:
为了便于观察,我们首先清空,然后再次检测DRC:
5.2.1.警告
先查看警告:
意思说一串引脚悬空,这是指芯片上没有用到的引脚,我们把它们都打叉,示例如下:
所有没有用到的引脚都这样操作即可,所有引脚都打叉后清空记录,重新进行检查:
警告已经全部修改结束了。
5.2.2.错误
两个错误都是在这一部分,这一部分我在立创社区电子工程师交流社区_电子发烧友论坛_嘉立创&立创商城旗下专业电子论坛【立创社区】 (szlcsc.com)搜索到了两种解决办法,原贴原理图中经常需要将两个PowerPort短接,专业版短接后会报错 - 立创社区 (szlcsc.com)。
方法一:修改设计规则。在设计中打开设计规则:
将特殊符号含有“全局网络名”属性时,所连导线的名称需要与“全局网络名”的值一致
这一项取消检查即可。
设置好后清空日志,重新检查一下,已经没有错误了:
方法二:不使用特殊符号,使用导线添加网络名,如下所示:
这样也可以达到效果,无错误:
个人觉得方法二还是更合适一些,不用修改设计规则,而且也同样非常明晰。
6.注意事项
- 遇到问题可以从立创论坛上电子工程师交流社区_电子发烧友论坛_嘉立创&立创商城旗下专业电子论坛【立创社区】 (szlcsc.com)搜索答案,作为新手第一次使用立创EDA进行画图还是难免会有很多奇奇怪怪的问题,论坛上说不定就有其他人也有过类似的问题。比如笔者在做这个原理图时就是通过论坛才搜到了错误的解决办法;
- 如果问题没有搜到结果,可以询问立创的技术支持,注册账号绑定微信后应该会有技术人员加好友的;
- 保存好数据手册,手册占不了特别多的空间,主要是便于查阅;
- 到这里最小系统板的原理图已经绘制完成了,但是还需要进行原理图布局,使得别人在阅读原理图时更加方便。笔者计划在下一篇中再加几个其他的设计,所有设计都完成后再进行布局。
从0到1入门STM32最小系统板(2-1)——绘制原理图之器件选型相关推荐
- 从0到1入门STM32最小系统板(0)——前言
从0到1入门STM32最小系统板--前言 这个系列的文章将从0开始制作一个STM32最小系统板,大概分为如下几个部分: 元件简述: 原理图绘制: PCB布局: 打板焊接: 本篇文章主要讲解一下最小系统 ...
- STM32最小系统板程序下载
文章目录 STM32的几种启动模式 CH340芯片 无板载CH340芯片的开发板使用串口下载程序 板载CH340芯片的开发板使用串口下载程序 不含CH340芯片的开发板下载程序流程 2022/05/1 ...
- PCB设计之STM32最小系统板
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 PCB设计之STM32最小系统板 文章目录 文章目录 一.AD版本 二.PCB之原理图绘制步骤 1.STM32F103C8T6最小系统 ...
- STM32最小系统板介绍
自学的话,网上买一个STM32F103C8T6最小系统板,包邮也就十来块,研究透了,再去买开发板,也是不错的选择 1.芯片介绍 1+.STM32芯片用的是3V电压,但是如果没有的话,这个最小芯片会通过 ...
- stm32最小系统板学习笔记
最小系统板包含 内核 存储器 时钟 复位 电源管理 时钟 时钟包含两部分,内部时钟和外部时钟 同时,每一部分又分为低速和高速两种时钟 内部先不说, 外部时钟就是指的晶振,外部低速晶振是32.768Kh ...
- Altium Designer初学者入门——stm32最小系统的PCB图(接上一篇原理图绘制)
文章目录 一.PCB封装库 二.从原理图导入到PCB图 三.布局 四.布线 五.覆铜 六.丝印整理 七.电气规则检查 一.PCB封装库 PCB封装库相对原理图库的创建要更麻烦一些,我本人是安装的网上找 ...
- 立创EDA极速入门(2)——完成一个STM32最小系统板
请提前观看:立创EDA极速入门(1)--熟悉PCB和立创EDA基本操作: 邀请加入嵌入式社区,您可以在上面发布问题,博客链接,公众号分享,行业消息,招聘信息等. 立创EDA绘制PCB只有两步,原理图绘 ...
- 撸一遍STM32最小系统板
采样的MCU型号为STM32F405RGT6,目前这款芯片价格便宜性能好. 1 电机控制会用到单片机的哪些功能? GPIO(通用输入/输出):单片机的GPIO引脚可以用于控制电机的开关.使能以及接收传 ...
- 关于stm32最小系统板的一些原理和注意
1.关于两个晶振的问题 2的15次方正好等于32768,反过来讲,如果要把32.768K的时钊频率经过15次分频的话,得到的颊率正好是1Hz . 晶振电路工作原理: 皮尔斯震荡电路 常使用于单片机外围 ...
最新文章
- python opencv单通道转多通道_13、OpenCV绘图和文本显示
- Linux中/etc/resolv.conf文件简析
- 语言与智能:维特根斯坦框架、人工智能以及共情的出现
- Activity采用栈式管理的理解
- python中opencv安装_怎么为python安装opencv模块-百度经验
- 拒绝做思想的巨人,行动上的矮子
- Django Bootstrap开发笔记02 - 模板
- 分区挂载,mount,blkid
- VMware 安装 win7、win10、MAC 和网络模式VMnet0、VMnet1、VMnet8解释
- 如何将idea代码提交到远程仓库
- C# 使用Panel控件实现窗体嵌套
- Unity3D:TCPSocket模块
- plc与计算机通信方式,PLC通信方式介绍
- java dao 单元测试,你应该如何单元测试DAO层
- 静态RAM读时序分析
- ARM base instruction -- orr
- oracle查询谁修改了数据ip,查询oracle特定表修改的用户及IP信息
- excel怎么启用宏_轻便免费的Excel合并工具,支持wps和office全系统
- Linux常用过滤命令之grep命令的使用
- (转载)俞敏洪一分钟励志演讲