参考教程:【教程】零基础入门PCB设计-国一学长带你学嘉立创EDA专业版 全程保姆级教学 中文字幕(大师篇已更新)_哔哩哔哩_bilibili
1、51单片机核心板元件选型
(1)单片机最小系统是指用最少的元件组成的单片机可以工作的系统。对于51系列单片机来说,单片机、晶振电路和复位电路组成了一个最小系统。晶振电路是单片机的振荡电路,通过晶振来放大输出信号;复位电路则用于重置单片机的系统状态,使其重新初始化。
(2)对于初学者来说,建议选择STC89C52系列的51单片机,以下也是选择STC89C52RC这款单片机进行实验,选好单片机以后需要从生产厂家处获取对于的数据手册,直接找到单片机最小应用系统一节,确认晶振频率和复位电路。
(3)单片机最小系统中的电源是指能量的来源,其中将VCC(40号脚)和GND(20号脚)视为电源的输入和输出,接地端(电源负极)则用于与地面形成电气连接。手册中提到可以从USB取电,不过电脑的USB接口输出的是5V的电源,而51单片机接受的是3.3V的电源,为此需要使用LDO芯片AMS1117进行电压转换(并非只有这一种芯片有此功能)。
(4)单片机固然重要,但它往往是为了控制外围电路而存在,所以还需要设计外部功能电路,比如LED灯电路等。
2、51单片机核心板原理图设计
(1)在开始页新建一个工程,命名为“51单片机核心板”,并同步更改板子、原理图和PCB的命名。
(2)电源电路绘制:
①在库中找到6P的Type-C接口,将其添加到画布中,其中GND接地,VBUS接正极,CC与快充功能有关,此处不涉及快充。
②在常用库中找到R0805电阻,在画布中添加两个,并将其阻值更改为5.1kΩ(双击其原本的阻值即可更改,拖动标注即可更改其位置)。
③将两个5.1kΩ的电阻分别连接到CC1和CC2(单击灰色原点即可引出导线,再单击另一个灰色原点或另一条导线上的某一处即可完成连接,中途单击空白处可以拐弯,且绘制完成后也可进行调整),同时电阻的另一端以及芯片的GND引脚、EH端需接地GND,GND在工具栏中可以找到。
④将芯片的VBUS引脚接到5V电源上,5V电源在工具栏中可以找到。
⑤在库中找到SS3235S开关元件,将其添加进画布中,该开关有两侧触点,实际上这里只用一处触点即可。
⑥SS3235S开关元件用不到的一侧触点全部接地(不允许有引脚悬空),另一侧触点一端连接5V电源,另一端要将电送入LDO芯片AMS1117进行电压转换,此处用+5V的网络标签替代。
⑦在库中找到AMS1117元件并将其添加进画布(要选择3.3V的),将其两个VOUT直接连接,作为电源输出,连接+3.3V网络标签,VIN作为电源输入,连接+5V网络标签,GND接地即可。
⑧为了指示电源的工作状态,在常用库中找到LED0805并添加进画布中并接在+3.3V标签后方,另一端接地(注意二极管的正负极性),不过单单接一个二极管电流可能过大,于是需要在中间再添加一个1kΩ的电阻。
⑨根据AMS1117元件数据手册的参考电路,需要两个10微法的滤波电容,这里可以在常用库中选择0805贴片封装的陶瓷电容,分别添加2个10微法的电容和2个0.1微法的电容,做一个双电容滤波,效果会更好。
(3)单片机最小系统电路绘制:
①在库中搜索STC89C52,将其添加到画布中(前缀相同,功能可能相同,但封装会不同)。
②为单片机连接上电源,其中正极附近一般需要加一个去耦电容。
③为单片机的每一个引脚添加网络标签,标签名与单片机对应的引脚名称相同即可,方便后续设计其它模块电路时使用。
(4)晶振电路绘制:
①复制一份单片机XTAL1和XTAL2的网络标签,并在库中搜索12MHz的晶振,将其添加进画布中。
②12MHz晶振电路还需要两个47pF的谐振电容,负载电阻可选,对此需要再添加两个47pF的0805贴片封装的陶瓷电容,按照数据手册中的参考电路进行原理图绘制。
(5)复位电路绘制:
①根据参考电路进行绘制即可,此处不再赘述。
②当板子上电时,电容充电,RST短接+5V,呈现高电平,触发复位功能;当板子上电一会后,电容充电完成,RST与+5V断路,通过R4连接GND,呈现低电平。基于此,可以用一个按键并联电容,按下按键时电容放电,松开按键后电容充电,以此实现按键复位的功能。
(6)排针引出其它引脚电路绘制:
①一般开发板中会有许多排针直连单片机的引脚,这是为了用户能更灵活地使用单片机,在原理图设计时,可在常用库中找到2个1排16针的连接器和1个1排7针的连接器,将其添加进画布中。
②将单片机的剩余引脚对应的网络编号复制一份,按照下图所示连接到连接器上(这是为了后续绘制PCB时方便布线,切勿乱排)。
(7)按键电路绘制:
①复制两个复位电路中用到的按键元件。
②按键的一端连到单片机的I/O口引脚,另一端接地。
③按键按动时可能会产生抖动,软件中可做按键消抖的处理,硬件中可以给按键并联一个滤波电容过滤噪声。
(8)LED灯电路绘制:
①复制两个电源电路中使用的绿色LED灯。
②LED的阴极连到单片机的I/O口引脚,阳极接3.3V电源(因为51单片机的灌电流大于拉电流,即电流输入能力大于电流输出能力,所以低电平驱动LED效果更佳),接地前需要各加一个限流电阻。
(9)上拉电阻电路绘制:
数据手册中提到,P0口上电复位后处于开漏模式,当P0管脚作I/O口时,需外加10K-4.7KΩ的上拉电阻,当P0管脚作为地址/数据复用总线使用时,不用外加上拉电阻,这里是把P0口当作I/O口使用,故需为每个管脚添加上拉电阻,电阻的另一端接5V高电平。
(10)电源引出接口电路绘制:
目前原理图中已经有地方可以引出+5V电源和+3.3V电源,单片机往往需要外接一些传感器,它们恰恰也需要核心板进行供电,所以需要一个引脚专门引出这些电源,对此可以添加一个1排7针的连接器,并复制两个电源标签和地标签,将它们按照下图所示与连接器连接。
(11)串口引出电路绘制:
①添加1个1排4针的连接器至画布,并复制串口相关引脚的两个网络标签以及+5V和GND。
②按照下图所示接线即可。
(12)至此已经绘制完10个模块的电路,不过目前原理图还是比较混乱的,所以需要将各模块电路按区域划分摆放并添加注释。
①将各模块重新找个位置摆好,争取A4尺寸下能容下所有模块,其中主控芯片最好放在视图中间。
②在菜单栏中选择“放置”→“矩形”,即可在画布中添加矩形,每一个矩形框选一个模块,如果遇到矩形与电路交叉重叠的情况,可以对电路位置进行微调。
③在菜单栏中选择“放置”→“文本”,即可在画布中添加文本。
④在右侧栏中可以写入作者的名字,这样在原理图上也会显示作者的名字。
(13)所有工作做好后保存原理图,并进行DRC检查,只要不报错即可转换为PCB(警告可以视情况忽视)。
3、51单片机核心板PCB设计
(1)基于上面绘制的原理图,点击下图所示按键,将原理图转换到PCB。
(2)板框绘制:
①选择板框层,再在菜单栏中选择“放置”→“线条”→“矩形”,然后将矩形的第一个角放置在原点,尺寸可画个大概,后续根据需要进行调整。
②选中矩形,宽更改为70mm,高更改为40mm,圆角半径更改为3mm(这是因为在焊接元件时直角PCB板容易将手划伤,并且圆角板也更符合现代人审美)。
(3)定位孔绘制:
①在工具栏中找到过孔,依次添加到板子的四个角附近,孔的外直径为4mm,内直径为3mm。
②将左上角的过孔置于(x = 2.6mm,y = -2.6mm处),将左下角的过孔置于(x = 2.6mm,y = -37.4mm处),将右上角的过孔置于(x = 67.4mm,y = -2.6mm处),将右下角的过孔置于(x = 67.4mm,y = -37.4mm处)。
③为避免后续误操作过孔和板框,可选中它们,右键选择锁定。
(4)元件布局:
①布局要求:
[1] 元器件之间应相互平行或者垂直排列,以求整齐、美观;元件排列紧凑,在整个版面上应分布均匀、疏密一致。
[2] 必须根据元器件的电气特性和使用特点来布局(这点非常重要),比如:各种接口、按键和排针,需要放在板子边缘以方便插接;对于屏幕和主控芯片等,一般放在板子中央;对于电源电路,一般放在板子的电源输入旁边并且要注意电流路径和滤波电容位置;对于晶振需要靠近单片机晶振引脚摆放;电路工作时产生热量多的元件视情况远离热敏感器件,如热敏电阻。
[3] 不要把元器件看成二维物体,而是应该看成三维物体,有时空间有干涉的情况需要考虑。
[4] 元件的布局应该采用模块化,也就是同一个模块电路的元件应该放同一个区域,按照就近原则来布局,不能东一个西一个。
②将图层选回顶层,然后将原理图对应的各模块进行一个预布局,可以在原理图中框选相应模块,按下快捷键Ctrl+Shift+X实现布局传递(交叉选择Shift+X也可),直接选中原理图模块对应PCB中的相应元件。
③GND在后面通过铺铜进行连接,布局阶段可不考虑GND的飞线,直接将其隐藏即可。
④将各模块依次放到PCB板区域内,需遵循布局要求,交叉飞线最好能尽量减少。
[1] Type-C接口需放置在板子边缘,方便线束插接。
[2] 开关最好放置在板子边缘,方便用户使用。
[3] 电源电路中容值大的滤波电容离AMS1117较远,容值小的滤波电容离AMS1117较近,不能因为两个电容在原理上并联就调换顺序;电源要先经过电容滤波再给后级。
[4] 单片机尽可能放置在板子中央(最好通过坐标属性设定),便于布线。
[5] 排针尽可能放置在板子边缘,一是便于用户使用,二是节约板子空间;排针与排针之间预留位置,放置引脚丝印标识。
[6] 晶振电路需靠近单片机的晶振引脚放置,并且最好以晶振引脚为轴呈轴对称,保证布线时导线等长(差分线布线)。
[7] 复位电路需靠近单片机的复位引脚放置。
[8] P0口上拉电阻可以布置在底层,这是为了方便布线。
[9] 去耦电容要贴近芯片引脚放置,并就近接地。
(5)布线:
①布线要求:
[1] 不能信任自动布线。
[2] 顶层优先原则——尽量在顶层布线。
[3] 电源线(电源网络相关的线)原则上要加粗,因为电源线是要给电路板各个模块供电的,电源线加粗有利于电流在主干道上流通。在日常PCB设计中,在25℃时,对于铜厚为10z(盎司)的导线,10mil线宽能够承载0.65A电流(可将此宽度用于一般信号线),40mil线宽能够承载2.3A电流。
[4] 同一层走线拐角禁止90°或者走锐角,推荐走线135°,从原理上讲,锐角直角走线会造成走线阻抗不连续,对于信号的传输有影响。
[5] 注意电流路径和电容的摆放位置,电源要先经过电容滤波再给后级,去耦电容要贴近芯片引脚放置,并就近接地。
[6] 高频信号线尽可能短,并做好与其它信号的屏蔽隔离(比如打一圈地过孔,形成电磁屏蔽,同时还可以在区域内添加禁止布线层)。
[7] 为了降低相邻走线之间的串扰,应尽量避免相邻层平行走线,相邻层信号线应采用正交方向,走线应遵循3W原则(两条线的间距大于3倍线宽)。
[8] PCB布线要尽量远离安装孔与电路板边缘。在PCB钻孔加工中,很容易会切掉一部分导线,为了电路板功能,应尽量远离这些位置。
[9] 需要添加泪滴,泪滴起到平滑过渡的作用,它可时过孔和导线的连接更加稳固,同时也起到保护焊盘的作用。
[10] 尽可能避免布置一大条长斜线,当目标较远时,可以多拐几个弯,原则上虽然允许布置一大条长斜线,但实际操作起来容易影响后续的布线。
[11] 差分线布线详细要求:差分线尽量短;优先绘制差分线;差分线上尽量不超过两对过孔(过孔会增加线路的寄生电感,影响信号完整性);平行紧密走线,避免直角锐角走线;长度差尽量小(控制在5mil以内);与其它信号网络以及地的距离尽量在20mil以上;在正式项目或复杂PCB设计中还需注意阻抗匹配,较为简单的实验可暂不考虑。
②布线顺序:
[1] 密度优先原则:从单板上连线最密集的区域开始布线。
[2] 关键元器件优先原则:如DDR、射频等核心部分应优先布线,类似信号传输线应提供专层、电源、地回路,其它次要信号要顾全整体,不可以和关键信号相抵触。
[3] 关键信号线优先原则:电源、模拟小信号、高速信号、时钟信号和同步信号等关键信号优先布线。
③元件布局定下来后,需要将飞线一一“消除”,具体操作就是完成各飞线对应的连线,选择工具栏中的单路布线,再选择一个引脚(或者说焊盘)即可引出连线。连线途中按Tab键可配置线宽,左击空位可以设置拐点;左击目标引脚即可完成连线(右键可以中断连线);连线完成后可进行微调。
④修改设置,每次连线可以自动添加泪滴。
⑤从单片机开始布线,因为单片机最关键,其引脚多且密集,优先级自然最高(注意电源网络暂时不要连接,因为其连线宽度与信号线不同)。
[1] 从P0.0开始顺时针连线,以连完一排针脚为首要目标,所以先完成P0和P2口的连线,P4口因过于分散,后续再考虑。
[2] 晶振电路要求两根信号线尽可能等长(最好还是轴对称),对此可以选择差分对布线,具体操作为选择菜单栏中的“布线”→“差分对布线”,然后选择晶振电路电容连接XLAT1的焊盘,此时EDA提示新建一个差分对,另一个网络选择晶振电路电容连接XLAT2的焊盘即可,建立了差分对以后,软件会自动检查两个网络标签对应的连线是否等长。
[3] 晶振电路的信号频率很高,对此可以在其周围打一圈地过孔(外径24mil,内径12mil,网络选择GND),起到一个电磁屏蔽的作用,并用20mil宽度的连线将过孔全部与地焊盘连接。放置过孔时按Tab键即可设置过孔属性。
[4] 为晶振电路放置禁止布线区域,具体操作为在菜单栏选择“放置”→“禁止区域”→“多边形”,然后在晶振电路上围绕地过孔绘制禁止区域(选择多层,其它层也不能有信号线进来),禁止选项为铺铜。
[5] 继续顺时针往下连线,优先将P1口引脚和P3口引脚对应的针脚连起来,此时板上已经有非常多的线,难免会遇到布线困难的情况(需要绕很远才把两个比较近的点连起来,不排除无法连接的情况),对此在连线时可以按下Alt+B,打一个从顶层到底层的过孔,这样连线就会绕至底层(如下图的蓝线所示,它们就是布在底层的线),不过需要注意的是,底层的信号线尽可能不要与顶层相邻的信号线平行。
[6] 单片机5V电源的滤波电容应尽量靠近电源引脚,上面的布局显然不太满足此条件,故布局需进行微调。
[7] 继续完成P4口引脚和对应针脚的连接,此时单片机附近的线越来越密集,仅打一个顶层到底层的过孔已经很难满足需求了,如果在底层也遇到了“此路不通”的情况,可以按下Alt+T,打一个从底层到顶层的过孔,这样连线就会绕回顶层。需要说明的是,打孔有开销,能不打孔尽可能不打孔。
[8] 单片机的引出线基本连接完成,将仅剩的飞线消除即可。
⑥继续完成其它次重要电路的连线(暂时不连电源网络),尽量不要在小元件(如二极管)内部走线。
⑦连接电源网络,其中线宽需增加,但不要宽于焊盘的宽度(本实验可设为27mil,单片机电源引脚的连出线可设为16.5mil),同时如遇布线受阻的情况,尽量不要打过孔(并非不允许),应当考虑调整布局,同时注意滤波电容在电源网中的连接位置。
⑧完成连线后,显示GND网络的飞线,虽然GND网络可通过铺铜连接,但要确保全部GND口都能通过铺铜连接在一起(铺铜会绕开一般信号线和电源线,将顶层和底层的空白区域铺满),对此可在GND口附近甚至是布线较少的地方布置过孔阵列将两面铺铜打通,如果有些GND口附近无法放置过孔,可以尝试将其与其它GND口连线,亦或是通过连线加过孔打通连接,使一面的铺铜能与另一面的GND焊盘形成电气连接。
(6)铺铜:
①在工具栏中找到“填充区域”工具,选择“矩形”,将整个PCB版框选。
②弹出的对话框按下图所示配置,点击“确认”,稍等片刻即可完成顶层铺铜。
③继续在工具栏中找到“填充区域”工具,选择“矩形”,将整个PCB版框选。
④弹出的对话框按下图所示配置,点击“确认”,稍等片刻即可完成底层铺铜。
⑤若还有GND网络的飞线存在,可通过连线、打孔等方式解决,如果只是地过孔和地过孔之间的飞线,可考虑删掉多余过孔;若希望一些未铺铜的区域铺上铜,可在上面打过孔,然后重新铺铜。
(7)丝印绘制:
①绘制丝印前可以隐藏顶层和底层的布线和铺铜,同时需要将操作层选为顶层丝印层。
②在工具栏中选择“文本”即可进行丝印的布置,首先一些必要的丝印需要加上,必要的丝印尽量绕开过孔(不是非必须,不要为了丝印的完整性随便删除一些重要的过孔)。
[1] 排针的各引脚标识可用工具栏中的“折线”工具框起。
[2] 电源指示灯标识为“power”。
[3] 复位按键标识为“Reset”,按键电路的按键可以其连通的单片机引脚名标识。
[4] 电源电路的按键用工具栏中的“圆形”工具标识正反向。
③必要的丝印添加好后,可以添加一些可选的丝印,如单片机型号(下图丝印效果配置了反相属性)、个人logo等等。
(8)完成以上内容后即可进行DRC检测,如果报错,则根据错误提示信息修改即可。
(9)选择菜单栏中的“文件”→“导出”→“PCB制板文件”,即可导出Gerber文件,此文件可发给商家进行打板。